Proficient Service Design and Testing Operations

Apply automation for creating, executing, and maintaining data management services

Software Engineer, IBM

Many organizations have a need to separate personnel roles and responsibilities within their enterprise. In keeping with these arguably universal requirements, IBM® InfoSphere® Optim™ Data Lifecycle Management software is designed to enable different groups and people to implement its tools through the different phases of creating, executing, and maintaining data management services. Two examples are database archiving and test data management. The responsibility for designing and testing data management services often falls upon database administrators (DBAs), data stewards, application experts, and compliance staff. To this end, InfoSphere Optim provides the Optim Designer user interface (UI) through which database metadata can be discovered and used to create services for extracting, converting, inserting, and loading data. Once a service has been created and tested, it is usually put into production, and the responsibilities for executing and monitoring the service using Optim Manager are transferred to the operations staff.

Managing services execution

For day-to-day operations, InfoSphere Optim provides the Optim Manager, a rich Internet application (RIA) that is capable of managing the execution of InfoSphere Optim services and the subsequent monitoring of those service execution instances (see Figure 1).   Proficient Service Design and Test Operations – figure 1 Figure 1. Managing services using Optim Manager   Executing services is the primary focus of Optim Manager, which can be used to run services by starting them in the background on the server to which they have been assigned. Once a service has been started, the Optim Manager UI is then free to perform other operations. Managing services, however, is not simply just the invocation of background services; there is much more to it than that. Before a service can actually run, it must know from where it is to be run. Optim Manager can also be used to assign a server to a service. Assigning a server to a service designates the InfoSphere Optim server in the enterprise that will execute that service. Until a server has been assigned, a service is not ready to run. Frequently, two or more services need to be run in succession, for example, to privatize—convert—production data and then provision multiple development and/or quality assurance (QA) database instances. To facilitate this approach, Optim Manager enables the DBA to create service sets, which logically group services together. Running a service set runs all the services in sequence. In situations where services need to be executed on a regular basis, these services can be scheduled using Optim Manager, helping alleviate the need for manual intervention (see Figure 2). Once a schedule has been created, Optim Manager runs the services automatically. Schedules can be created for running services once or repeatedly, and they can be created for individual services as well as service sets.   Proficient Service Design and Test Operations – figure 2 Figure 2. Monitoring services in Optim Manager   The natural extension to service execution management is monitoring service execution instances. As part of its service monitoring capabilities, Optim Manager provides for viewing service execution status as well as the detailed process report output from an executed service. Upon completion of a service execution, the process report is automatically retrieved from the server and provided for review (see Figure 3).   Proficient Service Design and Test Operations – figure 3 Figure 3. Service execution output   Much like service management, service monitoring is much more than just this bit of core functionality. From the service monitoring UI a service that has failed can be restarted when it is in a state that is capable of a restart. Service sets that have been started can be stopped by the operations staff to prevent subsequent services from executing. Service executions that are complete—whether they are successful or have failed—can be purged when the output is no longer needed.

Integrating services

Client organizations that want to integrate the InfoSphere Optim operations into existing automated or manual processes can utilize the Optim Service Interface (OSI).* It provides a set of HTTP(S) representational state transfer (REST) web services that can perform most of the functions available in Optim Manager. All the web services are documented with public XML Schema Definition (XSD) and Web Application Description Language (WADL) documents. RESTful web services can execute InfoSphere Optim services, monitor their execution, and retrieve the execution output report. As with all RESTful web services, OSI services are language neutral, and client applications may be written in most other programming languages including C, C++, Java, Ruby, Python, Perl, and so on.

Automating efficient services lifecycles

Enterprises can implement InfoSphere Optim Data Lifecycle Management to enhance developing, executing, and managing services for data management operations. The InfoSphere Optim environment empowers organizations to automate execution and delivery of services rapidly, efficiently, and cost-effectively. Please share any thoughts or questions in the comments. * For a deeper dive into the InfoSphere OSI, see the IBM developerWorks® article, “Optim Service Interface usage guide.” It includes sample code that demonstrates how to invoke the public RESTful web services.