Web Services Management: A Standards-Based Common Architecture Part 2
As enterprises rush to deploy Web services-based solutions, problems in managing the services are becoming a challenge to their success. In a service-oriented world, service level assurances are the need of the hour—implying services need to be "managed" well. It is important to understand what Web services manageability means to a business, an administrator, and an end user. Equally important is to design an infrastructure that can work across existing platforms and can interoperate with existing standards.
In the first article of this two-part series, we discussed the expectations from a Web services management platform and the standards relevant to Web services management. Based on this analysis, let us propose a common architecture for Web services management.
Web Services Management Architecture
In the light of the features, requirements, and standards identified, the following architecture is proposed for Web services management. Subsequent to the diagram is a discussion on the architecture, including an explanation of the roles of various architecture components.
Figure 1: Common Architecture for a Web Services Management Infrastructure
The architecture proposed is based on:
- The requirements elaborated in the section titled "Functionality expected from Web Services Management Infrastructure."
- The standards recommended in the section titled "Industry Standards."
The following components and their interactions are shown in the architecture diagram above.
- Web services clients: These are common Web services client applications that access Web services, typically using a SOAP protocol over HTTP. The users of Web services would have agreed upon some QoS for accessing these services from the Web services providers.
- Operating system: The operating system on which the Web services platform is deployed. This has some management information relevant to Web services management, which it gives out in CIM/XML format. Some operating systems, such as WindowsTM NT and HP-UXTM, already support some aspects of WBEM (CIM/XML/HTTP) for OS management.
- Web services platform: The platform, which hosts the Web services, makes them accessible to the Web services clients and controls their life cycle. This is instrumented to send and receive management information relevant to the functionalities it supports. The format for this data could be CIM/XML, JMX, SNMP, or any other proprietary format.
- Web services: The services that provide some concrete business functionality to the Web services clients. These are deployed on and run within the Web services platform environment. They use the platform hooks to instrument themselves, thus enabling the sending and receiving of management data at runtime. The data, again, could be in CIM/XML, JMX, SNMP, or any other proprietary format.
- Management data adapters: These adapters are used in conjunction with Web service platforms. Their purpose is to convert the management information emitted by the platform and the Web services deployed on them from any format to CIM/XML standards and vice versa. Because these adapters work with platform-specific data formats (whether it is JMX, SNMP, or any other), they are expected to be developed by the platform vendors. The exact CIM/XML bindings for each piece of information have to be defined by a standards body, and these can be used by the adapter developers, as also the management server developers. The standard CIM/XML data is then communicated to and from the Web services management servers.
- Web services management servers: These servers mediate, process, and persist the Web services management data, ultimately providing the monitoring and control functionalities to the Web services. They receive management data from the Web services platforms (possibly via adapters) to process, store, and/or send it for display. They also receive control information from the management consoles and send appropriate management data to the Web services platform to manipulate the platform or the services deployed on it. The data to be displayed on consoles can be generated by applying stylesheets over the CIM/XML management data coming from the Web services platform.
A management server may also include an implementation of CIMOM (CIM Object Manager) for Web services. A CIMOM is a central dispatching and facilitating process, which intermediates between management applications or consoles, a data repository, and individual data sources. CIMOM is also part of the CIM specification.
- Web services management database: This is an optional data store for management information used by the Web services management servers.
- Notification engine: A notification engine is necessary for propagating management events from the management servers to the management consoles or PDAs. They are particularly useful in scenarios where events can't be pushed easily to management clients (for example, WWW browsers). A management server would push event notifications to this engine, which would then propagate them to various consoles in a console-specific way; for example, to PDAs via a device gateway. Event correlation can also be built into this engine.
- Web services management consoles: The Web services management consoles (browser/PDA-based) act as interfaces for Web services management administrators, allowing them to monitor and control the Web services platform—thus ensuring that the SLAs with the Web services end users are obeyed and QoS is guaranteed. The consoles can also be used to administer advanced Web services management functionalities as mentioned before. The consoles receive information from the Web services managements servers, possibly over the Web. Administrators can also use the consoles to issue management commands to Web services platforms (via the management servers) for configuring and manipulating the platform and the Web services deployed on it at runtime.