Computers may use browsers to interface with the World Wide Web and other Internet-based networks, such as enterprise portals. Many browsers allow users to add links to their favorite or most used web pages in a “Favorites” list. Links can also be imported into a browser's “Favorites” list from a different computer or browser.
In an organization, “Favorites” lists may be very useful for personalizing user computers. The individual users may select those links they use most often in their work, which may improve work efficiency. However, since the user must add or import the links at the client computer, the “Favorites” list feature in many browsers may not be an efficient way to make links available across the organization.
An enterprise system may include a server including an integration module that enables applications at the server to integrate web services, e.g., by providing links to the external web service. Each application is associated with one or more business types in a table at the server. The integration module, which may be an API, sends a list of external web services of a type (or types) associated with an application when a user at a client computer in the enterprise system opens that application, e.g., through an enterprise portal. The integration module may also generate a URL call and redirect the user's browser to an external web service when the user selects that external web service.
The URL call may be in an OCI/OPI-compliant format. The integration module may also receive a response from the selected external web service in an OCI/OPI-compliant format.
The server 104 may include an API (Application Programming Interface) 114 that enables the applications 106 at the server to integrate web services 116, e.g., by providing links to the external web service. This web service integration feature may provide a functionality similar to a personal “favorites” list of links. However, rather than individual users having to select individual links or import links into their browsers, the links are provided automatically through the application. This may provide a convenient way to make certain “favorite” links available across the organization.
Information about a number of external web services may be stored in a table 120 at the server 104. Every field in the table 120 may contain a name-value pair and have a type. The information stored in the table for each external web service may include the following information: the external web service URL (Uniform Resource Locator), which should refer to the location of the external web service; fields specific to the external web service, such as username and password; and a business type.
The business type indicates a classification for the web service based on the type of information the web service provides. The following are exemplary classifications that may be used for external web services: catalogs; business directories; search engines; chat rooms; newsgroups; marketplaces; portals; companies; associations; financial services; e-forms; etc. These classifications may be selected and assigned to selected external web services during a customization process for the web service integration feature.
The user may trigger a call to an external web service by selecting a link to the web service (block 208). The API may return the URL of the external web service and all parameters from the table 120 that will be transferred to the web service (block 210). The server 104 may then construct a URL call to the external web service from the URL and parameters (block 212) and redirect the client browser to the external web service (block 214). The application may open a new browser at the client for the external web service (block 216).
In an embodiment, the server may include SRM (Supplier Relationship Management) software developed by SAP AG of Waldorf, Germany. The enterprise system 102 may utilize an interface between the SRM server and the client computers, as shown in
The enterprise system 102 and the external web services 116 may communicate using an interface protocol, such as the Open Catalog Interface (OCI)/Open Partner Interface (OPI) developed by SAP AG of Walldorf, Germany. In an embodiment, the API 114 will also allow the import of data from external web services that are OCI/OPI compliant, as shown in
OCI/OPI uses standard Internet protocols, e.g., HTTP (Hypertext Transfer Protocol), to exchange information between the server and the external web services (e.g., catalog servers and external partner directories). Using the OCI/OPI, the enterprise system may send a request in an OCI/OPI-compliant format to an external web service, and the external web service may return a response page, including results compiled in response to the request, in an OCI/OPI-compliant format.
The OCI/OPI includes an outbound section and an inbound section. The outbound section consists of the information in the table 120 at the server 104 (
The inbound section consists of information that is sent to the enterprise system by the external web service. The inbound section may be sent back to the electronic procurement system in an OCI/OPI-compliant, e.g., an HTML page or an XML file. For example, the external web service may be a supplier that provides an electronic catalog. For each item selected in the catalog by the user and sent to the enterprise system, all required fields must be sent, along with the optional fields. The fields may include the following information: a description of the item; a quantity to add; a unit of measure of the item; a price; a currency; a product master number in the electronic procurement system; and a number of days until the item will be available.
As described above, the external web service integration feature may provide a convenient way to make certain “favorite” links available across the organization. Furthermore, the business type parameter provides a way to tailor the links made available to the particular application being used. The business type parameter also provides a way to update the links provided by a particular application. For example, for an application that provides links with the “search engine” business type, the links provided may be updated by adding and/or removing links with the “search engine” business type to or from the table.
The computer programs (also known as programs, software, software applications or code) described above may include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Although only a few embodiments have been described in detail above, other modifications are possible. The logic flow depicted in
Other embodiments may be within the scope of the following claims.
This application claims the benefit of priority from U.S. Provisional Application entitled “Web Service Integration”, filed Nov. 18, 2002, application Ser. No. 60/427,509, which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
6324534 | Neal et al. | Nov 2001 | B1 |
6766454 | Riggins | Jul 2004 | B1 |
7047211 | Van Etten et al. | May 2006 | B1 |
20020133392 | Angel et al. | Sep 2002 | A1 |
20020138370 | Dan et al. | Sep 2002 | A1 |
20030002526 | Dias et al. | Jan 2003 | A1 |
20030105884 | Upton | Jun 2003 | A1 |
20030177070 | Viswanath et al. | Sep 2003 | A1 |
20030182392 | Kramer | Sep 2003 | A1 |
20030191677 | Akkiraju et al. | Oct 2003 | A1 |
20030212587 | Jamison | Nov 2003 | A1 |
20040148232 | Fushimi et al. | Jul 2004 | A1 |
20040199636 | Brown et al. | Oct 2004 | A1 |
20050234888 | Bailey et al. | Oct 2005 | A1 |
Number | Date | Country |
---|---|---|
0697669 | Feb 1996 | EP |
20020066719 | Aug 2002 | KR |
Number | Date | Country | |
---|---|---|---|
20040139154 A1 | Jul 2004 | US |
Number | Date | Country | |
---|---|---|---|
60427509 | Nov 2002 | US |