Using Models to Solve the Web Services Challenge








Dave Hollander

Chief Technology Officer

Contivo, Inc.

November, 2002


Web services, the latest evolutionary step in distributed computing, promise to dramatically improve how computers are used in business by combining open, proposed, and vendor standards with proprietary technology to enable computers to communicate and collaborate. The use of standards and the Web provides the foundation to share information between a large numbers of distributed computers at a scale previously impossible. Ubiquitous data interchange is at the heart of the promise that, Web services are poised to deliver.

In the short term (through 2003), Web services will be used primarily to address one of IT’s top priorities, reducing costs for application integration. Yet, the real business impact lies in long term potential. As Web services technology and standards become more broadly deployed, enterprises will learn how best to take advantage of the new business opportunities that ubiquitous system-to-system communications enables. Web services will not only simplify integration but also enable new business models and associated revenue streams. This potential to impact both the bottom- and top-line is why Web services are so compelling.

To understand why Web services will be able to deliver what so many earlier technologies could not, one must consider how Web services leverage knowledge gained from earlier distributed systems technologies.  Unlike earlier systems, Web services use the Web-based standards to make message transport ubiquitous.  Also unlike earlier technologies, Web services have the flexibility to meet broad integration needs by directly supporting both tight and loosely coupled interaction styles.  Web services support an interaction style familiar to programmers called Remote Procedure Call (RPC) that creates tight linkages between systems as well as a style that emulates business transactions with a more loosely coupled, document-oriented interaction.  Additionally, Web services are the first distributed technologies to fully leverage XML, making it easier to create, manage, and share information between wide numbers of systems.  Finally, Web services include the ability to service enable existing systems to overcome adoption and evolution barriers that limited the impact of earlier technologies.

Not only are Web services technically unique, they promise new levels of vendor independence.  Web services benefit from broad industry support both in product announcements and effort to develop standards.  Existing dominant vendors are radically changing their offerings while new vendors are vying for visibility.  Vendor independence enables service composition where Web services from a variety of sources can be combined into new Web services.  Web service composition has the potential to deliver the kind of interoperability for business process that plug-n-play did for hardware.

Taken together, Web services will enable change that extends beyond technology. The simplification of new and existing system integration increases the number of systems able to participate which will in turn enable more distributed business processes with a broader range of systems and partners.  Interoperable and composable business processes delivered from vendor-neutral, standards-based, document-oriented, and loosely coupled Web services will further the shift in power from computing vendors to computing consumers that the Web started.

In terms of planning assumptions, it is difficult to overlook potential impact of Web services with their unique technology, vendor support and potential to support new business opportunities. Planning assumptions call for a strategy that delivers value in the short term by addressing a top priority for CIOs today, simplifying integration, and future-proofing to leverage that investment to be prepared for the development of large scale distributed business processes.  The challenge is to use short-term integration projects to improve your overall integration and Web service readiness—without sacrificing ROI on the short-term projects. This paper presents options for getting started today and identifies what we believe are the essential parts of your strategy to maximize the potential business value in the rapidly evolving Web services environment.

Getting Started

Getting started with Web services can addresses your immediate integration needs and also provide an opportunity to gain the experience necessary to truly prepare and future proof your integration strategy. Getting started can be as straightforward as understanding of how the current standards combine to enable interoperable communications and collaboration and then designing your services using a platform.

At the heart of the Web services are the core standards that enable the ubiquitous data interchange. Understanding the strengths and limitations of these standards will help you design interoperable Web services. The core standards describe how to encode and structure messages, package, describe, and transport messages. Today’s standards do not specify how choreography, transactions, reliable messaging management, or security need to be implemented to be interoperable.  If your services need these features, you must rely upon vendor specific implementations while waiting for new standards from the W3C, OASIS or WSI.  Better yet, help develop these standards by urging your vendors to support standards based interoperability.

Web service design varies widely depending on the complexity and integration requirements. One key is to assure that the design makes appropriate assumptions on interoperability based on core standards as well as business requirements. Selecting an appropriate platform can significantly ease Web service design.

Platforms provide the services and features necessary to design, implement, and deploy a Web service.  Features such as wizard-style design tools and sophisticated user interfaces offered by these technologies make it easy to develop and deploy Web Services.  Initially, a single platform may meet your needs. Over time, however, new needs or changes in technology may dictate additional tools of a different platform. For example, you can start with an application server and later add Web services management platform for its specialized operational and service-enabling capabilities.

The selection of a platform must not only take into account the service design requirements, but also needs of your computing environment, developers and operators. Will the service developers be Java programmers or will they need a full graphical interface? How will operators monitor and administer the running service? Will the service enable access to existing systems? Will you be a service provider or consumer? The answer to these and other questions will help decide which features are important in selecting your platform(s).

Prepare for the Future

With standards understood and platform selected you can start implementing your Web services, right?  Perhaps, if Web services are just another technology.  However, viewed strategically, standards and platforms are just a start.  As discussed above, the strategic goals should not only provide integration cost savings today but also prepare for the future goals of vendor independence, and interoperability to be fully prepared to exploit Web services. To do this, we need to identify the knowledge that is needed to successfully exploit Web services in the future and develop processes to retain the knowledge in an actionable form for reuse. The essence of future proofing is to assure your investment in time and effort is strategic and able to accommodate the change that is inevitable in a field as fast changing as Web services.

To identify the strategic knowledge in Web services, start by looking at what the standards do not address.  Strategically, it is important to note that none of the core Web service standards addresses process or information requirements. WSDL describes operations, but not how to coordinate them.  WSDL and XML Schemas describe data constraints (structures and types), but not the semantics and meaning of the data nor its relationship to other data in services or systems.  Accounting for these business process and data semantics requirements is key to overcoming the Web services strategy challenge.

Effective management of process and data semantics requires a model-based approach.  Models can be created, developed and maintained to represent sophisticated interactions between business systems and partners. Models can also be used to describe the data in terms of the underlying semantics that identify the meaning of the data. Properly implemented, a model-based approach to enterprise information architecture can both enhance the short-term costs and ROI while providing the flexibility and reuse needed prepare for rapid change and deploy new business models.

How do you implement a successful model based approach?  Begin by examining the attributes of model driven systems and match them to your Web service knowledge retention needs. Do not assume your platform will provide sufficient facilities and do it in a fashion that is vendor independent and flexible enough to accommodate future changes in platforms, technologies, standards and business systems. Attributes of a modeling system to be considered include:

Modeling systems today can provide many if not all of the features described here. While they may not be needed for initial proof-of-concept and pilot projects, they should be seriously considered before deciding on a Web services strategy. Theirs is ability to accommodate the change that is inevitable as the industry adopts and evolves the Web service landscape. Theirs is the ability to simplify system integration today and enable new business opportunities tomorrow.

How will integration on a global scale impact your business?  If the history of the Web can act as guide, the impact on business models is unpredictable. What is predictable is the need for flexibility and manageability to assure your company can lead during the evolution. A model-based approach to enterprise information architecture can both enhance the short term cost reductions and prepare an enterprise for rapid change in internal processes, customer interactions and supply-chain arrangements and capitalize on their potential.