D API for Oracle Enterprise Manager Ops Center

Oracle Enterprise Manager Ops Center APIs allow external systems management solutions to integrate with Oracle Enterprise Manager Ops Center. The APIs are available remotely using TCP/IP through one of two secure protocols: JMXRemoting over TLS and WS-Management over https.

The Oracle Enterprise Manager Ops Center Software Developer's Kit (SDK), which is shipped with the Oracle Enterprise Manager Ops Center software, includes some examples that show how to use the public APIs.

To use the examples included in the package:

  1. Locate the SUNWxvmoc-sdk.pkg package in the dvd/<platform>/Product/components/packages/ directory on the DVD/Install Media.

  2. Install the SUNWxvmoc-sdk.pkg package.

  3. Locate the example you want. Table D-1 lists the examples in the package.

  4. Compile the example.

  5. Execute the example, using the appropriate shell script.

Table D-1 Examples Included in the SUNWxvmoc-sdk.pkg Package.

Example Description Code

Basic client example using JMX

This example demonstrates the JMX Messaging Protocol (JMXMP) connector with Java/JMX technology. This example does not require any external JARs except Java and JDMK. This example performs the following functions:

  • Configures the connection.

  • Performs security settings.

  • Opens the connection (locally or remotely).

  • Uses the connection with JMX basic requests.

  • Closes the connection.

BasicClient.java

Domain model client example using WS-MAN

This example demonstrates direct access to the read-only copy of the domain model. This example performs the following functions:

  • Configures the connection.

  • Performs security settings.

  • Opens the connection (locally or remotely).

  • Queries the domain model for all the server objects and displays the value of their model attributes.

  • Queries the domain model for all the OperatingSystems objects and displays the value of their description attributes.

  • Queries the domain model for all the ZoneController objects and displays the value of their ZoneControllerType attributes.

  • Queries the domain model for all the ISOImage objects and displays the value of their DiskImagePath attributes.

  • Queries the domain model for all the VirtServerImage objects and displays the value of their DomainFilePath attributes.

  • Closes the connection.

DomainModelClient.java

Basic client example using WS-MAN

This example performs the same functions as the basic client with JMX example. However, this example uses the WS-MAN connector with Java/JMX technology.

SimpleClient.java

Server services access example using WS-MAN

This example demonstrates the server public services. This example performs the following functions:

  • Configures the connection.

  • Performs the security settings.

  • Opens the connection (locally or remotely)

  • Creates a proxy for each xVM server service to verify everything is working.

  • Displays the attribute values.

  • Lists the service tags.

  • Lists the nodes and their names.

  • Lists the xVM servers and displays some information on each one including the list of guests.

  • Closes the connection.

ServerClient.java

ServerClientServices.java

Services access using WS-MAN

This example demonstrates specific Oracle Enterprise Manager Ops Center public services. This example performs the following functions:

  • Configures the connection.

  • Performs security settings.

  • Opens the connection (locally or remotely).

  • Creates a proxy for each specific service to verify everything is working.

  • Closes the connection.

OpsCenterClient.java

OpsCenterClientServices.java

Discovery and agent provisioning example using WS-MAN

This example demonstrates some Oracle Enterprise Manager Ops Center public services. This example performs the following functions:

  • Configures the connection.

  • Performs security settings.

  • Opens the connection (locally or remotely) with the satellite.

  • Uses the discovery service to discover one machine.

  • Registers the server asset for this machine.

  • Provisions the agent on this machine.

  • Unprovisions the agent on this machine.

  • Deletes both the server and operating system asset created for this machine.

  • Closes the connection.

OCProvisionClient.java

Utils.java

Server example using WS-MAN

This example demonstrates some Oracle Enterprise Manager Ops Center public services. This example performs the following functions:

  • Configures the connection.

  • Performs some security settings.

  • Opens the connection (locally or remotely) with the satellite.

  • Unattaches the xVM server if it is already attached.

  • Deletes the asset associated with the xVM server.

  • Uses the discovery service to discover one xVM server.

  • Attaches the xVM server to the Oracle Enterprise Manager Ops Center.

  • Closes the connection.

OCXVMServer.java

Utils.java


D.1 List of Public APIs

Table D-2 provides a brief description of the public APIs. For a complete list of packages, its classes, interfaces, and methods, refer to the Javadoc that is included in the SDK.

Table D-2 List of Public APIs

Package Description

com.oracle.sysman.services.bios

Provides BIOS configuration services.

com.oracle.sysman.services.bootenvironment

Provides parameters for ABE related operations.

com.oracle.sysman.services.cloudmgmt

Provides virtual datacenter (vDC) administration and vDC management services.

com.oracle.sysman.services.common

Provides common constants and utility classes.

com.oracle.sysman.services.discovery

Provides services to perform discovery and manage discovery profiles.

com.oracle.sysman.services.dmmaintenance

Provides the service for Domain Model maintenance

com.oracle.sysman.services.exadatacell

Provides the service interface for exadata cell management.

com.oracle.sysman.services.network

Provides network domain services.

com.oracle.sysman.services.ocdoctor

Provides services for OCDoctor functionality in Ops Center.

com.oracle.sysman.services.ops

Provides Oracle pre-engineered system management services.

com.oracle.sysman.services.osanalytics

Provides services for operating systems and virtual server container analytics.

com.oracle.sysman.services.ovm

Provides services to perform operations on OVM deployments through the OVM manager.

com.oracle.sysman.services.rack

Provides rack management services.

com.oracle.sysman.services.reset

Provides the reset service interface to handle resetting and refreshing the service processor.

com.sun.xvm.services.agentprov

Provides service for managing the provisioning of agents. This package provides services for the installation, configuration, and removal of agent software to remote operating systems.

com.sun.xvm.services.agentupgrade

Provides the service interface for agent upgrades.

com.sun.xvm.services.alarm

Provides services for alarm management.

com.sun.xvm.services.authorization

Provides the operations for authorization management.

com.sun.xvm.services.bootenvironment

Provides the interface for boot environment service.

com.sun.xvm.services.cachemanager

Provides the service interface for managing the cached view of the domain model.

com.sun.xvm.services.cluster

Provides the service interface for cluster management. This service is responsible for viewing and managing Solaris cluster instances and their nodes.

com.sun.xvm.services.common

Provides the service interfaces that are common to different public API services.

com.sun.xvm.services.componentmgmt

Provides the service interface for hardware components management.

com.sun.xvm.services.datamodel

Provides the service for accessing low-level data models.

com.sun.xvm.services.deleteasset

Provides the service interface to delete assets such as servers, operating systems, service tags, and chassis. The virtualization assets such as hosts, guests, virtual image libraries, and networks can be removed by calling the appropriate methods on their respective services.

com.sun.xvm.services.discovery

Provides services to discover assets. The interface for discovery service provides capability to initiate a discovery operation for a set of IP addresses.

com.sun.xvm.services.event

Provides the interface for event service. The interface for event service allows the client to subscribe to notifications emitted from the domain model.

com.sun.xvm.services.fabricmgmt

Provides service interfaces for fabric management.

com.sun.xvm.services.fwdeployment

Provides services for firmware deployment management. This package manages deployments of firmware updates to servers and chassis.

com.sun.xvm.services.gear

Provides service tag and general gear management interfaces.

com.sun.xvm.services.grouping

Provides asset group management services.

com.sun.xvm.services.guest

Provides service interfaces for guest management.

com.sun.xvm.services.guest.provision

Provides service interfaces for guest provisioning.

com.sun.xvm.services.jobmanager

Provides job management services for performing job actions, controlling job status, and retrieving information on job actions and job history.

com.sun.xvm.services.migration

Provides the service interface for migration service. This package provides the service for live, warm and cold migration of guest domains.

com.sun.xvm.services.mos

Provides the My Oracle Support services.

com.sun.xvm.services.network

Provides the network management services. This package provides services for managing networks for guests.

com.sun.xvm.services.notification

Provides notifications management services.

com.sun.xvm.services.oemgc

Provides the service interface for Oracle Enterprise Manager Cloud Control repository integration.

com.sun.xvm.services.operation

Provides services for operation profile functionality.

com.sun.xvm.services.opscenter

Provides the service interface for XMV Update Job Manager.

com.sun.xvm.services.osconfig

Provides classes for OS Configuration profiles management.

com.sun.xvm.services.osdeployment

Provides services and types to manage deployment of operating systems to servers. This package provides services to access aggregated and detailed information on installed operating systems, monitor OS activity, and provision OS. This package is available only in Enterprise Controllers.

com.sun.xvm.services.osmonitoring

Provides the parameters for OS monitoring profile value object creation.

com.sun.xvm.services.pam

Provides access to services based on the pluggable authentication modules

com.sun.xvm.services.pis

Provides the product and asset information service and types interfaces, used to classify assets according to their product name and hierarchy.

com.sun.xvm.services.productupdate

Provides the service interface to download update catalog files and bundles.

com.sun.xvm.services.profile

Provides the profile services to create, delete, and update profiles.

com.sun.xvm.services.provisioning

Provides services for managing server provisioning.

com.sun.xvm.services.proxyprov

Provides services for the installation of proxy software on a set of systems.

com.sun.xvm.services.proxyservice

Provides service for managing the provisioning of Proxy Controllers.

com.sun.xvm.services.report

Provides services and types for retrieving reports on utilization trend.

com.sun.xvm.services.reportsmanager

Provides services interfaces for the report manager.

com.sun.xvm.services.storagemgmt

Provides service interfaces for storage server management.

com.sun.xvm.services.svrmgmt

Provides service interfaces for server management.

com.sun.xvm.services.switchmgmt

Provides the physical and virtual switch management service interface.

com.sun.xvm.services.topology

Provides the topology service and types interfaces to get topology information of the managed resources. This package provides a tree-based navigation view of the Ops Center assets.

com.sun.xvm.services.user

Provides the services to manage user preferences.

com.sun.xvm.services.virtimagelib

Provides the services for virtual images library and virtual image management.

com.sun.xvm.services.virtpool

Provides the service for managing the life cycle of virtual pools sharing the same libraries or networks, and have the same processor architecture, integrating virtual pools with storage, networks, and virtualization hosts.

com.sun.xvm.services.virtservercontainer

Provides the service interface for managing virtualized server containers.

com.sun.xvm.services.win

Provides filters supported for Windows services.

com.sun.xvm.services.winpm

Provides service interfaces for Windows compliance reports and Windows software updates deployment.

com.sun.xvm.services.wme

Provides the service interface for Windows management extension administration.

com.sun.xvm.services.xvmserver

Provides the XVM server management service for managing the system level aspects of the XVM server.


D.2 Public API Access

D.2.1 JMX

Java Management Extensions (JMX) technology provides the tools for building distributed, modular, and dynamic solutions for managing and monitoring devices, applications, and networks. The JMX API defines the notion of MBeans, or manageable objects, which expose attributes and operations in a way that allows remote management applications to access them. An important new feature of the JMX API in the Java Platform, Standard Edition 7 (Java SE 7) is its ability to create MXBeans, a substantial improvement over Standard MBeans. For more information on JMX, see the Java Management Extensions (JMX) Technology website at http://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html.

D.2.2 WS-Management

Web Services for Management (WS-MAN) is a specification for managing servers, devices, and applications using web services standards, providing a common way for systems to access and exchange management information across the entire IT infrastructure. It is commonly used in the Windows management stacks, and is supported by Microsoft management tools, including the winrm command-line interface and COM objects that can be used from Visual Basic or from C#.

D.2.3 Public API Access Through JMX Clients

The simplest and preferred way of interacting with the public APIs is using a Java client. This Java client communicates with the public APIs using a secure remote JMX client. By using a remote JMX client, it is possible to directly interact with the Service MXBeans in Java using the strongly-typed Java MXBeans interface class library. The JMX MXBean interfaces are documented in the javadoc that is included in the SDK. The following remote JMX management protocols are supported: JMXMP and WS-MAN.

D.2.4 Public API Access Through WS-Management

The public API MXBeans are exposed over WS-Management through JSR-262. This specification defines a way to use Web Services to access JMX instrumentation remotely. Clients are not required to be Java applications. This permits a generic WS-Management client to interact with the public APIs. The WS-Management mappings for each service tier API is documented in the Javadoc that is included in the SDK.

D.3 Virtualization Management Stack

The virtualization management stack is a three-tier management paradigm. The stack consists of presentation tier, service tier, and an underlying domain model.

D.3.1 Presentation Tier

The presentation tier provides the user interface, displays the information provided by the service tier, and takes actions through the service tier.

D.3.2 Service Tier

The service tier contains all the core management logic. This tier exposes the management functionality through a set of public APIs that are used by the presentation tier and external systems management solutions. These public APIs are the ideal integration points for third-party software to control or to monitor the Enterprise Manager Ops Center software.

The service tier exposes its management APIs as a series of Java Management Extensions (JMX) MXBean interfaces. These interfaces are made accessible as public APIs through several remote protocols, including JMXRemoting (JSR 160) and WS-Management (JSR 262).

The services are identified by MXBean ObjectName, and these are of the form:

com.sun.xvm.services:type=<service name>

The main entry point to the public APIs is the MXBean interface defined in com.sun.xvm.services.

D.3.3 Domain Model

The domain model provides the representation of underlying managed resources and associations between them. The domain model exposes a normalized data model of these managed resources as a collection of JMX MXBeans. Each managed resource has one MXBean and each association between these resources as one MXBean.