News: Dynamic Visualization of Spring Applications with eoSense 2.0
The Spring Framework has become popular as a simple, but powerful, approach to Java EE development. But making sure that a Spring application is solidly constructed and performs optimally still requires considerable skill. By visualizing a Spring application's dynamic operation, developers and architects can quickly understand and verify that their Spring components are behaving as expected. Dynamic visualization provides a powerful way to both rapidly identify problems and to validate the operation of an application. eoSense is a Java EE application analyzer which automatically checks that Java EE and Spring applications are built correctly by applying inbuilt framework knowledge to explain server and application operation in an intuitive, graphical way. The interactions of Spring components with other Java EE facilities are recorded and visualized, giving a graphical representation of application architecture. Both Spring beans and their proxies are visualized, and the graphical representation of proxy operation makes it very easy to understand the dynamic behavior and interaction of AOP advised components. Additionally eoSense will automatically detect and report on a range of Spring application construction problems and questionable design decisions. eoLogic have now released version 2.0 of eoSense, the first tool to support Spring dynamic visualization and validation. eoSense works with Spring applications running on both the WebLogic and WebSphere application servers. For more information on visualizing Spring applications see: Detecting Problems In Spring Applications A free trial of eoSense with support for Spring 2.0 on WebLogic or WebSphere is available: download
- Posted by: Gordon Cruickshank
- Posted on: April 03 2008 10:46 EDT
- Re: Dynamic Visualization of Spring Applications with eoSense 2. by Casual Visitor on April 03 2008 17:30 EDT
- Re: Dynamic Visualization of Spring Applications with eoSense 2. by Davide Baroncelli on April 04 2008 05:43 EDT
- Re: Dynamic Visualization of Spring Applications with eoSense 2.0 by Karl Banke on April 04 2008 06:33 EDT
- Re: Dynamic Visualization of Spring Applications with eoSense 2.0 by Gordon Cruickshank on April 04 2008 09:09 EDT
Spring ... simple ... challenging. What now? If Spring were simple it needed no "Dynamic Visualization". First you hide dependencies in XML files then you reconstruct them with "visual" tools to understand the dynamic behavior and interaction.
Spring ... simple ... challenging.Good try: of course the fact that a tool may be simple to use (which definitely is the case for Spring) does not necessarily make it so that reality is simple. An APPLICATION may be complex, and need some kind of visualization tool, even if its configuration mechanism/structural backbone is the best of the breed.
What now? If Spring were simple it needed no "Dynamic Visualization". First you hide dependencies in XML files then you reconstruct them with "visual" tools to understand the dynamic behavior and interaction.
But if a framework like spring is used in the proper way, it's usage should be totally declaratively. Thus, one would and could never ever need analysis of "dynamic visualization" which can't be done anyway without proper profiling. You can only try to determine the dynamic behavior from the static configuration. That might give some hints about bad design decisions but give precious little information about the runtime behavior of the application.
Like a profiler, eoSense monitors running application servers. But it builds a more complete model of the application as it runs and displays that model in real-time as a graphical explanation of the operation of the server i.e. it lets you see inside the running application server. As well as showing calls between components and services, it represents containment and usage relationships and automatically checks things like call sequences, transaction participation, resource usage, threading errors etc. The technique used to achieve this is called derived model analysis.