Abstract:
A system and method for triggering a process in an enterprise system. The present invention includes a computer-implemented method, in which an application triggers the execution of a process in response to an external signal indicating a status change. An alternate method includes executing a process in response to an external signal and providing a user interface to each user associated with the process so the user can manage the user&#39;s process data. Examples of implementations of the present invention include a credit card system, an RFID tag system, an electronic tollgate system, an automated callback system, and an inventory transport system.

Description:
BACKGROUND  
       [0001]     An enterprise system interacts with a variety of platforms, operating systems, protocols, and architecture both within the system itself and in external systems in communication with the enterprise system, in order to meet the computing needs of an enterprise or business. In performing many business tasks, a business process on the enterprise system must exchange data with other internal and external processes. This sometimes requires that the process wait for required data from elsewhere before executing. Since the data is dependent on execution of the other processes, it may arrive at the process at any time. After which, a user initiates the process.  
         [0002]     This approach could be more efficient and productive so as not to slow down the process by awaiting initiation by the user. Moreover, because the user has to initiate this process, the user is not able to conduct other work. This becomes particularly problematic when the user is required to initiate processes that are routinely performed, such as on a given schedule, e.g., payroll distribution, or upon occurrence of a certain event, e.g., inventory purchasing, or that are executed concurrently.  
         [0003]     Automating execution of the business processes would save the user time and effort because the user need not initiate the processes. And the processes could be executed immediately upon receipt of the required data. Hence, efficiency and productivity improve.  
         [0004]     Accordingly, there is a need in the art for a system and method to trigger automatic execution of a process on an enterprise system. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0005]      FIG. 1  is a system diagram of an embodiment of the present invention.  
         [0006]      FIG. 2  is a block diagram that depicts an enterprise business architecture in accordance with an embodiment of the present invention.  
         [0007]      FIG. 3  is a block diagram that depicts a configurable business process architecture in accordance with an embodiment of the present invention.  
         [0008]      FIG. 4  is a flowchart of a method for triggering a process in an enterprise system in accordance an embodiment of the present invention.  
         [0009]      FIG. 5  is a block diagram that depicts a computing device in accordance with an embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0010]     Embodiments of the present invention include a system and a method in which execution of a process on an enterprise system is triggered by an external signal. The trigger advantageously allows the process to execute without user initiation, thereby freeing a user to perform other tasks.  
         [0011]     In the enterprise system of an embodiment of the present invention, a platform may be used, e.g., SAP NetWeaver™, upon which configurable business processes may be created to control and use underlying applications to perform business tasks. The business processes are compatible with almost any components, using standard-based interoperability between the components. The underlying applications may be interchangeable and repeatable for different business processes and decoupled therefrom, such that the business processes are unaffected by changes in the underlying applications. Moreover, various components that interact with the business processes may be added or replaced without significant change to the processes themselves.  
         [0012]     SAP NetWeaver™ provides tools for easily integrating data and applications from almost any source to form business processes. Through NetWeaver™, a user can create business processes made up of different applications and dataflow controls according to which the applications are integrated and executed. A business process may be executed to perform some business task. In embodiments of the present invention, one or more business processes may be automatically executed upon receipt of an external signal, multiple external signals, or a series of external signals. Multiple business processes may be executed in series, concurrently, or in any appropriate order.  
         [0013]     The external signal may indicate a change in status of a device, a condition, an application, a user, or another system associated with the enterprise system. For example, the external signal may indicate that a user is now available to attend a meeting or a printer is now running low on toner. Associated with the external signal is a process to respond to the change in status. For example, the external signal may trigger a process to schedule a meeting in response to the user&#39;s availability or a process to order new toner in response to the printer&#39;s low toner.  
         [0014]      FIG. 1  shows a system diagram of an embodiment of the present invention. A network  100  may connect multiple devices, for example, an enterprise system server  110 , a user server  115 , a wireless communication device  120 , a wired communication device  125 , a wireless signal device  130 , and a wired signal device  135 . Server  110  may run on the business&#39; enterprise system and include an integration platform, such as SAP NetWeaver™, business processes, and a trigger application. Server  115  may run as another server on the business&#39; enterprise system, the customer&#39;s system, or the supplier&#39;s system. Server  110  may interact with server  115  during execution of business processes and display data to the business users and/or the customers and suppliers.  
         [0015]     Signal devices  130  and  135  may send external signals to server  110  to indicate a status change, as described above. The signal device may be any device capable of transmitting a signal to network  100 . Communication devices  120  and  125  may be used by the business users, customers, or suppliers to communicate with each other or to receive notification from server  110  of the status change or of execution of the corresponding business process. The communication device may be any device capable of sending and receiving any type of communication.  
         [0016]     It is to be understood that the system of embodiments of the present invention is not limited to that shown, but may include any device or configuration capable of operating as described herein.  
         [0017]      FIG. 2  is a block diagram that depicts an enterprise business architecture in accordance with an embodiment of the present invention. An enterprise business architecture is one in which business tasks are modeled by business processes, which include applications for performing the business task and application controls. Enterprise system server  110  may include an enterprise process platform  200 , business processes  230 - 1  through  230 - p , and trigger application  250 . Platform  200 , such as NetWeaver™, may provide integration between trigger application  250  and business processes  230 - 1  through  230 - p  on server  110  and between external user systems  210 - 1  through  210 - n  and internal user system  220 .  
         [0018]     Business processes  230 - 1  through  230 - p  may perform business tasks, as described previously, when executed. One or more users  240  may interact with one or more business processes  230  according to the requirements of the users. For example, user  240 - 1  may interact with business process  230 - 1  in order to connect with user  240 - m  and vice versa. Similarly, users  240 - 5  and  240 - 8  may interact with business process  230 - p  to view data relevant to each user that is output by the process.  
         [0019]     Trigger application  250  may cause the execution of business processes  230  upon receipt of an external signal from one or more of external signal devices  255 - 1  through  255 - r . Trigger application  250  may identify the business process  230  corresponding to the received external signal and trigger execution of the identified business process  230  via platform  200 .  
         [0020]      FIG. 3  is a block diagram that depicts a configurable business process architecture in accordance with an embodiment of the present invention. A configurable business process architecture is one in which business processes may be configured using interchangeable and repeatable applications that perform business tasks. Business process  230 - p  may include applications  310 - 1  through  310 - 3 , for example, from various sources and the dataflow control between the applications.  
         [0021]     Each user  240 - 5  and  240 - 8  may interact with business process  230 - p  to provide the user-specific data and functionality the user requires from this business process. In this illustration, user  240 - 5  may interact with application  310 - 1  of business process  230 - p  to access data and any functions supported by application  310 - 1 . User  240 - 8  may interact with application  310 - 3  of business process  230 - p  to access data which flows from application  310 - 1  to  310 - 3  and any functions supported by application  310 - 3 . Business process  230 - p  may interact with other processes and other systems via enterprise business platform  200 , such as NetWeaver™.  
         [0022]      FIG. 4  is a flowchart of a method for triggering a process on an enterprise system in accordance with an embodiment of the present invention. Server  110  may await ( 410 ) receipt of an external signal. Upon receipt of the signal, server  110  may identify ( 420 ) the source of the signal. Server  110  may then look up ( 430 ) in the database the identifier of the business process to be executed upon receipt of the external signal.  
         [0023]     Server  110  may trigger ( 440 ) the execution of the business process according to its identifier. To trigger the execution, server  110  may call the business process associated with the identifier.  
         [0024]     Server  110  may notify ( 450 ) the users associated with the business process of execution of the process. Alternatively, server  110  may notify the users of the status change.  
         [0025]     The following are examples of implementations of an embodiment of the present invention. The examples are for illustration purposes only and not intended to represent all implementations of embodiments of the present invention.  
         [0026]     In a credit card billing implementation, server  110  may receive a signal from a credit card reader that a user&#39;s credit card had just been used in a purchase. The signal may include the user&#39;s name, the credit card account number, and the purchase amount. Server  110  may then trigger execution of a billing process, which charges the user&#39;s credit card account with the purchase amount. Server  110  may notify the user that the user&#39;s account has been charged. The billing process may allow the user to access the user&#39;s account and view the balance and the transaction history. The billing process may also provide functionality to the user to pay any amount of the user&#39;s balance from the user&#39;s bank account.  
         [0027]     In a product reorder implementation, server  110  may receive a signal from an RFID receiver that a product with an RFID tag has just been scanned for purchase. The signal may include the product name, the product identifier, and the purchase location. Server  110  may then trigger execution of a reorder process, which decrements the product quantity by the amount purchased and determines whether it is time to reorder the product. Server  110  may notify the store manager when it is time to reorder the product. Alternatively, server  110  may place an order with the product supplier to ship the product to the store and then notify the store manager of the order and shipment. The reorder process may allow the store manager or the product supplier to view the product inventory in the store. The reorder process may also provide functionality to the store manager to reorder product.  
         [0028]     In an automatic callback implementation, server  110  may receive an instant message from an instant messaging device that a person is now available to call back. The signal may include the name and telephone number of the callee and the name and telephone number of the caller. Server  110  may then trigger execution of a callback process, which connects the caller and the callee at the designated telephone numbers. The callback process may ring both the caller and the callee to indicate that the call has been placed and is ready for pickup by them.  
         [0029]     In an inventory transport implementation, server  110  may receive a signal from an inventory scanner that inventory is ready to be moved. The signal may include the inventory number, its location, and its destination. Server  110  may then trigger a transport process, which determines the means of transport and maps out the route the inventory will take to its destination. Server  110  may notify the transporter to pick up the inventory and transport it to its destination. Server  110  may also notify the destination manager that the inventory is enroute. The transport process may allow the inventory manager to track the movement of the inventory.  
         [0030]     In a tollgate billing implementation, server  110  may receive a signal from a tollgate reader that a user&#39;s electronic toll pass had just been read as the user passed through the tollgate. The signal may include the user&#39;s name, the toll pass number, and the toll amount. Server  110  may then trigger execution of a billing process, which deducts the toll amount from the user&#39;s prepaid account. Server  110  may notify the user that the toll has been deducted from the user&#39;s account. The billing process may allow the user to access the user&#39;s account and view the balance and the transaction history. The billing process may also provide functionality to the user to add value to the user&#39;s account from the user&#39;s bank account.  
         [0031]      FIG. 5  illustrates the components of a basic computing device in accordance with an embodiment of the present invention, e.g., enterprise system server  110 . The computing device may be a personal computer, workstation, handheld personal digital assistant (“PDA”), or any other type of microprocessor-based device. The computing device may include one or more of processor  510 , input device  520 , output device  530 , storage  540 , and communication device  560 .  
         [0032]     Input device  520  may include a keyboard, mouse, pen-operated touch screen or monitor, voice-recognition device, or any other device that provides input. Output device  530  may include a monitor, printer, disk drive, speakers, or any other device that provides output.  
         [0033]     Storage  540  may include volatile and nonvolatile data storage, including one or more electrical, magnetic or optical memories such as a RAM, cache, hard drive, CD-ROM drive, tape drive or removable storage disk. Communication device  560  may include a modem, network interface card, or any other device capable of transmitting and receiving signals over a network. The components of the computing device may be connected via an electrical bus or wirelessly.  
         [0034]     Software  550 , which may be stored in storage  540  and executed by processor  510 , may include, for example, the application programming that embodies the functionality of the present invention. Software  550  may include a combination of enterprise applications.  
         [0035]     Network  100  may include any type of interconnected communication system, which may implement any communications protocol, which may be secured by any security protocol. The corresponding network links may include telephone lines, DSL, cable networks, T1 or T3 lines, wireless network connections, or any other arrangement that implements the transmission and reception of network signals.  
         [0036]     The computing device may implement any operating system, such as Windows or UNIX. Software  550  may be written in any programming language, such as ABAP, C, C++, lava or Visual Basic. In various embodiments, application software embodying the functionality of the present invention may be deployed on a standalone machine, in a client/server arrangement or through a Web browser as a Web-based application or Web service, for example.  
         [0037]     Several embodiments of the invention are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.