HomeDigital EditionSys-Con RadioSearch Web Services Cd
B2B Beginning WS Business Process Management Case Studies Content Management Distributing Computing e-Business Electronic Data Interchange Enterprise Industry Insight Integration Interviews Java & Web Services .NET Portal Product Reviews Scalability & Performance Security SOAP Source Code UDDI Wireless WS Standards WS Tips & Techniques WSDL WS Editorials XML

Whatever happened to the e-commerce movement? Is it an idea whose time has come...and gone? Was the idea of Web-based business just a passing fad despite the effusive predictions of the industry pundits?

New technologies and standards are emerging that will create the foundation for a second ­ and much larger ­ e-commerce revolution. The essence of this work is a framework for developing and deploying applications across the Internet ­ Web Services.

The goal of Web services is to enable business solutions to be developed rapidly by assembling prebuilt components. These components can be geographically dispersed, built independently, and provided by unrelated companies. Most importantly, solutions based on Web services will offer the user a rich and seamless application experience, quite different from the primitive link chasing we're used to. The ultimate promise of this technology is to change the way companies collaborate and conduct business. How will this promise be realized? A key success factor lies in an unexpected direction ­ the orchestration of business processes.

A Simple Analogy
To clarify the technical concepts, we'll use an analogy. Let's imagine a symphony concert, with numerous performers playing their parts. The conductor directs the musicians according to the score, which was written by a composer. In our analogy the instruments of the orchestra will correspond to Web services. The goal is to produce music ­ real business value ­ from this assemblage of instruments.

Components
Traditional Internet applications are monolithic. As such, they exhibit a high degree of redundancy and offer little interoperability. Introducing software components changes everything. Each component behaves like a mini-application with its own interface. Through its interface, a component offers services that can be invoked by other components (see Figure 1).

Figure 1

Web services build applications from heterogeneous components that communicate across the Internet. The components may be from different vendors and may be located in different cities or countries. These components are the instruments in the "Internet Symphony."

The beauty of this approach is that components can be reused across applications. For example, we might use a common login and security components to gain access to two different applications.

What Are Web Services?
"Web services" are self-contained, modular components that can be described, published, located, and invoked over a network. The basic setup for Web services is a requester, a provider, and a broker. A requester finds service providers using a broker. Once the requester has found the desired provider, it binds to it and the provider carries out the requested service. Consider a mechanism for obtaining stock quotes over the Web.

The service requester sends a message to the service provider requesting a quote. The message contains the stock's ticker symbol. The service provider responds with the current stock quote (see Figure 2).

Figure 2

Three Standards for Web Services
To ensure interoperability of Web services, certain basic rules and regulations are clearly needed. Three important standards that have been defined toward this end are SOAP, WSDL, and UDDI. These standards are driven by the World Wide Web Consortium (W3C) and the Internet Engineering Task Force, as common mechanisms for building Web services.

SOAP: Simple Object Access Protocol
SOAP defines the messages that components use to communicate with one another. SOAP, a lightweight protocol based on XML, specifies the rules for message exchange between requester and provider components. Using SOAP, one component can send a message to another component to invoke a specific service. Components can communicate because they use a consistent approach to XML-based messaging.

WSDL: Web Services Description Language
WSDL is a standard language for describing the services offered by a service provider. WSDL considers a service to be composed of a collection of ports or "endpoints." Each port has a network address and messages can be sent to it using a network protocol. These message formats are defined using SOAP.

Different instruments have different capabilities. You can pluck a violin and you can play a tuba with a mute. WSDL specifies these capabilities.

UDDI: Universal Description, Discovery, and Integration
Software components will be developed by many companies and will be accessible across the Internet. The question then arises: How do I find the component I need? UDDI provides a global business registry that enables companies to discover one another, advertise their components, and explain how their components are designed to interact. UDDI can be thought of as a listing of musicians, describing the instrument each plays, and their contact information.

Directing the Orchestra
To make the Internet Symphony harmonious, we need a conductor. This role is played by the Business Process Management (BPM) system (see Figure 3). BPM di-rects the components, sequences component invocations, controls synchronization, manages transactions, and takes action when a component is busy or not working properly.

Figure 3

Many companies are developing or offering next-generation BPM products. Among these are BEA, Fuego, IBM, Intalio, Elagent, Lombardi, MetaServer, Nobilis, Q-Link, Savvion, and TIBCO.

The business process is the fundamental structure underlying BPM. It's a well defined, repeatable sequence of services that can be performed by people, systems, components, or even mechanical devices. Key requirements for process execution include the ability to:

  • Handle exceptions and failures: This is critical since the steps in a business transaction are not invariably successful. There must be an explicit means of unwinding transactions or providing compensating transactions.
  • Redeploy processes on the fly: Since the environment is inherently unpredictable and requirements are constantly changing, processes must be dynamically changeable.
  • Dynamically reconfigure process participants: In particular, the BPM system must provide a disciplined mechanism for re-assembling components.
  • Understand and preserve state: This will allow users to query the status of an order or an insurance claim and to monitor and improve processes in flight.

    Now, how can a company and its supplier communicate and exchange process information if both have BPM systems? The Business Process Modeling Language (BPML), sponsored by the Business Process Management Initiative, was developed for this purpose. It provides a set of concepts and rules for defining business processes and is designed to foster interoperability of systems that exchange process information. Just as XML is language for modeling business data, BPML is a language for modeling business processes.

    BPML views business process in terms of the flow of control, data, and events. Supporting these flows are business rules, security roles, and transaction management. All these elements are described by a XML schema. The idea is to enable trading partners to collaborate in their processes, even if they are run on different system infrastructures. BPML is designed to address all four requirements for process execution mentioned above (see Figure 4).

    Figure 4

    The Score
    The goal of the Web services movement is to enable the creation of new business value, within and across enterprises. To create value, business processes have to be incrementally improved, fundamentally re-designed, or freshly created. Each enterprise must begin by understanding their existing "as-is" business operations, analyzing them and diagnosing their strengths and weaknesses. Then they can redesign their processes and exploit the capabilities of Web services. The general term for this effort is "Business Process Analysis" (BPA).

    In terms of our analogy, the business process is the score. It's the blueprint for the business, just as the musical score is the set of instructions for the conductor. The score specifies the notes each instrument should play, in what sequence these notes should be played, and which notes should sound at the same time. In many companies the instruments are playing ­ but without a conductor or a score.

    At this point, it's natural to ask how the score is written. How do we effectively understand and redesign the business processes of the enterprise?

    Composing the Score
    In the business world, business process design is the responsibility of business analysts, supported by IT professionals. They are the composers designing the future of the enterprise. Sophisticated tools are needed to help the business analysts to work quickly and successfully. Unfortunately, what most analysts use today are whiteboards, yellow stickies, and drawing tools, all of which are labor-intensive, prone to error, and hard to change.

    There are now BPA tools on the market that are much more powerful and that enable detailed, dynamic analysis and design. Key requirements for next-generation BPA tools include the ability to:

  • Discover existing "as-is" processes: Capture roles, activities, data flow, and IT infrastructure. Discovery should be focused, collaborative, and rapid.
  • Capture custom metadata: User-defined goals, attributes, and metrics that are critical for the business.
  • Incorporate Web services into the fabric of the design
  • Depict process information visually: Present different views to different stakeholders.
  • Analyze process information: Allows the user to design ad hoc reports that consolidate and summarize information across multiple processes.
  • Support iterative analysis and design: Changes to process information should be reflected immediately and dynamically in all process views.

    Since business processes are performed by components as well as systems and people, the BPA tool should deal with components as full-fledged participants that can perform and support process activities.

    Visualizing Processes:
    Viewing the Score

    BPA allows the analyst to present processes in a visual format, with system components as process participants. Figure 5 is a process map organized into horizontal bands, called "swimlanes," each representing the activities performed by one of the Web components. In this process the participating components are Security, Quote, and Trade. The activities performed correspond to the services the components offer. Thus, the process map is a network of Web services.

    Figure 5

    The process map shown in Figure 5 presents one of many possible views. Other views highlight different aspects of the business process. For example, suppose that the buy/sell transaction involves a customer and two cooperating trading partners. The first partner is a Web-based stock trading service called MegaTrade. The second partner is Quotes'R'Us, a service that provides current stock quotes. You issue a stock ticker symbol to Quotes'R'Us and it returns the current price of that stock. Suppose we now need to change perspective to view the process through the lens of the two companies involved. Certain activities will be performed by the trading customer and others will be carried out by MegaTrade or Quotes'R'Us. We would therefore want to refactor the process map to look like the swim lane organization in Figure 6

    Figure 6

    With this structure, the business analyst sees exactly which functions each company performs. They see the touch-points and handoffs between the two companies. This is what is meant by "presenting different views different stakeholders." Needless to say, this example is unrealistically simple. Actual business processes tend to be much more subtle and complex, often involving hundreds of activities, roles, components, routing logic, and business objects. When Web services are involved, it's necessary to be extremely rigorous and precise. The simple, high-level approach of the past will no longer suffice.

    This complexity is raised to an even higher level when processes traverse multiple divisions and extend to customers, suppliers, and partners. The BPA tool must handle such complexity gracefully, providing effective mechanisms to filter out unneeded detail, and scaling to the extended enterprise.

    The process map in the business world is analogous to the full orchestral score used by the conductor. The score is also organized into horizontal "swim lanes." One swim lane represents the violins, another the violas, and so forth. The conductor sees at a glance what each instrument is playing and understands how they combine to create the music.

    Process Analytics
    The BPA tool should serve as a design laboratory, allowing business analysts to perform what-if experiments and generate various analytics. To achieve this goal, we must think of processes as data rather than pictures. All information about the activities, the participants, and so forth, must be stored as data in a database from which we can extract a wide variety of analytical information.

    For example, we may want to understand the activities performed by the system components. These components may provide services in multiple processes, but we need a consolidated view. The BPA tool will extract this information from the various processes, consolidate it, and publish it as a report (see Table 1).

    Table 1

    The value of analytics is greatly enhanced when information about business objects, activities, resources, and custom metadata can be organized and summarized in any way the analyst desires, using a simple drag and drop user interface. Like the process maps, analytical reports should be dynamic, so that if the underlying process information changes, the reports will be instantly refreshed with the new information.

    Integrating BPA and BPM
    A composer can now buy software for creating a score. Not only that ­ there are products that will perform the music directly from the score, producing the actual tones of the musical instruments. In this way, the composer can understand in advance how the symphony will sound. (Note: One example is Finale, by Coda Systems. It offers composers the equivalent of a word processor for entering musical notes. If the computer is equipped with a MIDI connection to a synthesizer, the tones can be realized immediately.)

    An analogous capability is needed in the business world. The BPA tool is used to capture the blueprint for the new business processes. The BPM tool must carry out the instructions of the blueprints. Clearly, what is needed is to export the process blueprints in digital form to the BPM environment (see Figure 7).

    Figure 7

    Each business process will be described as an XML document that will be exported into the BPM tool, accelerating the path from concept to operation. After the process is exported, there will be additional technical details that will be added in the BPM tool. But the business process architecture will have been defined in the BPA tool.

    Over the long run, I envision the inverse procedure: extracting information from the BPM tool and integrating it into the BPA tool. This will enable business activity monitoring, to examine real-time process execution information or historical trends (see Figure 8).

    Figure 8

    With this feedback approach in place, companies will be able to compare the results of the process execution with the original design. This will provide a means to correct the process design as well as to eliminate bottlenecks in the process execution. It will give managers the hard facts to determine if the business is achieving its operational goals.

    Today, most companies have elaborate systems to support financial management, but there are no comparable systems to define, measure, analyze, improve, and control the operational side of the business. By closing the loop, companies will be able, for the first time, to optimize their business processes in near real-time. In terms of our analogy, the Internet Symphony is providing audience feedback, in real time, directly to the composer to correct and improve quality of the music. In business, unlike music, the score is iterative: it's always being adjusted and improved.

    Conclusion
    Web services promise to transform application development and usher in a new era of e-commerce. My goal in this article has been to illuminate the major building blocks and certain key success factors of this program. The analogy with musical performance, while imperfect, shows how these technologies fit together.

    All technologies must be evaluated in terms of how they contribute to business goals. Web services, in particular, must be understood in this context. A key enabling concept for successful implementation of Web services is the business process. Without a rigorous, fine-grained approach to orchestrating business processes, Web services will remain an interesting topic for researchers but will have minimal practical impact on business. Orchestrating business processes requires attention to Business Process Analysis and Business Process Management. Processes designed using BPA are executed using BPM. Linking them will be an XML-based standard, such as BPML.

    Next-generation approaches to BPA and BPM are emerging to meet these needs. BPA will give business analysts and IT professionals the laboratory they need to design and orchestrate business processes. By integrating BPA with BPM these processes will be immediately executable, linking application components quickly and seamlessly. This will allow enterprises and extended enterprises to realize the full promise of Web services.

    References

  • Gisolfi, Dan. Web services architect, Part 1: An introduction to dynamic e-business. IBM developerWorks
  • Gisolfi, Dan. Web services architect, Part 2: Models for dynamic e-business. IBM developerWorks
  • Snell, James. Web services insider, Part 1: Reflections on SOAP. IBM developerWorks
  • Microsoft. "Building User-Centric Experiences. An Introduction to .Net My Services." White Paper.
  • Simple Object Access Protocol (SOAP). W3C. (www.w3.org)
  • Web Services Description Language (WSDL). (www.w3.org/TR/wsdl)
  • Shohoud, Yassir. Introduction to WSDL (www.devxpert.com)
  • UDDI Executive White Paper. (www.uddi.org)
  • UDDI Technical White Paper. (www.uddi.org)
  • BPMI (www.bpmi.org)
  • BPML (www.bpmi.org)
  • Finale www.codamusic.com
  • Verner, Laury. "Developing and Implementing Enterprise Applications." White Paper, ProActivity. www.proactivityinc.com
  • GartnerGroup: Will Web Services Standards Ever Happen?

    Author Bio
    Laury Verner, PhD, is the chief technology officer of ProActivity, Inc. (www.proa ctivityinc.com) He is an expert on business processes analysis and design (BPA). info@sys-con.com

    All Rights Reserved
    Copyright ©  2004 SYS-CON Media, Inc.

      E-mail: info@sys-con.com

    Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.