By Rob Winch, Senior Software Engineer, Spring Security Lead
Due to its complexity, implementing security can be a daunting task for developers of all skill levels. In this presentation we will discuss, in depth, the foundation of Spring Security's architecture through the use of working sample code. We will start off with an existing application and learn how we can add Spring Security to it. We will then explore how Spring Security works underneath the hood.
In the modern web, user interfaces are expected to be rich, highly responsive, and available anytime, anywhere, and on any device. Round-trip server-side HTML rendering doesn't fit the bill any longer and numerous JavaScript frameworks have stepped forward to simplify development of client-side user-interfaces. With so many great options available, we now face a paradox of choice and it can be difficult to decide which UI framework best suits our needs.
In this session we'll explore a handful of the most popular client-side UI frameworks, including Backbone, Knockout, Sammy, and Spine (and others) weighing their strengths and weaknesses and helping decide which framework is most suitable for a given set of UI goals.
SpringOne 2GX: October 15-18, 2012 – Washington, DC
Check out the final schedule of speakers and sessions for this year's event! SpringOne 2GX is your opportunity to learn from development leads and published authors on the Spring, Groovy/Grails, Tomcat and Cloud technologies—speakers include this year's keynote Adrian Colyer, Juergen Hoeller, Chris Beams, Ben Alex, Chris Richardson, Ramnivas Laddad, Mark Pollack, and Mark Fisher. Sessions are geared to teach you information that is immediately applicable to developing business applications on or off premise, creating multi-device aware web applications, enabling your application for Big Data and NoSQL, and managing high performance infrastructures for your organization.
Spring Integration 2.2.0.RC1 - the release candidate for the 2.2 stream, including a number of important features and improvements, is now available. Barring major issues, we expect to make the final release shortly, so users are encouraged to try out the new features, some of which are described here. Over the next week or so, we intend to release a number of blog posts highlighting some of these features and others.
Release notes are available here. The issues listed there are closed, in addition to those in milestones 1 through 4.
I am pleased to announce the first release candidate for Spring Shell project! Spring Shell is an interactive shell that can be easily extended with commands using a Spring based programming model, extracted from the Spring Roo project.
Welcome to another installation of This Week in Spring!
This week I'm in Bloomington-Normal, Illinois talking to StateFarm about Spring Projects: MVC, REST, Mobile, and Android. The developers here are code ninjas. Listening to their internal talks over the course of the day has been eye opening, to say the least. Don't miss the Spring, Groovy and Grails event of the year in Washington, DC: SpringOne2GX. If you haven't already registered, now's the time! Oh, and don't forget, if you're in the United States, today is national cheeseburger day! So... bon appetit!
Chris Beams has announced the availability of Spring Framework 3.2 M2, which features many new features including improved TestContext support, Spring MVC improvements, asynchronous @Controllers, and lots of bug-fixes and improvements.
Martin Lippert has announced the availability of the 3.1.0.M1 update for the Spring and Grails Tool Suites.
The new release includes integrations built on top of Eclipse 3.8 and Eclipse 4.2, updated support for Mylyn 3.8.1, Maven support for Grails projects, and Mac OSX 10.8's Gatekeeper support.
Broadleaf Commerce published a great blog post about why their project continues to choose Spring over Java EE.
Jonathan Brisbin has announced the availability of the Spring Data REST project, 1.0.0.RC3, which includes a significant number of bug fixes, adds improved JSON representation, better integration of Jackson user-defined Modules, and support for the Spring HATEOAS project.
The TomcatExpert portal has announced the availability of the Apache Tomcat Maven Plugin, version 2.0, which supports deploying to - and embedding instances of - Apache Tomcat from the Maven build tool.
Spring Data ninja Oliver Gierke tweeted the availability of JAX-RS support in Spring HATEOAS. Spring HATEOAS, named for the pattern ("HTTP-as-the-engine-of-application-state"), makes it dead simple to build links to other RESTful resources based on the classes that host those resources. In a sense,
you get type safety when building RESTful URLs. You build an HTTP URL reference to a Spring MVC @Controller based on its class. Now, you can do the same for @Path-annotated JAX-RS classes thanks to this novel pull request. Nice!
The RabbitMQ blog announces the availability of a new MQTT adapter for RabbitMQ. MQTT, to quote the MQTT website, "A lightweight messaging protocol for small sensors and mobile devices, optimized for high-latency or unreliable networks." Really cool!
Nicolas Frankel has an interesting post about his experience jBPM 4 and Spring.
Normally, at this point, I'd forward people to the Activiti open-source BPMNS 2 workflow engine, which enjoys a very powerful Spring integration, but Nicolas has already tried it and couldn't adapt it because of organizational pressures! So, it's nice to at least see how to integrate jBPM.
Shortly before the Spring Data GA release train arrives, we would like to gather some feedback on fixes and updates in Spring Data - Neo4j. That's why we released an Release Candidate 4.
Here is a quick overview of the changes that made it into this release candidate, much longer than we intended to, but still very useful.
Changes in version 2.1.0.RC4 (2012-08-19)
DATAGRAPH-296 Updates to stable versions of Neo4j 1.8.RC1, spatial, cypher-dsl and java-rest-binding, adopted to API changes
DATAGRAPH-285 adding application events for save and delete
DATAGRAPH-263, DATAGRAPH-212, DATAGRAPH-272, DATAGRAPH-147 refactored derived query creation, added support for multiple indexed fields and all query keywords
DATAGRAPH-294 derived finder methods for numerically indexed values
DATAGRAPH-293 find objects by graph-id
DATAGRAPH-275 non graceful fallback on empty graph for TypeRepresentationStrategyFactory
DATAGRAPH-246 allowing entity as parameter to derived finders
DATAGRAPH-281 Added support for Enums and Dates as parameters to Cypher
Just point your dependency version to 2.1.0.RC4. For now the online resources have not been updated due to manual effort and time constraints. Those will be available for the 2.1.0.RELEASE.
In this SpringOne 2GX 2012 session Costin Leau will discuss how Hadoop is a great foundation for big data initatives. To deliver a complete Big Data solution, however, a data pipeline needs to be developed that incorporates and orchestrates many diverse technologies. A Hadoop focused data pipeline not only needs to coordinate the running of multiple Hadoop jobs (MapReduce, Hive, Pig or Cascading), but also encompass real-time data acquisition and the analysis of reduced data sets extracted into relational/NoSQL databases or dedicated analytical engines.
Using an example of real-time event processing (Twitter), in this session we will demonstrate how to build manageable and robust pipeline solutions around BigData using Open Source software such as Apache Hadoop, Cascading, Spring Batch & Integration and Redis.
I am happy to announce the first milestone release 3.1.0.M1 of the Spring Tool Suite (STS) and the Groovy/Grails Tool Suite (GGTS).
Highlights from this milestone include:
We now provide distributions based on Eclipse 3.8 and Eclipse 4.2
Mylyn updated to 3.8.1
Mac apps now signed for Gatekeeper in OSX 10.8 Mountain Lion
Maven support for Grails projects
Some of our users reported general performance issues with the new Eclipse Juno 4.2 platform that STS 3.0.0 ships with. Most of these issues seem to be related to the underlying UI platform and its usage from various plugins and extensions. Since our goal is to provide the best possible user experience, we decided to provide two separate distributions for STS 3.1.0.M1: one that is built on top of Eclipse Juno 3.8 and one on top of Eclipse Juno 4.2. People who have trouble using the 4.2-based version should try the 3.8-based distribution instead.
The 3.1.0 release is planned to arrive shortly after the Eclipse Juno SR1 release and will also provide both distributions.
I'm pleased to announce the release of Spring Data REST 1.0.0.RC3! This release includes a significant number of bug fixes, changes to the structure of the JSON representation, better integration of user-defined Jackson Modules that are bootstrapped into the internal ObjectMapper, as well integration with Spring HATEOAS. Also included in this release is support for extending the resource representation (e.g. to add links to other, related resources) using the Spring HATEOAS ResourceProcessor abstraction.
New functionality includes:
JSON output looks different in an effort to make property names consistent and structure clearer.
Pulls in any Jackson Module beans discovered and integrates user configuration with internal ObjectMapper.
Integration with Spring HATEOAS - Customize the outgoing JSON by adding or removing links or otherwise altering the resource.