Welcome to another installment of This Week in Spring! Some rather exciting projects have been announced this week, and if you can believe it, we're almost out of SpringOne 2012 replay content! Good thing the SpringOne 2013 agenda grid is going live very soon, so we'll be able to look ahead. As usual, we've got a lot to cover so let's get to it!
In preparation for the agenda grid going live, a lot of new SpringOne 2013 sessions have been accepted:
Jon Brisbin announced the Reactor project. The Reactor project aims to provide a solid foundation for asynchronous IO-based applications, on top of which it is natural to provide integrations for technologies like Grails and Spring. Reactor already features a good multi-language story with support for Groovy and Java (and, particularly, the upcoming Java 8 release!) Be sure to check this out, especially the comments section if you have questions about how this compares to other asynch technology!
This post - from blogger Chris Wong in a January post called "JmsTemplate is not evil" - explains some of the subtleties of using Spring's CachingConnectionFactory with a raw ConnectionFactory and then, for extra points, introduces one approach to dramatically speeding up ActiveMQ, in particular.
This talk will introduce the Spring Data MongoDB project. Spring Data MongoDB provides a feature rich library for writing MongoDB applications in Java. It builds upon the Spring Framework and as such promotes a POJO programming model with a strong emphasis on productivity.
The Spring MongoDB Project provides a rich object mapper, a MongoTemplate helper class to simplify common document access operations using query, criteria, and update DSLs, automatic repository interface implementations, QueryDSL integration, and cross-store persistence.
About the speaker
Chris Harris is a European Solution Architect at 10gen. Prior to 10gen, Chris was EMEA Architect at SpringSource responsible for evangelising vFabric products and defining architectural solutions for customers across EMEA. With the acquisition of SpringSource by VMware, Chris focused on how virtualization and cloud computing can be used to address the complexity within the Enterprise. Before joining SpringSource, Chris spent his time at RedHat/JBoss providing consultancy to major clients across EMEA.
In this episode we look at an old worn out application that has migrated from 3 different teams and 15 team lead changes. The poor application is now showing its years and doesn't perform like it did when it was first architected. Now through the help of a new platform, this application has an opportunity to shine again. Taking a look at past projects that have gone through similar transformations we will look at patterns and processes that can be leveraged to redesign traditional JEE applications into lightweight applications using Spring, CXF, SpringMVC, and SOA. Finally, we will walk through code examples to show how quickly applications can be developed using this new stack.
My career began with a need to teach and mentor. I found these skills to be invaluable in the field of information technology. I started doing basic cabling and network infrastructure although I always had a propensity for coding and software architecture. My specialty in information technology is the integration of multiple technologies to assemble them into business applications with a keen focus on open source frameworks and products. I have consulted for some of the largest corporations in the world with my primary focus in the last 7 years around cloud computing.
Welcome to An Epic Week in Spring! Lots of new sessions have been posted to SpringOne Conference, so head over to the site and check out the featured sessions! We'll have the agenda grid online before the end of May.
Would it be possible to take Spring Petclinic as it is now and scale it up to 1000 requests per second on a single server instance? Julien Dubois from Ippon Technologies has written a great series of five blog entries on that topic. If you missed them from the previous roundups, check out the whole series, starting here!
Petri Kainulainen has written a great post introducing how to sort data using Spring Data SOLR.
Spring Data ninja Oliver Gierke has written a great response to the question, How do I use Spring Data MongoDB in a multi-tenant fashion? Be sure to check it out. Generally, his advice is applicable to many such scenarios.
Serkan ÖZAL has put together an awesome, bytecode-based RowMapper that can be used with Spring's JDBC infrastructure (like JdbcTemplate) and that can handle relationships like an ORM might. Because it's bytecode-based, it's very fast and not given to the same reflection-based performance limitations of Spring's own BeanPropertyRowMapper. I haven't tried this out yet, but it looks very promising!
Few companies have been quite at the forefront of implementing Spring Integration (Batch & Data etc.) as Incept5, this year's VMWare EMEA cloud partner. John will cover a few of the more interesting implementations from an architectural point of view, looking at the choices, the reasoning, design and some of the issues behind the implementations. From projects with no SI skills ramping up to teams of several dozen programmers to experienced teams just looking for training, best practices and better data services integration.
A number of large banks are already in production with Scala-based SI workflows, is this still leading edge or have it moved into main-stream? What next for spring Integration and the tooling, what are the clients using and asking for? John will be joined by some of the Spring Integration team so an excellent opportunity to look at the present and future of Spring Integration and tooling.
About the speaker
John Davies is co-founder and CTO of Incept5. Incept5 have been intimately involved in implementing Visa's new capabilities and initiatives around the payments world. John's past includes global chief architect at JP Morgan and BNP Paribas, co-founder and CTO of C24 later sold to Iona and then Progress Software where he was technical director. John specialises in high performance, low latency enterprise architectures, Incept5 have products ranging form top selling iPhone/iPad apps to a high performance matching and reconciliation engine and consult to a number of large clients on IT strategy. John has co-authored several enterprise Java and architecture books and is a frequent speaker at banking and technology conferences.
Java EE Services for Spring Applications
The continuous evolution of both the Spring Framework and the Java EE platform presents us with new challenges and opportunities for collaboration. Several recent EE services are very commonly used with Spring, e.g. Servlet 3.0, JPA 2.0 and Bean Validation. This session presents an up-to-date analysis: How do recent Spring versions (3.1/3.2) integrate with Java EE 6? How is this going to be affected by Java EE 7 in a year's time?
What kind of services may a Spring application expect from a modern Java EE server, beyond the pre-packaging of common Java APIs? How much effort does it take to add a custom selection of Java EE services to e.g. Tomcat, for use in Spring-based applications? Does it make sense to use Spring and Java EE component models such as EJB 3.1 or CDI together? What are the integration options?
About the speakers
Juergen Hoeller is co-founder of the Spring Framework open source project and has been serving as the project lead and release manager for the core framework since 2003. Juergen is an experienced software architect and consultant with outstanding expertise in code organization, transaction management and enterprise messaging.
Marius Bogoevici is a Senior Software Engineer with Red Hat, leading the Spring integration efforts for JBoss AS and other JBoss projects. He is the lead for Snowdrop, a utility package that contains JBoss-specific extensions to the Spring Framework, and also a contributor to Weld, the JSR-299/CDI Reference Implementation and other Java EE-related developer initiatives at JBoss. Marius Bogoevici has an extensive experience of more than 15 years developing and architecting software systems. Prior to joining Red Hat, he was a Spring consultant with SpringSource. He is a contributor to the Spring Integration enterprise integration framework and co-author of “Spring Integration in Action”.
Many of you may have heard about Pramati's acquisition of WaveMaker assets from VMware, and we wanted to officially wish them well here. However, one of WaveMaker’s users, in response to the news of the upcoming transition, already expressed the sentiment eloquently:
“WaveMaker is by far the best tool I have had the pleasure to use for building real world business apps and websites. You guys have just put so much clever thinking into it. It’s not just a nice ajax screen painter, but has huge depth with the way it binds to parts within. Please, Please keep it going..
I would happily pay for it …”
Comment by jguy — March 20, 2013 @ 7:59 am
Well, it’s found a new steward and home. The SpringSource team is confident WaveMaker has a bright future at Pramati, whose expertise in Java, Cloud and Mobile Computing will serve it well. WaveMaker's recent releases had all been centered around mobile and cloud support, making it a natural fit for Pramati's goals. We wish WaveMaker the best as it evolves - and continues to generate new classes and types of applications that are at the core, Spring applications.
Welcome to another installment of This Week in Spring! We've got a lot to cover this week, as usual, so let's get to it. Did you miss last week's Pivotal public launch? Catch the replay and learn about GE's investment in the new entity! Pivotal's mission is about bringing consumer-grade software to the enterprise -- where open source technology like Spring, Groovy, Grails, RabbitMQ, Redis, and Cloud Foundry, are already widely adopted. Check out the new Pivotal website, under the Community link (top right) for some other open source initiatives that might surprise you!
Spring Data Arora SR1 released this week (named for Sanjeev Arora). As an aside, you have probably noticed that the names of the various Spring Data release trains are adapted from various influential names in computer science. The new release is named for Charles Babbage.
James Watters shared a video he'd discovered on setting up Cloud Foundry and BOSH. It's pretty epic and worth a watch if you want to get a handle on BOSH.
What people write blog posts about sometimes surprises me. The Javarevisted blog has a nice post introducing Spring's (fairly internal, albeit stable) org.springframework.util.StringUtils class, with examples on how to convert collections to delimited strings. I think this is perhaps too much information on the subject, but I love the enthusiasm!
RabbitMQ developer-advocate Alvaro Videla has put together a post on how to unit-test RabbitMQ from PHPUnit. This approach is pretty cool, though I wonder how well it would play in Java and jUnit with concurrent test suite execution. Either way, this is a nice way to unit test my favorite message queue!