Skip to main content

If you don't have an IBM ID and password, register here.

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

The first time you sign into developerWorks, a profile is created for you. This profile includes the first name, last name, and display name you identified when you registered with developerWorks. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

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.

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

All information submitted is secure.

Web services networks

Intermediaries that simplify inter-enterprise projects

Kelly Truelove (kelly_truelove@hotmail.com), Independent consultant
Kelly Truelove was most recently the founder & CEO of Clip2, where he led research and development efforts in the areas of peer-to-peer file-sharing systems and distributed systems platforms including Gnutella, OpenNap/Napster, FastTrack Morpheus), JXTA, and Web services. He co-authored the O'Reilly Research 2001 P2P Networking Overview, contributes to the O'Reilly Network, serves on the JXTA Technical Advisory Committee, and consults on related topics. Truelove's technical background includes work in peer-to-peer search systems, usage-regulated human-generated Web directories, and computational astrophysics. He holds a physics Ph.D. from the University of California, Berkeley.

Summary:  In much the same way as overnight delivery services do, a web service can act as a go-between for different companies working together, which can thereby help them do their business more efficiently. This context for web services, however, is not without its complexities that go beyond just the business issues of getting multiple organizations to work together. Kelly Truelove explores the potential -- and the potential problems -- of using web services as intermediaries.

Date:  01 Oct 2001
Level:  Introductory

Comments:  

In the physical world, enterprises use many intermediaries in the course of conducting business with one another. For example, the Federal Express package delivery network greatly simplifies the transport of goods and communications between organizations that, in lieu of substitutes, would have to establish custom point-to-point delivery systems. A web services network performs analogous intermediary duties by facilitating communications between web services operated by different enterprises. As in the physical case, the intermediary adds tremendous value by solving a number of hard problems that businesses would otherwise be left on their own to address. One startup, Grand Central, has been championing the web services network concept and has already fielded such a service. (See Resources.)

Web services for automated backend business-to-business integration

Before diving in, a few words are warranted on the subject of web services and inter-enterprise projects. A common image conjured by the term "web services" is of an enterprise portal that aggregates data and functionality from multiple sources into a single end-user view. Web services standards do support this sort of foreground integration, which eases the creation of end-user applications from distributed elements

Significantly, however, web services are also suited to background integration between applications. Here, I'll focus on this background scenario in which applications use web services interfaces to link to one another, server-to-server, for automatic execution of business processes.

This scenario presents particular challenges when the web services involved are operated by different organizations, and that is the case which I am concerned with here.


Intermediaries provide context support missing from standards

Integration projects naturally tend to focus on explicit issues of data formats and procedure calls, but the context involved in the integration of components is of comparable importance.

Web services standards are powerful in their simplicity and openness. However, their scope currently does not extend beyond content-oriented issues of data format and service description to the context-oriented issues of the interaction between services. By way of physical analogy, standards for address format, packaging style, and description of the existence of "ship" and "receive" methods do not address the contextual matter of what to do when a package is delivered and the office is closed. Return to sender? Try to redeliver tomorrow? Leave at the door?

One way in which Federal Express adds value as an intermediary is by defining a common interface for package delivery. Each organization, with its own peculiarities regarding the hours, location, and policies of its shipping and receiving department, establishes a connection with Federal Express. In this way, N companies define N relationships, rather than the order N2 links that would otherwise be required. Tremendous efficiency results. A web services network brings the same orders-of-magnitude cost reduction to inter-enterprise web services projects. In both cases, the intermediary adds value by addressing context-oriented requirements. Returning to the analogy, Federal Express can allow either sender or receiver to make an independent context-oriented choice as to whether a package can be left without signature, freeing the parties from worrying about coordination on this point.


Context-oriented requirements for inter-enterprise projects

Many web services projects to date have been intra-enterprise, executed behind the firewall where context is often implicitly understood. As veterans of inter-enterprise efforts using other technologies are well aware, however, the situation is considerably more challenging outside the firewall, where the operators of various components have little control over (or visibility into) each other's systems. Common contextual understanding cannot be taken for granted in this scenario.

Inter-enterprise web services projects present two broad categories of challenging context-oriented requirements:

I. Communication requirements:
Elements required for integration across firewalls over the Internet: asynchrony, encryption, reliability & non-repudiation, and polling.

II. Collaboration requirements:
Elements required to safely publish web services or to consume and integrate web services to form inter-enterprise business processes: access control, implementation abstraction, routing, and registry & discovery.

Delving deeper into each of these, we find these requirements are challenging to deal with on a direct enterprise-to-enterprise basis.

I. Communication requirements

  • Asynchrony
    Inter-enterprise background integration projects are generally better off using asynchronous messaging, as it allows participants to operate with minimal interdependency. This is often a requirement of integrations that traverse firewalls, where the systems being connected may have different policies regarding responsiveness and autonomy. The asynchronous approach is particularly valuable in executing complex business processes between companies that may take minutes, hours, or even days to complete, where waiting or blocking on a response would be impractical and non-scalable. The logistics of asynchrony coordination are daunting, however, when considering a multi-company interaction. Who holds messages that can't be delivered?
  • Encryption
    Security via encryption is a standard requirement of enterprise communication over the Internet. While this functionality is relatively easily accommodated using existing standards, use of different standards or imposition of different policies complicates multi-company business processes. In a multi-company integration, which organization has its standards and policies adopted by the others?
  • Reliability & non-repudiation
    Like encryption, reliability and non-repudiation are standard requirements of business-to-business communications -- yet they are particularly difficult to handle in a direct business-to-business scenario. Who decides who is responsible if a message is not received? What authority provides for non-repudiation?
  • Polling
    In a given web services communication, one party is naturally the sender, while the other is the recipient. However, the recipient may not wish to incur the costs of continuously listening for incoming messages, preferring instead to periodically poll the sender for them. Generally speaking, the web services model is appealing in that it can meet the requirement of no changes being made to an organization's firewall. However, that advantage can be lost if parties have to make adjustments in order to continuously listen for messages. Who gets to enjoy the luxury of polling while other parties have to listen?

II. Collaboration requirements

  • Access control
    The exchange of sensitive data or exposure of proprietary services necessitates careful trust management among participating organizations. The challenge is that business processes often extend beyond two parties in a point-to-point relationship. Instead, the architecture must meet the requirements of managing dynamic many-to-many relationships. As a result, inter-enterprise projects require a trust management model that builds on access control provided by standards like certificate authentication. Who maintains this model in a multi-company integration?
  • Implementation abstraction
    Adding a layer of abstraction to a system's interface greatly assists in meeting the requirement of minimizing service management costs. Creating separate public interfaces -- uncoupled from their backend implementation -- allows web services to be changed or upgraded without breaking the systems that may be dependent on them. On which side of the fence is this abstraction layer located in a business-to-business integration?
  • Routing
    Implementation of a specific business process may require a chaining together or orchestration of multiple web services among different businesses. Inter-enterprise business process management is unique in that the specific processes being orchestrated are typically simpler than those found behind the firewall, yet by virtue of the fact that different companies and systems are executing them, they can be more difficult to implement and manage. As such, business process management components for web services must both provide visibility into a process as it executes, and also manage the state of a process as it brings disparate enterprise systems into play. Which party in an automated multi-enterprise business process manages the routing involved in such orchestration?
  • Registry & discovery
    Inclusive of the well-known UDDI specification, registry & discovery cover the requirements associated with publishing and finding the location, binding, and access-control information for a web service. It is useful to differentiate between the requirements of private collaboration between a limited set of partners (typical of enterprises) and public advertisement of a service (typical of service providers). The difference between these two, and the requirements of enterprises specifically, has led to the notion of a private UDDI directory where registry & discovery can be controlled according to policy for a limited set of participants. Which party maintains such a registry?

Using intermediaries to handle context-oriented requirements

The context-oriented requirements discussed above shout out the need for an intermediary in inter-enterprise projects. In lieu of an intermediary, organizations must engage in decision-making over who takes which roles, with both technical and business headaches resulting. The difficulty is amplified exponentially as the number of parties involved in the integration grows. Moreover, none of these intermediary functions are necessarily the specialty of the businesses seeking to integrate. Just as in the package delivery network analogy, there is a strong need for a specialized intermediary whose core competency is specifically in meeting these context-oriented requirements.


Web services networks: powerful intermediaries

A web services network operates as a ubiquitously accessible service to meet the communication and collaboration requirements discussed in this article.

As a service operating on top of the Internet, a web service network's functionality can be easily incorporated into existing applications.

On the communications front, a web services network can queue messages for asynchronous delivery and provide for queue access via polling. Like a package delivery network, a web services network can be accountable for reliability and security, and provide Federal-Express-like message tracking as a non-repudiation mechanism. In terms of collaboration, an intermediary can act as a point of trust management between services. Furthermore, it is uniquely positioned to route messages between services in support of a multi-enterprise business process. Finally, by exposing their interfaces via a web services network, systems gain a layer at which to introduce an implementation abstraction.

In short, just as businesses enjoy significant efficiency by coupling their shipping and receiving departments to package delivery networks rather than tying them together directly, businesses can greatly simplify inter-enterprise web services projects by utilizing the functionality of a web services network. In both cases, intermediaries add great value by solving hard problems associated with context-oriented requirements, freeing enterprises to focus on their business. Grand Central has staked its claim to the space and merits the attention of developers working on inter-enterprise web services projects (See Resources).


Resources

  • Grand Central is an intermediary for web services between companies.

  • Federal Express is investigating web services for use in their systems.

  • Intelligent EAI, a section of CMP's Intelligent Enterprise, covers integration issues regularly.

About the author

Kelly Truelove was most recently the founder & CEO of Clip2, where he led research and development efforts in the areas of peer-to-peer file-sharing systems and distributed systems platforms including Gnutella, OpenNap/Napster, FastTrack Morpheus), JXTA, and Web services. He co-authored the O'Reilly Research 2001 P2P Networking Overview, contributes to the O'Reilly Network, serves on the JXTA Technical Advisory Committee, and consults on related topics. Truelove's technical background includes work in peer-to-peer search systems, usage-regulated human-generated Web directories, and computational astrophysics. He holds a physics Ph.D. from the University of California, Berkeley.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in

If you don't have an IBM ID and password, register here.


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. This profile includes the first name, last name, and display name you identified when you registered with developerWorks. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

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.

(Must be between 3 – 31 characters.)


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

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and web services
ArticleID=11614
ArticleTitle=Web services networks
publish-date=10012001
author1-email=kelly_truelove@hotmail.com
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).