Aspects of the present invention relate to computer implemented business processes. More specifically, aspects of the present invention relate to computer implemented business processes that allow users to manage partners and to dynamically select partners.
Computer implemented business process applications are used to automate business processes. For example, a supply order business process application may receive a request for a supply from an employee and transmit an order for the supply to a supply partner. Conventional computer implemented business process applications require a user to program the partner information directly into the business process application. In this example, the identification of the business partner and certain attributes, such as address and contact information, are included or hard coded directly into the business process application.
Among other disadvantages, coding partner information directly into a business process application results in a requirement that the business process application be modified and recompiled when business partners or business partner attributes change. This requirement becomes more burdensome as the number of partners increase and can be a factor in limiting the number of attributes to assign to a partner. With existing applications it is impractical to include numerous attributes that frequently change.
Therefore, there is a need in the art for business process methods and systems that allow an end user to manage partner information without modifying and/or recompiling the business process application.
Aspects of the present invention address one or more of the issues mentioned above, thereby providing a computer implemented business process system that allows users to dynamically manage business partners without modifying the business process. A business process identifies selection criteria for selecting business partners. Business partners can be added, modified and deleted without changing the business process.
Aspects of the present invention are described with respect to the accompanying figures, in which like reference numerals identify like elements, and in which:
Exemplary Operating Environment
Aspects of the present invention may be implemented with a distributed computer system operating environment that provides an instant messaging capability. In a distributed computing environment, tasks may be performed by remote computer devices that are linked through communications networks. The distributed computing environment may include client and server devices that may communicate either locally or via one or more computer networks. Embodiments of the present invention may comprise special purpose and/or general purpose computer devices that each may include standard computer hardware such as a central processing unit (CPU) or other processing means for executing computer executable instructions, computer readable media for storing executable instructions, a display or other output means for displaying or outputting information, a keyboard or other input means for inputting information, and so forth. Examples of suitable computer devices include hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, networked PCs, minicomputers, mainframe computers, and the like.
The invention will be described in the general context of computer-executable instructions, such as program modules, that are executed by a processing device, including, but not limited to a personal computer. Generally, program modules include routines, programs, objects, components, data structure definitions and instances, etc., that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various environments.
Embodiments within the scope of the present invention also include computer readable media having executable instructions. Such computer readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired executable instructions and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer readable media. Executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
Computer device 104, computer device 106 and computer device 108 may be coupled to communications network 102 through communication devices. Network interfaces or adapters may be used to connect computer devices 104, 106 and 108 to a LAN. When communications network 102 includes a WAN, modems or other means for establishing communications over WANs may be utilized. Computer devices 104, 106 and 108 may communicate with one another via communication network 102 in ways that are well known in the art. The existence of any of various well-known protocols, such as TCP/IP, Ethernet, FTP, HTTP and the like, is presumed. Computer devices 104, 106 and 108 may exchange content, applications, messages and other objects via communications network 102.
Description of Illustrative Embodiments
A business process execution engine may access one or more databases when selecting business partners. The implementation shown in
Suppliers A-C and or the entity utilizing supply order business process 302 may change the partnership attributes shown in supply partners database 304. For example, Supplier C could set the widget price at $0.50. The next time supply order business process 302 is executed, Supplier C would be selected. A variety of attributes may be included in a database of business partners. The types of attributes may be a function of the role of the partner. The attributes listed for Supplier C include a URL, an address, a preferred format for purchase orders and a digital certificate. In one embodiment of the invention, preferred formats are identified by extensible markup language (XML) schemas. Of course suppliers A and B may also included similar and/or additional attributes. Moreover, some business partners may include custom data that is not used by a business process.
Once a partner is selected, a variable may then be bound to use the identified partner in subsequent instances of the variable. For example, in step 302c an order is transmitted to the supplier. The supplier in step 302c would correspond to the supplier selected in step 302b. Step 302c would include transmitting an order to an address attribute included in supply partners database 304 for Supplier A.
There are numerous ways to describe selection criteria for selecting a business partner. Quotas, ratios, orders, formulas, etc. may be used. In some embodiments, the selection criteria is not known by some or any of the business partners. Moreover, an entity may specify preferred business partners. For example, in step 302d an insurance request is transmitted to a preferred insurer. The preferred insurer and attributes of the preferred insurer are listed in preferred insurer database 306. The preferred insurer and/or attributes of the preferred insurer may be changed without modifying business process 302.
One skilled in the art will appreciate that supply order business process 302 is merely one example of a business process that may use aspects of the invention. Moreover, as used herein “business process” is not limited to processes that include the exchange of money. Other business processes may include the exchange of information. Businesses processes may also take place between enterprises or within the same enterprise.
Aspects of the present invention allow business partners to update partner attributes without imposing a burden on the entity utilizing a business process.
Of course, the entity utilizing a business process may also manage business partner data.
Aspects of the present invention may also use nested business processes. For example,
The present invention has been described in terms of preferred and exemplary embodiments thereof. Numerous other embodiments, modifications and variations within the scope and spirit of the appended claims will occur to persons of ordinary skill in the art from a review of this disclosure. For example, the present invention allows for the modification of a business process without modifying business partner data.