Welcome to another installment of This Week in Spring! We are finally running out of SpringOne2GX video recordings.. this is the last week in Spring that you'll see them, so refer back to the replays page for an index. As usual, we've got a lot to cover so let's get to it!
Spring lead Juergen Hoeller just announced the release of Spring Framework 4.0 M1 and 3.2.3.RELEASE The 3.2.3 update mainly includes updates and fixes related to Java 8 support. The 4.0 milestone, on the other hand, is a look ahead to the many awesome features in Spring 4.0 including support for web sockets, Java EE 7, the @Conditional annotation (in the same vein as the @Profile annotation) and much more, so be sure to check it out!
Thinking Outside the Container: Running Standalone Apps on Cloud Foundry
Some applications simply cannot be contained. Perhaps you want to write a worker that periodically polls for updates or performs a maintenance task. Perhaps you would like to use a new lightweight web framework. You don't necessarily want to build a WAR for these types of apps. With Cloud Foundry, you don't have to! In this session, we will build and deploy several types of standalone applications, from distributed workers built with Spring Integration and Akka, to container-less web applications built with vert.x and spray, to bring-your-own-container apps that embed Jetty. If you're a Java or Scala developer who likes to "think outside the container", this talk is for you!
About the speaker
Jennifer Hickey
Jennifer Hickey is a Sr. Software Engineer with SpringSource/VMware, with over a decade of experience in software engineering. Jennifer is a member of the Cloud Foundry team, specializing in developer experience and support of frameworks such as Spring, Grails, Rails, and Sinatra. She is passionate about increasing developer productivity in the cloud. Jennifer has led or contributed to a number of SpringSource projects, including Hyperic and tc Server. She has been involved in converting multiple large EJB/legacy codebases to Spring. Prior to joining SpringSource, Jennifer was a principal architect of a large-scale network management system.
In this session you will learn the basics of getting started using Spring on .NET. All your friendly features will be there to great you: dependency injection, AOP, declarative transaction management, web framework, ORM, and messaging middleware integration, but with a .NET twist. Come and see how you can use your existing Spring Java skills to develop easily testable POCO based .NET applications
About the speaker
Stephen Bohlen
Stephen Bohlen Currently a Senior Software Engineer for SpringSource where he is the Technical Lead and Community Evangelist for the Spring.NET Framework, Stephen brings his varied 18-year-plus experience in software and technology to the design and delivery of Software Engineering Solutions and Frameworks for other Software Engineers. In addition to his work on Spring.NET, Stephen is also an active contributor to several other .NET Open-Source Software projects including NHibernate, NDbUnit, and others as well having developed a number of Visual Studio productivity add-ins. Active in the software development community, Stephen speaks publicly, blogs (semi-)regularly, and is the author of several popular screencast series focused on Agile and ALT.NET concepts and technologies including the widely-praised 15-part Summer of NHibernate video series introducing viewers to the popular open-source O/RM tool. Stephen is also a founding/organizing member of the NYC ALT.NET user group which meets monthly to discuss Agile-focused techniques and technologies in the world of Microsoft software development and beyond
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!
Spring Security lead Rob Winch has been busily enhancing the Spring Security and Spring Security OAuth Java Configuration story. He's got a first cut of the Spring Security OAuth Java Configuration API available, and I'm sure he'd appreciate any feedback on the new DSL, so definitely be sure to check it out! Nice work, Rob!
Webinar on Thursday May 16th with Chris Richardson, author of POJOs in Action, on Decomposing Application for Deployability and Scalabilty. Register Now!
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
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.
Lee Faus
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
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
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 Security lead Rob Winch has announced that Spring Security 3.1.4 is now available. This is a maintenance release with a number of bug fixes including OSGi support for Spring 3.2.
Spring Data ninja Oliver Gierkealso (boy that guy gets around!) tweeted a look at the Spring Data roadmap: introducing Spring Data "Babbage."
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!