The present invention generally relates to a back-end data routing method, system and program product. Specifically, the present invention allows an appropriate back-end system to be identified to process a request based on the item requested and a location setting corresponding to a requestor.
In business, it has become common for employees to request goods and services to perform essential job functions. Such requests can include items ranging from stationary and business cards to actual goods (e.g., chemicals) needed for production. As businesses become more computer dependent, many requests for items are made using one or more computer-based applications. For example, an employee seeking to order a particular item can log into a front-end system such as purchasing application, and browse available items for the one he/she needs. Upon locating the desired item, the employee can submit a request for the same. The request is the typically processed by a back-end system that interfaces with the appropriate item supplier.
Unfortunately, as efficient as computer-based item ordering can be, certain drawbacks are present. For example, it is often the case that multiple back-end systems are present within a single organization. To this extent, certain back-end systems could be responsible for obtaining certain items. For example, an organization could have a production procurement back-end system for processing requests for items needed for production/manufacturing, and a general procurement back-end system for processing requests for all other overhead items. Having multiple back-end systems is especially problematic where each back-end system has its own set of configurations. That is, each back-end system could have its own set of codes such as accounting codes, company codes, plant codes, location codes, tax codes, etc. Under such circumstances, validating the information entered by the user and bridging the front-end system to the multiple back-end systems can be a difficult and error prone process. Furthermore, the process of selecting an appropriate back-end system must remain invisible to the users.
In view of the foregoing, there exists a need for a back-end data routing method, system and program product. Specifically, a need exists for a system than can select an appropriate back-end system to process a request for an item in a manner that is invisible to a user. A further need exists for such a system to limit a request for an additional item in the same order based on the back-end system selected to process the original request.
In general, the present invention provides a back-end data routing method, system and program product. Specifically, under the present invention, when a requestor submits a request for an item, a single, appropriate back-end system for processing the request is identified. Typically, the back-end system is identified based on the item requested and a location setting within the requestor's profile. The location setting generally indicates the requestor's geographic location and their job responsibility. Once a particular back-end system is identified, subsequent requests in the same order are limited to items that are associated with the identified back-end system. If the requestor attempts to request an item that is not available via the identified back-end system, an error message is displayed.
A first aspect of the present invention provides a back-end data routing method, comprising: receiving a request for a first item from a requester; identifying a back-end system from a set of back-end systems for processing the request, wherein the back-end system is identified based on the first item and a location setting within a profile corresponding to the requestor; and limiting a request for a second item by the requestor to an item associated with the identified back-end system.
A second aspect of the present invention provides a back-end data routing system, comprising: an item display system for providing a set of available items to a requestor based on a location setting in a profile corresponding to the requestor; and a request system for receiving a request for a first item from the requester and for identifying a back-end system from a set of back-end systems for processing the request, wherein the back-end system is identified based on the item and the location setting, and wherein a request for a second item by the requestor is limited to an item associated with the identified back-end system.
A third aspect of the present invention provides a program product stored on a recordable medium for back-end data routing, which when executed comprises: program code for providing a set of available items to a requestor based on a location setting in a profile corresponding to the requester; and program code for receiving a request for a first item from the requestor and for identifying a back-end system from a set of back-end systems for processing the request, wherein the back-end system is identified based on the item and the location setting, and wherein a request for a second item by the requestor is limited to an item associated with the identified back-end system.
Therefore, the present invention provides a back-end data routing method, system and program product.
These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
Is noted that the drawings of the invention are not to scale. The drawings are intended to depict only typical aspects of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements between the drawings.
As indicated above, the present invention provides a back-end data routing method, system and program product. Specifically, under the present invention, when a requestor submits a request for an item, a single, appropriate back-end system for processing the request is identified. Typically, the back-end system is identified based on the item requested and a location setting within the requestor's profile. The location setting generally indicates the requestor's geographic location and their job responsibility. Once a particular back-end system is identified, subsequent requests in the same order are limited to items that are associated with the identified back-end system. If the requestor attempts to request an item that is not available via the identified back-end system, an error message is displayed since the users are not generally allowed to add items that are not supported by the back-end system previously identified. It should be understood that as used herein, the term “item” is intended to refer to goods or services.
Referring now to
As depicted, computer system 12 generally includes central processing unit (CPU) 22, memory 24, bus, 26, input/output (I/O) interfaces 28, external devices/resources 30, and storage unit 32. CPU 22 may comprise a single processing unit, or be distributed across one or more processing units in one or more locations, e.g., on a client and server. Memory 24 may comprise any known type of data storage and/or transmission media, including magnetic media, optical media, random access memory (RAM), read-only memory (ROM), a data cache, a data object, etc. Storage unit 32 may comprise any type of data storage for providing more static storage of data used in the present invention. As such, storage unit 32 may include one or more storage devices, such as a magnetic disk drive or an optical disk drive. Moreover, similar to CPU 22, memory 24 and/or storage unit 32 may reside at a single physical location, comprising one or more types of data storage, or be distributed across a plurality of physical systems in various forms. To this extent, memory 24 and/or storage unit 32 can include data distributed across, for example, a LAN, WAN or a storage area network (SAN) (not shown).
I/O interfaces 28 may comprise any system for exchanging information to/from one or more external devices 30. External devices 30 may comprise any known type of external device, including speakers, a CRT, LED screen, hand held device, keyboard, mouse, voice recognition system, speech output system, printer, monitor/display, facsimile, pager, etc. Bus 26 provides a communication link between each of the components in computer system 12 and likewise may comprise any known type of transmission link, including electrical, optical, wireless, etc. In addition, although not shown, additional components, such as cache memory, communication systems, system software, etc., may be incorporated into computer system 12. It is understood that requestor device 16 typically includes the same components (e.g., CPU, memory, etc.) as shown and described with reference to computer system 12. These components have not been separately shown or discussed for brevity.
Shown in memory 24 is front-end system 34, data routing system 36 and back-end systems 38. Front-end system 36 is intended to represent any type of purchasing application now known or later developed with which requestor 14 can interface to request items. Back-end systems 38 can be any systems now known or later developed that receive request “data” from front-end system 34, and communicate with suppliers 18. In a typical embodiment, at least two back-end systems 38 are present. For example, a general procurement back-end system can be provided that is responsible for processing requests for items of a general nature that do not typically involve manufacturing or the like (e.g., stationary, etc.). Similarly, a production procurement back-end system can be provided that is responsible for processing requests for production-based items. Production-based items are those used to manufacture actual products. For example, if an organization is manufacturing circuit chips, a production-based item would be copper wire or silicon. Still yet, it could be the case that a single organization has multiple such back-end systems for its various locations. For example, one plant could have its own general procurement and production procurement back-end systems, while another plant could have its own general procurement and production procurement back-end systems. This could especially be the case where an organization is international and different sets of back-end systems are provided in each country. In any event, regardless of the quantity and disparity of back-end systems 38, the present invention provides data routing system 36 to bridge front-end system 34 with back-end systems 38 in a manner that is invisible and seamless to requestor 14.
Under the present invention, back-end systems can be added to system 10 using configuration system 42 of data routing system 36. In general, configuration system 42 allows an administrator 54 or the like to perform various mappings for back-end systems 38. For example, as indicated above, a single organization may have several back-end systems 38 depending on the types of items to be ordered, the physical locations within the organization, etc. Furthermore, each back-end system 38 might have its own set of configurations. For example, each back-end system 38 could have its own distinct commodity codes, company codes, plant codes, settings, etc. To help bridge front-end system 34 with these disparate back-end systems 38, configuration system 42 allows each of these configurations to be mapped to a particular standard. This allows all back-end systems 38 to communicate using the same codes or settings.
In any event, to request an item, requestor 14 would log into front-end system 34. As known, validation and/or authentication of requester 14 can be part of the log in process. Prior to requesting items, requestor 14 would need to establish a profile. To this extent, profile system 40 is shown within front-end system 34. It should be understood that although not shown, front-end system 34 would include other known subsystems. Further, even though profile system 40 is shown within front-end system 34, this need not be the case. Rather, profile system 40 could be provided in many alternate ways (e.g., within data routing system 36). In any event, requestor 14 will designate various pieces of information in establishing his/her profile. For example, requestor 14 could designate his/her name, address, etc. However, under the present invention, requestor 14 will also designate a location setting. The location setting generally comprises a geographic location of requestor 14 as well as a job responsibility. For example, if requestor 14 works out of his/her company's Fishkill, New York location, and requestor 14 is involved in “production” duties, requestor 14's location setting could be “Fishkill-Production.” Once a profile with a location setting is established, it can be stored in storage unit 32.
Using the location setting within the profile, association system 44 of data routing system 36 will associate requestor 14 with a set (e.g., one or more) of back-end systems as well as available items he/she is permitted to request. Specifically, using the location setting, association system 44 will identify the applicable back-end systems 38 through which requestor can order items. As indicated above, an organization may have multiple back-end systems depending on the type of item being ordered as well as the location of the requestor 18. Association system 44 will associate requestor 14 with only those back-end systems that are applicable to requestor 14's location setting. In the example, above, requestor 14's location setting was “Fishkill-Production.” Accordingly, requestor 14 will be associated with the production procurement and general procurement back-end systems that are used by the Fishkill location. This generally means that requestor 14 can request only those items that are available through Fishkill's production procurement or general procurement back-end systems. If requestor 14's location setting was “Fishkill-General,” requestor 14 would only be able to request items available through Fishkill's general procurement back-end system. Accordingly, by associating requestor 14 with specific back-end systems 38, requestor 14 is also indirectly associated with particular items he/she can request. The association between requestor 14 and particular back-end systems 38 can then be stored in a table or the like in storage unit 32.
When requestor 14 later wishes to request an item, item display system 46 within data routing system 36 will access storage unit 32 and determine the back-end systems 38 with which requestor 14 is associated. Thereafter, item display system 46 will provide requestor 14 with a set of items that are available to him/her through the associated back-end systems. For example, based on requestor's 14 user name and/or password, item display system 46 can access the above-mentioned table in storage unit 32 to determine the associated back-end systems 38. Item display system 46 can then display to requestor 14 (e.g., via front-end system 34) a list of items that are available through those back-end system 38. Using the interfaces provided by front-end system 34, requestor 14 can then browse the set of available items and select a first item for purchase. In a typical embodiment, requestor 14 can select items in a “shopping cart” format. Regardless, once requestor 14 has requested the first item, the request is passed to data routing system 36 and received by selection system 48. Based on the type of item selected, a single, applicable back-end system 38 is identified and selected by selection system 48 from the set of back-end systems with which requestor 14 was associated. Specifically, if requestor 14 requested copper wire, the production procurement back-end system 38 (as opposed to the general-procurement system) with which requester 14 was associated will be identified. As can be seen that the identification and selection of a single back-end system 38 for processing the request is based not only on the location setting corresponding to requester 14 (as explained above), but also on the actual item requested. Specifically, a set of applicable back-end systems is identified and associated with requester 14 base don the location setting. Thereafter, a single back-end system 38 is identified from the set to process a specific request based on the item requested.
After the appropriate back-end system 38 is identified, subsequent requests by requestor 14 in the same order (shopping cart) are limited to only those items that are available through the same back-end system 38. For example, if requestor the submits a request for a second item, selection system 48 will receive the request and determine whether the item can be obtained via the identified back-end system 38. If it can, the item is added to the order. However, if the second item is not available through the identified back-end system, messaging system 50 will generate an error message for display to requestor 14. For example, if requestor 14 first requested a production procurement-based item, and then later requested a general procurement-based item, an error message would be displayed. Referring now to
Referring now to
It is understood that the present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer/server system(s)—or other apparatus adapted for carrying out the methods described herein—is suited. A typical combination of hardware and software could be a general-purpose computer system with a computer program that, when loaded and executed, carries out the respective methods described herein. Alternatively, a specific use computer, containing specialized hardware for carrying out one or more of the functional tasks of the invention, could be utilized. The present invention can also be embedded in a computer program product, which comprises all the respective features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods. Computer program, software program, program, or software, in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.
The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of the invention as defined by the accompanying claims.
Number | Name | Date | Kind |
---|---|---|---|
6823391 | Deen et al. | Nov 2004 | B1 |
6876977 | Marks | Apr 2005 | B1 |
6983278 | Yu et al. | Jan 2006 | B1 |
20020174247 | Shen | Nov 2002 | A1 |
20020198790 | Paulo et al. | Dec 2002 | A1 |
20030036966 | Amra et al. | Feb 2003 | A1 |
20030040997 | Rousseau et al. | Feb 2003 | A1 |
20030099237 | Mitra et al. | May 2003 | A1 |
20050027610 | Wharton | Feb 2005 | A1 |
20050120121 | Guo et al. | Jun 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20050086125 A1 | Apr 2005 | US |