BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

SpringSource's Adrian Colyer Details Spring in Production

by Srini Penchikala on Nov 26, 2007 |

Adrian Colyer from SpringSource (formerly called Interface21) hosted a webinar on "Spring In Production" topic three weeks ago. The presentation covered the topics on Spring Runtime Kernel architecture, how Spring supports enterprise services like transactions, data access, security, and messaging, and how to tune a Spring-powered application. A white paper on this presentation is now available for download from their website.

Adrian starts the presentation with an overview of Spring Runtime saying that it is responsible for creating and managing the application components, and for managing the execution of the requests serviced by those components.

The presentation covers the following three sections:

  • Kernel. It consists of AOP (Aspect Oriented Programming), Resource Loading Components, and Event server. The kernel instantiates and configures the application components and manages the invocations for all requests serviced by those components. Adrian explains the inner workings of the kernel with steps of bootstrapping, configuration and assembly as well as the post processing and life cycle management of the application components. He also explains the details behind the request dispatching, resource loading, and event management.
  • Enterprise Services Layer. The runtime components in the enterprise service layer are plugged into the kernel using Spring extension mechanisms such as namespace handlers and post-processors. These components provide support for transaction management, data access, exception management, messaging, and security. This section also describes how Spring runtime supports JMX Integration and Web Requests Handling requirements.
  • Performance Tuning. Adrian recommends a "measure first" approach to tune a Java EE application using the Spring framework, so the developers can avoid any premature optimization related issues. Measuring the application performance involves using tools such as Apache JMeter, Selenium, JAMon, and a code profiler (JProfiler or Yourkit Profiler) to find out the hotspots and establish the baseline of response times in each layer in the application. He suggests that developers utilize in-container resources for database connection pooling, JMS messaging, and JMX management purposes. He also offers design tips on when to use Hibernate versus JDBC queries and to make use of Hibernate Statistics object to understand what's happening at runtime in the ORM layer.

Adrian concludes the presentation by urging the developers to take the advantage of runtime optimizations such as moving an operation that contains only persistence logic (no business logic) into the database as a stored procedure and to consider using Spring's asynchronous task executors for tasks that can be run in the background.

"Spring In Production" white paper can be downloaded from SpringSource website after completing the registration details.

Speaking to InfoQ, Adrian said the focus of the series will be "on applied topics - rather than simply explaining product features, the webinars and white papers will address best practices in developing and deploying Spring-powered applications". The next event in the webinar series will be hosted early next year.

Some of the topics for the future presentations include:

  • Best practices for configuring and testing Spring applications.
  • Spring and Extreme Transaction Processing.
  • Spring applications deployed on specific server environments such as WebLogic, WebSphere, and Oracle application servers.

Any suggestions for topics of interest to the readers should be sent to Adrian and the SpringSource team.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Production Monitoring of the Spring Container itself by William Louth

Monitoring Spring Containers
blog.jinspired.com/?p=167

It is unfortunate Adian did not touch on issues that I mentioned to him during our discussions including the performance penalty for AspectJ load time weaving (blog.jinspired.com/?p=133), lack of integration with a mature problem diagnostics framework, and resource transaction analysis which is especially important considering the fact that Spring is offering it own transaction management configuration outside of the Java EE specifications.

regards,

William

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

1 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT