Click here to close now.

Welcome!

Java Authors: Pat Romanski, ScriptRock Blog, Liz McMillan, Carmen Gonzalez, Elizabeth White

Related Topics: Java

Java: Article

Accessing MBeans Through the Jini Service

Accessing MBeans Through the Jini Service

Network systems based on service discovery can provide a consistent view of their distributed components even during changing network conditions. The ability of a system to heal itself during a network catastrophe, including architectural change and system breakdown, will help the system to realign its content traversal route intelligently and swiftly. This ability can be obtained from various healing strategies like failure detection, consistency maintenance, and distributed service activation techniques.

A complete understanding of the interactions among self-healing strategies would provide architects of distributed systems with the knowledge necessary to build the most effective catastrophe-free network system with minimum overhead. A self-healing, manageable distributed system can be developed using a Jini federation. Since Jini is focused on service-oriented programming and supports the discovery of services, active or dormant, identifying service failure and recovering from a major disaster is possible.

As a rule of thumb, a network system is not complete if it's not manageable remotely. Hence there should exist a framework for exposing the application or Jini service for remote configuration. MBeans do just that.

Accessing MBeans from a different VM or a remote location can be done using a protocol adapter or connector. Connectors are similar to protocol adapters but they need the presence of a wrapper at both the server and the client sides; adapters are software, listening on the server side, built on a common protocol that the client is expected to understand and access. The JMX agent that starts the MBean server should let remote clients invoke methods on the MBeans registered in the MBean server.

The conventional way of accessing the MBean server from a different location is by using an RMI connector. RMI connectors are inherently MBeans registered in the MBean server. The remote client can access the MBean server using the RMI connector client. While this seems to be a neat solution for remotely accessing MBeans, the client needs to know the physical location of the MBean server. Even if the the MBean proxy is bound to a lookup, the client should know the lookup location. Even when using protocol adapters like the HTML and SNMP adapters, the client is expected to know the server location.

Consider a typical setup, such as a distributed content management system running on an agent framework, where the publishing server doesn't need to know where the content updating modules are running since it can be run by an editor, writer, or a designer in different locations. Implementing a simple connector does not solve this problem. This article explores the possibilities of using a discovery mechanism to find out where the JMX agent is running. This can be achieved by using a Jini connector, which is registered as an MBean with the MBean server.

However, we don't actually discover a running JMX agent but we discover the Jini lookup service that holds the proxy of the Jini service, which is also registered as an MBean with the MBean server. Figure 1 shows the MBean invocation process between two different VMs.

Management Through MBeans
An agent application is a piece of software written in Java that contains an MBean server and interfaces to access its functionality. This would be a minimal agent and anything less couldn't be managed. In our example of a minimal agent, we'll access the MBean server through the HTML protocol adapter from a Web browser and also through a Jini client running in a different VM. Jini is a Java-based network federation where the services that want to expose themselves to the clients register themselves with a lookup registry, and the client that needs to access the service discovers the service through the lookup registry and invokes its methods. Since MBean is not serializable, a Jini connector wrapper registers the proxy with the lookup service.

Discovering MBean Agents
A JMX client can access and manage MBeans exposed by the MBean agent running in a different VM through various known techniques. The JMX Remote API (JSR 160) proposes a viable solution to remotely access an MBean agent. Hence it's possible for a remote client to get a reference for the JMX Remote API Connector. But a JMX Remote API can be used only when you know where the MBean server is running. The standard does not provide any solution for discovering MBean agents. Instead, you can try traditional service discovery processes like Jini lookup and Service Location Protocol (SLP). SLP is an IETF standard that provides a framework for allowing networking applications to discover the existence, location, and configuration of networked services in the network. But the Java SLP Implementation (JSR 140) is still being tested.

Reggie for Discovering Agents
The Jini framework provides a reference implementation of a lookup ser- vice called "reggie" that holds service references and enables remote clients to discover it and get the remote service reference. It's very simple to discover a running Jini lookup service using API calls. The service, which intends to be a part of the Jini federation, registers a serializable object with the lookup service, enabling remote clients to use this object as a proxy. Another advantage of using Jini is that the classes required for instantiating the proxy objects can be downloaded dynamically from an HTTP server, and the Jini framework provides the necessary security for code download based on the RMI security manager. Figure 2 shows the classes being downloaded dynamically from the client in our example application.

Registering Services
In Jini the services can be registered through a serializable Java object or a stub. The stub provides a direct reference to the underlying Jini service. Since the Jini lookup service, which is based on RMI, automatically downloads from the server all the classes needed to deserialize the service object on the client, the server can register any class and the client can use the same class without having prior information of the class implementation. An easier way of registering services is by calling the JMXConnectorFactory .newConnector of the JMX Remote API.

Accessing Remote Agents
By using Jini, a JMX agent can be distributed the same way as an RMI connector, but without mandating that the clients know the location of the running agent. Hence, to access a JMX agent, the clients can just create a Jini connector and locate the nearest running agent. If multiple agents are running on the network, the clients can select which agent they want to access based on the lookup entry provided by the agent with the lookup service. The Jini connector can also advertise itself by using the default domain name of the MBean server in which it's registered.

In this article we'll build a simple Jini connector that registers itself with the MBean server and exposes the MBean agent for remote administration. Figure 3 shows the MBean list through an HTTP adapter showing the Jini connector and a configurable test string. The Jini connector is comprised of the service, which we want to register with the lookup service, the MBean, and a Jini client. Figure 4 shows the Jini lookup browser showing the Jini service class and the JiniWrapper registered with it. The MBean enables the agent to control the Jini service and, as you refer to the source code (which you can download from www.sys-con.com/java/sourcec.cfm), the MBean has a reference to the MBean server, which allows the Jini service to perform callbacks to the MBean server methods. The Jini client forwards its method invocation to the MBean server via the Jini service. The Jini client-side application discovers and uses the Jini connector service and therefore can use the agent.

An Example
The example source code provides a basic way of enabling the Jini client application to discover the lookup ser- vice running on the network and obtain the proxy of the Jini Connector service that enables the client to invoke the MBean server methods through callbacks. An excellent book to read, especially if you're new to Jini, is Jini in a Nutshell by Scott Oaks and Henry Wong; to learn the basics of JMX, read JMX in Action by Benjamin G. Sullins, Mark Whipple, and Ben G. Sullins.

The process of setting up a Jini environment can be frustrating at times. For this reason, I've provided some instructions (see sidebar). Though our service does not register with the RMI activation daemon, enabling auto-restart during crashes, the Jini lookup service, an activateable service, requires RMID running on the same VM. So make sure the lookup service and RMID are running in the same VM. The Jini connector service can be run in any VM as long as the correct server codebase is specified for dynamic classloading. When the client gets started, it finds out the lookup service and hence the agent, and tries to get the MBean registration information, MBean count, and the test string value. It also dynamically changes the value of the string that can be viewed in a browser (see Figure 2). The output of the client is shown in Figure 5.

Conclusion
MBean provides a powerful interface for managing services. Jini extends the functionality of MBeans by letting the client discover the JMX agent in a network on the fly. And since the agent is pulled into the Jini federation by the Jini connector service, other advantages like agent failure notification, event mailbox, and dynamic service reconfiguration are possible for attaining a true catastrophe free, self-healing, manageable, and intelligent network.

More Stories By Frank Jennings

Frank Jennings works in the Communication Designs Group of Pramati Technologies

Comments (2) View Comments

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.


Most Recent Comments
Florence 09/12/03 11:14:57 AM EDT

Hi Frank,
This article is so rich and informative. Hats off to you.
Hoping to see more articles with the same calibre.

aviraj 09/11/03 10:57:05 AM EDT

send me the latest news

@ThingsExpo Stories
The world's leading Cloud event, Cloud Expo has launched Microservices Journal on the SYS-CON.com portal, featuring over 19,000 original articles, news stories, features, and blog entries. DevOps Journal is focused on this critical enterprise IT topic in the world of cloud computing. Microservices Journal offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. Follow new article posts on Twitter at @MicroservicesE
SYS-CON Events announced today the IoT Bootcamp – Jumpstart Your IoT Strategy, being held June 9–10, 2015, in conjunction with 16th Cloud Expo and Internet of @ThingsExpo at the Javits Center in New York City. This is your chance to jumpstart your IoT strategy. Combined with real-world scenarios and use cases, the IoT Bootcamp is not just based on presentations but includes hands-on demos and walkthroughs. We will introduce you to a variety of Do-It-Yourself IoT platforms including Arduino, Raspberry Pi, BeagleBone, Spark and Intel Edison. You will also get an overview of cloud technologies s...
SYS-CON Events announced today that SafeLogic has been named “Bag Sponsor” of SYS-CON's 16th International Cloud Expo® New York, which will take place June 9-11, 2015, at the Javits Center in New York City, NY. SafeLogic provides security products for applications in mobile and server/appliance environments. SafeLogic’s flagship product CryptoComply is a FIPS 140-2 validated cryptographic engine designed to secure data on servers, workstations, appliances, mobile devices, and in the Cloud.
Wearable technology was dominant at this year’s International Consumer Electronics Show (CES) , and MWC was no exception to this trend. New versions of favorites, such as the Samsung Gear (three new products were released: the Gear 2, the Gear 2 Neo and the Gear Fit), shared the limelight with new wearables like Pebble Time Steel (the new premium version of the company’s previously released smartwatch) and the LG Watch Urbane. The most dramatic difference at MWC was an emphasis on presenting wearables as fashion accessories and moving away from the original clunky technology associated with t...
After making a doctor’s appointment via your mobile device, you receive a calendar invite. The day of your appointment, you get a reminder with the doctor’s location and contact information. As you enter the doctor’s exam room, the medical team is equipped with the latest tablet containing your medical history – he or she makes real time updates to your medical file. At the end of your visit, you receive an electronic prescription to your preferred pharmacy and can schedule your next appointment.
Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 16th Cloud Expo at the Javits Center in New York June 9-11 will find fresh new content in a new track called PaaS | Containers & Microservices Containers are not being considered for the first time by the cloud community, but a current era of re-consideration has pushed them to the top of the cloud agenda. With the launch of Docker's initial release in March of 2013, interest was revved up several notches. Then late last...
The WebRTC Summit 2014 New York, to be held June 9-11, 2015, at the Javits Center in New York, NY, announces that its Call for Papers is open. Topics include all aspects of improving IT delivery by eliminating waste through automated business models leveraging cloud technologies. WebRTC Summit is co-located with 16th International Cloud Expo, @ThingsExpo, Big Data Expo, and DevOps Summit.
SOA Software has changed its name to Akana. With roots in Web Services and SOA Governance, Akana has established itself as a leader in API Management and is expanding into cloud integration as an alternative to the traditional heavyweight enterprise service bus (ESB). The company recently announced that it achieved more than 90% year-over-year growth. As Akana, the company now addresses the evolution and diversification of SOA, unifying security, management, and DevOps across SOA, APIs, microservices, and more.
GENBAND has announced that SageNet is leveraging the Nuvia platform to deliver Unified Communications as a Service (UCaaS) to its large base of retail and enterprise customers. Nuvia’s cloud-based solution provides SageNet’s customers with a full suite of business communications and collaboration tools. Two large national SageNet retail customers have recently signed up to deploy the Nuvia platform and the company will continue to sell the service to new and existing customers. Nuvia’s capabilities include HD voice, video, multimedia messaging, mobility, conferencing, Web collaboration, deskt...
SYS-CON Media announced today that @WebRTCSummit Blog, the largest WebRTC resource in the world, has been launched. @WebRTCSummit Blog offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. @WebRTCSummit Blog can be bookmarked ▸ Here @WebRTCSummit conference site can be bookmarked ▸ Here
SYS-CON Events announced today that Cisco, the worldwide leader in IT that transforms how people connect, communicate and collaborate, has been named “Gold Sponsor” of SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Cisco makes amazing things happen by connecting the unconnected. Cisco has shaped the future of the Internet by becoming the worldwide leader in transforming how people connect, communicate and collaborate. Cisco and our partners are building the platform for the Internet of Everything by connecting the...
Temasys has announced senior management additions to its team. Joining are David Holloway as Vice President of Commercial and Nadine Yap as Vice President of Product. Over the past 12 months Temasys has doubled in size as it adds new customers and expands the development of its Skylink platform. Skylink leads the charge to move WebRTC, traditionally seen as a desktop, browser based technology, to become a ubiquitous web communications technology on web and mobile, as well as Internet of Things compatible devices.
SYS-CON Events announced today that robomq.io will exhibit at SYS-CON's @ThingsExpo, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. robomq.io is an interoperable and composable platform that connects any device to any application. It helps systems integrators and the solution providers build new and innovative products and service for industries requiring monitoring or intelligence from devices and sensors.
Docker is an excellent platform for organizations interested in running microservices. It offers portability and consistency between development and production environments, quick provisioning times, and a simple way to isolate services. In his session at DevOps Summit at 16th Cloud Expo, Shannon Williams, co-founder of Rancher Labs, will walk through these and other benefits of using Docker to run microservices, and provide an overview of RancherOS, a minimalist distribution of Linux designed expressly to run Docker. He will also discuss Rancher, an orchestration and service discovery platf...
SYS-CON Events announced today that Vitria Technology, Inc. will exhibit at SYS-CON’s @ThingsExpo, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Vitria will showcase the company’s new IoT Analytics Platform through live demonstrations at booth #330. Vitria’s IoT Analytics Platform, fully integrated and powered by an operational intelligence engine, enables customers to rapidly build and operationalize advanced analytics to deliver timely business outcomes for use cases across the industrial, enterprise, and consumer segments.
SYS-CON Events announced today that Solgenia will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY, and the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Solgenia is the global market leader in Cloud Collaboration and Cloud Infrastructure software solutions. Designed to “Bridge the Gap” between Personal and Professional Social, Mobile and Cloud user experiences, our solutions help large and medium-sized organizations dr...
SYS-CON Events announced today that Liaison Technologies, a leading provider of data management and integration cloud services and solutions, has been named "Silver Sponsor" of SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York, NY. Liaison Technologies is a recognized market leader in providing cloud-enabled data integration and data management solutions to break down complex information barriers, enabling enterprises to make smarter decisions, faster.
@ThingsExpo has been named the Top 5 Most Influential M2M Brand by Onalytica in the ‘Machine to Machine: Top 100 Influencers and Brands.' Onalytica analyzed the online debate on M2M by looking at over 85,000 tweets to provide the most influential individuals and brands that drive the discussion. According to Onalytica the "analysis showed a very engaged community with a lot of interactive tweets. The M2M discussion seems to be more fragmented and driven by some of the major brands present in the M2M space. This really allows some room for influential individuals to create more high value inter...
The list of ‘new paradigm’ technologies that now surrounds us appears to be at an all time high. From cloud computing and Big Data analytics to Bring Your Own Device (BYOD) and the Internet of Things (IoT), today we have to deal with what the industry likes to call ‘paradigm shifts’ at every level of IT. This is disruption; of course, we understand that – change is almost always disruptive.
SYS-CON Events announced today that Akana, formerly SOA Software, has been named “Bronze Sponsor” of SYS-CON's 16th International Cloud Expo® New York, which will take place June 9-11, 2015, at the Javits Center in New York City, NY. Akana’s comprehensive suite of API Management, API Security, Integrated SOA Governance, and Cloud Integration solutions helps businesses accelerate digital transformation by securely extending their reach across multiple channels – mobile, cloud and Internet of Things. Akana enables enterprises to share data as APIs, connect and integrate applications, drive part...