You can extend Enterprise Manager to support the management of new domains through the introduction of discovery, monitoring, and automation. While the Enterprise Manager framework provides a powerful set of features related to these management capabilities, most plug-in developers want to expose management capabilities in a way that is appropriate to their domain. The Metadata Plug-in Custom User Interface (MPCUI) features of Enterprise Manager provide you with this capability.
This chapter contains the following sections:
The MPCUI framework supports controlled access to Enterprise Manager services through supported APIs. These APIs enable you to add user interfaces safely to Enterprise Manager as part of your plug-in, independent of the upgrade of Enterprise Manager to support other capabilities.
MPCUI provides a progressive set of options for building UIs depending on your requirements. MPCUI provides templates and reusable components that enables you to build custom UIs with a minimal amount of effort, both in terms of learning the framework for developing the UI and for certifying it. If you require more control over your UI, MPCUI provides the building blocks for constructing a customized management user experience, while providing the flexibility to construct that UI in a way most appropriate to the domain.
Note:It is not necessary to include MPCUI as part of your plug-in. If you create a plug-in and do not provide custom UIs, your target still appears in Cloud Control and the default UI is shown.
MPCUI implementations are included with the plug-in as part of the Management Service section of the plug-in (for example, under the oms/metadata directory). MPCUI includes two choices for implementing the user interface:
The metadata-only approach provides the ability to describe the user interface entirely in XML and includes many of the capabilities provided by the MPCUI, including multiple page support, dialog definition, charts, tables, and so on. If you want to provide a customized user experience based primarily on the display of management data (monitoring or configuration data), then the metadata only choice is sufficient.
The Flex implementation option provides additional capabilities for providing a customized UI on top of administrative capabilities included in the plug-in as jobs or as Management Agent scripts. More complex user interactivity is possible with the Flex implementation providing the ultimate in flexibility.
If your requirements change over time, you can use the metadata implementation as a starting point for a Flex implementation because the tag language provided for the metadata-only implementation is a subset of the language supported in the Flex implementation.
The user interface includes the following:
Using MPCUI, you can construct a user interface that is composed of multiple pages, dialogs, and trains (wizards). Define navigation between these pages as part of the MPCUI implementation as well as navigation to other Enterprise Manager pages or external URLs.
The MPCUI framework enables you to select pages that should be registered with the Enterprise Manager menu subsystem. This permits menu items to appear in the target menu allowing you to navigate to pages defined in the MPCUI implementation.
The MPCUI framework provides a simple means of laying out components on pages defined in the UI using a grid style layout. The framework includes a region component that provides a content container within the page and supports the expansion and collapse of that content. Figure 8-1 shows a region that contains summary information.
The MPCUI framework provides a number of reusable regions packaged with the plug-in development kit. This enables you to include content commonly shown in target home pages, such as event information or job summary information.
Figure 8-2 shows the issues region provided with the MPCUI framework:
You can add the region to a page built in the user interface using a single entry in the page definition:
<events:IncidentRegion height="33%" width="100%" />
MPCUI provides support for including charts and tables in the user interface and simplifies the ability of selecting data to be shown in those components by specifying the metrics to be shown or the results of SQL statement execution. Supported chart types include pie, bar, line, and area charts.
In all cases, the MPCUI framework styles the components so that they appear with the same look and feel of all other Cloud Control user interfaces, ensuring that your customized UI appears as a fully integrated part of the Enterprise Manager Cloud Control product.
MPCUI utilizes the Adobe Flex UI framework to allow the construction of an application (SWF) that runs within an Enterprise Manager page (chrome). It provides you with an experience integrated with the rest of the Enterprise Manager UI, while maintaining separation between your UI and code and the rest of Enterprise Manager.
While the framework is based on Adobe Flex and web services, the main goal of the framework is to simplify the process for building management UIs. To do this, the framework removes the underlying technologies as much as possible. It provides packaged components and services that can be combined to produce a management UI appropriate to your domain without requiring you to become an Adobe Flex, web services, or UI framework expert.
The MPCUI framework exposes a series of web services that you use to retrieve monitoring data (including target associations, properties, metrics, and configuration data) and automation services to perform synchronous tasks and asynchronous jobs.
The UI that you construct is packaged with the plug-in and deployed to Enterprise Manager along with other integration objects such as metric definitions, job definitions, and discovery and monitoring scripts.
The MPCUI objects in the plug-in are stored in the Management Repository. At run time, they are retrieved by Enterprise Manager framework code which renders a wrapper page including the Enterprise Manager chrome. The MPCUI runs within the Adobe FlashPlayer plug-in in the end-user's browser. This provides a sand-boxed environment that protects the rest of Enterprise Manager from any problems relating to the custom UI of a single plug-in.
The management UI has access to Enterprise Manager services, such as repository data, job subsystem, Agent services, and so on through the MPCUI services layer. The MPCUI services layer is composed of web services provided with the Enterprise Manager framework.
MPCUI includes a number of UI components that you can use to build a management UI including pages, trains, regions, charts, tables, and packaged components. Many of these components also leverage Enterprise Manager services to provide simplified access to and display of management information.
For example, the chart and table components enable you to specify metrics or packaged SQL queries within the component tags, providing a simple means of including monitoring data in the UI.
The MPCUI framework includes a number of different component layers of which you can take advantage. The framework includes the support for ensuring that the style of the management UI is consistent with Enterprise Manager style guidelines without requiring any additional effort.
To simplify the structure of an MPCUI-based application and make it fit more naturally into the Enterprise Manager framework, MPCUI includes the notion of a page. The management UI can include one or more pages to navigate to and from using constructs provided by the MPCUI framework. You can also integrate the page or pages into the Enterprise Manager menu system.
Construct the management UI specific to your domain using the appropriate UI elements included in the MPCUI framework and access Enterprise Manager services through the MPCUI services client library.
When constructing the user interface using MPCUI, you have access to a number of services supplied with the framework, enabling you to access Enterprise Manager data and perform operations. These services include:
Supports the retrieval of target instance properties, including version, category, and other dynamic instance properties
Supports the retrieval of targets associated with the current target, related hosts, members, and so on
Supports the retrieval of metric data including current (real-time) values from the Management Agent or historical data stored in the Management Repository
Supports the processing of SQL statements packaged with the plug-in and the retrieval of the results of those statements
Supports the scheduling of jobs or the immediate processing of remote operations (Management Agent scripts) to perform administrative capabilities
The Extensibility Development Kit (EDK) includes the elements necessary to develop MPCUI including the libraries and scripts to build the MPCUI. However, if you choose to implement your MPCUI using the Flex implementation option, you must obtain either the Adobe Flex software development kit (SDK) or a licensed copy of Adobe Flex Builder to compile your custom UI source and produce the Flex binary (SWF file) that will ship with your plug-in. Oracle does not provide the Adobe Flex SDK or Adobe Flash Builder as part of the EDK.