Platform for Assembly, Orchestration and Management of Web Services
Igor Sedukhin (Igor.Sedukhin@ca.com)
One Computer Associates Plaza
Islandia, NY 11788
March 10, 2001
This paper presents a strategic direction that we, at Computer Associates (CA), envision as the global, unbiased electronic collaboration environment in which business automation systems can dynamically implement a demand-driven, cross-enterprise process. As the information technology (IT) industry evolves to a point when it becomes technically possible to have such common framework and as the IT community realizes the ultimate need for universal interfaces to business automation and user interaction systems, we, at CA, see our role in providing a platform for assembly, modeling, orchestration and management of universal, distributed, electronic business components. This paper briefly presents our position on that.
The key element for the next generation of e-business systems is collaboration. Today, it is narrowly addressed by multitude of e-business automation applications: business-to-customer (B2C) or customer-to-customer (C2C) interaction, business-to-business (B2B) integration, business logic componentization, process orchestration, legacy systems integration, etc. All of these applications have something in common: they collaborate electronically to create an infrastructure for certain business to take place. The limitation is, though, the lack of common global framework (one that everybody agrees to use) under which all those distributed applications (services) can interoperate and discover each other. This limitation causes a lot of investment and effort to go into creation of purpose-oriented collaboration solutions, which usually are closely coupled, platform, technology, vendor, implementation and programming language-dependent, difficult to reuse in a uniform way, may not be directly Internet ready, etc. Creating new collaboration point usually increases overall system complexity, reduces reliability and requires even more resources for maintaining and extending such systems. [B2B00, UDDI02, WS03, WS04, WS07]
As we come to realize the need for an unbiased global electronic collaborative environment, new generation of e-business automation systems and appropriate infrastructure are being designed. The new approach has been unofficially dubbed as “Web Services”. The “Web” stands for commonplace networking (from LANs to Wireless) and “Services” stands for electronic interfaces into distributed applications.
Examples of Web Services (WS) could be: a stock quote accessible with a URL, a product catalog published on the Internet, an SMTP message channel accepting purchase orders in RosettaNet format, a SOAP-based authentication agent, a CORBA object, etc. All of these are network-accessible components that implement certain functionality that is somehow related to the core business. If appropriately described and marshaled, any of the above services can be discovered, used and aggregated into a dynamic business automation system.
As the information technology (IT) industry evolved from machine code to programming languages, then to client-server programming, then to object-oriented component models. It is now evolving to flexible, loosely coupled service-based distributed applications that dynamically discover, use and contract each other. In other words these applications are dynamically “assembled” from distributed (and largely independent) parts (services) at runtime to achieve certain demand-driven goal. They can be assembled according to a defined criteria (like: “the fastest way to get it done”) and they can dynamically reconfigure at runtime if, for instance, one of the services does not meet a quality requirement.
Not just the internals of business automation systems are going to change with this new trend: user interfaces and interaction devices are going to change too [CMDX00, CMDX01]. User interfaces are going to be built to work in the WS environment: they would discover and invoke necessary services according to the user actions. Interaction devices will support it with appropriate hardware, software and communication infrastructure.
WS approach enables all of the above to be possible in the global unbiased environment. It creates technological and organizational base for next generation collaborative e-businesses. Of course, there is yet a lot to be done in many areas (such as per-industry standardization), but as soon as we can lay the right foundation and establish the right framework, the approach is going to be successful.
Web Services is a public standards-based approach. It has just become possible to start globalizing e-business systems to that extent. We now have many major industry players coming to the conclusion that a need for an unbiased electronic collaboration environment is real: moreover it is to the benefit of everyone. That is why there were several public organizations created, where joint effort of several industry leaders resulted in a set of standards like XML, UDDI, WSDL, SOAP, etc. (as well as legacy standards like HTTP, TCP/IP, etc.) [See also UDDI00, UDDI01, ADS00].
Significance of WS is that it combines multiple, largely unrelated, standards, organizations, software and hardware infrastructure builders into one common framework. It becomes possible to create collaborating electronic business systems in a meaningful way. That is, it does not require proprietary agreements and tight integration of the automation systems for two parties to collaborate electronically.
WS creates an environment to:
1. Register services in a very generic and descriptive way, yet it is comprehensive and IT-enabled.
2. Make service available: publish it.
3. Find service (wherever it could be), interrogate details needed to use it and make service one of your assets: discover/subscribe on it. Subscription is also sometimes referred as binding to a service, but later one is more technical, narrow term.
4. Use service: invoke it.
Following are the elements needed for successful WS environment:
1. Public, global and independent Service Registry (SR).
2. Service Provider (SP).
3. Service Client (SC).
Web Services can be seen as universal electronic business components for the new Digital Economy (businessware). As today, we build applications against certain logical components, but we worry a lot about how those components are implemented, hosted, managed and interfaced. That in many cases creates systems too static, too complex and not adaptable to the changing demand patterns.
In the WS environment we will be building applications against universal business components instead, and that allows the demand to be directly translated into the cross-enterprise business process effectively and instantaneously.
The great advantage and power of WS framework is the inherent dynamism. It comes from the ability of a Service Client to dynamically discover needed Service Provider, and immediately use the service retaining only business sense of the interaction, and leaving technology and implementation details to the underlying platform.
Another significant facilitating factor is a new breed of intelligent interaction devices that are able to directly use WS and expose themselves as a WS. This way communication with businesses and communication with users can be uniformly handled by the same WS platform. Moreover interaction with a human can be inseparable part of the overall business process (e.g. prescription drug refill order has to be approved by the doctor), but it is implemented and controlled as any other interaction with a business component by the WS platform.
In other words, we’re building Digital Economy, which is based on a global electronic automation system that encapsulates knowledge, experience and vast amount of data that is needed to carry out business tasks. It implements logical interdependencies between collaborating business components. These interdependencies result in a certain business process when demand is indicated to the system. The most important assets for any business in the new economy would be adaptability (based on knowledge, experience and analytical tools) and instantaneous reaction to the demand.
To successfully deploy WS framework and make it work, following steps can be outlined:
1. Enable existing enterprises for new collaborative environment.
2. Implement logical interdependencies by orchestrating internal and external business components according to incoming demand, and assembling new business components that aggregate units of core business.
3. Ensure that processes work and deliver the desired quality. Secure the electronic business assets (internal business components). Provide Service Level Agreements (SLA) between contracted business components. Commercialize business components by charging per-use “micropayment” or managing user accounts.
When all enterprises and interaction devices are WS-enabled, we still need to put in new knowledge and experience by creating new or changing the logical interdependencies between WS and by introducing new WS that encapsulate a certain business idea or an aggregated process for convenience. For that traditional code/component development practices are, although applicable, not quite suitable. Such development practices are very disconnected from the core business and from the actual business process.
A few years back we needed to write a lot of device drivers to make a number of peripherals work with operating systems, we also needed to write file systems, networking layers, etc. Today, we mostly write applications on top of that software infrastructure and very rarely need to consider writing or modifying low-level code. So, today, we have come up with such advanced techniques as writing distributed object-oriented components. Tomorrow such components become universal business components (i.e. WS), which are part of dynamic business processes. Applying traditional coding techniques would not be reasonable as it dilutes the meaning of the underlying processes. Model-assisted assembly and orchestration is the approach for the new IT environment very much like object-oriented programming became the prevailing approach for application development after years of systems development in procedural languages and assembler. [See also WS00]
Model-based applications development has been lingering for some time in a state of uncertainty, but that is largely because the software infrastructure was not ready for laying out cross-enterprise large-scale business processes and uniform user interactions. In the WS environment, universal, distributed business components are just out there, available, discoverable and functioning. We would only need to create appropriate interrelationships between them and formulate new business ideas in this way.
Orchestration is workflow. It is well known and tools are well developed by now, but it is not sufficient for successful WS environment. New business ideas have to be assembled as business components. Assembly is model-based aggregation of existing business components into new business components and laying out appropriate workflow sequences of interactions and invocations. A WS as a business component has a definite model that can be incorporated into another purpose-oriented process model or reformulated. Models and orchestration sequences are not dependent on implementation of WS and are direct representation of certain demand-ready dynamic business process, which can be part of yet another business process and so on.
For example consider a business opportunity of creating an on-line shopping mall that offers monthly payments for purchased products. This is one good example of WS aggregation and assembly. Product distributors have their services exposed as WS, credit agencies too. All it takes is to formulate new aggregated service (could be many faces of one) and lay out coordination sequences with subscribed services from product distributors and credit agencies. This, of course, relies on support from WS platform that takes care of specifics of user interactions, service invocations and request processing. That, in turn, relies on industry-wide support for standards-based unbiased electronic collaboration and appropriate technology investments.
Dynamic interdependencies and interactions are only manageable if based on models (most commonly Unified Modeling Language (UML) models). Direct coding would result in higher system complexity, disconnect from the business sense and unmanageability of the execution process. Coding/componentization is only needed at the initial stage of WS-enabling.
Once business component is made available as a universal, distributed, network-accessible service, one has to make sure it functions, delivers quality and is part of the larger business process. For that, quality of service monitoring, usage metering and outage alerts have to be provided as part of the successful WS deployment environment.
Today we have such large-scale systems/network management software as CA Unicenter. They incorporate vast amount of knowledge and tools. The difference is though – in WS environment we need to manage an “internet metacomputer” (or part of it that pertains to the core business) rather than hardware/software infrastructure that lies beneath. WS relate to the demand-driven business process and are implementation agnostic, so where the implementation itself can be managed by the software of today, the WS needs more coarse-grained approach with larger scope.
Another significant difference is that today we may be mapping business process view to the implementation and watch for failures/trends in the systems/networks that carry the implementation to identify events that affect the business. In WS environment business process is given and it relies on aggregation and usage of different business components, so sudden market/demand fluctuations may result in service outages (due to high volume of requests, for instance) much more likely than a hardware failure. Such as today we could predict system downtime or network congestion, in WS environment we should be able to predict demand/price for a given business component.
There were a series of indications in press that consumer confidence index has plunged significantly, especially in high-tech/internet sector. Business process management tied with customer relationship management and demand predictability applied to unbiased e-business collaboration framework could be the remedy, so much needed to keep growth in high-tech sector.
To successfully deploy WS as business component it has to be commercialized. The market for Application Service Providers (ASP) and on-line services is predicted to be huge. Today we could see examples of net services from Intuit, VeriSign, Exult, Loudcloud, etc. In many cases interaction with such on-line services is either via Web-browser or done in proprietary ways (although Internet-enabled). The sign-up process and discovery of such services is not possible without human participation. Subscription and use requires software customization or direct interaction with a person. Payment model is, though more efficient than software licensing, less granular than real “per-use” and is usually fixed, monthly (plus a sign-up fee in some cases).
Several recent reports indicated some visible troubles in the ASP/on-line service provider market segment. It could be largely attributed to the lack of the common collaboration framework for businesses and users. The collaboration framework must become ubiquitous commodity for every business and in every interaction device. Today we could exchange a plain ASCII text between pretty much any devices or businesses. Tomorrow we should be able to exchange electronic business effects and interaction content with the same degree of uniformity. If IT industry does not loose the momentum, WS could become such ultimate collaboration framework that could make ASP model viable and globally acceptable.
The WS platform has to provide necessary foundation to commercialize a business component. One aspect of this is the security. Internet and network-based security has formed into a well-developed technological area by now. WS platform has to aggregate it and make security an invisible part of the implementation infrastructure. Following elements has to be present:
1. Channel (connection) security
2. Message (communication) security
3. Access (authentication) security
To embed these services, WS platform, apart from usual secure communication/authentication stack, need to incorporate user directory management and tools to secure various business assets (as opposed to securing implementation components and data).
Another very important aspect of commercialization of business components is Service Level Agreements (SLA). When two business components interoperate there must be an agreement that includes range of services, quality, financial obligations, etc. much like a contract between partnering businesses today. Partially it is being addressed by several standards like Universal Description, Discovery and Integration (UDDI), Web Services Description Language (WSDL), RosettaNet, ebXML, etc. In reality, though, they are still very sparse and disconnected when it comes to SLA. To make WS framework efficient for commercial deployment, a common standard for SLA has to be developed under one of the public IT standardization organizations (such as World Wide Web Consortium (W3C)).
Another, yet very distant area needed for fine-grain electronic commerce is, so called, “micropayments”. In a very dynamic, highly adaptable environment such as WS, having static sign-up and account management may not be generally an option. If a dynamic business process comes across using certain service, one-time per-use charge should occur. The payment may be a very small fraction of the monetary units used today (thus the term “micropayments”). This would not only be convenient for the end-users, but also for businesses that get direct profits from the exposed business component instead of indirect, hard to track revenues generated by today’s e-business systems.
Changing existing banking and monetary systems to accept “micropayments” may not be feasible. The solution may be new e-banking services that would manage the e-money accounts, carry out on-line “micropayments” and relate them to the actual accounts and assets managed by the brick-and-mortar financial institutions. This is one of the good examples of service aggregation and reformulation facilitated by WS framework and WS platforms. The widely accepted standardization effort for this kind of electronic finance industry is yet to come.
The idea of distributing components and processing over the network-connected machines is not new. In fact it has been perceived as a remedy to all the computing needs for over than 15 years now. Originally it has been emerging in the framework of scientific high-performance computing (PVM, MPI or Network Linda System), and then was also applied in commercial products like Kinetix 3D Studio Max. It was always special-purpose and tightly coupled, though. Afterwards it was joined with component modeling like Microsoft’s COM, CORBA and recently Sun’s EJB. It is still very much technology and implementation dependent, and not generally applicable to large cross-enterprise business processes.
Web Services adds consistency (defining discoverable distributed services), ubiquity (working with public standards and organizations) and applicability to the real-world e-business (enables existing IT systems for global interoperability). Existing B2B and B2C systems simply fit under the hood of the global collaboration environment and become one of the WS building blocks.
As we have seen, WS environment is a great framework for electronic collaboration of all kinds, but we need to relate it to the existing technologies, infrastructures, business processes, etc. to make use of its powers. This is especially important since we are in the beginning of this IT evolution cycle, laying the foundation and putting the technology framework in place. We need to leverage accumulated knowledge, reuse and extend existing systems to bring them to the next level of deployment, which is going to make them more universal. [See also WS01, WS02, WS05, WS06]
Demand-driven dynamic business processes were outlined as an important differentiator of the WS collaboration framework. Possibility of such processes makes WS framework economically vital for the growth in the high-tech industry.
Model-driven assembly and orchestration is the approach for the future application development based on WS and mapping directly to the business sense of the final deployment.
Business process management is an important service that has to be offered by the WS platform. To accomplish that we may use existing techniques such as policy-based distributed state management or quality of service report generation, etc. To successfully apply existing techniques to large-scale processes, a “metaplatform” is needed. Such “metaplatform” would broker, unify and federate implementations as well as exposed and incorporated business components. At Computer Associates (CA) we have developed such “metaplatform” (Jasmine ii) that provides an object-oriented “metamodel”, aggregates transactions, provides location transparency, and many other necessary features.
Business component commercialization is one of the areas that need close attention to make WS framework applicable. SLA and “micropayments” are one of the elements that have to be addressed in specific.
This paper defines core WS approach and view-of-the-world for further special-purpose and implementation-oriented efforts that would follow at CA. We are determined to provide a manageable WS platform based on model-driven assembly and orchestration of large-scale dynamic business processes. CA’s product portfolio includes a number of leading technologies in areas such as management, security, analytical predictability, unification/federation “metaplatform”, UML-based modeling (see also), etc. We are endorsing all industry-wide standards (like XML, SOAP, etc.) that allow unbiased electronic collaboration to happen between businesses and users.
Based on existing foundation and with a focused industry-wide effort, directed towards unbiased electronic collaboration, we may expect ubiquitous computing come true in a foreseeable future. There is, yet, a lot of groundwork ahead of every IT company.