About UsMy AccountView Cart
Browse or Search over 5 million articles »
Find Articles by Publication

Home | Industry Information | Business News | Browse by Publication | I | IBM Systems Journal

Realizing service-oriented solutions with the IBM Rational Software Development Platform.

Article, News, Research, Information, Industry & Business News
» View article excerpt

Read this article now - Try Goliath Business News - FREE!  
You can view this article PLUS...

  • Over 5 million business articles
  • Hundreds of the most trusted magazines, newswires, and journals (see list)
  • Premium business information that is timely and relevant
  • Unlimited Access
Now for a Limited Time, try Goliath Business News - Free for 7 Days!
Tell Me More Terms and Conditions

Purchase this article for $4.95

Already a subscriber? Log in to read full article
 

Publication: IBM Systems Journal
Publication Date: 01-DEC-05
Format: Online - approximately 13395 words
Delivery: Immediate Online Access
Author: Brown, A.W. ; Delbaere, M. ; Eeles, P. ; Johnston, S. ; Weaver, R.
Company: Object Management Group Inc.; International Business Machines Corp.

Article Excerpt
INTRODUCTION

Building enterprise-scale software solutions has never been easy. The difficulties of understanding highly complex business domains are typically compounded with all the challenges of managing a development effort involving large teams of engineers over multiple phases of a project spanning many months. The time-to-market pressures inherent in many of today's product development efforts only serve to exacerbate these problems.

In addition to the scale and complexity of many of these efforts, there is also great complexity in the software platforms for which enterprise-scale software is targeted. Most large IT (information technology) organizations rely on a complicated assortment of infrastructure technologies that have evolved over many years, consist of a variety of middleware acquired from many vendors, and have been assembled through various poorly documented integration efforts of varied quality.

To develop applications in this context requires an approach to software architecture that helps architects evolve their solutions in flexible ways, reusing existing assets in the context of new capabilities that implement business functionality even as the target infrastructure itself is evolving. Service-oriented architecture is an important idea that is central to addressing these issues.

Service-oriented architecture

An approach gaining support in the industry today is based on viewing enterprise solutions as federations of services connected by well-specified contracts that define their service interfaces. The resulting system designs are frequently called service-oriented architectures (SOAs). Many organizations now express their solutions in terms of services and their interconnections. The ultimate goal of adapting an SOA is to achieve flexibility for the business and IT.

For purposes of this paper, we use the following definition of a service: it is generally implemented as a course-grained, discoverable software entity that exists as a single instance and interacts with applications and other services through a loosely coupled (often asynchronous), message-based communication model.

A number of important technologies have been defined to support an SOA approach, most notably when the services are distributed across multiple machines and connected over the Internet or an intranet. For example, Web Services approaches rely on intraservice communication protocols, such as the Simple Object Access Protocol (SOAP); enable the Web Services interfaces expressed in WSDL (Web Services Description Language) to be registered in public directories and searched in UDDI (Universal Description, Discovery and Integration) repositories; and share information in documents defined in XML (Extensible Markup Language) and described in standard schemas.

Of course, SOA is more than a set of standards and service descriptions in the same way that object-orientation is more than a set of class hierarchies. The essence of SOA is that it emphasizes loose coupling of independent service providers. In fact, it may be implemented by using a range of different technology choices. Indeed, it is possible to create an SOA that does not use Web Services technology, and it is possible to use Web Services technology in a way that would not be considered service-oriented. More important, a number of fundamental concepts become primary when implementing a solution using SOA (e.g., the concept of "service leasing" to support flexibility between service provider and consumer). (1) There is a great deal more that needs to be explored to understand why a service-oriented viewpoint adds value to a business and how service-oriented solutions are designed, implemented, deployed, and managed.

Service-oriented development of applications

Creating solutions for SOA means rethinking the kinds of systems being built today, reconsidering the skills in an organization, and redefining the ways in which members of teams collaborate. Most important, adopting a service orientation to the development of solutions requires a broader review of the impact of this orientation on how solutions are designed, what it means to assemble them from disparate services, and how deployed service-oriented applications are managed and evolved.

Gartner refers to this broader context of service orientation as Service-Oriented Development of Applications (SODA). (2) Gartner considers the five key areas (or "tenets") of SODA to be composition, adaptive process management, service-based interoperability and integration, discovery and description, and rapid application maintenance. In Figure 1, we see the primary elements of SODA as defined by Gartner. From a tool vendor perspective, these areas relate to technology support offered in three areas:

1. The SOA life cycle--The "discovery and description" and "rapid application maintenance" tenets refer to the life cycle of services and how they are found, applied, evolved, and maintained. Tool vendors increasingly offer ways to store, catalog, search, and retrieve services. Support for the ongoing evolution of services is a critical aspect of this process, leading to multiple versions of services.

2. SOA platform and programming model--The "service-based interoperability and integration" tenet refers to the way services can be connected, deployed, and managed within a specific runtime platform. The major platform vendors are supporting service-oriented capabilities directly as part of their middleware runtimes and evolving their runtime programming models to present service concepts as first-class elements. As a result, solutions may be conceived, designed, implemented, and managed from a single service-based perspective.

3. SOA practices and tools--The "composition" and "adaptive process management" tenets refer to how services are created and assembled in the context of changing business needs. Tool vendors support the mining of existing applications to discover potential services, wrapping existing functionality to make those capabilities accessible as services, creation of new services, and "wiring together" of services by connecting behavior exposed through their interfaces. Fundamental to this is the availability of clear guidance and best practices for designing service-oriented solutions in repeatable, predictable ways.

All three of these areas are important for success in developing service-oriented solutions. They must all be addressed to meet an organization's needs in efficiently creating more flexible solutions that better align with the goals of the business.

IBM's role in services and SOA

IBM has a leading role in the definition and application of SOA and SODA. IBM recognizes the value that SOA brings to organizations that require greater flexibility and control of the solutions they deploy. IBM demonstrates its support for service-oriented approaches to development by driving standards activities, delivering tools and technologies, and documenting best practices.

Driving standard activities

IBM has taken a leading role in defining the key standards that allow services (in particular Web services) to be defined, registered, managed, and discovered. For example, standards such as WSDL, UDDI, the Business Process Execution Language for Web Services (BPEL4WS or BPEL for short), and related standards for security (WS-Security) and interoperability (WS-I) provide a greater measure of interoperability among service-oriented applications and encourage a healthy marketplace of tools and technologies. In addition, IBM is driving standards for modeling services and service assemblies, such as the Unified Modeling Language ** (UML **), and working on numerous Java ** standards that support realization of services and service-oriented solutions in the context of the J2EE ** (Java 2 Enterprise Edition) programming model, such as the Java ServerFaces (JSF) standard and the emerging Service Data Object (SDO) standard.

Delivering tools and technologies

As these standards are defined, they are supported in commercially available IBM products. For example, the IBM Rational* Application Developer includes support for a number of key Web Services standards, such as WSDL, UDDI, WS-I and WS-Security. Creating services and service-oriented solutions is automated through a wide collection of rapid application-development features based on wizards, patterns, and reusable assets. These help to automate efficient delivery of services and service-oriented applications in conformance with applicable standards.

Documenting best practices

IBM has substantial experience with the application of service-oriented approaches across many business domains. This knowledge is being captured and exploited through IBM's service offerings and engagements, guidebooks, tutorials, and reusable samples. For example, IBM's developerWorks*, Redbooks*, and the Rational Unified Process* contain a wealth of materials for those using SOA or practicing SODA. (3) This guidance is continually being refined and updated as IBM's experience base grows.

Although there is much to be discussed in all of these areas, in this paper we focus on how IBM supports SODA, the relationship of SODA to the IBM Rational Software Development Platform (RSDP), and how IBM's core approach to design and construction--model-driven development--is an essential element in creating efficient and effective services and service-oriented solutions. For more details, see the general references at the end of this paper.

TOWARD SERVICE-ORIENTED SOLUTIONS

Adopting an SOA and applying SODA techniques is important in creating the kinds of solutions that will drive the next generation of business process improvements. A growing number of organizations are looking to adopt a different kind of software development platform that recognizes a new approach to the role software plays in their business. Many of these organizations face the pressure of quantitatively showing the value that IT provides to their business.

There are three imperatives influencing the way organizations are looking at the platforms of their next-generation solutions: a service view, rapid assembly and reassembly, and a focus on asset management and reuse.

A service view

Additional insight and understanding of how business processes can be realized in IT solutions can be obtained by viewing the collection of capabilities offered throughout an IT infrastructure as a set of services that are assembled to meet specific business needs. System architectures are designed as collections of services governed by interservice protocols and explicit SLAs (service level agreements).

Rapid assembly and reassembly of solutions

Greater flexibility can be offered by treating an IT organization as a "software factory" for creating solutions to meet evolving business goals. To achieve this, it must be possible to readily assemble and reassemble pieces and parts of the solutions as business and market conditions demand. This requires close relationships between business analysts and IT architects, tools to promote collaboration, and a disciplined approach to managing the elements that are assembled.

A focus on asset management and reuse

As organizations seek to obtain greater business efficiency, there has been increased emphasis on reuse as a principle that applies throughout the software development life cycle. In particular, the limited impact of reuse through shared code libraries has been broadened to include reuse of business processes, requirements definitions, architectural design elements, test scripts, and so on. This view changes the solution life cycle in substantial ways, altering the roles of individuals in the organization and creating different project practices, as well as creating and managing assets throughout the life cycle. For practical reasons, this is accompanied by strong governance practices for reusable assets tied to a flexible asset management infrastructure.

Supporting this new view of software development requires tools and platforms that take a service perspective and provide a business focus that ties the business and IT practitioners together more effectively. Rather than extending object models, practitioners must think in terms of "wiring of services." They must take advantage of exposed service-based middleware capabilities and facilitate greater management and reuse of solution fragments. The result is different kinds of solutions, different roles, different development processes, and different expectations from the tooling.

Tool vendors and middleware software vendors have recognized these requirements and are offering capabilities to help fulfill them. In this regard, one of the most important developments from IBM has been the consolidation of a collection of these capabilities as the IBM Rational Software Development Platform (RSDP), a comprehensive set of offerings for developing, deploying, and managing service-oriented solutions.

THE IBM RATIONAL SOFTWARE DEVELOPMENT PLATFORM

IBM offers many valuable technologies to help organizations design, build, deploy, and manage service-oriented solutions. Although individual product capabilities are important, the real value to customers is the combination of these capabilities in a robust software development platform for creating a new generation of applications. Many organizations are seeking a set of capabilities for executing IT projects with a level of coordination, accuracy, and clarity that is currently unavailable. In fact, the role of IT in an organization is seen as a core "utility"; investment in IT resources is seen to provide a predictable, risk-managed impact on the goals and mission of the business. (4)

Consequently, organizations are beginning to view software development as a "business process" that itself must be measurable, predictable, and manageable. This is a compelling vision, and one that can be delivered only through the deep integration of tool and runtime capabilities throughout all aspects of the business in support of a service-oriented view of their solutions. In this regard, the RSDP is a critical step. It offers the tooling and technology infrastructure to realize that vision. With respect to SODA, the RSDP addresses five critical needs: bridging the business-to-IT gap, support of the changing roles in the IT organization, a focus on assets and reuse, increasing levels...

NOTE: All illustrations and photos have been removed from this article.



More articles from IBM Systems Journal
Beyond predictable workflows: enhancing productivity in artful business processes., 01-OCT-06
Following the sun: case studies in global software development., 01-OCT-06
Business activity patterns: a new model for collaborative business applications., 01-OCT-06

Looking for additional articles?
Click here to search our database of over 3 million articles.

Looking for more in-depth information on this industry?
Click here to search our complete database of Industry & Market reports by text, subject, publication name or publication date.

About Goliath
Whether you're looking for sales prospects, competitive information, company analysis or best practices in managing your organization, Goliath can help you meet your business needs.

Our extensive business information databases empower business professionals with both the breadth and depth of credible, authoritative information they need to support their business goals. Whether it be strategic planning, sales prospecting, company research or defining management best practices - Goliath is your leading source for accurate information.

Home

Company Profiles

Industry Information

Business Development Resources

Business Management Resources

U.S. Job Search

Need More Information?
Start a new search.
Advertising, Privacy Policy, Refund Policy, Contact Us, Site Map, Terms & Conditions, Add to del.icio.us
Customer Service, How to Buy, Frequently Asked Questions
Copyright © 2008, ECNext, Inc., All Rights Reserved