| By Tijs Rademakers, Jos Dirksen | Article Rating: |
|
| September 11, 2008 03:15 PM EDT | Reads: |
4,526 |
This article is based on the book Open Source ESBs in Action: Implementation Examples in Mule and ServiceMix scheduled to print September 30, 2008. This article is courtesy of Manning Publications. The ebook is available and sold exclusively through Manning Publications.
When you work with open source ESBs, you can use other tools and frameworks to help you solve common problems. Spring is one of the tools that extends the basic functionality of the ESBs Mule and ServiceMix and makes solving integration problems a lot easier. Spring is a component framework that makes it easy to work with Plain Old Java Objects (POJOs). We will use this framework to create and configure our custom components. Spring is also integrated out-of-the-box in both ServiceMix and Mule 2, so having a basic understanding of this technology is very useful.
Spring was started in 2002 with Rod Johnson's book J2EE Design and Development. In this book Rod described a framework that could be used to make lightweight Java applications. The general response to this framework was so overwhelming that Rod decided to make it open source and this was the first version of the Spring Framework. Nowadays, Spring is used by many tools and other frameworks, including ServiceMix and Mule, which use Spring for their configuration. The Spring Framework has evolved from a dependency injection framework to a mature and full-grown Java application framework that includes, among others, Model View Controller (MVC), Data Access Object (DAO), security and web services modules.
What Is Spring and How Does It Work
We won't dive too much into this framework; we'll just introduce you to the most important aspects. Spring was created to accomplish the following goals:
Simplify J2EE development: J2EE development is hard and complex. There are a lot of different standards you need to know before you can start developing. For those of you who have worked with J2EE, you'll know that it's very hard to work with the component model of J2EE. What Spring aims to do is make J2EE simpler, without sacrificing any of its power. You will still have access to transactions, persistency, messaging, etc., but it's a lot simpler. Remember that when Spring was started, J2EE wasn't as easy as it is now. When you needed to write an EJB in those days, you had to write a whole lot of boilerplate code and XML descriptors to expose a simple bean as an EJB.
Facilitate best practices: Besides simplifying J2EE development, Spring also makes it easier to follow best practices. It provides a very clean separation between your business logic and the enterprise services such as persistency, transactions, and security, which Spring applies using aspects.
Provide a simple POJO-based programming model: The last goal of Spring, and the one which we'll see coming back in the examples in this book, is the programming model. Spring's programming model is based on POJOs. We won't need to write session beans following the rules set out by the J2EE specification or implement all kinds of life-cycle interfaces; we can just create a simple, testable POJO and use Spring to glue everything together.
Published September 11, 2008 Reads 4,526
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
About Tijs Rademakers
Tijs Rademakers is a software architect with more than six years of experience in designing and developing Java and EE applications. He works for Atos Origin, a large European system integrator, where he is responsible for SOA and BPM services and knowledge development. He has designed and implemented large process- and application-integration solutions, primarily focused on open standards. Tijs is a regular speaker at Java conferences, where he talks about open source integration topics like Mule and ServiceMix.
About Jos Dirksen
Jos Dirksen has been working with Java and J2EE applications for more than six years as a software architect. The last couple of years, his focus topics have been open source, security, and quality. He has worked with various open source and commercial integration solutions, mostly in the government and the health care areas. Jos has a lot of project experience working with Mule, Apache Synapse, and Apache Axis2 and has also completed projects based on the integration tooling from IBM. Jos regularly gives presentations on open source, Mule, and other related topics.
- Performance of Java Compilers: An Empirical Study
- Java Kicks Ruby on Rails in the Butt
- Ulitzer’s Amazing First 30 Days in Public Beta
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- REA Is Where RIA Becomes the Norm
- Why an Application Grid?
- Will Ulitzer Dominate News Content on The Web? -Gartner
- Clear Toolkit 4: The Road Map
- Profiling Netbeans within Amazon EC2
- Java Persistence on the Grid: Approaches to Integration
- Performance of Java Compilers: An Empirical Study
- Java Kicks Ruby on Rails in the Butt
- Developing Rich Client Applications Using Swing - II
- The Right Time for Real Time Java
- Xpress Suite Adds Automatic Java to iPhone Conversion
- Initial Thoughts on IBM Acquisition of Sun Microsystems
- Ulitzer’s Amazing First 30 Days in Public Beta
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- Maximizing Java Performance with Bespoke Programming
- Pet Store with JavaFX 1.0.- Part I
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- What's New in Eclipse?
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate







































