Until now, what was missing from the application integration mix was the notion of process integration. Process integration is the capability to define a common business process model that defines the sequence, hierarchy, events, execution logic, and information movement between systems residing in the same organization (EAI) and system residing in multiple organizations (B2B). In this article, David S. Linthicum focuses on B2B process integration.
Data and application interface-oriented B2B application integration is the science of integrating numerous applications and data stores so that they benefit one another within a trading community. This is more traditional application integration and typically occurs at the information levela simple exchange of data between systems housed in different trading partners, or perhaps systems that are allowed to share common methods. Typically, this means defining information flows at the physical level, not taking into account abstract business concepts such as shared agreements and processes, which are becoming critical for B2B application integration.
Until now, what was missing from the application integration mix was the notion of process integration. Process integration is the capability to define a common business process model that defines the sequence, hierarchy, events, execution logic, and information movement between systems residing in the same organization (EAI) and system residing in multiple organizations (B2B). We'll focus on the B2B discussion here.
Process integration is a strategy as much as technology, which strengthens your organization's capability to interact with trading partners by integrating entire business processes, both within and between enterprises. Indeed, process automation delivers B2B application integration by dealing with several organizations using various metadata, platforms, and processes. Thus, process integration technology must be flexible, providing a translation layer between the source and target systems, and the process integration engine. Moreover, process integration technology needs to work with several types of technologies, including message-oriented and transaction-oriented middleware.
Process integration is the science and mechanism of managing the movement of data, and the invocation of processes in the correct and proper order to support the management and execution of common processes that exist in and between organizations. Process integration-oriented B2B application integration provides another layer of easily defined and centrally managed processes that exist on top of an existing set of processes and data contained within a set of trading partner applications.
The goal of our discussion is to define a mechanism to bind relevant community processes that exist between trading partners to support the flow of information and logic between them, maximizing their mutual value. Moreover, we're looking to define a common, agreed-upon process that exists among many organizations that has visibility into any number of integrated systems and that also is visible to any systems that need to leverage the common process model.
Process integration-oriented B2B application integration views middleware, or the "plumbing," as a commodity, with the capability to leverage both message-oriented and transactional middleware as points of integration into any number of source or target systems. In fact, most message brokers and application servers are beginning to offer process-integration tools that support their middleware technology. Indeed, process integration generally provides easy-to-use visual interfaces for binding these processes together and, along the way, creating visual process integration-oriented B2B application integration.
While some may question the relevance of process integration-oriented B2B application integration, and even B2B application integration, we would argue that process integration-oriented B2B application integration is the ultimate destination of B2B application integration (acknowledging that we still have a long way to go to perfect the middleware). Despite current shortcomings, many B2B application integration vendors are aggressively promoting process integration-oriented B2B application integration as a vital component of their B2B application integration technology package. In doing so, their strategy is clear: They are anxious to join the world of high-end, process integration-oriented B2B application integration modeling tools. They hope that their B2B application integration-enabled middleware, such as message brokers and application servers, will accomplish just that.
Process integration-oriented B2B application integration is best defined as applying appropriate rules, in an agreed-upon logical sequence, to pass information between participating systems as well as to visualize and share application-level processes, including the creation of a common abstract process that spans both internal and external systems. This definition holds true regardless of whether the business processes are automated. For example, processing an insurance claim or delivering a car to a customer are business events that can be automated with process integration-oriented B2B application integration.
For example, three companies participate in a trading community, companies A, B, and C. Company A produces parts for skateboards, while Company B assembles and test the skateboards, and finally Company C sells the skateboards. Each has its own set of processes that are native to the respective companies, their internal systems, a production system, an assembly system, and a sales systems. Until now, automated integration has been nonexistent, and mail and fax serve as communications between companies.
To integrate these applications, the trading community has decided to implement process integration-oriented B2B application integration defining a common process model that spans all companies and internal systems. This process model defines a sequence and a logical order of events from the realization of consumer demand, the purchase of raw materials, creation of the parts, assembly of the parts into a product, product testing, and sales of the products to the ultimate consumer. This common model integrates with local systems by having visibility into internal application processes, if possible, or perhaps through more primitive layers such as the database or application interface. What's important is that the common process model can produce events that are understood by the systems participating in the process, as well as react to events that the applications communicate back to the process integration engine.
The use of a common process model that spans multiple companies for B2B application integration provides many advantages, including these:
The capability to create a common, agreed-upon process between companies automating the integration of all information systems to react to business events such as increased consumer demand, material shortages, and quality problems in real time
The capability to monitor all aspects of the business and trading community to determine the current state of the process in real time
The capability to redefine the process at any given time in support of the business, and thus make the process more efficient
The capability to hide the complexities of the local applications from the business users and to have the business user work with a common set of business semantics
To this end, B2B process integration provides three main services: the visualization of processes contained within all trading partner systems, interface abstraction, and the real-time measurement of business process performance.
By visualizing enterprise and cross-enterprise processes contained within trading partners, business managers can become involved in enterprise integration. The use of graphics and diagrams provides a powerful tool for communications and consensus building. Moreover, this approach provides a business-oriented view of the integration scenarios, with real-time integration with the enabling middleware or points of integration. This provides business analysts with the capability to make changes to the process model and then implement it within the trading community, and it typically does not involve the respective IT departments.
There are three types of processes to visualize: internal, community-wide, and specialized processes.
Internal processes exist at the intracompany level, providing the business user with the capability to define common EAI processes that span only systems within the enterprise. They are not visible to the trading partners or community-wide processes. For example, the process of hiring an employee may span several systems within the enterprise, but it should not be visible to processes that span a trading communityor to other organizations, for that matter.
Community-wide processes exist between companies and consist of a set of agreed-upon procedures for exchanging information and automating business processes within a community.
Specialized processes are processes created for a special requirements, such as collaboration on a common product development effort that exists only between two companies and that has a limited life span.
Interface abstraction refers to the mapping of the process integration model to physical system interfaces and the abstraction of both connectivity and system integration solutions from the business analyst. Process integration exists at the uppermost level in the B2B middleware stack. Those who use process integration tools can view the world at a logical business level and are not limited by physical integration flows, interfaces, or adapters. What's more, the middleware mechanisms employed are also abstracted and are not a concern of the business process analyst, as long as the common process model is interacting correctly with all source and target systems that exist within all companies.
Although each process integration tool and project may take a slightly different approach, the internal process of interacting with the physical systems typically consist of the following set of events:
1. The source system that exists inside a company posts an event to the process integration enginefor instance, a skateboard is sold.
2. The event is transformed, if required, so that the event adheres to a standard set of business semantics and information-processing mechanisms (synchronous vs. asynchronous). This is going to be engine-dependent, but there always has to be a common set of process semantics and information-processing mechanisms defined at the engine level so that the analyst can make sense of a business process that spans many types of applications, platforms, and databases.
3. The process-integration engine reacts to the event, once transformed, invoking other processes in other systems to support the execution of the common B2B process model. For instance, if a skateboard is sold, then send an order to the skateboard assembler, posting an event from the process engine to the assembler's target system, typically over the Internet.
4. Based on receiving that event, the local system reacts as per its internal processes and posts an event back to the process engines (say, when the skateboard is assembled).
5. The common process model sequences the master process, sending and receiving other events in support of the common B2B process model. This is an ongoing activity, with information moving up to the process engine from the local systems, being transformed if required, and then moving down from the process engine to the local systems in support of the execution of the process model.
Another way to view the process of creating a process-integration model is to define the hierarchy of processes within the trading community. This means that smaller subprocesses can be linked at the lower tier of integration or are native to the source or target systems. Building up from the lower-level processes to the higher-level processes, you may link the subprocesses into higher-level processes within the domain of the trading community.
The measurement of business process performance provides the B2B process integration with the capability to analysis a business in real time. By leveraging tight integration with the process model and the middleware, business analysts can gather business statistics in real time from the trading communityfor instance, this could be the performance of a supplier in shipping goods to the plant, and the plant's capability to turn those raw materials into product.
Moreover, process integration provides the technology user with the ability to track and direct each instance of a business process. For example, this could involve processing individual orders or medical insurance claims through a life cycle that may consume seconds, minutes, hours, days, or weeks. Finally, we need to measure and maintain contextual information for the duration of a process instance that spans many individual activities.
The good news is that most business processes are already automated within trading communities. The bad news is that they tend to be loosely coupled and to exist on different systems. For example, adding a customer to a packaged accounting application may establish the customer in that system, but it may still be necessary to use another system (a different system that may exist within a trading partner) to perform a credit check on that customer, and still another system to process an invoice. You needn't possess exceptional insight to recognize the potential for disaster that exists in this scenario. Not only do these disparate systems need to share information, but they also need to share that information in an orderly and efficient manner.
Indeed, the goal of process integration-oriented B2B application integration, and of B2B application integration generally, is to automate the data movement and process flow so that another layer of process integration-oriented B2B application integration will exist over and above the processes encapsulated in existing systems. In other words, process integration-oriented B2B application integration completes B2B application integration, allowing the integration of systems not only by sharing information readily, but also by managing the sharing of that information with easy-to-use tools.
In general, process integration logic addresses only process flow and integration. It is not a traditional programming logic, such as user interface processing, database updates, or the execution of transactions. Indeed, in most process integration-oriented B2B application integration scenarios, the process logic is separated from the application logic. It functions solely to coordinate or manage the information flow between many source and target applications that exist within organizations.