1. Field
Embodiments of the invention relate to control and execution of extended business processes. More specifically, embodiments of the invention relate to central definition and local execution of extended business processes.
2. Background
Historically, extended business processes have often used a centralized instance control the process. This results in a hub and spoke architecture where various constituent processes rely on the central instance for process control and execution at runtime. As the number of instances for which the process must be executed increases and the data volume increases proportionally, central execution and control may become a bottleneck. For example, in the context of fulfillment, various subsystems (constituents) of a supply chain management system rely on aspects of the fulfillment process. For example, the sale subsystem, the planning subsystem, the warehouse management subsystem all rely to some degree on the fulfillment process. In a larger enterprise, each of these subsystems may involve numerous products and/or product locations resulting in a flood of data to the central instance responsible for fulfillment. These subsystem's expectations of substantially real time response to fulfillment requests magnifies the problems caused by the bottleneck in the existing architecture.
A system and method for process execution in a distributed system is disclosed. A central instance creates a generic process definition. A relevant portion of the process definition may be distributed to the various constituents of the system so that each constituent can execute a relevant portion of the process locally at runtime. The results of the local execution may be communicated directly between constituents.
The invention is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.
Prior to runtime, the integration system 100 sends a relevant portion of the process definition, here PC process fulfillment, to the various instances of the constituents. This distribution is depicted as the dotted lines between the integration system 100 and the other constituents in
Each instance 102-1, 102-2 of the sales system 102 includes a sales application component 122 and the sales relevant portion of the genericized process (here process fulfillment 132) distributed by the integration system in advance of runtime). Similarly, the planning system includes a planning application component 124 and the planning relevant portion of the genericized process, PC process fulfillment 134. Financial system 106 includes accounting application component 126 and the financially relevant portion of the genericized process component (PC) process fulfillment 136. Similarly, execution system includes an execution application 128 and the execution relevant portion of process component process fulfillment 138. In other embodiments, more or fewer constituents may exist. While much of the discussion herein illustrates embodiments of the invention in the context of process fulfillment, other processes may be generically defined in advance of runtime and distributed to run locally on distributed constituents in accordance with embodiments of the invention.
At runtime, the constituents communicate directly amongst themselves and execute and the distributed process, here process fulfillment, locally to each constituent. This is depicted as the solid lines between constituents in
Business document 220 is received over the point to point link at proxy 245 for inbound agent 244. Inbound agent forwards the business document to PC process fulfillment 250, which has the portion of the fulfillment process relevant to constituent 204. That relevant portion will process the incoming business document locally, possibly generating an exception 260 or business event 270. In either case, that is passed to the event manager 254 where it may be used in work flow 280 as appropriate or provided to one or more other event consumers.
During runtime, the constituent having received a relevant portion, executes the relevant portion locally to the constituent at block 406, a determination is made at 408 if further processing is required. If required, the first constituent may pass the result to another constituent at block 410. This may be done by sending over a point to point asynchronous link or using any other messaging protocol suitable for conveying such results. When the other constituent receives the result at block 412, the receiving constituent executes the relevant portion of the generic process locally to that constituent at block 406. Throughout the runtime process, the central instance 420 monitors the process and maintains a record of that monitoring.
Elements of embodiments may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, flash memory, optical disks, CD-ROMs, DVD ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cares, propagation media or other type of machine-readable media suitable for storing electronic instructions. For example, embodiments of the invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
It should be appreciated that reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the invention.
In the foregoing specification, the invention has been described with reference to the specific embodiments thereof. It will, however, be evident that various modifications and changes can be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.