Skip to main content

Work with Web services in enterprise-wide SOAs, Part 16: Develop Repository Web services for Service Integration Maturity Model using Rational Functional Tester Plus and Rational Performance Tester

Supplement the model with changing process activities

Judith Myerson (jmyerson@bellatlantic.net), Systems Architect and Engineer,
Judith M. Myerson is a systems architect and engineer. Her areas of interest include middleware technologies, enterprise-wide systems, database technologies, application development, network management, security, RFID technologies, and project management.

Summary:  In this installment of the series about working with Web services in enterprise-wide Service-Oriented Architecture (SOA) environments, you'll learn about developing Web services for changing process activities and explore how to develop these Web services to supplement the IBM® Service Integration Maturity Model (SIMM). You'll see examples of how you can use IBM Rational® Function Tester Plus and IBM Rational Performance Tester as part of the automatic testing efforts in the development process.

View more content in this series

Date:  29 Mar 2007
Level:  Intermediate
Activity:  1474 views

Introduction

Of all Capability Maturity Models (CMMs), the IBM SIMM is considered the most flexible, including flexibility in its representation of the level of service integration in each stage. Because of this, as well as organizational changes and its ability to adapt to changes in service integration process activities as a result of new technologies, developers should build Web services as a supplement to the SIMM.

You should first start with a hierarchy or workflow of the process activities you want to put in the repositories. Then put together or reuse desired process activities from these repositories to build Web services. Next, you should test the resulting Web services SIMM applications. When the tests show a success, put Web services in a repository (known as Repository Web services) for reuse later on as process activities change.

SIMM recap

The SIMM is grouped into seven maturity stages or levels. Each maturity stage indicates the level of flexibility and decoupling of service integration with a brief explanation. As each stage goes to the next level up, it indicates the higher level of service integration. The process continues until the model reaches ecosystem integration as its top level.

Level 1: Silo
In this data integration level, the organization starts from propriety and ad hoc integration, rendering the architecture brittle in the face of change.

Level 2: Integrate
In this application integration level, the organization moves toward some form of Enterprise Application Integration (EAI). The approaches it uses are tailored to use legacy systems.

Level 3: Componentized
This functional integration level allows the organization to componentize and modularize major or critical parts of its application portfolio. It refactors legacy Java™ 2 Platform, Enterprise Edition (J2EE)- or Microsoft® .NET-based systems with clear component boundaries and scope, exposing functionality in a more modular fashion.

Level 4: Simple services
At this process integration level, the organization embarks on the early phases of SOA by defining and exposing services for consumption internally or externally for business partners. It acts as a service provider.

Level 5: Composite services
This supply-chain integration level allows the organization to extend its influence into the value chain and into the service ecosystem. Services form a contract among suppliers, consumers, and brokers who can build their own ecosystem for on demand interaction.

Level 6: Virtualized services
In this virtual infrastructure level, the organization creates a virtualized infrastructure to run applications. It achieves this level after decoupling the application, its services, components, and flows. It externalizes its monitoring, management, and events (common event infrastructure).

Level 7: Dynamically reconfigurable services
The organization, in the ecosystem integration level, now creates a virtualized infrastructure to run applications. It achieves this level after decoupling the application, its services, components, and flows. It externalizes its monitoring, management, and events (common event infrastructure).


Changes in process activities

The SIMM can't skip any stage as it moves from the lower maturity level to the higher maturity level. The model can't go backward from a higher level to the lower level, say, on process integration due to the changes in the process activities of an organization's original role as the service provider, as a result of an unlikely merger. It's also not possible for the model to send a message from a later stage (for example, composite services) to a prior stage (for example, simple services) to request an update on the role of the organization (for example, service provider) due to changes in the process activities.

To handle these changes, I propose the development of Web services as repositories of hierarchical process activities and reusable Web services. You can retrieve process activities from the repositories and combine them into custom Web service functionality while eliminating redundancy of the activities. You can use the combined functionality in a Web service SIMM to communicate with and supplement simple, composite, virtualized, and dynamically reconfigurable services of the model.

Hierarchy of process activities

At the bottom of the hierarchy is a task, the basic element of process activity. At the next level up is a group of sequenced tasks to perform single process functionality. At one level up, you group functionalities together in loose or tight coupling manner -- all within a process activity. Single process activities can then be combined to form a more complex process activity. The process continues until the top-level process activity is reached.

In a top-down fashion, you start with the top-level process activity that is grouped into three or more levels of process activities. Each of these activities is further broken down into lower-level activities, functionalities, and tasks.

In both versions, you can see how each process activity flows to another at different levels. A process activity can skip a level to get to another activity at a higher or lower level in the hierarchy.


Process activity workflow

One advantage of using hierarchy is that you can see how the workflow changes, and where tasks and functionalities, are redundant -- as well as how redundancy can be removed. Another advantage is that the process activities evolve and change, and then you can adapt the workflow in the hierarchy to incorporate the changes.

Furthermore, you can see how and where a higher-level process activity sends a feedback message to a lower-level activity, or vice versa. The flexibility of incorporating changes in process activities leads itself to process control. In other words, if performance of a process activity slides from an acceptable threshold, the flexibility allows you to find out what process activities impact performance and need improvement to bring the performance up to the threshold.

Repository and analyzers

To check the performance of a Web service SIMM, you need to develop in the following order:

  • Repository Web services
  • Web service workflow analyzer
  • Web service redundancy analyzer
  • Web service performance analyzer

To save development time, you can automate testing of Web service applications using Rational Functional Tester Plus and Rational Performance Tester for Microsoft Windows® and Linux®. Automation is important, as a decision maker may not afford the time to wait to learn the results of how the process workflow works and performs. The decision maker may make instant decisions on critical issues.

The first tester tool allows testing teams to test applications in Java and .NET, and includes IBM Rational Robot, which aims to test applications built with Oracle Forms, Microsoft Visual Basic, C/C++, Sybase PowerBuilder, and Borland Delphi. The second tester tool analyzes tests to validate the reliability of complex e-business applications and has optional extensions to Siebel and SAP applications.

Repository Web services

You need to develop a Repository Web service to store and retrieve code on process activities in repositories. You should organize the repositories around important elements in higher maturity levels. They include organization, on demand interaction (between service providers, consumers, and brokers), applications, and events.

Web service workflow analyzer

The primary aim of the Web service workflow analyzer is to advise the users or developers what tasks, functionalities, or process activities from the repositories can work together in a workflow. You can choose from alternative workflows that you can use to create a Web service performing a single function of supplementing the SIMM.

Web service redundancy analyzer

When combining process activities into a single Web service function, you need to develop a Web service redundancy analyzer. If the analyzer shows that the Web service SIMM to be created will result in redundant or duplicate services, it sends you a message about the preferred way of combining the tasks, functionalities, and process activities or reducing the redundancy. This means downsizing the code is necessary.

Web service performance analyzer

There should be a mechanism, such as a Web service performance analyzer, to suggest what combination of process activities can perform the best in consuming scarce resources. The analyzer should determine that the Web service SIMM consisting of the combined activities won't result in system overloads.


Supplementing with process activities

Consider two scenarios on supplementing the SIMM with Web services built with process activities from repositories:

Scenario 1: Simple services

Suppose an organization in the simple services stage eventually merges with another organization. The merged organization offers a different set of services to be exposed for consumption internally and externally with business partners.

You need to call scripts from a Web service repository to perform a process activity, such as automatically updating the services the merged organizations provide for exposure to consumers and brokers. Then you and a testing team test the results from the analyzers with Rational tester tools to check for workflow, redundancy, and performance.

Scenario 2: Composite services

The composite services level doesn't say anything about the impact of the merger or other forms of reorganization on the consumers, producers, and brokers in a contract. One impact example is not only the merged organization's changes in its consumption needs, but also the merged supplying organization's changes in its supply resources due to new technologies and new regulations.

What about the brokers (also known as the mediators) who broker services (travel) for many service consumers to specific providers (hotel chains)? When brokering organizations merge, how does this impact the changes in the resulting brokering services? You need to call scripts from a Web service repository to update the process activities in the contract between the producers, consumers, and brokers. Then you and a testing team test the results from the analyzers with Rational tester tools to check for workflow, redundancy, and performance.


Conclusion

Developing Web services to supplement the SIMM requires collaborative efforts from a team of developers, testers, system administrators, and potential users. It requires planning ahead to create, test, and deploy Web services when building a workflow of process activities from the repositories to eliminate redundancy and ensure the deployment won't result in system overloads.

You'll find that resolving the issues makes your job of developing Web services to supplement the model much easier. You can use IBM Rational Functional Tester Plus and IBM Rational Performance Tester to increase productivity by reducing testing time in the build/release cycle.


Resources

Learn

Get products and technologies

Discuss

About the author

Judith M. Myerson is a systems architect and engineer. Her areas of interest include middleware technologies, enterprise-wide systems, database technologies, application development, network management, security, RFID technologies, and project management.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and Web services, Rational
ArticleID=205069
ArticleTitle=Work with Web services in enterprise-wide SOAs, Part 16: Develop Repository Web services for Service Integration Maturity Model using Rational Functional Tester Plus and Rational Performance Tester
publish-date=03292007
author1-email=jmyerson@bellatlantic.net
author1-email-cc=flanders@us.ibm.com

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers