Programming Tutorials Browser Tutorials Articles Struts Tutorials Hibernate Tutorials

  Tutorial: Create automated and distributed management applications with Jiro technology, Part 1 - JavaWorld February

Create automated and distributed management applications with Jiro technology, Part 1 - JavaWorld February 2000

Tutorial Details:

Create automated and distributed management applications with Jiro technology
Create automated and distributed management applications with Jiro technology
By: By Mark A. Carlson
With Sun's new Jiro technology, you can develop sophisticated Java and Jini-based applications that manage distributed resources
hese days, the management of distributed resources primarily entails status monitoring. While the increasing instrumentation of these resources has allowed administrators to view their status through a common console or management framework, today's standard operating procedure is more reactive than anticipatory.
Even though events are generated for such problems as failures, performance crises, and capacity limitations, the sheer number of these events in any reasonably sized environment can make it difficult to understand the root cause of a problem. Event-correlation engines can help, but often themselves introduce more complexity. Considering all this, a new design model is needed to significantly reduce the costs and complexity of managing distributed resources.
In order to automate the management of these distributed resources, such automation software needs to execute on multiple platforms distributed across the enterprise. No single management station can scale to the required size for this automation or provide the robustness and reliability required. Thus, organizations more and more often turn to Java for management, not only for use in Web-based graphical user interfaces (GUIs), but also as the infrastructure for the management applications themselves. To achieve the required platform independence, Sun recently introduced its Jiro technology.
Using Jiro for management
Jiro implements an infrastructure for creating integrated and automated management software in a distributed, cross-platform environment. That infrastructure, a standard extension to the Java platform, is specified by the Federated Management Architecture (FMA). Jiro goes further than just platform independence, however, and introduces Jini-connection technology for distributed management across a network. Jini's leasing, for example, provides a mechanism for allowing management services to come and go in the network, and provides the software that uses these services to recover the associated connections.
Moreover, Jiro introduces a middle tier of management between the thin-client Java GUIs popular today and such Java-based agent technologies as Java Management Extensions (JMX) and the Java Dynamic Management Kit (JDMK). (For more on management issues, see Max Goff's Java management series in JavaWorld; there are links in the Resources section below). This middle tier is where the automation of management can take place, as seen in Figure 1.
Figure 1. Three-tier distributed management with the Jiro technologies
The requirements for this middle tier were determined by an analysis of distributed management and the resources that need to be monitored and controlled. Each resource, whether it is a physical device or a software service, consists of a functional part and a management part. The functional part performs the functions of that resource, such as routing packets or storing data; the management part configures and controls the resource.
There may be several resources processing the data as it moves from the application to its eventual destination -- a disk drive, for example. The functional part of these resources through which the data passes is called the data path.
The associated management, or control, parts of these resources can be thought of as a control path, separate from the data path that passes packets or stores blocks. If a resource is capable of being managed remotely, the control can be either in-band, competing for resources shared with the data path, or out-of-band, using a separate network and ports.
Separating the control path from the data path
Jiro is not intended to implement software that sits in the data path, but rather focuses instead on enabling the automation of control path operations. The resources, through their agents and administrative APIs, expose this control path. Jiro takes advantage of existing standards for such management interfaces as the Internet Engineering Task Force's SNMP protocol, and the Distributed Management Task Force Common Information Model (CIM) standard for Web-Based Enterprise Management (WBEM).
Federated Management Architecture
As noted above, Jiro is an implementation of the FMA-standard Java extension. The FMA, which became a final specification in January, specifies the extensions to Java necessary to support a middle tier of management software that automates the administration of distributed system, network, and storage resources. The specification and a reference implementation of FMA are available on the Jiro Website (see Resources ).
Partitioning the management environment
Jiro divides a management environment into domains. Each domain has only one logical shared management server (a Java Virtual Machine running the Jiro services) that represents the domain as a whole. Other, private management servers can host management services that are specific to their hosts (such as an application server or embedded device). The servers (including the shared server) can be replicated to achieve higher availability. Together, these servers form an intradomain federation for the management domain. The shared management servers can also communicate with each other in a strictly hierarchical fashion to form an interdomain federation; in this way, enterprise-scale management systems are possible. This federation of management servers and hosted services is the key to the scalability and reliability of the Jiro technology.
The management servers in the Jiro technology -- called stations -- host management services, which are network-enabled Jini services. They can easily be located through the Jini Lookup Service. Some of these services are static in nature, offering basic services that all management software needs. Most of the services, however, are dynamic, representing the management interfaces of distributed resources and higher-level management software to the network. The dynamic management services are also reusable software components that can be combined to create complete management solutions.
Static management services
Static Jiro management services -- known as FederatedBeans base services -- are a guaranteed part of the environment in a management domain. The base services include transaction, controller, logging, events, and scheduling. They are available for use by the clients and services belonging to a management domain, and do not depend on the dynamic services model. In other words, the services stand alone and are good Jini technology citizens in their own right (as defined by the Jini technology specification). There is only one of each type of service available in each management domain.
These base services are located with the ServiceFinder convenience class, as shown below:
public final class ServiceFinder
{
private ServiceFinder() {}
public static TransactionManager
getTransactionService()
throws ServiceNotFoundException;
public static ControllerService
getControllerService()
throws ServiceNotFoundException;
public static LogService
getLogService()
throws ServiceNotFoundException;
public static EventService
getEventService()
throws ServiceNotFoundException;
public static SchedulingService
getSchedulingService()
throws ServiceNotFoundException;
...
}
ServiceFinder 's methods return the Jini service proxy for each of the base services, as registered in the Jini Lookup Service. Let's look at these services in more detail:
The Transaction service is a Jini transaction manager serving a particular management domain.
The Controller service provides for the reservation of ownership within the management domain. This allows a single point of control for management and helps prevent inconsistent configurations.
Management software can use the Log service to log decisions and state changes, as well as to maintain audit trails.
The Event service provides a set of topics to which management services can post and listen. This allows management services to react to both changing conditions in the environment and decisions that other management services have made.
The Scheduling service allows a management service to perform periodic or scheduled operations, such as polling.
Dynamic management services
The FederatedBeans dynamic services model extends Java's Remote Method Invocation (RMI) to support the higher level of abstraction appropriate for management applications. The abstractions also reduce the time it takes to learn distributed programming, handling many of the mundane tasks normally associated with RMI. The added abstractions include:
The propagation of contextual information, including security and controller information
Reference fault rebinding, to allow management servers to be recovered on a host other than the one on which they were started
Additional management capabilities (security, transaction, controller) that can be added to any Jiro-based component
Transactional persistence
Remote class method (procedural) invocations
Remote object instantiation
A Proxy (class or object), created during the development process for each service, implements these abstractions. This allows a client to call methods on the Proxy in one JVM that are invoked on the referent class or object in another JVM. This Proxy is registered with the Jini Lookup Service as the Jini service Proxy for the dynamic management service. Thus, other dynamic management services can use that service from wherever they are in the domain. This is illustrated in Figure 2.
Figure 2. Usage of the smart Proxy
Distributed management software that takes advantage of this model can thus be more scalable -- that is to say, it can be distri


 

Read Tutorial at: Click here to view the tutorial

Rate Tutorial:
Create automated and distributed management applications with Jiro technology, Part 1 - JavaWorld February

View Tutorial:
Create automated and distributed management applications with Jiro technology, Part 1 - JavaWorld February

Related Tutorials:

Connect the enterprise with the JCA, Part 1
Connect the enterprise with the JCA, Part 1
 
I want my AOP!, Part 3
I want my AOP!, Part 3
 
Ilog JRules 4.0: Working by the rules
Ilog JRules 4.0: Working by the rules
 
Score big with JSR 77, the J2EE Management Specification
Score big with JSR 77, the J2EE Management Specification
 
Rumble in the jungle: J2EE versus .Net, Part 1
Rumble in the jungle: J2EE versus .Net, Part 1
 
Jabber away with instant messaging
Jabber away with instant messaging
 
Good introduction to JDO
Good introduction to JDO
 
Jini's relevance emerges, Part 1
Jini's relevance emerges, Part 1
 
Jini's relevance emerges, Part 2
Jini's relevance emerges, Part 2
 
J2SE 1.4 breathes new life into the CORBA community, Part 1
J2SE 1.4 breathes new life into the CORBA community, Part 1
 
Business process automation made easy with Java, Part 1
Business process automation made easy with Java, Part 1
 
Should you go with JMS?
Should you go with JMS?
 
Test email components in your software
Test email components in your software
 
Improve Application Management With JMX
Improve Application Management With JMX Leverage JMX technology and existing tools to boost the operations management capabilities of your business applications.
 
Using JConsole to Monitor Applications
JConsole is the Java Monitoring and Management Console, a new graphical tool shipped in J2SE JDK 5.0. This article describes how JConsole can be used to observe information about an application running on the Java platform, with an overview of the J2SE 5.
 
Develop MIDlets using the J2ME MIDP Development for NetBeans IDE 4.0
This release integrates with the J2ME Wireless Toolkit 2.2 to create a powerful environment for developing MIDP 2.0 applications.
 
Getting Started with Java Management Extensions (JMX): Developing Management and Monitoring Solutions
The Java Management Extensions (JMX) API is a standard specification developed through the Java Community Process (JCP) as JSR 3 for managing and monitoring applications and services.
 
Definition of Bioinformatics
Definition of Bioinformatics Definition of Bioinformatics About Bioinformatics In February 2001, the human genome was finally deciphered! In other words, scientists have succeeded in reading the chain of more than 3 billion base pairs that
 
Developing Distributed application using Enterprise Java Beans, J2EE Architecture, EJB Tutorial, WebLogic Tutorial.
Developing Distributed application using Enterprise Java Beans, J2EE Architecture, EJB Tutorial, WebLogic Tutorial. Distributed Architecture Two-tier application: In the past two-tier applications were used. Two-tier applications are also know as
 
Buy SuSe 9.2 Professional CDs in India from us. SuSe 9.2 Professional is available with us.
Buy SuSe 9.2 Professional CDs in India from us. SuSe 9.2 Professional is available with us. SuSe 9.2 Professional Linux Now Available SuSe 9.2 Professional CD's SuSE Linux 9.2 is secure and stable. Its installation routine is now almost fully
 
Site navigation
 

 

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2006. All rights reserved.