This Week in Spring - January 15th, 2012

Engineering | Josh Long | January 15, 2013 | ...
 Welcome to another installment of <EM>This Week in Spring</EM>! Can you believe we're already halfway through January?  We've got a <EM>lot</EM> to cover, so let's press on!  In particular, there's a <EM>lot</EM> of great video content to keep you occupied for hours this week. Enjoy! 
 </P> 
 <OL>

<li>Join Scott Andrews as he discusses the role of Javascript in an exciting webinar on  January 24, 2013: <a href="http://www.springsource.org/node/3767" title="Webinar: Architecture of a Modern Web App"> Architecture of a Modern Web App</a>.</li>
<LI>Join Brian Cavalier and John Hann as they…

SpringOne 2GX 2012 Replays: Automated Provisioning of Spring Apps to EC2 & VMware vCloud, Addressing the Big Data Challenge with a Graph

News | Pieter Humphrey | January 15, 2013 | ...

Automated Provisioning of Spring Apps to EC2 & VMware vCloud

This session will focus on deploying and managing your Spring Application in the cloud using VMware vFabric Application Director. A series of Spring applications, increasing in complexity, will be deployed. The deployments will cover generating property files and activating Spring profiles. Some other highlights of the presentation will be deploying to VMWare vCloud & EC2, updating an existing deployment, and some general tips & tricks.

The session will begin by using a simple contact application to be deployed as a standalone webapp with an in memory DB on single node, then it will continue with a more advanced example using PostgreSQL DB on a separate node, and finally demonstrate the use and configuration of an external DB & an Apache proxy. The session will conclude with the deployment and discussion of Nanotrader, a sample trading application, with complex requirements.


About Brian Dussault

Brian Dussault

Brian Dussault is a Staff Engineer with the vFabric division of VMware and has 14+ years of experience in software engineering. Throughout his tenure, he has worked in both IT (High Tech Manufacturing, Financial Industries) and R&D positions. His experience spans multiple disciplines including web applications, integration, SOA, open source, and system design.

More About Brian »


About David Winterfeldt

David Winterfeldt

David Winterfeldt works at VMware on the VMware vFabric Application Director project. It enables developers and organizations to deploy applications to the cloud by having a logical abstraction for software services and application topologies. This allows an application to be easily deployed multiple times to different environments.

David has been doing software development for over 20 years. He's been using Java since 1998 and involved in using Open Source almost as long. David has focused on Web and Enterprise development for most of his career, and started working with the Spring Framework in 2006.

David runs the website Spring by Example, which is a site for sharing Spring examples. The site is a general resource for Spring and should ultimately save developers time. He's is also an Apache committer on Struts and Commons Validator, as well as the creator of Commons Validator (although currently no longer active on either).

More About David »

 

Addressing the Big Data Challenge with a Graph

Graphs are everywhere. From websites adding social capabilities to Telcos providing personalized customer services, to innovative bioinformatics research, organizations are adopting graph databases as the best way to model and query connected data. If you can whiteboard, you can model your domain in a graph database.

In this session Emil Eifrem provides a close look at the graph model and offers best use cases for effective, cost-efficient data storage and accessibility.

Take Aways: Understand the model of a graph database and how it compares to document and relational databases Understand why graph databases are best suited for the storage, mapping and querying of connected data

Emil's presentation will be followed by a Hands-on Guide to Spring Data Neo4j. Spring Data Neo4j provides straightforward object persistence into the Neo4j graph database. Conceived by Rod Johnson and Neo Technology CEO Emil Eifrem, it is the founding project of the Spring Data effort. The library leverages a tight integration with the Spring Framework and the Spring Data infrastructure. Besides the easy to use object graph mapping it offers the powerful graph manipulation and query capabilities of Neo4j with a convenient API.

The talk introduces the different aspects of Spring Data Neo4j and shows applications in several example domains.

During the session we walk through the creation of a engaging sample application that starts with the setup and annotating the domain objects. We see the usage of Neo4jTemplate and the powerful repository abstraction. After deploying the application to a cloud PaaS we execute some interesting query use-cases on the collected data.



About Emil Eifrem

Emil Eifrem

Emil Eifrem is CEO of Neo Technology and co-founder of the Neo4j project. Before founding Neo, he was the CTO of Windh AB, where he headed the development of highly complex information architectures for Enterprise Content Management Systems. Committed to sustainable open source, he guides Neo along a balanced path between free availability and commercial reliability. Emil is a frequent conference speaker and author on NOSQL databases.

More About Emil »

About Michael Hunger

Michael Hunger More

Scripted Editor 0.3 release available

Engineering | Andy Clement | January 08, 2013 | ...

In October the first public version of the Scripted code editor was made available, a browser based editor using a Node.js local server, with a focus on providing a great JavaScript editing experience. Today the first update is available, version 0.3.

A full set of Release Notes about the latest features is available here. Here are some of the highlights:

 

NPM Installable

Scripted can now be installed simply using the Node Package Manager (npm) on either Windows, Linux or Mac:

npm install -g scripted

(might need a 'sudo' prefix on mac/linux). Once installed the 'scr' command can immediately be used to launch Scripted. As part of…

This Week in Spring - January 8th, 2013

Engineering | Josh Long | January 08, 2013 | ...

Welcome back to another installment of This Week in Spring. As usual, we've got a lot to look at, so, without further ado...

  1. GigaOM has a nice roundup of some of the exciting and important tools in the big-data ecosystem right now. There are many different tools serving different segments of the use cases,
    <a href="http://gigaom.com/2012/12/18/a-programmers-guide-to-big-data-12-tools-to-know/">and of course Spring Data is mentioned in there</a>, too!
     
    </LI>
     <LI>
    	 The <EM> ODBMS Industry Watch</em> blog 
    		and professor Roberto V. Zicari  
    		has a nice  interview 
    		
    		 <a href ="http://www.odbms.org/blog/2013/01/the-spring-data-project-interview-with-david-turanski">with Spring ninja David Turanski on Spring Data</a>. Definitely a good read!
    
    	
    	 </LI>	 
    
    
     <LI…

This Week in Spring - January 1, 2013

Engineering | Josh Long | January 01, 2013 | ...

I almost typed 2012 when I composed this post! It's already 2013! I hope your holidays were wonderful.

Welcome back to another installment of This Week in Spring! It's time to begin another exciting new year (and to remember to use the correct new year in text!). With that, let's have a look at
the new and exciting content from all around the community.

    <LI> The epic book by <a href="https://twitter.com/rob_winch/status/284812769197441024">Spring Security lead Rob Winch and Peter Mularien   on   Spring Security 3.1</a> by Packt publishing is now out!  
    	  The book is a great resource for people who are looking at Spring Security and want  
    	the scoop from the source.
    	 </lI>
    
    
    
      <LI> Are you…

This Year in Spring - 25 December, 2012

News | Josh Long | December 25, 2012 | ...

Welcome back to another, very special holiday, and end-of-year installment of This Week in Spring! If you've been a follower of this roundup, then you know that 2012's been a very exciting year for Spring! Let's look at some of the highlights, first, before we get to our weekly roundup:

  1. Springing Forward Of course, this year saw the release of Spring 3.2, released a year exactly from the release of Spring 3.1, packed with new features and helping Spring retain its position as the premiere platform for building web applications. This year also saw many major improvements and iterations in the other Spring projects like Spring Integration 2.2.0 GA, Spring Data
  2. The Cloud Spring works very well on all cloud platforms, owing to the natural decoupling from the underlying platform that dependency injection provides, but it has always - and continues - to enjoy a special place in the sun on Cloud Foundry, the open source PaaS. And, what a year it's been for Cloud Foundry! We've seen ecosystem partners like App Fog take the Cloud Foundry bits and run with them. We've seen the support for Spring applications on Cloud Foundry improve considerably with new features like standalone processes, and much more.
  3. The RESTful Web If you ask me, the most exciting part of this year was watching Spring's web support improve. If you're looking to build a web application (including in a Servlet 3 environment) or expose RESTful API endpoints, Spring MVC is the natural choice. If you want secure those RESTful endpoints, Spring Security OAuth is an easy to use binding that supports OAuth on top of REST. Need to connect to social service providers like Twitter, Facebook, LinkedIn and GitHub via OAuth? Use Spring Social. Want to support the principles of HATEOAS in your RESTful endpoints? Check out Spring HATEOAS. Do you want to transparently and easily expose Spring Data repositories for use as RESTful endpoints? You need look no further than Spring Data REST. There are no richer, more comprehensive or more integrated set of solutions for building rich, RESTful web applications than those that Spring provides today.
  4. Git'ing Involved This year, in particular, saw community interaction in the Spring open source projects skyrocket, now that all of the projects are all fully on GitHub.com/SpringSource. Spring and the other projects have always been open source, but the collaboration model that Git enables has made it very easy for projects like Spring Social, Spring Integration, and Spring Data to thrive on community input and contributions.
  5. Extending the reach of SpringSource's content We've been working hard to bring great content on all things SpringSource to all the developers, and have expanded a lot this year. For instance, besides publishing content here on SpringSource.org, did you know that you can find SpringSource on @SpringSource on Twitter, +SpringFramework on Google+, on the YouTube SpringSourceDev channel and (this is particularly useful for the many fans in China) on SpringFramework on SINA Weibo? Additionally, if you like this roundup, be sure to bookmark the This Week in Spring aggregate page.

Now then, on to this week's roundup! There's a lot to cover, and hopefully you wont want for things to read this week if you're taking time off for the holidays and have some spare time on your hands!

 <Ol>   
	 <LI> If you've been following this roundup, then you know that we wrapped up our SpringOnes India and China events. For more details,  <a href="http://www.springsource.org/node/3777">checkout our wrapup post</a>!</LI>
	<LI> The <EM>baeldung</EM> blog has another great post up on using Spring MVC and Spring Security to <a href="http://www.baeldung.com/2012/12/20/authentication-against-a-restful-service/">secure a RESTful web service</a>. There are many ways to secure an HTTP REST web service, including HTTP Basic and the bespoke solution presented in this article. Many people are…

This Week in Spring - 18 December, 2012

Engineering | Josh Long | December 19, 2012 | ...

Welcome back to another installment of This Week in Spring!

Can you believe we're already further along through December than not? Time sure flies, and yes, we are staring down the end of the year already - but the holiday season usually brings a SpringFramework release right around this time of year, so we're feeling festive! We've even gots tons of extra SpringSource buttons to celebrate.

Buttons!

  1. First and foremost, Spring 3.2 has gone GA! Just read the post. Waay too much awesome in one release, and - if you've been following this series over the year than you know I've been looking forward to it. Come back and read the rest when you've upgraded your application and played with some of the awesome new stuff! I'll wait...
	    You know what the best part is? Usually, after a new Spring release, the release train of other Spring projects is quick to adopt - so expect lots of releases in the new year!</LI>  
  • Next up, Spring Security lead and ninja Rob Winch just announced Spring Security 3.2.0.M1, packed with new features for Servlet 3 environments, among other things.
  • <LI> We could just stop right there, you know?  BUT, there's more! In this…

    Spring Roo 1.2.3.RELEASE available

    Engineering | Alan Stewart | December 18, 2012 | ...

    The Spring Roo team is pleased to announce the availability 1.2.3.RELEASE.  This is the third maintenance release for 1.2 and includes fixes for a number of issues and includes support for Spring Framework 3.2.0. Please see the change log for a list of the bugs and improvements completed.

    I hope you enjoy this new release!

    Alan

    Spring Roo Project Lead

    Spring Security 3.2 M1 Highlights, Servlet 3 API Support

    Engineering | Rob Winch | December 17, 2012 | ...

    Last week I announced the release of Spring Security 3.2 M1 that contains improved Servlet 3 support. In this post, I will introduce some of the more exciting features found in the 3.2 M1 release. Specifically, we will take a look at the following new Spring Security features:

    Concurrency Support

    You might ask "What is concurrency support doing in a release that has a Servlet 3 focused theme?" The reason is that the concurrency support provides a foundation for all the other features found in this release. While the concurrency support is used by the Servlet 3 integration, it can also serve as building blocks to support concurrency and Spring Security in any application. Let's take a look at Spring Security's concurrency support now.

    DelegatingSecurityContextRunnable

    One of the most fundamental building blocks within Spring Security's concurrency support is the DelegatingSecurityContextRunnable. It wraps a delegate Runnable in order to initialize the SecurityContextHolder with a specified SecurityContext for the delegate. It then invokes the delegate Runnable ensuring to clear the SecurityContextHolder afterwards. The DelegatingSecurityContextRunnable looks something like this:

    public void run() {
      try {
        SecurityContextHolder.setContext(securityContext);
        delegate.run();
      } finally {
        SecurityContextHolder.clearContext();
      }
    }
    

    While very simple, it makes it seamless to transfer the SecurityContext from one Thread to another. This is important since, in most cases, the SecurityContextHolder acts on a per Thread basis. For example, you might have used Spring Security's <global-method-security> support to secure one of your services. You can now easily transfer the SecurityContext of the current Thread to the Thread that invokes the secured service. An example of how you might do this can be found below:

    
    Runnable originalRunnable = new Runnable() {
      public void run() {
        // invoke secured service
      }
    };
    
    SecurityContext context = SecurityContextHolder.getContext();
    DelegatingSecurityContextRunnable wrappedRunnable =
        new DelegatingSecurityContextRunnable(originalRunnable, context);
    
    new Thread(wrappedRunnable).start();
    

    The code above performs the following steps:

    • Creates a Runnable that will be invoking our secured service. Notice that it is not aware of Spring Security
    • Obtains the SecurityContext that we wish to use from the SecurityContextHolder and initializes the DelegatingSecurityContextRunnable
    • Use the DelegatingSecurityContextRunnable to create a Thread
    • Start the Thread we created

    Since it is quite common to create a DelegatingSecurityContextRunnable with the SecurityContext from the SecurityContextHolder there is a shortcut constructor for it. The following code is the same as the code above:

    
    Runnable originalRunnable = new Runnable() {
      public void run() {
        // invoke secured…

    Spring Framework 3.2 goes GA

    Engineering | Juergen Hoeller | December 13, 2012 | ...

    Dear Spring community,

    Exactly one year after the Spring Framework 3.1 release, I'm pleased to announce that Spring Framework 3.2 is generally available now!

    We recommend an upgrade from all previous Spring releases, in particular from Spring Framework 3.1.x which this is a direct successor for.

    As previously discussed, key features in Spring Framework 3.2 include:

    • Refined Java SE 7 support within the framework as well as through upgrades to CGLIB 3.0, ASM 4.0 (both of which we're inlining now) and AspectJ 1.7
    • Concurrency refinements across the framework, avoiding the use of synchronization wherever possible - in particular for scoped/prototype beans
    • Allowing for @Autowired and @Value to be used as meta-annotations, e.g. to build custom injection annotations in combination with specific qualifiers
    • Support for custom @Bean definition annotations in @Configuration classes, e.g. in combination with specific qualifiers, @Lazy, @Primary, etc
    • Asynchronous MVC processing on Servlet 3.0

    Get the Spring newsletter

    Thank you for your interest. Someone will get back to you shortly.

    Get ahead

    VMware offers training and certification to turbo-charge your progress.

    Learn more

    Get support

    Tanzu Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

    Learn more

    Upcoming events

    Check out all the upcoming events in the Spring community.

    View all