Skip to main content

skip to main content

developerWorks  >  SOA and Web services | Sample IT projects  >

Apply asset-based development to services in an SOA, Part 1: SOA and asset development tooling, life cycle, and governance

developerWorks
Document options

Document options requiring JavaScript are not displayed


Rate this page

Help us improve this content


Level: Intermediate

Rishi S. Balaji (ribalaji@in.ibm.com), Associate IT Architect, IBM

29 Nov 2007

This two-part series focuses on asset-based development for services in a Service-Oriented Architecture (SOA). See how some of the primary IBM® products from the asset-based development and SOA development worlds come together to enable effective reuse of assets in an SOA implementation. This article explains how you can leverage SOA and asset life cycles and governance processes described in the IBM Rational® Method Composer plug-in products in parallel during an SOA implementation. Part 2 shows how to manage and govern service assets and metadata effectively as a service passes through the different stages in the SOA and asset life cycles, using IBM tooling.

Introduction

One of the key principles of SOA is to view services as reusable assets throughout the SOA life cycle. So it's important to apply formal asset development processes and guidelines to services in an SOA. This article helps IT architects, project managers, and SOA administrators understand the big picture of how some of the key IBM products work together to help in effective production, consumption, and management of services as reusable assets in an SOA.

IBM provides a wide range of tools for SOA and asset-based development. A lot of documentation is available on the individual products and technologies, but there's no single article that summarizes how these products from the asset-based development area and the SOA implementation area work together to help address the service reuse puzzle in SOA implementations. This article series attempts to address this issue in two parts.

An SOA is an architectural style for creating an enterprise IT architecture that integrates the business as a set of linked services to achieve a tighter relationship between the business and the information systems that support the business. Services in an SOA are treated as reusable assets. By maintaining a repository of reusable services, organizations can quickly build new processes as a choreographed set of existing services, or they can change existing choreographies.

Asset-based development is about developing software solutions by (re)using cohesive, documented software artifacts. It's about organizing software development in a way that leverages previous investments and influences the nature of future investments. It helps speed development and reduce cost and risk by reusing assets and artifacts to solve recurring problems.

Services are one of the key reusable assets in an SOA and, hence, the principles of asset-based development may be applied in an SOA implementation for effective production, consumption, and management of services. This article provides insights on how this can be done using IBM tooling for asset-based development and SOA implementation. Note that besides services, an SOA may have other reusable assets like business process models, reference architectures, and design patterns. However, the focus of this article is on service assets.



Back to top


IBM tools for asset-based development and SOA

IBM provides a wide range of tools for asset development and for SOA implementation. Figure 1 shows an overview of some of these key tools along with the different roles that may typically use these tools. (See a larger image of Figure 1.)


Figure 1. IBM tooling for asset-based development and SOA

The most useful asset-development products include the Asset-Based Development V3.0 and Asset Governance Plug-in V1.0 for Rational Method Composer, the IBM Rational Asset Manager, and a host of other development and testing tools from the IBM Rational Software Delivery Platform. (See the Resources section at the end of this article for more information on these products.)

The Asset-Based Development V3.0 and Asset Governance Plug-in V1.0 for Rational Method Composer provides the activities, tasks, roles, and deliverables that may be involved in performing asset-based development. This plug-in is designed to provide guidance that can be used to make sure the right business decisions are made, the investments are focused on the right projects, and the proper metrics are defined and captured with respect to asset-based development. The rest of this article refers to the asset-based development and asset governance parts of this plug-in as the Asset-Based Development Plug-in and the Asset Governance Plug-in, respectively.

Rational Asset Manager is a collaborative software development asset management solution that helps organizations create, modify, govern, find, and reuse any type of development assets, including services as part of an SOA initiative and systems development assets. Tested assets are stored in Rational Asset Manager for reuse by development teams.

Other products in the IBM family of SOA tools include:

  • IBM Rational Software Delivery Platform
  • IBM Rational Unified Process for Service-Oriented Modeling and Architecture Plug-in V2.4 for Rational Method Composer
  • IBM WebSphere® Integration Developer
  • IBM WebSphere Process Server
  • IBM WebSphere Business Modeler
  • IBM WebSphere Business Monitor
  • IBM WebSphere Business Services Fabric
  • IBM WebSphere Service Registry and Repository

Note that this list only highlights the primary products that are used in common practice for asset-based development and SOA implementation. Some of these tools may be used for other purposes as well, such as for traditional Java™ 2 Platform, Enterprise Edition (J2EE) application development or for business process modeling. (See Resources for links to related material on these products.)

You may look at the tools from a number of perspectives, including the scope and capabilities of the tool or the role using the tool. Regardless of the perspective you choose, it's important to note that the tools, even when supporting a number of roles, don't live and operate in isolation.

An SOA implementation may use the SOA products mentioned above to model, assemble, deploy, and manage services on one hand while using the processes and guidance from the Asset-Based Development and Asset Governance Plug-in for Rational Method Composer to ensure that the services in the SOA are indeed reusable as assets on the other.



Back to top


The SOA and asset life cycles

Figure 2 shows the SOA and the asset life cycles as described in the IBM SOA Foundation white paper and in the Asset-Based Development Plug-in, respectively (see Resources for links to these items). The figure implies that while an SOA implementation passes through the model, assemble, deploy, and manage stages, reusable assets may be produced, consumed, and managed during each of these different stages.


Figure 2. Mapping between SOA life cycle and SOA governance to asset life cycle and asset governance

During the model phase, you can reuse business process models in WebSphere Business Modeler to model new processes or to analyze existing process models. The RUP® for Service-Oriented Modeling and Architecture Plug-in for Rational Method Composer (hereafter referred to as the RUP for SOMA Plug-in) provides guidelines for SOA modeling. The Asset-Based Development Plug-in and RUP for SOMA Plug-in may be used in parallel in an SOA implementation to bring in the benefits of asset-based development while modeling an SOA. The section on Rational Method Composer plug-ins for asset-based development and RUP for SOMA provides more information on this topic.

During the assemble and deploy phases, existing services may be consumed to choreograph new business processes in WebSphere Integration Developer. Composite business services may be assembled from existing business services. Industry-specific business services that are shipped as reusable assets as part of IBM WebSphere Business Services Fabric Industry Content Packs may also be used to assemble composite business services. Such composite business services leverage the capabilities of the WebSphere Business Services Fabric platform to externalize business-level metadata, thus enhancing their reusability in different business ecosystems. Runtime reuse of services may happen by looking up deployed services in WebSphere Service Registry and Repository. (Providing detailed information on assembling and deploying service assets using the above mentioned products is beyond the scope of this article. Please refer to the Resources section of this article for links to relevant articles.)

During the manage phase of an SOA, services may be monitored from an asset perspective to assess the reuse of service assets. This helps in assessing the business value resulting from the SOA implementation from a reuse perspective. Services may be published to assets and service repositories for ease of management. Further, SOA governance that influences the management activities is closely related to asset governance. The rest of this article shows how different IBM tools work together to help in management and governance of services as assets in an SOA implementation.



Back to top


Rational Method Composer plug-ins for asset-based development and RUP for SOMA

Service-Oriented Modeling and Architecture (SOMA), from IBM, provides a methodology and process for modeling an SOA. The guidance for using modeling in SOA is provided in the RUP for SOMA Plug-in. To get a high-level perspective of the relationship between the plug-ins for Asset-Based Development and RUP for SOMA, see Figure 3, which shows the asset life cycle capability pattern as described in the Asset-Based Development Plug-in.


Figure 3. RUP for SOMA process mapped to asset-based development

As assets, services in an SOA follow the asset life cycle. The guidance provided by the RUP for SOMA Plug-in is used to model services. Because modeling services is an early stage of service production, the RUP for SOMA Plug-in fits in the produce phase of the asset life cycle specified in the Asset-Based Development Plug-in. As shown in Figure 3, during the service asset production phase, you may use supporting guidance from RUP for SOMA to model services.

Figure 3 shows how the RUP for SOMA process fits in the asset-based development life cycle. Figure 4 shows the flip side to this view wherein asset-based development fits into the service modeling stages specified by RUP for SOMA. During each of the RUP for SOMA stages, principles from RUP for Asset-Based Development Plug-in may be used. For example, during the SOMA identification stage, existing assets may be searched and identified for reuse from the repository of existing assets using the consume aspects of asset-based development. The process models that are produced during the RUP for SOMA process can be published to the asset repository using the guidance from the produce phase in the asset-based development life cycle. Note that this is a high-level view. Details on the specifics of creating a customized process are beyond the scope of this article.


Figure 4. Asset-based development life cycle mapped to RUP for SOMA



Back to top


Asset governance and SOA governance

Governance in general deals with defining the chains of responsibility, policies, mechanisms, and measurements to establish management tasks in context. IT governance deals with decision making rights associated with IT. It also involves the policies and mechanisms used to control and measure the way IT decisions are made and carried out.

Asset governance extends IT governance focused on the life cycle of assets to ensure the business value of asset-based development. It's a catalyst for improving IT governance.

Similarly, SOA governance is an extension of IT governance specifically focused on the life cycle of services, metadata, and composite applications in an organization's SOA.

IBM provides Rational Method Composer plug-ins for asset and SOA governance to help organizations define and implement their governance activities. The two plug-ins define a four-stage process: plan, define, enable, and measure their respective areas of governance.

Because SOA implementations treat services as reusable assets, they may require guidance for both SOA governance and asset governance. For example, during the definition stage of SOA governance, asset repositories can also be defined for service assets. Workflows can be defined for publishing services to the repositories. Policies can be defined for service reuse. You can get guidance for such activities from the Asset Governance Plug-in. The IBM Rational Method for SOA Governance Plug-in V 1.0 for Rational Method Composer (hereafter referred to as the SOA Governance Plug-in) can be used for overall guidance on roles, processes, and responsibilities involved in implementing SOA governance.

Figure 5 shows the relationship between the specifics of asset and SOA governance in the context of the more general areas of IT and business governance.


Figure 5. SOA governance and asset governance in the context of business governance and IT governance

The overlap between SOA and asset governance is due to the fact that services in an SOA are reusable assets that need governance mechanisms that are defined by asset governance. The non-overlapping portion of the SOA governance ellipse covers the larger set of activities, such as deployment of composite services and security of services that are involved in governing an SOA. Asset governance, on the other hand, may include activities that are relevant to a broader set of assets beyond service assets, such as user interface components and process models. Organizations that are involved in asset-based development besides their SOA implementation may use guidance from the Asset Governance Plug-in to govern their non-SOA assets. This explains the non-overlapping portion of the asset governance ellipse in Figure 5.

Based on the IT governance policies of an organization, there may be common members in the SOA governance and asset governance boards to align the activities of both the governance bodies.



Back to top


Conclusion

Share this...

digg Digg this story
del.icio.us Post to del.icio.us
Slashdot Slashdot it!

This article, the first of a two-part series, highlighted the key IBM tools that help in SOA and asset-based development. You learned how the SOA life cycle and governance processes map to the asset life cycle and governance processes with reference to the Rational Method Composer Plug-in products for SOA and asset-based development and governance. Having shown that services in an SOA may follow the asset-based development and SOA life cycles, Part 2 will show you how to manage and govern service assets and metadata effectively through the service and asset life cycles.



Resources

Learn

Get products and technologies

Discuss


About the author

Rishi Balaji photo

Rishi S Balaji works as an associate IT architect for the Global Business Solutions Center, IBM India. His current area of expertise is in developing reusable assets for Service-Oriented Architectures.




Rate this page


Please take a moment to complete this form to help us better serve you.



YesNoDon't know
 


 


12345
Not
useful
Extremely
useful
 


Back to top


IBM, the IBM logo, Rational, RUP, and WebSphere are registered trademarks of IBM in the United States, other countries or both. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.