As Java technology developers write more complex and sophisticated mission-critical programs, the need for improved monitoring and management capacities in the Java platform has also grown. Java Platform, Standard Edition 6 (Java SE 6) now enables developers to attach command-line utility diagnostic tools such as To get an update on Java SE 6 monitoring enhancements, along with Sun's service offerings, we spoke with Sun Distinguished Engineer Vasanthan Dasan, who serves as chief technologist for the Services Product Unit, which creates service products and manages $5 billion in service revenue. Dasan is responsible for the architecture of mission-critical services around Sun's systems, storage, and software products. He also provides technical direction to global services sales and delivery. Dasan was previously the chief architect for Sun Services Engineering, where he led the development of online support and remote management services for Sun's customer support engineers, external customers, and partners. He joined Sun in 1992 as a Solaris Operating System engineer and helped develop widely adopted products such as JumpStart, Solstice, and SunSolve. Dasan has authored many white papers, books, patents, industry standards, and articles on services and service technologies, including the book, Hands-on Intranet. He lives in Boulder, Colorado, with his wife and two children and enjoys rugby, cycling, and the mountains.
Sun is challenged to provide more sophisticated ways to debug applications that involve, for example, metering, billing, or crucial medical data. If an application fails even briefly, it could cost millions of dollars or, in a medical emergency, lives. If Wall Street stock trading stops for five seconds, there are regulatory implications. If a major e-commerce company goes down, the consequences are huge.
Sun senior staff engineer Mandy Chung has an excellent blog entry on the new monitoring developments in Java SE 6 and an article that I recommend, but I'll give you some basics. The new monitoring and management capabilities in Java SE 6 enable developers to write specific code for mission-critical applications, to help cope with urgent situations. You can dump out the heap of a program, identify memory leaks, figure out if there's a deadlock, or contention of resources, or if a looping situation exists. JConsole is a Java monitoring and management console, originally included in J2SE 5.0, that allows you to monitor the usage of various Java Virtual Machine (JVM)* resources at runtime. Developers are finding the Java SE 6 JConsole enhancements quite useful. Graeme Wallace, a developer at FareCompare, a company that provides airfare information and handles huge databases, said, "The JConsole in J2SE 5.0 was useful, but the JConsole in Java SE 6 is much better, with its new plug-in architecture. For example, plug-in JTop is a huge improvement, and the new HotSpot diagnostic MBean, which allows you to dump memory, stack traces, and configure VM options on the fly, has proved quite handy." JTop is a JDK demo that displays an application's usage of CPU time per thread. JTop sorts threads by the amount of CPU usage, allowing you to easily detect a thread that is using inordinate amounts of CPU time. If high-thread CPU consumption is not an expected behavior, the thread may be looping. The Impact on Developers
The more mission-critical an application is, the more you want to think about crashes and deadlocks, which you can ultimately never predict, because you may miss some logic points in handling resources within the JVM. So a deadlock or a loop situation may occur, and the program won't respond. You ask, "Why is this doing that? Let me take a peek inside the stack through the JConsole." Support for Solaris Dynamic Tracing (DTrace) in Java SE 6
Java Applications on Linux, Microsoft Windows, and Solaris OS
Obviously, the JVM itself runs on and interacts with various platforms. If that interaction is the source of the problem -- involving hardware, memory access, or something else -- Sun's service engineers have capabilities on all three platforms and understand the interactions between them and the JVM. Mission-Critical Support Solutions
Here's another example of a future issue in which Sun could assist. Before March 11, 2007, some customers might require major upgrades to their systems to meet changes in Daylight Saving Time. Customers that have not planned for this time change could face critical impact to their business because older versions of the Java platform might not report time accurately. Sun Java MultiPlatform may assist customers by providing round-the-clock phone support and product escalation for defects. In addition, customers deploying Java technology in mission-critical environments might want to take advantage of the PremiumPLUS service, which provides exception releases patches. Please contact your local Sun or partner representative for more information. Java MultiPlatform Support: Standard, Premium, and PremiumPLUS
To help developers debug on any platform, Sun offers the Java MultiPlatform Support service as a kind of insurance policy. Like all insurance policies, you hope you never need it, but when you do, you're glad you have it. Three levels of Java MultiPlatform Support are available: Standard, Premium, and PremiumPLUS. Standard Support Premium Support A common question is "Do I foresee such a situation?" You should consider your application stack and where it's getting deployed before you decide whether you need this type of offering. For instance, a trading application may store all the trade data in a database that's running on JVM stacks. And it's running a trade application that's written in the Java programming language. The application may have been written by a third-party company, an integration company, or an internal IT department. You may need a JVM expert from Sun and a database expert from Oracle. The Premium plan covers this. PremiumPLUS Support We recommend this for ISVs, enterprise customers, finance, telco, government, military, and e-commerce applications. Prospects for Java SE 7
Personally, I'd like enhancements at the OS or application level to be able to engage in live probing of transactions. DTrace is capable of this now. I'd like to see more of that capability. I think we're on the right track, but I can't predict where we will be with Java SE 7. One thing is clear: As more and more mission-critical applications are written in the Java language, we will see correspondingly enhanced management and monitoring features in successive versions of the platform.
_______ See Also
Sun Spectrum Java MultiPlatform Java SE, Java ME |
| ||||||||||||||||||||||||||||||
Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.
|
| ||||||||||||