This week I'll be talking about RAD and the runtime analysis feature, the debug tool and reverse transformations.
Within RAD, the runtime analysis feature allows you to view the actual execution of the code, which may be different from the intended behavior. With profiling, you can analyze performance, method execution sequences, thread behaviors and code coverage. With the Runtime Analysis feature, you can do:
- Performance Analysis: users can collect method level performance data and view it through statistical views or via the performance call graph
- Memory Leak Analysis: users can find memory leaks within their Java code. The leaks can be viewed using the Object Reference Graph to better explore relationships of the object to other objects.
- Line Level Code Coverage: shows what code has been executed down to the line level.
- Thread Analysis: within a view, thread-view of the behavior code is shown.
All runtime analysis instrumentation is specified via profile configurations (done through a wizard).
RAD provides a comprehensive debug tool. It is a Java and mixed language debugger - Seamless integration when debugging application that calls other languages from Java and vice versa.
It provides Advanced debug support for Websphere Application Server, including EJBs, JSP pages, and servlets. It controls debugging at a higher level and provides the user the ability to stop on entry to every object loaded by the JVM or server. The XSLT debugger enables you to detect and diagnose errors in XSLT Transformations and it displays variables in a logical manner, allowing the user to examine variables more easily.
In addition, RAD provides reverse transformations. It allows teams to work on both the design and the implementation and to reconcile any differences between the two. So for example,let’s say we have an architecture team and an implementation team that are divided, either by geography or because one team is subcontracting to the other, or even by corporate culture. The architecture team completes its version 1.0 of the system, and transforms the model to code.
The implementation team picks up the code and begins to work. The architecture team continues to work on the design, and after some time creates a v1.1 of the architecture. This architecture is forward transformed and integrated with the work done by the implementation team.
So far, so good?
Now, the implementation team introduces a significant deviation from the architecture developed by the architecture team. Here is where the reverse transformation or code-to-model transformation can be used. The implementation team performs the code-to-model transform. The architecture team can then compare/merge this model with the architecture model they are working with. Some changes could be accepted and others could be rejected. Once the reconciliation has occurred, a code-to-model transformation could be performed to conform the implementation with the newest architecture.
When the architectural deviation is introduced, a dialogue would need to take place between the architecture and implementation teams so that both teams could better understand why the deviation was introduced. The forward transformation that occurs after the reconciliation probably would not delete code elements if those code elements were not the product of forward transformation in the first place. The deletion of the code elements would often be done manually.
In summary, IBM Rational Application Developer provides:
Web application development
J2EE application development
Rich Client development
Web Services development
Visual application development
Portal and Portlet application development
Code quality tools
Software development process guidance
and now for the demo..............
Collaborative debugging with Rational Application Developer V7.5, Part 2
This demo shows a transfer scenario involving a Web application deployed on an IBM® Websphere® Application Server. It takes a look at parking debug sessions and how to transfer debug sessions through Sametime.
It is all about smart software development tools to help create a smarter planet.