You know, I was looking for something like this just the other day! Mark's Blog has a nice post on the workflow of the various objects in servicing an incoming HTTP request in Spring MVC. Is this stuff you could easily figure out by sticking a breakpoint in a controller and just looking at the call stack? Sure. But it's also stuff that's very convenient to reference in a pinch and it's nice to see it all laid out in order with a little bit of narrative.
Welcome back to another installment of This Week in Spring --
There's some great video content is available online this week, so be sure to check the content out. Also, you asked and we are delivering - we now maintain an single index page for all SpringOne2GX recordings along with the link to the InfoQ page for their recordings of the event. On with the roundup!
Going Async - Practical Patterns for Push-Enabled Applications
Web and mobile clients are getting continually more sophisticated as client processing power continues to increase and much richer APIs are provided by the given platform. One of the most mind-bending shifts that is occurring is in transitioning from a world of purely request-response, to the world of client-server full duplex communication that is enabled by the latest smart client platforms.
This session will explore the new patterns of interaction that are enabled by the latest communication methods such as WebSockets and Push-to-Device services, as well as the practical concerns of actually implementing such patterns in an application using tools such as SockJS, RabbitMQ and Spring.
About Jeremy Grelle
Jeremy Grelle is an open source software engineer with SpringSource, a division of VMware, who specializes in bringing the cutting-edge techniques of web application development to the Java and Spring ecosystems. He is the creator of the Spring JavaScript, Spring Faces, and Spring BlazeDS Integration projects, and he represented SpringSource on the JSR-314 Expert Group for JSF 2.0. He is a software artisan with extensive experience in combining server-side Java with the latest web browser technologies to deliver a rich and usable experience for the end user on the web.
Jeremy is a frequent speaker at industry conferences such as JavaOne, The Spring Experience, SpringOne, JSFOne, TheServerSide Java Symposium, and Java and Flex user group events, and always enjoys getting out and showing his fellow developers how to bend web browsers to their will and the possibilities of what can be created with Spring and its wealth of complimentary web technologies.
The modern web is rich with APIs that can be consumed by other applications, enabling an integrated experience for the users who hold accounts on the websites that front those APIs. Many of these APIs are secured with OAuth, an authorization specification for securing REST APIs. Spring Social is an extension to the Spring Framework that enables Spring applications to establish connections with those APIs on behalf of their users with little or no need to muck about in the intricacies of OAuth.
In this session, we'll explore how Spring Social brings API connectivity to Spring applications. We'll also uncover the newest features of Spring Social that make it easier than ever to link your application's users to the identities they maintain on various sites across the web.
About Craig Walls
Craig Walls has been professionally developing software for almost 18 years (and longer than that for the pure geekiness of it). He is a senior engineer with SpringSource as the Spring Social project lead and is the author of Spring in Action and XDoclet in Action (both published by Manning) and Modular Java (published by Pragmatic Bookshelf). He's a zealous promoter of the Spring Framework, speaking frequently at local user groups and conferences and writing about Spring and OSGi on his blog. When he's not slinging code, Craig spends as much time as he can with his wife, two daughters, 4 birds and 3 dogs.
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.
About Craig Walls
Craig Walls has been professionally developing software for almost 18 years (and longer than that for the pure geekiness of it). He is a senior engineer with SpringSource as the Spring Social project lead and is the author of Spring in Action and XDoclet in Action (both published by Manning) and Modular Java (published by Pragmatic Bookshelf). He's a zealous promoter of the Spring Framework, speaking frequently at local user groups and conferences and writing about Spring and OSGi on his blog. When he's not slinging code, Craig spends as much time as he can with his wife, two daughters, 4 birds and 3 dogs.
Spring Web Flow samples have been separated from the distribution and into a separate Github project. In addition the booking-mvc sample has been updated to use Thymeleaf thanks to Thymeleaf's project lead Daniel Fernández.
Welcome back to another installation of This Week in Spring !
I've been visiting developers and companies in India, China, and Japan. It's been an exciting time
to see what these emerging and powerful countries are doing with open source and with Spring, in particular!
Of course, stay tuned to the SpringSource blog in the coming weeks
some very cool examples and details!
In the meantime, as usual, we've got quite a bit of news to cover this week, including more news on the Spring 4 roadmap announcement from last week. If you want to get the absolute latest, check out the Spring 3.2 GA webinar replay on YouTube, where Spring Framework 4.0 is covered a bit toward the end. Let's get to it!
This is a very cool extension, Marty! It's like what I always wanted things like JAWR to be! The thing I most like about it, though? The fluid use of
Spring Java @Configuration classes! Really slick and productive!
The Just Enough Architecture blog has a nice post on using ActiveMQ, Spring Integration and MongoDB together - cool! I might've used Spring Batch's flat file reading support instead of a custom one out of the box, though, overall, this is an awesome post!
Allard Buijze over at Trifork has announced version 2.0 of the Axon framework, which builds on top of many different Spring projects
like Spring core, Spring AMQP, Spring Integration and Spring Data MongoDB to bring
the CQRS pattern to developers in Java.
Blogger java2000_wl has put together a nice, Chinese-language (though, to be fair, the post is almost entirely code, in this case, and that language - if nothing else - is universal) post
introducing how to use Spring Data Redis
SpringSource would like to announce the release of Spring Hateoas 0.4!
The Spring HATEOAS project provides some APIs to ease creating REST representations that follow the HATEOAS principle when working with Spring and especially Spring MVC. HATEOAS, an abbreviation for Hypermedia as the Engine of Application State, is a constraint of the REST application architecture that distinguishes it from most other network application architectures. The core problem it tries to address is link creation and representation assembly.
In this release, the most important new features are:
- extended LinkBuilder API to point to Controller *methods* as well
- Jackson 2 support
- HAL support
- EntityLinks API to create links pointing to controllers managing a particular entity type
- introduced LinkDiscoverer API to find links in representations by rel (incl. JSONPath based implementation)
You can read about all of the new features and bug fixes in the change log. Enjoy!
I am happy to announce the second milestone release 3.2.0.M2 of the Spring Tool Suite (STS) and the Groovy/Grails Tool Suite (GGTS).
Highlights from this milestone build include:
a lot of overall performance improvements, especially for the Spring tooling
improvements to Live Beans Graph feature
improved Spring Data code completion and validation
Grails 2.2 included in the GGTS distribution and available on the dashboard
Groovy 2.0.6 compiler now included in the GGTS distribution.
Both tool suites ship on top of the latest Eclipse Juno SR2 maintenance builds (not yet the final Eclipse Juno SR2 release). We still recommend to use the Eclipse-3.8-based versions of STS and GGTS for optimal performance.
The 3.2.0 release is scheduled for early March 2013 - shortly after the Eclipse Juno SR2 release.
More and more applications are being built with JavaScript, and not only for the client side but also utilising JavaScript server side. As the complexity of JavaScript applications increases there is a need for the tools to improve – textmate isn’t necessarily the answer! The user shouldn’t need to lower their expectations when stepping out of amazing Java tools and tackling JavaScript development. In this session we will present our vision for tooling for the JavaScript era and demo some early versions and prototypes of what we think the next generation JavaScript tools could look like.
Attendees will see a lot of live demos during the session. At the end we will open-up the session for feedback on what we’ve talked about and demo’d.
About Andy Clement
Andy Clement is a staff engineer in the SpringSource division of VMware, based in the languages and tools lab in Vancouver. He has more than ten years experience in Enterprise Application Development and now spends his time building tools for languages like AspectJ, Groovy and JavaScript and frameworks like Grails. He currently oversees the Groovy Grails Tool Suite deliverable, a variant of the Spring Tool Suite with a focus on Groovy and Grails.
Martin leads the team of the SpringSource Tool Suite and the Spring IDE and works together with the tools team on providing the best developer tools out there for Spring and Cloud Foundry. Before joining SpringSource/VMware, Martin founded (together with colleagues) it-agile, a leading consulting and development company focused on agile software development, and worked many years as consultant and coach for agile software development and flexible and modularized architectures. He is author of papers, articles, and books on various topics including agile software development, Eclipse technology and refactoring techniques.
An Introduction to Broadleaf Commerce: A Spring-enabled E-Commerce Framework
Broadleaf Commerce is a feature rich, highly customizable, open source eCommerce framework built on top of The Spring Framework. Spring provides a huge number of container services such as dependency injection, AOP, transaction management, MVC, JPA support, security, etc. Broadleaf leveraged Spring's features to provide a highly functional and extensible eCommerce framework. Where Spring is a technical development framework, Broadleaf is an eCommerce domain-specific development framework. Broadleaf Commerce has extended Spring with a unique application context merge process to allow implementors to extend, override, and control every component of the Broadleaf Framework. Kelly will provide an overview of the Broadleaf features, along with a deeper dive into some of the more advanced technical capabilities of Broadleaf Commerce and how they are made possible by Broadleaf's use and extension of The Spring Framework.
About Kelly Tisdell
Kelly is Vice President and senior engineer at Broadleaf Commerce, a company that builds and distributes an open source eCommerce framework built on The Spring Framework. Besides contributing to the features and functions of Broadleaf Commerce, Kelly helps Broadleaf clients to implement, customize, and ultimately realize the full value of Broadleaf Commerce. Prior to joining Broadleaf, Kelly spent 14 years working as a consultant, focusing on application development and system integration using Java based technologies. Kelly is originally from Canada and lives in Austin, Texas.
We are pleased to announce that Spring Integration 2.2.1.RELEASE is now available. A list of changes can be found here.
In addition, the 2.1.5.RELEASE is now available, with the list of changes here. However, 2.1.x users are encouraged to move to the 2.2.1 release - the 2.2. GA announcement is here.
The artifacts are available in the SpringSource Repository as well as Maven Central, or you can download the zip here.