More than just a new Interface
By Mike Rosen
Web services are being hyped by vendors as the latest, greatest, and newest silver bullet to hit IT since sliced components...er, bread. Alas, they do not simplify the lives of software architects and IT managers. Rather, they add yet another new technology that must be included in our ever-expanding array of applications and products. However, Web services do provide a more efficient way for a business to present itself over the Internet.
Fundamentally, a Web service represents a business function that is available over the Web. Business functionality implies that some level of business process is exposed to Web users. The way it is exposed is as a well-defined (hopefully), service-based interface definition.
To expose business functionality, organizations need to do several things:
- Identify and define valuable business processes.
- Define loosely coupled, service-based interfaces to those processes.
- Describe those interfaces in a Web-based, industry-standard format.
- Publish the service interface so that it can be discovered and used by potential customers and partners over the Web.
- Accept requests and send replies through firewalls, using standard Web protocols.
- Bridge between those external requests (coming from outside the firewall and using standard Web protocols) and the implementation of the Web services (which are inside the firewall and may use standard or propriety enterprise protocols).
In summary, a Web service has the following characteristics:
- It is accessible over the Internet.
- It exposes a well-defined service-based interface described in XML.
- It is registered and can be located through some Web service directory.
- It communicates using higher-level, XML-based messages sent over standard Web protocols.
- It is implemented inside the enterprise using existing (or new) business functionality.
Web services have led to a more complex type of Web interaction; for example, collaborations between trading partners, or B2Bi (business-to-business interaction). Although collaboration requires the same technologies as a Web service for description, discovery, and invocation of the service, there are many important differences.
The Web service typically provides a request/response service-style interface that is based on a request message. The collaboration typically provides for a conversational exchange of "business documents" (though we are not talking about human-readable documents).
The business functionality exposed is usually at a higher level in a collaboration than in a basic Web service. There is also an additional set of standards, built on top of the Web service standards, which provide support for the collaboration, such as ebXML and RosettaNet. Although B2Bi is a type of Web service, it makes sense to think of B2Bi as a higher-level concept.
Impact on Business
B2Bi and Web services require a new way of thinking about the business functions offered. It is not simply a matter of exposing existing services on the Web, but rather providing services that support the new Web paradigm. For example:
- Service execution will be subject to service-level agreements (SLAs).
- Collaborations between partners (especially multiple partners) will require a shared context to be passed with the business documents.
- Collaborative business processes may take days to execute, requiring a new mechanism for extending transactional atomicity to B2Bi.
Because of the loosely coupled nature of these interactions, these new capabilities will have to be based on standards. Industry groups are currently addressing many of these issues. However, there are steps that organizations can take now to implement Web services and prepare for future Web-based applications.
Remember this: Web services are not just existing applications exposed over the Web. They are new, higher-level business processes designed for interaction (whether simple or collaborative) with external consumers and partners.
The service definitions that are exposed by a business will be composed of internal business processes. Many of these "business compositions" will be complex, requiring the use of process automation/workflow for their definition and execution.
Characteristics of Web Services
Note that many different externally exposed services can be composed from the same set of fundamental (internal) business processes. In some cases, the same exposed service will be composed differently based on SLA or other factors.
A business composition is described by a process workflow, where the steps of the workflow are business functionality within the enterprise, such as packaged applications accessed through enterprise application integration (EAI) or business objects accessed through service interfaces. This looks and sounds like a typical application integration problem. Unfortunately, businesses have generally not succeeded in creating reusable, fundamental business processes in past EAI efforts or the use of distributed components.
One reason is that organizations often fail to begin the process by creating a model of the business. They typically take current business functions and expose them as components or applications, based on their existing interfaces.
This approach does not lead to generally reusable processes. Instead, organizations must first create a model of business processes and entities, and define well-designed, service-based interfaces to them. Only then will organizations be successful when they map those interfaces to existing processes and data using existing EAI and component technologies.
Those that take this approach will be ready to face the challenges posed by Web services, B2Bi, and other new technologies. Those that don't will ultimately build redundant and/or contradictory internal processes and will not be able to keep pace with their more agile competitors when faced with future IT developments.
Mike Rosen Bio
Mike is practice director with Iona Technologies, Waltham, Mass. He has broad experience in enterprise architecture, EAI, and distributed technologies, including Java, XML, CORBA, COM, and messaging. E-mail him at email@example.com.
Copyright 2001, IONA Technologies. Reprinted by permission.
FOR MORE INFORMATION: