Before implementing method-oriented B2B application integration, it is necessary to understand all the processes, methods, and programs that exist within the enterprise. Confronted with such a monumental task, the initial question that confronts us must be, "How best should we proceed?"
The first step is to break the processes down to their scenarios, or types. For the purposes of B2B application integration, these types are rules, logic, data, and objects.
A rule is a set of conditions that has been agreed upon. For example, a rule may state that employees may not fly first class on flights of less than 5,000 miles, or that all transactions of more than $1 million must be reported to the government. The rules that exist within a given enterprise are built into the applications to control the flow of information. Rules can also be placed in trading communities to control the flow of information between trading partners.
Normally, rules exist in stovepipesin a single application, and accessible to a single department. The challenge of B2B application integration is to provide the infrastructure that will allow for the sharing of these rules between organizations. By doing so, these rules will become accessible to many applications either from their current location or by moving them to a central location.
Rules need to be understood because they affect every aspect of moving data between trading partners, including identifying, processing, and transforming it. In fact, rules processing at the middleware levelthrough message brokers or process-automation toolswill become the first generation of B2B application integration.
Logic differs from rules in that it is simply a sequence of instructions in a program. For example, if this button is pushed, then the screen pops up. The real difficulty in dealing with logic is the consequence of a very basic reality: Any 10 programmers, given the same set of specifications, may come up with 10 slightly different program logics that all function perfectly well. In many ways, logic is as much an art form as a science.
Three classes of logic exist: sequential processing, selection, and iteration. Sequential processing is the series of steps in the actual data processing. Input, output, calculation, and move (copy) are examples of the instructions used in sequential processing. Selection is the decision-making dynamic within the program. It is performed by comparing two sets of data and, depending on the results, branching to different parts of the program. Iteration is a repetition of a series of steps. It is accomplished with DO-LOOPS and FOR-LOOPS in high-oriented languages.
In this context, data is nothing more than sharing information between trading partner applications, computers, or humans. Reporting systems, enterprise accounting systems, and human resource systems all share data. Because methods act on data, the way in which information is shared at the method level needs to be understood for method-oriented B2B application integration to be successful.
Objects in systems generally use object-oriented technology, such as C++ or Java. Despite the fact that most objects are service-oriented objects (that is, objects that do something when an interface is invokedmore on this comes later), the object mix may also include distributed objects.
Identifying objects within the trading community is more complex than identifying business processes. It requires an understanding of the object models used to construct the applicationsif they exist or, if not, if they had ever been created. In the absence of the object model, the applications must be re-engineered from the existing code base. (Fortunately, a good set of tools and technologies exists to aid in this re-engineering. Without such tools, the task would demand reading each line of code and creating the object models from scratch.)
Creating object-oriented integration within a trading community is more than difficultit may well be impossible. Although its value cannot be disputed, object-oriented integration is a highly invasive process. It demands tight coordination between IT departments within many different companies that exist in a trading community.