|
The technological viewpoint will be sparse for J4ONet,
because much of the data in this viewpoint is deployment-centric.
J4ONet is a framework for implementing a distributed JMX
solution, thus deployment is not determined in this phase of
development. However, the shape and design of J4ONet make certain
directions more obvious or likely than others.
Java: This
project started as an itch to scratch, so many of the
implementation decisions were made with a specific goal of
managing a J2EE network application. So it was only natural to
also build the management component in Java as well. Java does
offer some advatages. It already has a management framework built
into the language, it is platform independent (or nearly), and it
is native to the network.
Java does has some traditional
or some assumed disadvantages. Java is often thought to be slower
than languages like C/C++. Most of this slow-down is a result of
the load time for the Java Virtual Machine. On server side
applications, where the application is rarely re-started, this is
less of an issue. Java also does not allow you to access the
lower level calls of an operating systems. Many of these issues
can be over come by using JNI or accessing a specialized service.
JMX is a wrapper based architecture, so this approach for
accessing external functions is typical of JMX managed systems.
Sun's JMX 1.1 RI: In researching a management
solution for a Java based application, I always found references
to JMX, but not a lot of work. JMX's current spec implements a
single JMX agent controlling multiple MBeans across a single JVM.
Sun has released a JMX 1.1 Reference Implementation which has
added features to allow JMX agents to communicate via RMI.
The
Sun JMX 1.1 RI handles making connections across JMX agents,
monitoring the connections, remote calls, remote events, protocol
adaptors and connectors. All of these things are needed to create
a distributed model for JMX. There are several JMX agents
available including the Tivoli agent from IMB and several from
Sourceforge. But, the SUN JMX 1.1 RI is what JBoss uses. Also,
the JCP is working on JRS
160: Java Management Extensions (JMX) 1.5 Specification which
will probably look a lot like the Sun JMX 1.1 RI. So instead of
reinventing the wheel, and in interest of staying close to up and
coming specifications, this project will use the Sun JMX 1.1 RI.
(UDP/TCP)/IP: The Sun JMX 1.1 RI uses RMI as
the basis for communication, which is an TCP/IP based protocol.
Java network support is mostly IP based. Network extensions made
by J4ONet will continue in this direction.
|