1. Field of the Invention
The present invention relates generally to computer-implemented representations of processes and more specifically to a system and method for conversion from graphical business process representations having certain types of node-connection configurations to structural text-based business process representations.
2. Description of the Related Art
A business process includes a defined set of actions taken in the course of conducting business. Through the use of computer systems, business processes can be automated. An automated business process typically requires input and generates output. A business process may be a single task or a complicated procedure such as a procedure for building a product. An example of a more complicated business process is a computer-implemented business transaction (carried out against a database) for the purchase of goods on the Internet. The term “business process” also includes other processes that are related to a business context in a broad sense. For example, a process used to manage donor lists for a charity is referred to as a “business” process although it relates to a charitable activity and not a business activity as narrowly defined.
For all business processes, but in particular for automated business processes, it is potentially advantageous to document the processes using a computer-implemented representation. Often business processes are graphically represented in a computer-implemented system using a visual representation.
Computer software such as the WebSphere™ Studio Application Developer Integration Edition (WSADIE) process tool distributed by IBM Corporation allows users to visually represent a business process as a graph having node, terminal and connection elements. Connection elements connect nodes as in a directed graph and provide a flow that is apparent in the visual representation and which is intended to represent the relationships between activities in business processes. In a graphical representation that is used to control a business process, control over the process is transferred from node to node as the connection elements are followed.
Alternatively, business processes may be represented in a computer system textually using a structural computer language, such as Business Process Execution Language for Web Services (BPEL4WS). BPEL4WS is used to describe business processes and is based on Extensible Markup Language (XML) specifications. BPEL4WS allows for text-based business process representations having a structure of hierarchical nested elements.
It is desirable to convert between graphical and text-based representations of business processes. However, the complex structure of many business processes renders such conversion difficult. In a business process represented in a graphical system, control dependency of one node or activity on another is defined by the flow of the control connections between the nodes. In a simple process, the control dependency follows a single path; when a first activity finishes, control is passed from that node to the next node following the control connection, and the next activity represented by the next node is executed.
However, for a complex process, there is typically no single path defining control dependency. Certain configurations of control connections and nodes in graphical representations present difficulties in the conversion to a structural text-based representation. One such configuration is the graphical representation of a “cross-over” process, in which a first node is connected to more than one subsequent node, and the execution of one of those subsequent nodes depends on receipt of output from that first node as well as output from another node which may be executed concurrently with the first. Another configuration presenting conversion difficulties is a conditional process that depends on an event or a fault: control is passed to one of many potentially nodes via one of many control connections, depending on the output from a previous node.
For such configurations, there may be a number of solutions by which the business process represented in the graphical representation may be converted to a structural text-based representation. Each of these text-based representations may be valid, in that the process represented provides the same result as the business process represented graphically. However, these possible solutions may not be consistent or easily derived. Further, they may not all necessarily reflect the correct semantics and relationships among the elements of the process. The cross-over and conditional processes create difficulties in the graph-to-text conversion because there is no directly translatable structure provided in the available text languages which provide hierarchies of nested elements. To determine a correct conversion, graphical analysis may be undertaken to obtain a better semantic understanding of the process represented by the original graph.
Because there are no direct equivalents in the structural text-based representations for these types of node-connection configurations, there are a number of possible solutions that may be chosen in converting a graph-based representation of a business process to a structural text-based representation. This potential set of conversion possibilities creates problems with consistency of conversion as well as potential documentation problems, since some solutions are more difficult to document than others.
It is known, for example, to transform data published during the execution of a business process into a standard format such as XML, as mentioned in U.S. Patent Application No. 2002/0116362 (Li et al.). The business process representation may be constructed using a graphical process tool. However, Li et al. does not disclose a method or system for transforming the graphical representation of the business process itself to another format.
It is therefore desirable to provide a system and method for converting graphical representations of business processes containing cross-over and/or conditional processes to structural, text-based representations in a consistent manner that can be implemented automatically without requiring extensive semantic graphical analysis.