xVM Server API Technology
The xVM Server Data Model is exposed as public programming interfaces via WS-MAN using the Java's JSR 262 WS-MAN connector. This requires that all the elements of the data model be exposed as Java MXBeans.
Java client access to public APIs
JSR 262 provides a JMX remoting connector implementation over WS-MAN. As such, it is possible to connect a JMX client to a JSR 262 WS-MAN connector, and to then use JMX APIs to access the underlying managed objects.
Web-service access to public service APIs
JSR 262 exposes access to the public APIs directly over WS-MAN, allowing direct web-service access to the public APIs from any WS-MAN client. Windows Vista / Server 2003 supports a WS-MAN client called winrm (standing for windows remote management). The SDK examples are focused on using winrm as a ws-man client to the public APIs.
Client API
The client API is delivered as a package for Solaris (SUNWxvm-client) or Linux (sun-xvm-client.rpm ). Each package contains a single jar with the xVM classes required by a JMX or WSMAN client, and are installed as follows:
- On Solaris at /opt/SUNWxvm/lib/xvm-client.jar
- On Linux at /opt/sun/xvm/lib/xvm-client.jar
Public Service API List
The Public APIs list will be coming soon!
Public API Javadoc
The javadoc for the service tier APIs will be available here soon!
Java Client SDK - Coming Soon!
A Java client Software Development Kit will contain:
- The javadoc of the public APIs
- Some examples to demonstrate how accessing some of our public APIs using JMX remoting or WS-MAN
The SDK will also contain examples for consuming the APIs:
- Examples for a JMX/RMI connection
- Examples for using JMX-remoting over JSR262
JMX-remoting over JSR262 access to the public APIs should be the preferred form, since the programming model is vastly simpler than direct WS-MAN web-service access.
The SDK will be delivered as native package for both Solaris and Linux platforms:
- Solaris : SUNWxvm-sdk.pkg
- Linux : sun-xvm-sdk.rpm
The packages will install at the following locations:
- /opt/SUNWxvm (or /opt/sun/xvm on Linux)
- /opt/SUNWxvm/sdk/doc/javadoc : the Javadoc of the public API
- /opt/SUNWxvm/sdk/examples : the examples
WS-MAN SDK
Click here for a white paper on JSR262 interoperability.
Click here for an example of using the WS-MAN connector with a Java client.
Using WSMAN with Java/JMX
This is the easy way to access the Public API using the WSMAN connector.
Using WSMAN with VBscript under Windows
This method's client is a VBscript running under Microsoft Windows and the server is a Solaris/Linux box.
Using WSMAN with OpenWSMAN under Ubuntu Linux
OpenWSMAN is an open source WSMAN server, written in "C", developed and contributed by Intel. On its server side, it includes a plugin facility that allows providers (e.g. CIMv2) to be deployed. More relevant to us, however, is it's client API library, which callers can use to make requests to a WSMAN server, such as xVM Server. OpenWSMAN also includes a CLI, which is much like the WINRM CLI available under Vista and XP.
We've successfully used the OpenWSMAN CLI and client library to connect to an xVM Server over SSL, and enumerate MBeans. Examples will be coming soon. |