Architecture in practice, Part 1: Realizing Service-Oriented Architecture

IBM architect Tilak Mitra provides practical guidance about IBM tools you can use to build a Service-Oriented Architecture (SOA) solution. In this first installment of his column, you get an overview about the IBM SOA Foundation as well as IBM Rational, WebSphere, and Tivoli software tools and other resources you can use to make your SOA designs a reality.

Share:

Tilak Mitra (tmitra@us.ibm.com), Executive IT Architect, IBM

Tilak MitraTilak Mitra works as an executive IT architect in IBM. He specializes in Service-Oriented Architectures (SOAs), helping IBM in its business strategy and direction in SOA. He also works as an SOA subject matter expert, helping clients in their SOA-based business transformation, with a focus on complex and large-scale enterprise architectures. He lives in sunny south Florida, and while not at work, is often engrossed in the games of cricket and table tennis. Tilak was awarded his Bachelor's degree in Physics from Presidency College, Calcutta, India, and then received an Integrated Bachelor's and Master's in Electrical Engineering from Indian Institute of Science, Bangalore, India. You can blog with him, and you can also reach him at tmitra@us.ibm.com.



21 November 2006

Also available in Chinese Russian

Introduction

As a practicing executive IT architect at IBM, Tilak Mitra consults with IBM customers to help them develop and implement SOA. In the "Architecture in Practice" column, Tilak shares his experiences with you to help you translate the theory of IT architecture -- and especially SOA -- into practice. Any burning architectural issues you'd like help with? Contact Tilak tmitra@us.ibm.com and perhaps he will devote a future installment in his column to your issue.


Overview

Service-Oriented Architecture (SOA) means different things to different people. To a business executive, it provides a set of business services that her business can offer to clients and partners. To an IT architect, SOA is an architectural style and paradigm that enables the creation of modular and loosely coupled services that can be composed and choreographed together to create business processes that represent the running enterprise.

Key to a working SOA system is appropriate conceptualization and identification of the business services that will make up the system. The architect must examine many factors when determining which services to model and build. Key among these factors are these characteristics of the service, including:

  1. The service's potential for business alignment
  2. Its composability
  3. Its potential for reusability
  4. Its technical viability for realization

These are some of the essential foundational concepts on which the services in an SOA-based enterprise architecture are modeled and designed.

A service follows a strict life cycle in an SOA system. Each phase of the SOA life cycle requires design and development tools as well as middleware software products to enable the activities undertaken during that phase. This article introduces key tools and products from IBM that enables each phase in the SOA life cycle to become a reality.


The SOA life cycle

The life cycle of a service starts with the modeling of its requirements, moves through the design and development of the service, which is followed by composition and choreographing of the service. The service is then deployed on an execution run time. The various run-time middleware systems not only provide an execution environment for the service and the business processes it embodies, but it also provides a mechanism to monitor and manage the service.

The SOA foundation outlines the logical steps to implement an SOA system. IBM has carefully selected the software tools and products that help you realize the SOA foundation from the broader IBM software portfolio to support each stage of the SOA life cycle, which consists of the following four phases (often referred to as MADM):

  1. Model
  2. Assemble
  3. Deploy
  4. Manage

Governance and best practices provide the overarching discipline that oversees each of the phases in the life cycle. Figure 1 illustrates the IBM SOA Foundation.

Figure 1. The IBM SOA Foundation life cycle
IBM SOA Foundation Lifecycle

At a high level, here are the general activities that take place in each phase:

  1. Model. Requirements are gathered, end-to-end business processes are modeled, analyzed, designed, and then further optimized to form the future state business processes for the enterprise.
  2. Assemble. Services are implemented. The implemented services are then assembled; that is, they are discovered, choreographed and composed to implement the enterprise business processes that are tested to satisfy both functional and nonfunctional requirements.
  3. Deploy. The assembled business processes are deployed on the operating run-time environment.
  4. Manage. The services and the business processes that are executing on the run time are monitored and analyzed to ensure their smooth operations. IT metrics like security, performance, and availability are also measured. The services and business processes are further monitored to ensure compatibility with the business metrics and service-level agreements (SLA) that are supposed to be met.
  5. Governance and best practices. This is the overarching discipline that oversees all aspects of every phase in the MADM lifecycle. Because of its far-reaching positive impact on SOA development, governance and best practices are envisioned as the pieces of an imperative discipline to be institutionalized as part of any serious SOA implementation.

The remainder of the article focuses on specific IBM tools and products that enable each phase in the SOA life cycle. You can download trial versions of some of the products described in this article from the developerWorks trial downloads area. (See the Resources section.)


Tools and products for the SOA life cycle

This section introduces the IBM products that can be used to perform the activities in each phase of the SOA life cycle.

Model phase

  1. WebSphere® Business Modeler
  2. Rational® RequisitePro®

During the model phase, the business is modeled around the key processes that run the enterprise. First, the current business processes are modeled. This step helps to document the current state of the business and educate employees and new hires about how the business runs. The existing modeled business processes can then be simulated to identify possible bottlenecks in existing operations. Business process optimization helps to reengineer the identified bottleneck areas to make the business process more agile and higher performing, and to eliminate points of failure and service consumer complaints.

The result of this optimization is models for target business processes. In turn, these are simulated with a variety data points in order to evaluate the possible outcomes. The outcomes can be validated against the business requirements, both functional and nonfunctional. With processes being simulated, the business can predict how it will perform in various different scenarios; for example, different consumer loads during different seasons. Businesses no longer need to be caught offguard by surprises, which helps the business to move from a reactive mode of operation to one in which they can predict the outcomes of different business events. This is an essential step toward becoming an agile enterprise.


WebSphere Business Modeler

An enterprise needs a sophisticated tool to model the business processes in a manner that is not so esoteric and hard to use that it can be only be used by the IT staff. The tool should use common business vocabularies more than elaborate IT terminologies. There should be capability to add business metrics in the form of key performance indicators (KPIs), resources, cost and performance measures to the elements of the processes so that they could be measured in later phases of the SOA life cycle. WebSphere Business Modeler provides this kind of functionality. It is a robust, fully mature, stable, and easy-to-use product that can be used for business process modeling.

WebSphere Business Modeler can:

  1. Be used by business analysts.
  2. Capture business process design.
  3. Provide a visual representation of the business processes, organizational structure, resources, and performance metrics.
  4. Provide a simulation tool for process analysis and testing.
  5. Export business models to be consumed during the activities of the subsequent phases of the SOA life cycle.
  6. Generate comprehensive information about cost, time, and resource savings.
  7. Optimize business processes by looking at bottlenecks and workload imbalances before any changes are actually made to processes or services.

This is by no means a complete list of WebSphere Business Modeler features, but it represents how the tool can be used for the activities in the model phase of the SOA life cycle. Figure 2 is a snapshot of a business process model created using WebSphere Business Modeler.

Figure 2. Sample business process model in WebSphere Business Modeler
Business Process Model in WBIM

Rational RequisitePro

Requirements gathering is another important task undertaken during the model phase. Rational RequisitePro solution helps a team to author and share its requirements using familiar document-based methods while leveraging database-enabled capabilities, such as requirements traceability and impact analysis. The result is better communication and management of requirements with the increased likelihood of completing projects on time, within budget, and according to expectations.

Key features in Rational RequisitePro include:

  1. Advanced Microsoft® Word integration
  2. A robust database infrastructure
  3. Customizable, filterable requirement attributes
  4. In-depth traceability and coverage analysis
  5. Detailed change/impact analysis with audit trails and e-mail notification
  6. Create and compare project baselines
  7. Web access for distributed teams
  8. Flexible reporting options
  9. Configurable import capabilities
  10. Integration with multiple tools in the Rational Software Development Platform package
  11. User-definable requirement types
  12. Configurable project and document templates

Figure 3 provides a snapshot of requirements gathered using RequisitePro.

Figure 3. RequisitePro tool used for requirements gathering
Rational RequisitePro

Assemble phase

  1. Rational Software Architect
  2. Rational Application Developer
  3. Rational Data Architect
  4. WebSphere Integration Developer

The assemble phase can be split into these three major activities:

  1. Service design
  2. Service building
  3. Service integration

If you go back just a couple of years down software development memory lane, you'll probably recall and share my experience of doing process modeling in Visio and then realizing a gap between modeling and design. The artifacts created by Visio were not compatible with downstream tools for design and development of components and services.

WebSphere Business Modeler comes as a perfect solution. The models designed using this tool can be exported in at least three formats: Business Process Execution Language (BPEL), Unified Modeling Language (UML) 2.0, and XML Schema Definition (XSD). While BPEL is used for the choreography and composition of services, the UML 2.0-compliant outputs are used for the design and implementation of the services using technologies like Java™ 2 Platform, Enterprise Edition (J2EE). The XSD definitions of the business entities that were identified through the inputs and outputs of the process steps can be used as a perfect starting point for the logical data model as well as the information model.

The elements of the business process; that is, the activities that constitute the process, can be realized as either business services or as reusable components. In whichever way it is realized, the process needs to be designed and implemented using some technology like J2EE. The implemented service is then made available to be assembled to implement the business process, which is then executed on the run time.

Service design, specification and construction

Rational Software Architect and Rational Data Architect are used to design the services, its data elements, and messages. Rational Application Developer is used to implement the services using J2EE technologies.

Rational Software Architect

Rational Software Architect is an integrated design and development tool that leverages model-driven development with UML. The new SOA design resources in Version 6.0.1 simplify the transformation of business processes into service-oriented applications. Seamless integration between WebSphere Business Modeler and Rational Software Architect enables software architects to visualize business process models in UML 2.0 notation, eliminating the need for architects to manually import the process models. This integration also provides direct mapping between the process models and the design models. The process models in WebSphere Business Modeler can be exported in UML 2.0 format and imported into Rational Software Architect, where they become activity diagrams.

The UML 2.0 Profile for Software Services (supported with the Rational Software Architect-WebSphere Business Modeler integration) extends UML and provides a common language for describing services that enables architects to model and generate Web services. The profile can be applied to any new or existing model, and it adds new concepts and notations specific to SOA analysis and design. The profile provides capabilities for architects to map out services using logical partitions that describe the entire enterprisewide service portfolio and to develop service specifications -- both structural and behavioral that act as the contract between the service's clients and implementers. Hence, services can be designed and specified using Rational Software Architect. Figure 4 shows a UML modeling example using Rational Software Architect.

Figure 4. Service design and specification in UML 2.0 using Software Architect
Service design and specification using RSA

Rational Application Developer

As soon as the services are designed and specified, they need to be constructed and implemented. Rational Application Developer can be used during the construction and implementation of the services. This tool is a service-oriented development environment that automates many of the tasks commonly performed in the construction and consumption of Web services. Developers can focus on writing the business logic code while relying on Rational Application Developer to automate everything from the Web Service Description Language (WSDL) file and code generation to test-client generation and Web Services-Interoperability (WS-I) conformance verification.

You can also use Rational Application Developer to create, build, consume, test, deploy, and publish Web services -- either from scratch or by enabling existing applications for WS-I compliance. Rational Application Developer simplifies the process of creating Web services in a top-down approach based on requirements specifications and UML models. It even creates skeleton Enterprise JavaBeans (EJBs), which can be used to implement the Web services. Rational Application Developer also assists in Web service creation while using the bottom-up approach from existing Java classes or EJBs by providing a wizard that automatically generates WSDL definitions from existing Java classes and EJBs. Rational Application Developer also has J2EE Connector Architecture tools that enable you to easily integrate existing Enterprise Information Systems (EIS), such as IBM CICS® or IBM IMS™, into your SOA solution. Using these tools, developers can quickly create a Web service from an existing EIS transaction.

Rational Data Architect

Rational Data Architect is an enterprise data modeling and integration design tool designed to help data architects design relational and federated databases, understand data assets and their relationships, and streamline database projects. Rational Data Architect uses the XSD export from WebSphere Business Modeler to model the relational database (RDB) schemas. The RDB schemas assist in creating the RDB data mapping. The data modeling that is performed in Rational Data Architect can subsequently be exported as UML also.

Rational Data Architect is used to create the logical data model and data mapping, which can be exported from Rational Data Architect and imported into Rational Software Architect in UML format. This augments the business process models that are exported out of WebSphere Business Modeler and imported into Rational Software Architect in UML 2.0 format. Rational Software Architect is then used to design and specify the services using the RSA plug-in called UML 2.0 Profile for Software Services. The designed and specified services are then constructed in Rational Application Developer using J2EE technology.

Service composition and choreography

After services are implemented, they need to be used to compose and choreograph the business processes. The business process models created in WebSphere Business Modeler need to be refined and actually assembled using BPEL. The assemble phase uses the existing and newly built services to implement each activity in the business process.

WebSphere Integration Developer

IBM's WebSphere Integration Developer provides integration developers with the visual software development tools they need to specify, test, and deploy executable business processes. WebSphere Integration Developer helps assure that the processes integrate Web services, enterprise applications, human tasks, and other service components into effective SOA-based business solutions.

The business process models in WebSphere Business Modeler are exported as BPEL, which can be subsequently imported into WebSphere Integration Developer. WebSphere Integration Developer then represents the business process in WS-BPEL. Each activity in the BPEL flow is implemented in one of these two ways:

  1. As a service that is already developed (for example, preconstructed using Rational Application Developer) or as an external service (for example, services offered by business-to-business partners)
  2. As a service component using constructs and features of Service Component Architecture (SCA), which is supported by WebSphere Integration Developer, or as IBM extensions to BPEL

Figure 5 shows the business integration perspective of WebSphere Integration Developer, which is used to refine and implement the business process using service choreography.

Figure 5. Business Integration Perspective of WID
WebSphere Integration Developer Perspective

WebSphere Integration Developer also helps the team choreograph business process by wiring together atomic and composite services to implement the business processes. These processes can then be executed on a run-time environment.

Deploy phase

  1. WebSphere Application Server
  2. WebSphere Process Server

The implemented business processes are now ready to be deployed into a run time that supports the execution of dynamic business processes. The run time should provide open standards-based execution environment to allow services to readily invoke other services. The execution run time needs to support at least the following three basic features:

  1. Protocol translation between various service invocations
  2. Routing between appropriate service providers
  3. Mediation to provide features like security, auditing, logging, and so on

The implementation artifacts (for example, J2EE components, classes, EJBs) that realize the services also need a robust, scalable, high-performing application server to assure expected levels of service and quality.

WebSphere Application Server

WebSphere Application Server serves two roles within the SOA foundation. It is the secure, scalable, high-performing, and resilient hosting environment for basic SOA business services -- primarily those implemented using EJBs. These services can be exposed with WSDL and integrated through standard Web service protocols and encodings. They can also be integrated in a more tightly coupled fashion through Remote Method Invocation/Inter-ORB Protocol (RMI/IIOP) bindings. WebSphere Application Server also serves as the underlying execution platform for WebSphere Portal, WebSphere Process Server, WebSphere Enterprise Service Bus, and a variety of other offerings within the IBM portfolio. The constructed services and the J2EE components that are built to realize the services can be run on WebSphere Application Server, (including Version 6.1, which is the latest version).

WebSphere Process Server

Although WebSphere Application Server provides the application server run time to run the services, it does not provide the middleware capabilities to run dynamic business processes. It also does not handle service invocations, protocol translations, mediations, and request routing. WebSphere Process Server, Version 6.0.1 executes business processes securely, consistently, and with transactional integrity. It includes support for both BPEL-based process flows, as well as business state machines. WebSphere Process Server also supports the integration of business rules in process and service selection. The process server is the first product within the IBM suite to offer direct support for the Service Component Architecture (SCA) SOA programming model. WebSphere Process Server also integrates with WebSphere Portal Server to deliver support for human tasks within a business process.

The business processes that have been assembled in WebSphere Integration Developer can be deployed on the WebSphere Process Server execution run time. WebSphere Process Server is built on standards such as BPEL, Web services, Java Message Service (JMS), XML, and many more -- ensuring maximum interoperability and flexibility for any service that is part of the SOA system. WebSphere Process Server contains WebSphere Enterprise Service Bus (ESB), which mediates disparate resources, maximizing reuse of your assets wherever they are -- irrespective of vendor, platform, or whether they are homegrown or packaged applications.

WebSphere Application Server together with WebSphere Process Server and WebSphere ESB provides for a robust, scalable, high-performing deployment environment to run mission-critical business processes and business applications. While WebSphere Application Server provides for both a J2EE runtime to run J2EE components (required to build enterprise applications) and WSDL documents (to expose the business services as Web services), WebSphere Process Server provides the run time to choreograph and compose business services and run business processes. WebSphere Process Server contains WebSphere ESB which provides the features and capabilities for an Enterprise Service Bus. Both WebSphere ESB and WebSphere Process Server run on top of WebSphere Application Server.

Manage phase

  1. WebSphere Business Monitor
  2. Tivoli® Composite Application Manager for SOA
  3. Tivoli Composite Application Manager for Response Time Tracking
  4. Tivoli Federated Identity Manager

In the deploy phase the business processes and the business applications are deployed on a proper SOA execution run-time environment suite. During the manage phase, the team needs to ensure that the applications, services, business processes, as well as the SOA infrastructure and middleware run time are running smoothly and efficiently. The SOA system constructs and artifacts must be monitored and measured against the business metrics and SLAs that they are supposed to meet. The return on investment (ROI) to the business also needs to be measured. As a result the manage phase not only manages the enterprise SOA (services, processes, and the infrastructure), but it also monitors and measures its effectiveness and efficiency.

The manage phase can be categorized into at least four main areas that are more relevant to an SOA system:

  1. Manage business processes
  2. Manage service layer
  3. Manage transaction performance
  4. Manage service security

In this article, each of these activities and the tools used to conduct the activities are treated separately. This is by no means is a complete list of all the products that you would use to conduct all activities in the SOA management phase. However, with the products described here, you can do the majority of what is called for in a typical manage phase of the SOA life cycle.

Manage Business Processes - WebSphere Business Monitor

The WebSphere Business Monitor runtime product enables the monitoring of business processes in real time, providing a visual display of business process status. WebSphere Business Monitor is integrated with WebSphere Business Modeler (used in the model phase) so that the business measures (such as cost, revenue, performance) of business processes modeled in WebSphere Business Modeler can be tracked in WebSphere Business Monitor and checked for compliance. To help manage and measure business processes, WebSphere Business Monitor capabilities:

  1. Conduct real-time monitoring of business processes and make the information accessible through tailored business dashboards that can be further personalized for different users (business stakeholder, business analyst, IT systems manager). The business dashboards provide a scorecard view of key performance indicators like cost, revenue, time and resources.
  2. Provide alerts to key users that facilitate the continuous improvement of business processes and assist in managing the enterprise by noting exceptions that can then be summoned for resolution.
  3. Provide data analysis tools to examine multiple dimensions and discover patterns in process information that can lead to more efficient processes.
  4. Enable quick response to critical conditions to improve customer satisfaction.
  5. Enable continuous monitoring and confirmation of systems to improve compliance with defect levels or other service measurements.
  6. Collect real-time data from executing processes that can be used to increase the accuracy of future process models.
  7. Feeds data back to WebSphere Business Modeler for process simulation to help optimize future process implementation.

Manage service layer: Tivoli Composite Application Manager for SOA

With the added layer of service abstraction on the layered application architecture, there needs to be a mechanism to monitor, manage, and measure the services which are the first-class constructs in an SOA. The IBM Tivoli Composite Application Manager for SOA (ITCAM for SOA) solution provides end-to-end Web services tracking to help identify and isolate problems that may surface during the invocation and execution of services.

ITCAM for SOA is designed to deliver a comprehensive management solution for enterprises deploying SOA applications based on Web services. ITCAM for SOA Version 6.0 can discover, monitor, diagnose, and control Web services implemented using SOAP/HTTP, SOAP/JMS. It helps in the identification and resolution of problems that can occur around the deployed services. It does so by drilling down from the services to application components and to IT resources to identify the source of bottleneck or failure. It provides built-in alerts, notifications, and workflows that enable automation of the management of services in the run time. The service metrics and alerts are also made available as portlets that can be easily integrated into enterprise portals.

Figure 6 shows how ITCAM for SOA provides different views of the service health at run time that can be then represented in a portal environment. (The portal used here is Tivoli Enterprise Portal.)

Figure 6. ITCAM for SOA providing different service runtime information as portlets
ITCAM for SOA

Manage transaction performance: Tivoli Composite Application Manager for Response Time Tracking

IBM Tivoli Composite Application Manager for Response Time Tracking (ITCAM for RTT) provides end-to-end transaction tracking to quickly identify and isolate problems. This product provides ways of measuring response times for distributed transactions through synthetic as well as real end-user measurement techniques. ITCAM for RTT allows the traversal of the path of a user transaction across the business infrastructure by drilling down into each step that the transaction takes as it travels across multiple systems. At each step it also measures how each component of a transaction contributes to the overall response time. Just like ITCAM for SOA, ITCAM for RTT provides transaction reports in a form that can be viewed as portlets in an enterprise portal.

Manage service security: Tivoli Federated Identity Manager

For today's organizations, "working better" means "working together" and this raises new challenges to IT security. SOA has made it possible for enterprises to take part in an ecosystem in which a business can be both a service provider as well as a service consumer, thus enabling a SOA-oriented value network. The participation in the ecosystem breaks down the traditional boundaries of enterprise applications. A business transaction can invoke a sequence of services, each of which may be provided by different organizations. A transaction that transcends the traditional enterprise boundaries brings in more challenges in the form of security for the choreographed services.

Security has become more important in the face of the many compliance measures that have been mandated by industry and consumer groups, the government, and enterprises themselves. A robust federated security identity and management system is imperative to the success of an SOA, especially in situations where enterprise boundaries are being expanded to more of a value-network based boundary system.

IBM Tivoli Federated Identity Manager (ITFIM) supports the centralized management of identities and provides users with simplified access to information and services in a trusted fashion. ITFIM provides policy-based integrated security management for federated Web services. The sharing of trusted identifies and policies simplifies the navigation of users between federated sites that take part in an SOA ecosystem. ITFIM supports open standards and specifications including Liberty, SAML, WS-Federation, WS-Security and WS-Trust, which simplified the integration of partner services.

Governance and best practices: WebSphere Service Registry and Repository

SOA governance is built on top of a decision rights and a management framework that provides prescriptive guidance and best practices to institute effective governance over the activities in each phase of a SOA life cycle. Looking at a service life cycle more closely than we have yet done in this article, it covers the following specific areas:

  1. Service identification
  2. Service definitions
  3. Service deployment
  4. Service migration
  5. Service versioning
  6. Service ownership
  7. Service monitoring
  8. Service testing
  9. Service security
  10. Service policies

The activities in each of these areas need to be carefully governed by a framework that institutes a disciplined process-based approach toward an enterprise's SOA transformation. Just as software tools can't be used to run a government, many of the aspects of SOA governance cannot be supported by products from IBM or any other vendor. However, there are certain aspects of governance and the following of best practices that stand to benefit from automation through support from specific products.

WebSphere Service Registry and Repository is one such product. You use it to store metadata about storing, accessing and managing information related to services. It stores information about services within the organization or external systems that are already used, planned to be used, or planned to be made aware to service consumers. WebSphere Service Registry and Repository enables the governance of a service throughout its life cycle. It ensures the interoperability between services with a registry and repository that is built on open standards that enables the integration of and information sharing of WebSphere Service Registry and Repository provisioned services with other standard registries and repositories.

SOA governance is not only about service metadata provisioning. As mentioned earlier, it is about governing all aspects of the service life cycle and bringing people, processes, and technology together to work coherently. As such, products that enable other aspects of the service life cycle also help streamline governance of services through the integration of the three pillars of an enterprise - its people, processes, and tools and technologies. An example is the tool used for service monitoring and management: WebSphere Business Monitor and ITCAM for SOA. IBM's Tivoli and Rational brands offer an entire catalog of tools and products that assist in the governance during the service design and development phases.


Weaving it all together

Figure 7 provides a visual overview of the tools that help realize the phases in the SOA life cycle.

Figure 7. How products map to the SOA life cycle phases
IBM products mapping to SOA lifecycle

Here's how work on an SOA service flows through the tools and the life cycle:

  1. Requirements are gathered and stored using Rational RequisitePro.
  2. The business processes are modeled using WebSphere Business Modeler.
  3. The outputs from modeler are used as input into Rational Software Architect for service design and specification.
  4. The outputs are also used in WebSphere Business Monitor for identifying the business metrics that needs to be measured and monitored at run time.
  5. The services that are designed and specified using Rational Software Architect are then implemented in Rational Application Developer.
  6. The outputs from modeler are also used to represent the business process as a BPEL in WebSphere Integration Developer.
  7. The developed and exposed services are then used during the implementation of the business processes in WebSphere Integration Developer.
  8. The implemented services and J2EE component building blocks are deployed on WebSphere Application Server.
  9. The business processes choreographed in WebSphere Integration Developer are deployed on WebSphere Process Server. The process server uses the WebSphere ESB for mediation and service routing.
  10. The running business processes are managed and monitored using WebSphere Business Modeler.
  11. The services themselves are managed and monitored using ITCAM for SOA.
  12. The security of the services is managed by Tivoli Federated Identity Manager.
  13. The distributed end-to-end transactions are tracked through the IT stack using ITCAM for Response Time Tracking.

Steps 1 and 2 are in the manage phase. Steps 3 through 7 are in the assemble phase. Steps 8 and 9 are in the deploy phase, and the steps 10 to 13 are part of the manage phase.

The real-time data collected from WebSphere Business Monitor are then used to simulate and optimize the processes back in WebSphere Business Modeler, beginning the entire process again with a new model phase. Enhancements to the service are modeled and simulated, the outputs from the new model phase are fed into another assemble phase, and the optimized service is again deployed and managed. The optimization is aided by the opportunities in improvement that stem out from the bottlenecks that are discovered during process monitoring.


Summary

In this article you learned about key tools and products from the broad suite of IBM cross-brand portfolio to enable the successful execution of your own SOA system. You also learned more about SOA, an architectural paradigm that provides principles, best practices, and guidelines about how to effectively identify repeatable business tasks as services. The services are designed, implemented, and choreographed to enable a business to take a process-centric approach for business transformation.

One of the essential tenets of IBM's SOA Foundation is the four-phased life cycle that can be represented through the MADM (model, assemble, deploy, and manage) honeycomb view. All the phases in MADM are governed by an overarching governance and best practices discipline that provides a framework to carefully oversee the activities in each of the phases.

Each phase contains quite a daunting set of activities that needs to be performed in order for your SOA system to be successful. The proper choice and recommendation of tools and products provided with the IBM SOA Foundation is essential to the success of realizing the activities in each phase and for the overall success of the SOA.

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into SOA and web services on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and web services, Rational, Tivoli, WebSphere
ArticleID=175597
ArticleTitle=Architecture in practice, Part 1: Realizing Service-Oriented Architecture
publish-date=11212006