Welcome!

Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic

Weblogic: Article

Enhancing Application Manageability with BEA's Weblogic Server/HP's Openview

Enhancing Application Manageability with BEA's Weblogic Server/HP's Openview

In Part 1 of this article (WLDJ, Vol. 2, issue 6), I claimed that manageability is a vital aspect for any application that will be deployed into production, where it will spend most of its life being managed by people who may not be the original designers. These systems and applications managers will need good tools and application visbility for the deployment of the application to be successful. We looked at the basics of manageability, from logging files to log file encapsulation to writing our own JMX beans in order to achieve ever higher levels of manageability in the application.

In this article, I'll look at the means by which the various management tools, from the BEA console and WLShell utilities to the HP OpenView features, help the developer and set templates in place for building better applications.

There are three JMX client applications available with BEA WebLogic Server today: the Administration Console, the WLShell tool, and the weblogic.Admin command-line utility. The next section gives an outline of the first two as useful tools for the developer. The command-line utility functionality is also seen in the WLShell tool, with a friendlier front end, so it will not be described here.

The WebLogic Server Administration Console
This tool, one of several different BEA consoles, is specifically geared to managing WebLogic Server. There are other BEA consoles for the Portal Server, the B2B server, and the Integration Server Application management that we will not discuss here.

Since WebLogic Server 7.0, the WebLogic Server administration console has been a browser-based management environment for many aspects of the WebLogic Server and parts of the applications this server supports. The WebLogic Server Admin console can report and change the status of any servers that it can connect to and any services within those servers, such as a JDBC connection pool service.

One of the console's screens is shown in Figure 1. It allows the application developer to visualize the effects of his/her application on the WebLogic Server and to set various changeable aspects of that environment to help the application run well.

At runtime, the WebLogic Server automatically supplies a JMX Managed Bean (MBean) object for the server itself (called "weblogic.management.configuration.ServerMBean"), for internal services and for each application servlet and application Enterprise JavaBean (EJB, or business object) under its control.

These WebLogic Server-generated MBeans, called RunTimeMBeans, then become management-oriented proxies for their companion application objects. The attributes of the RuntimeMBeans for WebLogic Server-owned objects can be queried, and in some cases set to new values and certain operations executed on them. This is done through the forms that the WebLogic console shows on its user interface. There is a full help system that explains the many forms of MBeans that WebLogic supports in the WebLogic Console, seen as question marks beside their names. Figure 2 shows the name and attributes of one particular MBean entry. This example takes the MBean representing the WebLogic Server process itself and shows us the value of the "ListenPortEnabled" attribute.

To support these facilities, WebLogic Server has an MBean server capability which carries out the registration of its generated RunTimeMBeans. The user can therefore see (and adjust) the allowed attributes of these MBeans through the WebLogic Server Admin console. The benefit of having a server-supplied management MBean object representing each servlet and each EJB is that the application is already visible for management down to these levels of granularity. The developer can now work with the MBean logic to add new functionality as required. For example, the properties or attributes of each object can be exposed through forms and data entry fields in the console, under the developer's control.

Taking the ShoppingCart example, this object may have been implemented as a Session EJB by the developer. We can then interrogate the attributes of the ShoppingCartMBean object in the Admin console. By constructing the logic in the MBean such that it has a link to the ShoppingCart object and reads and writes data to the ShoppingCart attributes, we provide the management tools with a connection into the business object.

This can be summarized as an orderly way to build control, as described in the manageability definition, into the system.

The WLShell Tool
This tool is a command-line interpreter that connects to a WebLogic Server and translates user commands to JMX calls. These calls are applied to those MBeans registered in the MBean server supplied by BEA, but they might also be applied to user-defined MBeans, if necessary, provided those user-defined MBeans have been registered with the MBean server.

The tool allows developers to name a specific MBean that they are interested in monitoring or controlling and to issue commands to it, such as "get the value of the MaxCapacity attribute of MBean named X" or "set the MaxCapacity attribute to 300 on MBean Y". The tool uses a familiar tree-like file system analogy for navigating the domain name, MBean type, name of the MBean, and finally the attribute of the MBean that you wish to get or set. Because the name of a JMC MBean can be long and tedious to type, the tool allows for shorter navigation to an attribute name from a longer JMX name.

A JMX-Compatible Smart Plug-in for HP OpenView Operations
HP enhances the BEA WebLogic Server management world by providing a WebLogic Server-specific Smart Plug-in (SPI) module that integrates the management of the WebLogic Server and any associated applications that depend on it. This SPI integrates several sources of information into one screen. It

  • Gathers data from any supplied MBeans, such as those supplied by the WebLogic Server
  • Performs calculations on that data to be more meaningful to the end operator
  • Brings filtered application logging messages to bear on the management task

    This provides a highly desirable management integration, as many IT operations departments want to be able to monitor the health of their computers, networks, application servers, and any applications that depend on them from the same console and using the same familiar tools.

    The OVO WebLogic Server SPI uses the JMX MBean server within the WebLogic Server runtime and derives some of its information from the MBeans present in that server. The HP SPI may be used by developers in three ways:

  • Existing information (contained in existing MBeans) may be used to provide information through existing OVO-supplied metrics. There are 55 such metrics available for use by the IT operator. These metrics include the number and percentage of available JDBC connections in the overall WebLogic Server connection pool.
  • Existing information may be used to define new user-defined metrics (UDMs).
  • New, custom-built MBeans may be designed by the application developer to provide new information through new metrics. This last approach applies in those situations where business-specific metrics require action by operations personnel. An example of this would be the number of customers who did or did not purchase items at my site in the past day (those who completed their ShoppingCart checkout transaction, or failed to do so, perhaps because the system was not functioning adequately).

    Look at the OVO Metrics Guide for the full set of OpenView-supplied metrics. These provide a comprehensive view of the internal operation of the WebLogic Server, adding the cross-correlation of items supplied by the base MBeans.

    User-Defined Metrics in HP OpenView Operations
    Application developers can, if necessary, add their own metrics using the features of the OVO console. By defining their own metrics, developers help the operator to monitor the applications by allowing new combinations of data to be derived from existing sources. These user-defined metrics are fully described in the HP OVO Administrator's Guide.

    Writing Custom, Application-Specific MBeans
    The JMX features previously described leave the software designer with the problem of deciding which application objects are in need of management visibility and which are not. Should all business objects be capable of being manipulated through their aassociated MBean, or just a chosen few?

    The software designer has the option of mapping one MBean to one or to many business objects, depending on the need for management of them.

    If one business object depends completely on another to get the work done (i.e., they are in a "uses" relationship), then there is an argument for managing them using one MBean. Correspondingly, if objects are entirely independent of each other in the business context, the designer can choose to have a management view of each one, using separate MBeans.

    It is unlikely that all objects in any system will need a dedicated MBean of their own. The software designer chooses the Java object or EJB that he or she wishes to visualize and control using a management tool. The rules described above regarding conforming to certain interfaces or building a separate MBean object are then applied. Finally, the developer will register the new MBean with the appropriate MBean server process. In the case of the developer using WebLogic Server, that server is the BEA-supplied MBean server.

    From that point onward, the MBean is manageable using JMX-aware tools. The associated business object is manageable to the degree that its behavior is detemined by its guardian MBean. Developers may find that the WebLogic-supplied MBeans are suitable for their management needs. However, there are situations where each object as an independent unit of management is not enough. For example, if I need to know how many users have abandoned their ShoppingCart objects and how many have not, then I may need to create an aggregation MBean that counts the number of relevant associations and allows this number to be seen at the management level.

    Second, I may wish to have a listener MBean, for example, whose job it is to watch for users abandoning their ShoppingCart objects without taking them to the checkout phase. This is a custom MBean that I will need to register in my own application code with the MBean server and thus expose it to the tools.

    Summary
    The HP OpenView Smart Plug-in technology provides management of the J2EE application server's internal objects without the application developer having to do extra coding work. Using the OpenView SPI to extend the metrics it supplies to the operator also gives us a powerful tool for manageability of our application.

    Tracking in a J2EE Application with OpenView Transaction Analyzer
    Many developers are concerned with finding the bottlenecks that inhibit high performance in their J2EE applications. This is not an easy task due to the distributed nature of these applications. Developers have found, in many cases, that instrumenting their application with calls that conform to the Application Response Measurement (ARM) API is more intrusive on their applications than they wish to be. This API is designed to allow for detailed accounting of CPU time spent in sections of the application. It is in use in some designs for close monitoring of the processor time spent in certain key areas of a program.

    There are now tools on the market, such as the OpenView Transaction Analyzer (OVTA), that use ARM measurement and logging techniques without needing the application developer to make program changes. By exploiting purpose-built class loaders and byte code manipulation, these tools can intercept the entry and exit points from each method in an application, whether that method is in a JSP, servlet, or EJB, and report the time it consumes through ARM calls. The latter calls log data to a separate measurement server that collects the logs for subsequent processing and display without further interference on the application. The ARM API is therefore completely hidden from the application developer and is built into the tool. The degree of accuracy provided by ARM is maintained.

    This is a very powerful method for analyzing the full J2EE application at development time, or even later at deployment time, for performance bottlenecks. The application developer has to make no changes to code to carry this process out. Figure 3 provides a snapshot of the type of screen that HP's OVTA product produces to aid the developer in performance analysis. It can trace quickly down to the point of the problem in a complex application.

    In Figure 3, highlighted in red is the key culprit for performance concerns with this particular application. This tool fulfills the final requirement for the application developer in building manageability into an application, that of tracking the paths through the code.

    Conclusion
    This article discussed a number of technologies and standards for enabling the manageability aspects of a J2EE or Web services application. Different technologies have benefits based on the nature of the application they are managing and the environment in which they are set.

    The lowest level is that of application logging. Applications that already have some logging built in can benefit from this approach without change. This provides a base level of monitoring in the manageability hierarchy.

    For those applications that are built on Java and J2EE and adhere to the standards in those fields, JMX poses an attractive choice. JMX and SNMP-style management are not mutually exclusive - JMX agents can generate events that are SNMP compatible.

    Many applications will require a combination of two or more of the technologies surveyed here to fully satisfy their operational management needs. The technologies are not competing with each other for the application programmer's attention. Instead, they should be regarded as a spectrum-of-choice of levels of sophistication in manageability.

    Developers should always consider the functionality implemented by the management platform that will be used by the operations staff, before proceeding to instrument their application code with these technologies. Some management platforms provide many of the features required without resorting to extra coding work.

    References

  • BEA JMX: http://edocs.bea.com/wls/docs70/javadocs/index.html
  • JSR3: www.jcp.org/en/jsr/detail?id=3
  • JSR77: www.jcp.org/en/jsr/detail?id=77
  • OVO-Metrics: HP OpenView Operations - Metrics Guide
  • OVO-Admin: HP OpenView Operations - Administrators Guide
  • OVO-Concepts: HP OpenView Operations - Concepts Guide
  • OVTA: HP OpenView Transaction Analyzer: www.openview.hp.com/products/transaction_analyzer/index.asp
  • Poole: HP OpenView Architectures for Managing Network Based Services
  • More Stories By Justin Murray

    Justin Murray is a technical consultant in the application development resources organization in HP. He has worked for HP in various consulting and teaching roles. Justin has consulted at a technical level on customer projects involving Java, J2EE and performance management, as well as specializing on application performance tuning for HP-UX. Justin has published several technical papers on these subjects. He can be reached at : [email protected]

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    @ThingsExpo Stories
    DX World EXPO, LLC, a Lighthouse Point, Florida-based startup trade show producer and the creator of "DXWorldEXPO® - Digital Transformation Conference & Expo" has announced its executive management team. The team is headed by Levent Selamoglu, who has been named CEO. "Now is the time for a truly global DX event, to bring together the leading minds from the technology world in a conversation about Digital Transformation," he said in making the announcement.
    "Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    SYS-CON Events announced today that Conference Guru has been named “Media Sponsor” of the 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. A valuable conference experience generates new contacts, sales leads, potential strategic partners and potential investors; helps gather competitive intelligence and even provides inspiration for new products and services. Conference Guru works with conference organizers to pass great deals to gre...
    The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform. In his session at @ThingsExpo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and shared the must-have mindsets for removing complexity from the develop...
    In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, led attendees through the exciting evolution of the cloud. He looked at this major disruption from the perspective of technology, business models, and what this means for enterprises of all sizes. John Considine is General Manager of Cloud Infrastructure Services at IBM. In that role he is responsible for leading IBM’s public cloud infrastructure including strategy, development, and offering m...
    "Evatronix provides design services to companies that need to integrate the IoT technology in their products but they don't necessarily have the expertise, knowledge and design team to do so," explained Adam Morawiec, VP of Business Development at Evatronix, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
    Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
    Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
    "Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    "IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
    In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
    22nd International Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, and co-located with the 1st DXWorld Expo will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud ...
    "Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
    Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
    "MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
    "There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
    SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.