Orchestration promise meets reality
|As corporations increasingly leverage the Internet and people become more familiar with the concept of services that can be called over the Web, software developers will increasingly focus on linking services together to create applications.|
Major vendors such as IBM are throwing their weight behind this concept of orchestrating services to create applications, but the majority of players are small, fast-moving software companies.
Orchestration is not limited to Web services; it applies to services of all types, including J2EE and CORBA components. The technology also requires a great deal of groundwork, much of which has yet to be laid. One of the major sticking points surrounding orchestration concerns standards: There are two major camps, and a few companies are hedging their bets by supporting both. Meanwhile, the World Wide Web Consortium (W3C) has founded the Web Services Choreography Group, whose charter is to describe a language that allows users to choreograph a sequence of events based on WSDL.
In addition, corporations need to vet their vendors carefully. Vendors claiming to have orchestration solutions range from sellers of core infrastructure to workflow vendors to enterprise application integration vendors.
Orchestration for a better tomorrow
“Everyone’s moving in the direction of business process flow,” said Atul Saini, CEO and CTO at Fiorano Software Inc., Los Gatos, Calif. The focus of the next generation of apps “will be a series of connected instances of services that can be interfaced to anything — legacy systems, packaged applications, the Internet, whatever,” he added. This will “let companies implement their business processes the way they want to do business, using Web services orchestration technology, instead of being forced to do things the way SAP or Siebel does them,” said Saini.
The concept of orchestration applies to a meta-view of services, explained Ismael Ghalimi, co-founder and chief strategy officer at San Mateo, Calif.-based Intalio Inc. “A service to manage and confirm purchase orders, for example, is where the notion of orchestration comes in, not a service to exchange the purchase orders,” he said. All types of services -- SOAP, WSDL, UDDI, CORBA, IIOP, RMI and RPC -- can be orchestrated, Ghalimi said.
Eric Newcomer, one of the original developers of Web Services Description Language (WSDL) and chief technology officer at the Waltham, Mass.-based offices of Iona Technologies, describes orchestration as “really another word for finding the reuse value in Web services and the aggregate value of Web services.” Orchestration products “translate between the objects and aggregate the resulting Web services, and you can aggregate the aggregations,” he noted.
IBM calls the concept of services orchestration “service choreography” because “it’s not just about this choreography of services into a new business functionality; it’s also about finding a more effective way of implementing business rules throughout these flows so that the flows can dynamically adapt their behavior,” said Stefan Van Overtveldt, director of WebSphere technical marketing at IBM in Somers, N.Y. “I can dynamically build these flows; then the flows themselves, and how they operate, can be modified dynamically,” he added.
Standards or their lack
As always with new technology, there is some vicious infighting within the standards area. Two major camps have emerged. One camp backs the Business Process Modeling Language (BPML) and counts among its supporters IDS Scheer and CaseWise. The other camp, spearheaded by IBM and Microsoft, backs the Business Process Execution Language for Web Services (BPEL4WS).
BPML was created by BPMI.org, the Business Process Management Initiative, two years ago to define a standard language for modeling business processes. Intalio’s Ghalimi is also the chairman and co-founder of BPMI.org. According to BPMI.org’s Web site, BPML is “a meta-language for the modeling of business processes, just as XML is a meta-language for the modeling of business data.” BPML provides an abstracted execution model for collaborative and transactional business processes, and splits e-business processes into two parts: A common public interface and private implementations. As in cryptography, with its private and public keys, the public implementation is open in that it can be described as ebXML business processes, RosettaNet Partner Interface Processes, or pretty much anything else, independently of the private implementations, which are particular to each end-user corporation.
BPML’s execution model is based on a rigorous mathematical language that uses the pi calculus model, and companies that are actually implementing products are using BPML “because it’s more complete, robust and mature” said Ghalimi. “All the leading process modeling tool companies, like IDS Scheer and CaseWise, have decided to standardize on BPML.” According to him, IBM and Microsoft adopted the pi calculus model into BPEL4WS late last year.
IBM’s Van Overtveldt describes BPEL4WS as “basically, a standard flow definition language that says ‘Do Step 1; take this information from Step 1, transform it a little, inject it into Step 2; etc.’” But that is not all: BPEL4WS also defines an interface that tells vendors what characteristics are required to support it in the underlying workflow engine they implement to support it. And BPEL4WS lets users employ a single process description to describe cross-middleware and cross-business process flows. Unlike WSDL, which provides a description of a service, BPEL4WS provides a description of the flow between Web services, he said.
No Internet-based standard can be considered legitimate without the blessing of the W3C, which has set up a Web Services Choreography Group whose charter is to describe a language that allows users to choreograph a sequence of events based on WSDL, said Anne Thomas Manes, the Cambridge, Mass.-based research director of the Burton Group, and formerly chief technology officer at Systinet.
But there is going to be a gunfight at the W3C corral: Sun, BEA, Intalio and SAP submitted the Web Services Choreography Interface, WSCI, which extends WSDL and specifies choreography information, to the W3C, said Manes. However, BEA has also teamed up with IBM and Microsoft to create WS-Transaction BPEL, a business process execution language for Web services, she added.
Overall, though, the field of services choreography is “a big rat hole, a total mess,” Manes said. That is because there are too many different specifications and no industry consensus. Until there is an industry standard, business components cannot be widely reused as services.
The situation may not change any time soon. The W3C’s Web Services Choreography Group has a clause in its charter that states that anyone submitting technology for inclusion in a standard will not get royalties. “IBM, Microsoft and BEA don’t seem to be willing to submit their technologies to a standards body on a royalty-free basis,” noted Manes. “They want to reserve their intellectual property rights.” This does not sit well with her: “A core specification for Web services should have no encumbrances whatsoever -- I should not have to worry about whether I should have to pay royalties to Microsoft and IBM if I use a Web service.”
One of the biggest problems with services choreography -- like all technologies built on the idea of component reuse -- is the question of trust. “You’re not going to use something that somebody else built because then you’re delegating the responsibility to somebody else who built the service on your behalf,” said Daniel Sholler, vice president and director, integration and development strategies, at Meta Group, Stamford, Conn. “Even inside a corporation that level of trust isn’t there.”
Another problem is componentization. Corporations that want to orchestrate services must first have their applications componentized, and then know where all those components are, what they do and how they work “with enough detail for you to assemble those components into an application,” Sholler said. “That’s a pretty tall order; we’re talking about an evolutionary path, and people right now are beginning to look at how to deliver future and, maybe, even current functionality to do the first step, which is to become componentized.”
The few corporations whose applications are already well componentized face another problem: how to expose those components through publicly available interfaces. And if they have the components and common service capabilities, they need meta data about them “so developers in their cubicles can understand what the services are and what kind of service levels they offer,” Sholler said. After all that is done, a corporation can begin using an orchestration tool.
That meta data about services must be stored in a centralized repository. UDDI is not adequate to the task of storing meta data about components, Sholler stated. And it is limited to only Web services, so corporations with other services such as Java or RMI may want to use less limited, commercially available repositories such as LogicLibrary or Flashline, he added.
Meta data in a centralized repository will prevent mistakes caused by misconceptions about the nature of services available on the corporate intranet or over the Internet. For example, a department within a corporation may create a purchase order component to handle its supplies purchases and publish that as a Web service. But that will not scale; and, if someone else tries to use that service for handling large-scale orders without knowing this, they might have a problem.
Do not look for a global standard for a meta data registry about services soon: This will be a tortuous task, said Intalio’s Ghalimi. “One of the challenges is that, even if you have consensus on the semantics of a B2B agreement, and on data you want to exchange such as customer addresses, you will still have to deal with the data format,” he said. “Even those simple things take time to resolve.” On the other hand, point solutions for standards are viable. “You must be very pragmatic,” he noted.
Another option for a Web services repository is a marketplace. “You’ll find the rise and growth of marketplaces for software, with traders whom you call up and either offer to sell them Web services that you’ve written or ask to buy a Web service from them,” said Neil McEvoy, CEO at Web Services Strategy Ltd., a consultancy in Glasgow, Scotland. His company has launched a “very embryonic trading service” based on digital identity because “we believe that the core building block for all these things is digital identity.” Users are connected to Web Services Strategy’s directory once they have satisfactorily established their virtual identities. Then, they can log in and participate in transactions. The risk is no greater than in the traditional method where users log on and type in their virtual identities, he said.
Before a company begins thinking about orchestrating Web services, it has to make sure the IT department has a good business focus, added McEvoy.
Then it has to focus more on short-term iterative development with better return on investment (ROI) to keep things moving, and stop focusing on big, top-down IT projects. In line with this, a company has to look for areas of business where Web services would have the most effect in the short term. “For example, overhauling your supply chain is a big project that you have to break into bite-sized pieces; in the short term, you should look at other areas, like IT,” McEvoy said.
The idea is to present a Web service that makes the back-end operations transparent to the user. “It’s easy to implement this with IT itself, and it can deliver IT to users more reliably, faster and more efficiently because you’re automating through the business process tools,” McEvoy explained.
The Meta Group’s Sholler divides vendors offering orchestration technologies into the following loose categories, which have a lot of crossover:
* Core infrastructure companies such as IBM, which just released its WebSphere Business Process engine; and Microsoft, whose Project Jupiter had not yet been released at the time this article was written;
* Workflow companies like FileNet;
* Major application vendors such as SAP, PeopleSoft and Siebel, which offer workflow technologies;
* Enterprise application integration (EAI) vendors such as webMethods and Tibco; and
* Flow specialists, which Sholler calls small companies. These include Web services companies such as Iona, Lombardi and Saviion.
There are also many companies such as Intalio and Fiorano whose products do not fit into any of these categories easily.
Intalio offers what can be considered workflow on steroids. “Workflow technologies are very linear, sequential, and only apply to straightforward processes like insurance and tax processing where everything’s very linear, rigid and never changes because the way you process a tax filing is defined by law,” said the firm’s Ghalimi. “If there is even a slight exception, workflow won’t work; and, when the requirements are just a little more complex, everything collapses.” In contrast, the Intalio|n3 business process management system creates a matrix that provides any-to-any connectivity at any point throughout the system.
This matrix provides exception handling through its ability to dynamically change processes, and allows multiple workflows to talk to each other. “Think of it this way: Take multiple workflows and processes, put them together, and then cross-link them with a service-oriented architecture that can handle Web services, J2EE, RMI, IOOP, MQSeries and Tibco,” explained Ghalimi. “It’s a combination of store-and-forward architecture with dynamically generated messages, with implicit correlation and binding between them.”
One Intalio client is print-on-demand publisher iUniverse, headquartered in Lincoln, Neb. The company has to accept manuscripts from multiple authors in different formats, and send files to multiple printers and various partners in different formats, which requires considerable amounts of hand coding. For example, it puts out a catalog with about 18,000 book titles and has to export this to its partners in different formats and with different kinds of data as required. Some partners want a cover image while others do not, for instance.
“Each time we exported it to a different partner, we had to write a new export app; but, from our perspective, all that information comes from a single source,” said Vernon Stinebaker, iUniverse’s vice president of China technology and operations, who is based in Shanghai.
About a year ago, Stinebaker convinced corporate management that everything iUniverse does can be considered a workflow. He then decided to buy, rather than build, a workflow technology as a framework, and went hunting for a vendor. At the time, iUniverse was using Java Messaging Services (JMS) running over SwiftMQ and OpenJMS. The problem with JMS was that it was linear: “Some business process logic was embedded into each component, so each [component] had to know the next process in the chain so it could send the message out,” Stinebaker said.
After two rounds of evaluations, Stinebaker decided on Intalio. He took a cautious approach. “We’re a business first and foremost, not a technology company. We decided that we’d build the new processes for this standard and, as we came to any major system modification, we’d weigh its size. If it didn’t take too much effort to move to that implementation, we’d do so; but if it took too much work, we’d stay with our existing technology at the time and move to the modification later,” explained Stinebaker. The initial focus was on “simple, high-return, low-risk processes that could be easily implemented.”
One of these was the catalog. The new system consists of a single, common export file that is put through a partner-specific transformation to pull the actual information each partner needs, and that is then sent to that partner. “Instead of having one application for each partner, we now have a unique transformation for each partner and the catalog interface is a single consistent component,” Stinebaker said.
Like Intalio, Fiorano Software uses BPML. It offers Tifosi, a standards-based business process computing platform that allows users to compose and deploy flexible business systems swiftly and inexpensively. Tifosi includes a suite of pre-built adapters for databases, packaged and legacy applications, together with tools for Web service monitoring, logging, administration and creating adapters. Tifosi comes with a pre-built BPML engine that takes any BPML-compliant process as input and executes it. Each BPML action can be tied to a Web service by specifying the WSDL location.
Tifosi allows users to track, monitor and log Web services data. “Web services are interface technology and, once data comes out of them, the application becomes a series of distributed Web services,” said Fiorano’s Saini. Thus, it becomes important for the application to track data as it flows through the Web services. The application must also monitor the Web services. “If one of them goes down, your application is in trouble,” Saini said.
Logging the data itself as it flows through the Web services is important, because “your data doesn’t always make sense on its own. Say you have an airline reservation system placing an order and it has to go through six stages; you won’t know whether it has gone through all six or not unless you log the data,” said Saini.
At Iona, Web services orchestration is one of the two major areas for product initiatives. The firm offers Iona Mobile Orchestrator, an orchestration tool with store and forward in a distributed orchestration engine “where you can deploy pieces of it on the desktop, server or mainframe and tie them together to create a larger business process or automated business process,” the firm’s Newcomer said.
Orchestrator will have a centralized repository for control. Iona’s Orbix tool already has such a centralized configuration repository where, “given an object’s reference, it’s possible to discover the interface to the object, and create and instantiate the object on the fly,” Newcomer said. Orchestrator’s repository is similar; it will let users “not only find the interface, but also information about the business processes that are being automated.” It has a business process definition in XML.
The Mobile Orchestrator can interact with CORBA, J2EE, .NET, JMI and other services in addition to Web services, Newcomer said. It was announced in March, and is scheduled for release in May.
Another Iona tool, Artix, which was announced in April and will hit the streets in the second quarter, is a multi-middleware switch that uses the Internet “to let corporations integrate the islands of different kinds of middleware in their systems,” said Newcomer. Artix is the middleware kernel for all of Iona’s tools, and uses plug-ins to interface with different middleware products. Alternatively, users can describe the endpoints using WSDL so that Artix uses the XML abstraction for defining the bridges and endpoints; this allows any of the middleware applications it supports to be exposed externally as Web services. The switch calls a generic WSDL interface that can be developed with any software, including Iona’s Orchestrator.
For IBM, meanwhile, there are three key standards in service choreography, said the firm’s Van Overtveldt. One is BPEL4WS.
The second is Web Service Transactions, or WS-TX, which lets users define an interaction between a Web service requester application and a Web service provider application as being transactional. This helps confirm that a request is executed.
“All Web services are message-based, but that doesn’t help you to be sure that a request was executed, or that there was a coinciding request that caused both to fail,” Van Overtveldt said. “The messaging protocol sits at Level 5 in the OSI 7-layer model, while the transactional aspect sits at the application level. So, when you have a programmer declare an application request as a transaction, you want confirmation at the application level, not at the message level.” WS-TX is conceptually an extension to the SOAP standard, he noted.
The third standard is Web Services Coordination, or WS-C. “If you have a Web service request or application that interacts with multiple providers, you need transactional integrity across that entire interaction,” said Van Overtveldt. The Web service request can coordinate those transactions through implementing WS-C. If a corporation’s customer goes onto its Web site and changes their address, for example, the corporation’s Web service can go across its CRM, ERP and other databases and update them automatically through a WS-C implementation.
IBM has two key products that currently implement these standards. One is WebSphere Application Server Enterprise, and the other is WebSphere Studio Application Developer Integration Edition. WebSphere Application Server Enterprise has “a very, very solid workflow engine and a business rules engine,” both developed by IBM, Van Overtveldt noted.
The workflow engine allows users to define workflows, process flows and the notion of service choreography between “any type of Web services; any type of J2EE assets: servlets, JavaBeans or applets; and JDBC events -- anything that can be described through a WSDL interface,” Van Overtveldt said. But it does so in a way that exceeds the requirements of the BPEL standard.
Workflows are defined and executed in a transactional fashion across a Web service workflow that can span multiple companies, using WS-TX and WS-C. The workflow engine also allows human interaction with the workflows so that users can pause a flow and send off a work item through HTML or a browser-based or portal interface, and the recipient can act on it. In the case of a credit request, for example, the applicant can approve or deny it.
The workflow engine also allows the inclusion of business rules within the workflow, and is integrated tightly with IBM’s business rules engine. That allows developers to code trigger points in the workflow that come into action when certain criteria are met, checking rules from the rules engine and taking the necessary action.
See the related stories “A sampling of business process flow software vendors” and “Microsoft resigns from W3C group”