Application Development with Spring
October 12th, 2007Traditional Enterprise Application development is evolving rapidly to more light weight POJO based development. Spring is one of the leading technologies in this area and it continues to grow. More and more applications are being developed using Spring Framework. Spring not only offers a light weight development framework it also offers the following benefits and features.
- Spring Container which is light weight and can be deployed with out an application server. This allows applications to be developed without tying it down to Application Servers like Weblogic, WebSphere, Jboss …etc
- Separation of the configuration details from the actual code.
- Spring Framework offers many other components among them are AOP, security, spring core to mention a few. Configurations such as the following being out side of the actual code make it much easier to maintain and configure.
- Transaction Management
- Data Source and Connection Pooling
- Exception Handling
- Logging
- Messaging (JMS)
Aspect Oriented Programming is fast becoming popular and Spring Framework provides the ability to apply configurations like transaction management to the code through AOP. Transactions, Exception Handling, Logging, and Security being applied through AOP at runtime are a very convenient and fast way to build and configure applications. Imagine all these configurations in the actual code and how difficult it will be to change these.
Spring contains excellent hibernate and JDBC support and spring allows architects and developers to change there database access strategy depending on each use case. This is a tremendous advantage and these changes can be done with a proper design seamlessly. This kind of flexibility allows to better performance and quality applications.
Spring security, formally know as ACEGI provides RBAC facilities and authentication hooks for many authentication providers like LDAP, JAAS. Spring security can be applied through AOP and this makes this a powerful technique.
Exception handling and logging can be applied using AOP at different service boundaries. This allows a much cleaner code base and provides the ability to change the configuration files without compiling the application.
Spring will soon become an industry standard for application development. Ejb 3.0 and JPA are other light weight components but spring is far ahead of them. Using spring for enterprise application development is a good choice.