Source: https://patents.google.com/patent/US8924408B2/en
Timestamp: 2020-04-10 01:01:24
Document Index: 485160091

Matched Legal Cases: ['art 1', 'art 1', 'art1', 'art 4', 'art 4', 'art 7']

US8924408B2 - Automatic generation of database invocation mechanism for external web services - Google Patents
US8924408B2
US8924408B2 US09/967,553 US96755301A US8924408B2 US 8924408 B2 US8924408 B2 US 8924408B2 US 96755301 A US96755301 A US 96755301A US 8924408 B2 US8924408 B2 US 8924408B2
US09/967,553
US20040199636A1 (en
2001-09-28 Application filed by International Business Machines Corp filed Critical International Business Machines Corp
2001-09-28 Priority to US09/967,553 priority Critical patent/US8924408B2/en
2002-01-24 Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KLEEWEIN, JAMES C., BROWN, LARRY, QU, RONG, REINWALD, BERTHOLD, SCHWARZ, PETER M., WOLFSON, CHARLES DANIEL
2004-10-07 Publication of US20040199636A1 publication Critical patent/US20040199636A1/en
2014-12-30 Publication of US8924408B2 publication Critical patent/US8924408B2/en
An external service at a service provider server is invoked from a database by accessing from over a network a description of the external service published by the service provider external to the database. A database invocation mechanism is generated from the accessed description of the external service, wherein the database invocation mechanism comprises code within the database. A database program invokes the database invocation mechanism code within the database to invoke and interact with the external service. The database receives data from the external service in response to invoking and interacting with the external service.
The present invention is related to commonly assigned U.S. patent application Ser. No. 09/968,353 to Brown et al., entitled “Invocation of Web Services from a Database”, filed concurrently herewith on Sep. 28, 2001. It is also related to commonly assigned pending U.S. patent application Ser. No. 09/871,475 to Preisig et al., entitled “System, Method and Computer Program Product for Reformatting Non-XML Data for Use with Internet Based Systems”, filed May 31, 2001.
The present invention relates generally to the invocation of web services, and more particularly to automatic generation of database invocation mechanism for external web services.
One example of web-services are the services responsive to messages contained in Simple Object Access Protocol (SOAP) envelopes. SOAP is an application invocation protocol developed by IBM, Microsoft, and others that defines a simple protocol for exchanging information encoded as XML messages. It is more fully described in the working draft of SOAP version 1.2, available at Http://www.w3.org/2000/xp/, (referenced as Appendix A) appended hereto and incorporated by reference herein. Often, the services are described by WSDL (Web Service Description Language) notation stored in WSDL documents. WDSL is described in the Web Services Description Language 1.1 document, available at http://www.w3.org/TR/wsdl, (referenced as Appendix B) appended hereto and incorporated by reference herein. A WSDL document may be stored in numerous ways: in a file, in an XML Registry/Repository (such as the DB2 XRR(XML Registry/Repository)), or in a DB2 based UDDI Registry, for example. UDDI (Universal Description, Discovery, Integration) is a protocol for describing Web services such that interested parties may easily discover them. Specifications for this registry and use of WSDL in the registry are available currently at http://www.uddi.org/. Service providers may register their services in a UDDI, specifying technical information about how to invoke the service. IBM operates a publicly available UDDI service using DB2 and WebSphere.
The present invention provides the desired capabilities as a method, system and program product for automatically generating an invocation mechanism for an external web service from a web service description, thereby facilitating integration of the web service into a database such that the service may be easily invoked from the database. Preferably, the service is a web service available over the internet The service may be invoked from any of a number of invoking mechanisms of the database. In a first specific embodiment, the mechanism comprises a user-defined function within an SQL statement. In a second specific embodiment, the mechanism comprises a virtual table. In a third specific embodiment, the mechanism comprises a stored procedure. In a fourth specific embodiment, the mechanism comprises a trigger. In a fifth specific embodiment, the mechanism comprises a federated table accessed via a nickname and implemented using a wrapper.
Although the invention will be described with reference to a specific embodiment, it will be understood by the reader that the following description is merely illustrative of the principles of the invention and that other embodiments may be devised by those skilled in the art without departing from the spirit and scope of the invention. The described invention may be implemented in software, hardware, or a combination thereof. Software embodying the invention may be contained in a program product, e.g., tape, CD-ROM, floppy diskette, computer memory or direct access storage device.
A database both manages data and provides intelligent access to it. Optimized queries, complex analysis, and efficient execution of business logic may all be provided by the database engine. The database can be viewed as an efficient and powerful set-oriented execution engine that typically works on locally managed data. Indeed, the set-oriented processing of DB2 can be used to operate on more than just locally managed data. DB2
Relational Connect allows remote, heterogeneous relational databases to be treated as local resources. DB2 also provides features built-in to SQL that enable external applications and systems to be manipulated in a set-oriented manner.
ex 2: varchar(20) GET_PO STATUS (URL varchar(80), PO_NUM varchar(20))
PURCHASE_ORDERS Customer Supplier PO_NUM O_NUM C1 ASupplier 12345 a456 C1 BSupplier 12347 b456 C3 BSupplier 34656 d435
SUPPLIER_OPS Supplier Operation URL ASupplier GET_PO— http://www.Asupplier.com/GET— STATUS PO_STATUS ASupplier GET_QUOTE http://www.Asupplier.com/GET— QUOTE Bsupplier GET_QUOTE http://www.Bsupplier.com/services/GET— QUOTE BSupplier GET_PO— http://www.Bsupplier.com/services/GET— STATUS PO_STATUS
ex 4: select Customer, PO_NUM, GET_PO_STATUS(‘http://www.ASupplier.com/ GET_PO_STATUS.jsp’,PO) as PO_STATUS from PURCHASE_ORDERS where Supplier = ‘ASupplier’
ex 5: select P.Supplier, P.PO_NUM, GET_PO_STATUS(P.PO, S.Service_Address) as PO_STATUS from PURCHASE_ORDERS P, SUPPLIER_OPS S where P.Supplier = S.Supplier and S.operation = ‘GET_PO_STATUS’
Alternatively, one may query the UDDI or other registry directly rather than having to maintain a Supplier-Ops table. For example, the UDDI can be browsed for web services that satisfy the required information, and those web services of interest may be incorporated into the select statement. Or, the manufacturer 71 may require suppliers 73 to name their web services with a pre-determined name and then query the registry for the name directly in the query.
ex 6: create view order_status as select o.customer, o.po_num, o.supplier, get_po_status(s.URL, o.po_num) as status from purchase_orders o, supplier_ops s where o.supplier = s.supplier and s.operation = ‘GET_PO_STATUS’ ex 7: select * from order_status
ex 8: select Customer, Supplier, PO_NUM, GET_PO_STATUS(P.PO, S.Service_Address) as PO_STATUS from order_status order by Supplier
RFQ Inputs part_num string qty desired_date iInteger date Outputs price proposed_date decimal date
GET_Quote Inputs supplier URL part_num qty desired_date varchar varchar varchar(20) iInteger date (30) (80) Outputs supplier URL part_num qty desired_date price currency proposed_date varchar varchar varchar(20) iInteger date decimal varchar(10) date (30) (80)
ex 10: Select * from table (Get_Quote ( ’ASupplier', ’http://www.Asupplier.com/GET_QUOTE', ’52435FFA',25, ’7/1/2001') t
ex 11: Select t.supplier, t.part_num, t.qty, (t.desired_date - t.proposed_date) as timeliness, to_dollars(t.currency, t.price) as cost from table (Get_Quote ( ‘ASupplier’, ‘http://www.Asupplier.com/GET_QUOTE’, ‘52435FFA’,25, ‘7/1/2001’) t
In the preceding example the columns have been explicitly stated and, using the power of SQL, an output column named timeliness has been defined to reflect the deviation between the manufacturer's desired date and the date proposed by the supplier 73 for the part. The currency conversion web service, to_dollars, has been utilized to convert the quoted price to U.S. currency. This query will return a single row with the quote from a single vendor for a single part. What if the manufacturer 11 had a list of needed parts that it wished to get quotes on? A table called NEEDED_PARTS is defined for this purpose:
NEEDED_PARTS part_num qty desired_date 34dsaf 20 Jul. 1, 2001 35gfds 34 Aug. 1, 2001 809gds 10 Jun. 30, 2001
ex 12: Select t.supplier, n.part_num, n.qty, (n.desired_date - t.proposed_date) as timeliness, to_dollars(t.currency, t.price) from needed_parts n, table (Get_Quote ( ‘ASupplier’, ‘http://www.Asupplier.com/GET_QUOTE’, n.part_num, n.qty, n.desired_date) t
This query returns a table of quotes for each part listed in the NEEDED_PARTS table from Asupplier. But what the manufacturer 11 wanted to get quotes for each of its suppliers? To do so, the following query is issued:
ex 13: Select n.part_num, t.supplier, n.qty, (n.desired_date - t.proposed_date) as timeliness, to_dollars(t.currency, t.price) from needed_parts n, supplier_ops s, table (Get_Quote ( s.supplier, s.URL, n.part_num, n.qty, n.desired_date) t where s.operation = ‘GET_QUOTE’ order by n.part_num, timeliness
Finally, the manufacturer 11 may want to expose this query as a Web service itself so that its purchasing agents can invoke the query from wherever they are as long as they have access to the internet. DB2 7.2 with the XML Extender provides a simple mechanism that allows Web services to be created in support of such queries. The extender allows stored procedures and SQL statements to be exposed as invokable Web service operations, as is described more fully in http://www.ibm.com/software/data/db2/extenders/xmlext, (Referenced as Appendix E) appended hereto and incorporated by reference herein. Any catalogued stored procedure may be exposed. The operation signature includes the input and output parameters and will also return one or more stored procedure result sets as an XML document.
<?xml version = “1.0”?> <definitions name = “CurrencyExchangeService” targetNamespace = “http://www.xmethods.net/sd/CurrencyExchangeService.wsdl” xmlns:tns=“http://www.xmethods.net/sd/CurrencyExchangeService.wsdl” xmlns:xsd = “http://www.w3.org/2001/XMLSchema” xmlns:soap = “http://schemas.xmlsoap.org/wsdl/soap/” xmlns = “http://schemas.xmlsoap.org/wsdl/”> <message name = “getRateRequest”> <part name = “country1” type = “xsd:string”/> <part name = “country2” type = “xsd:string”/> </message> <message name = “getRateResponse”> <part name = “Result” type = “xsd:float”/> </message> <portType name = “CurrencyExchangePortType”> <operation name = “getRate”> <input message = “tns:getRateRequest” /> <output message = “tns:getRateResponse” /> </operation> </portType> <binding name = “CurrencyExchangeBinding” type = “tns:CurrencyExchangePortType”> <soap:binding style = “rpc” transport = “http://schemas.xmlsoap.org/soap/http”/> <operation name = “getRate”> <soap:operation soapAction=“”/> <input > <soap:body use = “encoded” namespace = “urn:xmethods-CurrencyExchange” encodingStyle = “http://schemas.xmlsoap.org/soap/encoding/”/> </input> <output > <soap:body use = “encoded” namespace = “urn:xmethods-CurrencyExchange” encodingStyle = “http://schemas.xmlsoap.org/soap/encoding/”/> </output> </operation> </binding> <service name = “CurrencyExchangeService”> <documentation>Returns the exchange rate between the two currencies</documentation> <port name = “CurrencyExchangePort” binding = “tns:CurrencyExchangeBinding”> <soap:address location = “http://services.xmethods.net:80/soap”/> </port> </service> </definitions>
values getRate(‘UK’,‘USA’)
select item, (price * getRate( country, ‘USA’)) as cost from purchase_orders
In addition to creating scalar functions such as above, one may also create table functions where the invocation of the web service yields a table of one or more rows, as represented by the backward arrow in step b) of FIG. 9. For instance, assume that there is a web service that returns status about commercial flights. Using the UDF generating tool one may generate a table function getFlightinfo that returns a table containing the airline, flight number, location, speed, altitude and equipement. The following query illustrates how this may be used:
select p.po_number, po_status(p.po-number, s.url), s.supplier from purchase_orders p, suppliers s where p.supplier=s.supplier
This query invokes the po status web service for each row in the purchase orders table sending each request to the appropriate supplier service.
1. A computer implemented method for enabling invocation of an external service at a service provider server from a database in a database computer system, comprising:
accessing from over a network a published description of the external service published by the service provider external to the database, wherein the published description includes a definition defining operations performed by the external service in a service description language, wherein the database manages data and includes a database engine to perform queries;
parsing the accessed published description to determine one of the operations contained in the published description;
deriving a user defined function name for one of the determined operations from the accessed published description of the external service;
generating a conversion between a database language statement and the service description language for the determined operation;
generating database language statements defining the user defined function executable by the database to invoke the external service, wherein the user defined function resides on the database;
invoking, by the database, the user defined function by executing the database language statements including the user defined function within the database to invoke the external service and perform a query with respect to the external service, wherein the user defined function invokes the external service by accepting as input parameters a network address of the external service, a name of the external service, and a name of an operation to be performed; and
receiving, at the database, data from the external service in response to invoking and interacting with the external service, wherein the user defined function returns the result of the invocation.
2. The method of claim 1, wherein the external service further comprises a web service.
3. The method of claim 1, wherein the service description language comprises Web Services Description Language (WSDL).
4. The method of claim 1, wherein the published description is retrieved over the network from a registry.
6. The method of claim 5, wherein the published description is retrieved with a Simple Object Access Protocol (SOAP) request.
7. The method of claim 4, wherein the registry comprises a standardized registry.
8. The method of claim 7, wherein the registry comprises a Universal Description, Discovery, Integration (UDDI registry).
9. The method of claim 4, wherein the registry is local to the database.
10. The method of claim 1, wherein the invoked user defined function returns the data from the external service to the database as a virtual table.
11. The method of claim 1, wherein generating the user defined function comprises:
for each operation contained in the published description of the external service, determining a network address of the operation and generating a user defined function for the operation having a name and input parameters.
12. The method of claim 1, wherein the generated user defined function accepts as a parameter containing a location of the service provider, wherein the user defined function invokes the external service at multiple service providers by specifying the location of the each service provider when invoking an instance of the user defined function for each service provider.
13. The method of claim 1, wherein the external service comprises a web service, and wherein accessing the published description of the external service comprises:
browsing a registry to determine a web service; and
issuing a query to access a file that includes code implementing the determined web service, wherein the accessed published description from which the user defined function is generated comprises the accessed file.
14. The method of claim 13, wherein the user defined function includes a name of a method to be performed within the web service.
obtaining at least one service provider implementing the external service, wherein the generated user defined function is coded to invoke the external service against the at least one service provider at execution time.
16. The method of claim 1, wherein the generating the conversion for the determined operation further comprises:
for each parameter of an input message in the external service, generating a conversion of an input parameter in the database language statements to an input parameter in the service description language; and
for each parameter of an output message in the external service, generating a conversion of an output parameter from the service description language to the external service to a representation of an input parameter in the database language statements.
17. A program product comprising a non-transitory computer readable storage medium containing instructions executable by a computer coupled to a network, the instructions executed to perform invocation of an external service at a service provider server from a computer database system, comprising:
18. The program product of claim 17, wherein the external service further comprises a web service.
19. The program product of claim 17, wherein the service description language comprises Web Services Description Language (WSDL).
20. The program product of claim 17, wherein the published description is retrieved over the network from a registry.
21. The program product of claim 20, wherein the network comprises the Internet.
22. The program product of claim 21, wherein the published description is retrieved with a Simple Object Access Protocol (SOAP) request.
23. The program product of claim 20, wherein the registry comprises a standardized registry.
24. The program product of claim 23, wherein the registry comprises a Universal Description, Discovery, Integration (UDDI registry).
25. The program product of claim 20, wherein the registry is local to the database.
26. The program product of claim 17, wherein the invoked user defined function returns the data from the external service to the database as a virtual table.
27. The program product of claim 17, wherein generating the user defined function comprises:
for each operation contained in the public description of the external service, determining a network address of the operation and generating a user defined function for the operation having a name and input parameters.
28. The program product of claim 17, wherein the generated user defined function accepts as a parameter containing a location of the service provider, wherein the user defined function invokes the external service at multiple service providers by specifying the location of the each service provider when invoking an instance of the user defined function for each service provider.
29. The program product of claim 17, wherein the external service comprises a web service, and wherein accessing the published description of the external service comprises:
30. The program product of claim 29, wherein the user defined function includes a name of a method to be performed within the web service.
31. The program product of claim 17, further comprising:
32. The program product of claim 17, wherein the generating the conversion for the determined operation further comprises:
33. A system, including a computer and computer storage device, for invoking an external service at a service provider server from a database, comprising:
a service requester accessing from over a network a published description of the external service published by the service provider external to the database, wherein the published description includes a definition defining operations performed by the external service in a service description language, wherein the database manages data and includes a database engine to perform queries;
a generator generating a user defined function from the accessed published description of the external service by performing:
wherein the database performs:
invoking the user defined function by executing the database language statements including the user defined function within the database to invoke the external service and perform a query with respect to the external service, wherein the user defined function invokes the external service by accepting as input parameters a network address of the external service, a name of the external service, and a name of an operation to be performed; and
34. The system of claim 33, wherein the external service further comprises a web service.
35. The system of claim 33, wherein the service description language comprises Web Services Description Language (WSDL).
36. The system of claim 33, wherein the published description is retrieved over the network from a registry.
37. The system of claim 36, wherein the network comprises the Internet.
38. The system of claim 37, wherein the published description is retrieved with a Simple Object Access Protocol (system) request.
39. The system of claim 36, wherein the registry comprises a standardized registry.
40. The system of claim 39, wherein the registry comprises a Universal Description, Discovery, Integration (UDDI registry).
41. The system of claim 36, wherein the registry is local to the database.
42. The system of claim 33, wherein the invoked user defined function returns the data from the external service to the database as a virtual table.
43. The system of claim 33, wherein generating the user defined function comprises:
44. The system of claim 33, wherein the generated user defined function accepts as a parameter containing a location of the service provider, wherein the user defined function invokes the external service at multiple service providers by specifying the location of the each service provider when invoking an instance of the user defined function for each service provider.
45. The system of claim 33, wherein the external service comprises a web service, and wherein accessing the published description of the external service comprises:
46. The system of claim 45, wherein the user defined function includes a name of a method to be performed within the web service.
47. The system of claim 33, wherein the service requestor further performs:
48. The system of claim 33, wherein the generating the conversion for the determined operation further comprises:
US09/967,553 2001-09-28 2001-09-28 Automatic generation of database invocation mechanism for external web services Active 2027-05-28 US8924408B2 (en)
US09/967,553 US8924408B2 (en) 2001-09-28 2001-09-28 Automatic generation of database invocation mechanism for external web services
US20040199636A1 US20040199636A1 (en) 2004-10-07
US8924408B2 true US8924408B2 (en) 2014-12-30
US09/967,553 Active 2027-05-28 US8924408B2 (en) 2001-09-28 2001-09-28 Automatic generation of database invocation mechanism for external web services
US10268461B2 (en) * 2015-11-23 2019-04-23 International Business Machines Corporation Global data flow optimization for machine learning programs
TW561367B (en) * 2001-12-26 2003-11-11 Inventec Corp Automatic storage and retrieval server method and system thereof
GB2429309A (en) * 2005-08-18 2007-02-21 Hewlett Packard Development Co Generating processing workflows by translating native APIs to achieve interoperability of content processing operations
US8626720B2 (en) 2008-02-11 2014-01-07 International Business Machines Corporation System and method of reconstructing complex custom objects
US8214393B2 (en) * 2009-10-15 2012-07-03 Microsoft Corporation Integrating database deployment with code deployment
2001-09-28 US US09/967,553 patent/US8924408B2/en active Active
"Business Explorer for Web Services"; http://www.alphaworks.ibm.com/tech/be4ws; Dec. 3, 2001. *
Cheng, J. and J. Xu, "IBM DB2 XML Extender: An End-to-End Solution for Storing and Retrieving XML Documents", Proceedings of the 16th International Conference on Data Engineering, Feb. 2000, 16 pp.
Christensen, E., F. Curbera, G. Meredith, & S. Weerawarana, "Web Services Description Language (WSDL) 1.1", W3C Note, [online], Mar. 15, 2001, Retrieved from the Internet at , 49 pp.
Christensen, E., F. Curbera, G. Meredith, & S. Weerawarana, "Web Services Description Language (WSDL) 1.1", W3C Note, [online], Mar. 15, 2001, Retrieved from the Internet at <URL: http://www.w3.org/TR/2001/NOTE-wsdl-200103015>, 49 pp.
Cocreate Software et al., "Workflow Management Facility Convenience Document Combining dtc/99-07-05 dtc/2000-02-03 (WF RTF 1.3 Report)", OMG Document Number: dtc/2000-02-05, Feb. 14, 2000, 95 pp.
Cutlip, R., "Web Services: The New Web Paradigm", DB2 Magazine, Quarter 4, vol. 6, Iss. 4, [online], 2001, [Retrieved on Jan. 16, 2007], Retrieved from the Internet at , 13 pp.
Cutlip, R., "Web Services: The New Web Paradigm", DB2 Magazine, Quarter 4, vol. 6, Iss. 4, [online], 2001, [Retrieved on Jan. 16, 2007], Retrieved from the Internet at <URL: http://www.db2mag.com/db—area/archives/2001/q4/cutlip/shtml>, 13 pp.
Duftler, M.J., N.K. Mukhi, A. Slominski, and S. Weerawarana, "Web Services Invocation Framework (WSIF)", IBM, Aug. 9, 2001, pp. 1-9.
F. Curbera et al., "Using WSDL in a UDDI Registry 1.05", Jun. 25, 2001, UDDI Working Draft Best Practices Document, http://www.uddi.org/pubs/wsdlbestpractices-V1.05-Open-20010625.pdf; pp. 1-9.
Grundgeiger, D., A. Goldade, & V. Fugman, "SQL and XML: Use XML to Invoke and Return Stored Procedures Over the Web", [online], (Aug. 2001), [retrieved on Jan. 15, 2007], Retrieved from the Internet at <URL: http:// msdn.microsoft.com/msdnmag/issues/01/08/XMLSQL/print.asp>, 17 pp.
Gudgin, M., M. Hadley, N. Mendelsohn, J. Moreau, & H.F. Nielsen, "SOAP Version 1.2 Part 1: Messaging Framework", W3C Candidate Recommendation, [online], Dec. 19, 2002, Retrieved from the Internet at , 44 pp.
Gudgin, M., M. Hadley, N. Mendelsohn, J. Moreau, & H.F. Nielsen, "SOAP Version 1.2 Part 1: Messaging Framework", W3C Candidate Recommendation, [online], Dec. 19, 2002, Retrieved from the Internet at <URL: http://www.w3.org/TR/soap12-part1/>, 44 pp.
Gudgin; M., M. Hadley, J. Moreau, & H.F. Nielsen (Eds.), "SOAP Version 1.2", W3C Working Draft, [online], Jul. 9, 2001, Retrieved from the Internet at , 62 pp.
Gudgin; M., M. Hadley, J. Moreau, & H.F. Nielsen (Eds.), "SOAP Version 1.2", W3C Working Draft, [online], Jul. 9, 2001, Retrieved from the Internet at <URL: http://www.w3.org/TR/2001/WD-soap12-20010709>, 62 pp.
IBM Corporation, "DB2 XML Extender", [online], [Retrieved on or before Sep. 28, 2001], retrieved from the Internet at .
IBM Corporation, "DB2 XML Extender", [online], [Retrieved on or before Sep. 28, 2001], retrieved from the Internet at <URL: http://www.ibm.com/software/data/db2/extenders/xmlext/>.
IBM Corporation, "DB2 XML Extender", [online], Jun. 19, 2001, [Retrieved on Mar. 1, 2007], retrieved from the Internet at <URL: http://www-4.ibm.com/software/data/db2/extenders/xrnlext/>.
Jaworski, J., "JAVA 1.1: Developer's Guide Second Edition", Second Edition, Sams.net Publishing, 1997, Chapter 19, 21 pp.
Kao, J., "Developer's Guide to Building XML-based Web Services with the Java 2 Platform, Enterprise Edition (J2EE)", The Middleware Company, Jun. 2001, 20 pp.
Leymann, F., "Web Services Flow Language (WSFL 1.0)", May 2001, 108 pp.
Mckoi, "Mckoi SQL Database-Version History", [online], Updated Aug. 2004, [Retrieved on Oct. 11, 2007], retrieved from the Internet at <URL: http://www.mckoi.com/database/history.html>, 23 pp.
Price, J., "Using Static and Synamic SQL in SQLJ", [online], Aug. 9, 2001, [retrieved on Oct. 11, 2007], retrieved from the Internet at <URL: http://www.oreillynet.com/lpt/a/2068>, 8 pp.
Saganich, A., "Java and Web Services Primer", [online], Aug. 7, 2001, [retrieved on Feb. 17, 2008], retrieved from the Internet at <URL: http://www.onjava.com/lpt/a/1025>, 7 pp.
Silberschatz, A., P. Galvin, & G. Gagne, "Applied Operating System Concepts", First Edition, 2000, 18 pp.
Snell, J., "The Web Services Insider, Part 4: Introducing the Web Services Flow Language", [online], Jun. 2001, Retrieved from the Internet at , 7 pp.
Snell, J., "The Web Services Insider, Part 4: Introducing the Web Services Flow Language", [online], Jun. 2001, Retrieved from the Internet at <URL: http://www-106.ibm.com/developerworks/library/ws-ref4-index.html>, 7 pp.
Snell, J., "Web Services Insider, Part 7: WSFL and Recursive Composition", [online], Jul. 1, 2001, [Retrieved on Apr. 25, 2007], retrieved from the Internet at <URL: http://www.128.ibm.com/developerworks/webservices/library/ws-reff>, 6 pp.
Sybase, Inc., "What is Al for Stored Procedures", [online], 2001, [Retrieved on Jan. 16, 2007], Retrieved from the Internet at , 2 pp.
Sybase, Inc., "What is Al for Stored Procedures", [online], 2001, [Retrieved on Jan. 16, 2007], Retrieved from the Internet at <URL: http://awebproxyprd.ins.state.ny.us/docs/aispref/aiprocp3.htm>, 2 pp.
T. Bellwood et al., "UDDI Version 2.0 API Specification", Jun. 8, 2001, UDDI Open Draft Specification; http://www.uddi.org/pubs/ProgrammersAPI-V2.00-Open-20010608.pdf: , ppl-81.
UDDI (Universal Description, Discovery and Integration) Standard and Initiative; Matthew J. Dovey; Jun. 2001. *
UDDI Techincal White Paper; uddi.org; Sep. 6, 2000. *
UDDI XML.org; http://uddi.xml.org/about; 2007. *
Workflow Management Coalition, "Workflow Management Application Programming Interface (Interface 2 & 3) Specification", Document No. WFMC-TC-1009, Version 2.0, Jul. 1998, 171 pp.
Workflow Management Coalition, "Workflow Management Coalition Interface 1: Process Definition Interchange Process Model", Document No. WFMC-TC-1016-P, Version 1.1, Oct. 29, 1999, 100 pp.
US20040199636A1 (en) 2004-10-07
US10120952B2 (en) 2018-11-06 System and method for defining application definition functionality for general purpose web presences
US20160292297A1 (en) 2016-10-06 Accessing objects in a service registry and repository