IP Library Granted Patent US 7,506,072
Granted Patent B2
US 7,506,072 · App. 10/962,182 · Granted Mar 17, 2009

Web browser as web service server in interaction with business process engine

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,506,072
App. No.
10/962,182
Granted
Mar 17, 2009
Kind
B2
Abstract

Systems and techniques for using a Web-service based business process to interact with a Web browser as if the Web browser were a Web service server. In one exemplary implementation, an interface module with a HTTP server is provided to convert data from the Web browser into an XML document from a Web service server and to convert data from the business process engine in an XML document to a Web service server into a Web page for the Web browser. The business process engine may be programmed in the Business Process Execution Language for Web Services (BPEL) or other suitable business process execution languages.

Claims (59)

1. A system for enabling a business process engine to invoke a web browser as a web service server, the system comprising one or more computers configured to implement:

a communication server coupled to a communication network to send information to and receive information from a web browser;

a business process engine configured to implement at least one business process comprising a plurality of activities, the business process engine configured to send web service requests in a web service format and to receive web service responses in the web service format;

a plurality of page templates predefined in accordance with the activities of the business process; and

a servlet configured to: receive, from the business process engine, a particular web service request that is associated with a particular activity of the business process and that is intended for the web browser; determine a particular page template that is associated with the particular activity; cause the particular web service request to be converted, in accordance with the particular page template, from the web service format into a particular web page that is in a web page format that can be processed by the web browser; cause the particular web page to be sent by the communication server to the web browser; receive, via the communication server, a response from the web browser; convert the response into a particular web service response that is in the web service format; and provide the particular web service response to the business process engine as a response to the particular web service request, thereby, enabling the business process engine to invoke the web browser as a web service server.

2. The system as in claim 1 , wherein the business process engine uses the Business Process Execution Language for Web Services to describe each business process.

3. The system as in claim 1 , wherein the business process engine uses the Web Services Conversation Language to define each business process.

4. The system as in claim 1 , wherein the business process engine uses the Web Service Choreography Interface language to define each business process.

5. The system as in claim 1 , wherein the business process engine uses the Business Process Modeling Language to define each business process.

6. The system as in claim 1 , wherein the business process engine uses the Business Process Specification Schema (BPSS) defined by the electronic business Extensible Markup Language (ebXML) to define each business process.

7. The system as in claim 1 , wherein the business process engine uses the Web Services Flow Language to define each business process.

8. The system as in claim 1 , wherein the business process engine uses the XLANG language to define each business process.

9. The system as in claim 1 ; wherein the business process engine further comprises an interface with a backend application and is operable to execute a function provided by the backend application.

10. The system as in claim 1 , wherein the business process engine further comprises an interface with a database and is operable to retrieve data from the database.

11. The system as in claim 1 , wherein the particular web service request is intended to solicit input from a user of the web browser, and wherein the response from the web browser comprises input from the user of the web browser.

12. A system, comprising one or more computers configured to implement:

a hypertext transfer protocol (HTTP) server coupled to a communication network to send information to and receive information from a web browser;

a business process engine configured to implement at least one business process comprising a plurality of activities, the business process engine configured to send web service requests in a web service format and to receive web service responses in the web service format, wherein the web service format takes the form of an Extensible Markup Language (XML) document;

a plurality of page templates predefined in accordance with the activities of the business process, wherein the page templates take the form of Java Server Pages (JSP's); and

a servlet configured to: receive, from the business process engine, a particular web service request in the form of a request XML document that is associated with a particular activity of the business process and that is intended for the web browser; determine a particular JSP that is associated with the particular activity; cause the request XML document to be converted, in accordance with the particular JSP, into a particular web page that is in a web page format that can be processed by the web browser; cause the particular web page to be sent by the HTTP server to the web browser; receive, via the HTTP server, a response from the web browser; convert the response in the web page format into a response XML document that is in the web service format; and provide the response XML document to the business process engine as a response to the particular web service request, thereby, enabling the business process engine to invoke the web browser as a web service server.

13. The system as in claim 12 , wherein the business process engine further comprises an interface with a backend application and is operable to execute a function provided by the backend application.

14. The system as in claim 12 , wherein the business process engine further comprises an interface with a database and is operable to retrieve data from the database.

15. The system as in claim 12 , wherein the particular web service request is intended to solicit input from a user of the web browser, and wherein the response from the web browser comprises input from the user of the web browser.

16. A method for enabling a business process engine to invoke a web browser as a web service server, comprising:

receiving, from a business process engine, a particular web service request that is intended for a web browser, wherein the business process engine implements a business process comprising a plurality of activities, wherein the particular web service request is associated with a particular activity of the business process, and wherein the business process engine sends web service requests in a web service format and receives web service responses in the web service format;

determining a particular page template that is associated with the particular activity, wherein the particular page template is one of a plurality of page templates that are predefined in accordance with the activities of the business process;

causing the particular web service request to be converted, in accordance with the particular page template, from the web service format into a particular web page that is in a web page format that can be processed by the web browser;

causing the particular web page to be sent to the web browser;

receiving a response from the web browser;

converting the response into a particular web service response that is in the web service format; and

providing the particular web service response to the business process engine as a response to the particular web service request, thereby, enabling the business process engine to invoke the web browser as a web service server.

17. The method as in claim 16 , wherein the particular web service request is intended to solicit input from a user of the web browser, and wherein the response from the web browser comprises input from the user of the web browser.

18. A method for enabling a business process engine to invoke a web browser as a web service server, comprising:

receiving, from a business process engine, a particular web service request that is intended for a web browser, wherein the business process engine implements a business process comprising a plurality of activities, wherein the particular web service request is associated with a particular activity of the business process, wherein the business process engine sends web service requests in a web service format and receives web service responses in the web service format, and wherein the web service request format takes the form of an Extensible Markup Language (XML) document;

determining a particular page template that is associated with the particular activity, wherein the particular page template is one of a plurality of Java Server Pages that are predefined in accordance with the activities of the business process;

causing the particular web service request to be converted, in accordance with the particular page template, from an XML document into a particular web page that is in a web page format that can be processed by the web browser;

causing the particular web page to be sent to the web browser;

receiving a response from the web browser;

converting the response into a response XML document that represents a particular web service response that is in the web service format; and

providing the particular web service response to the business process engine as a response to the particular web service request, thereby, enabling the business process engine to invoke the web browser as a web service server.

19. The method as in claim 18 , wherein the particular web service request is intended to solicit input from a user of the web browser, and wherein the response from the web browser comprises input from the user of the web browser.

20. An article comprising one or more machine readable storage media that store machine executable instructions that cause a machine to:

receive, from a business process engine, a particular web service request that is intended for a web browser, wherein the business process engine implements a business process comprising a plurality of activities, wherein the particular web service request is associated with a particular activity of the business process, and wherein the business process engine sends web service requests in a web service format and receives web service responses in the web service format;

determine a particular page template that is associated with the particular activity, wherein the particular page template is one of a plurality of page templates that are predefined in accordance with the activities of the business process;

cause the particular web service request to be converted, in accordance with the particular page template, from the web service format into a particular web page that is in a web page format that can be processed by the web browser;

cause the particular web page to be sent to the web browser;

receive a response from the web browser;

convert the response into a particular web service response that is in the web service format; and

provide the particular web service response to the business process engine as a response to the particular web service request, thereby, enabling the business process engine to invoke the web browser as a web service server.

21. The article as in claim 20 , wherein the particular web service request is intended to solicit input from a user of the web browser, and wherein the response from the web browser comprises input from the user of the web browser.

22. An article comprising one or more machine readable storage media that store machine executable instructions that cause a machine to:

receive, from a business process engine, a particular web service request that is intended for a web browser, wherein the business process engine implements a business process comprising a plurality of activities, wherein the particular web service request is associated with a particular activity of the business process, wherein the business process engine sends web service requests in a web service format and receives web service responses in the web service format, and wherein the web service request format takes the form of an Extensible Markup Language (XML) document;

determine a particular page template that is associated with the particular activity, wherein the particular page template is one of a plurality of Java Server Pages that are predefined in accordance with the activities of the business process;

cause the particular web service request to be converted, in accordance with the particular page template, from an XML document into a particular web page that is in a web page format that can be processed by the web browser;

cause the particular web page to be sent to the web browser;

receive a response from the web browser;

convert the response into a response XML document that represents a particular web service response that is in the web service format; and

provide the particular web service response to the business process engine as a response to the particular web service request, thereby, enabling the business process engine to invoke the web browser as a web service server.

23. The article as in claim 22 , wherein the particular web service request is intended to solicit input from a user of the web browser, and wherein the response from the web browser comprises input from the user of the web browser.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037304/0137 →
MERGER Recorded Jul 22, 2008
From: SEEBEYOND TECHNOLOGY CORPORATION
To: SUN MICROSYSTEMS, INC.
Reel/Frame 021270/0923 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2005
From: WALDORF, JERRY A.; LU, YANBING; DEMETRIADES, ALEX
To: SEEBEYOND TECHNOLOGY CORPORATION
Reel/Frame 016433/0261 →