Computer apparatus and method for communicating between software applications and computers on the world-wide web using universal variable handling
First Claim
1. A computer system for communicating between a web browser and a plurality of software applications over the World-Wide Web, at least one of the plurality of software applications being a workflow management software application, said computer system comprising:
- a) at least one CPU;
b) at least one memory coupled to the at least one CPU;
c) a gateway mechanism residing in the memory and being executed by the at least one CPU, the gateway mechanism capable of retrieving at least one of a plurality of data values from each of the plurality of software applications, and inserting the plurality of data values into a single web page output to the web browser, the gateway mechanism receives an input from the web browser and parses at least one input variable from the web browser input, and wherein the gateway mechanism further includes;
a template communication mechanism, wherein the template communication mechanism retrieves a template corresponding to the at least one variable, the retrieved template including a plurality of substitution variables;
a data retrieval mechanism, wherein the data retrieval mechanism retrieves at least one of a plurality of data values from each of the plurality of software applications, each data value corresponding to one of the plurality of substitution variables in the retrieved template; and
a variable processing mechanism, wherein the variable processing mechanism inserts the retrieved plurality of data values into the retrieved template and outputs the retrieved template with the retrieved plurality of data values to the web browser.
1 Assignment
0 Petitions
Accused Products
Abstract
According to the preferred embodiment, a computer system and method for providing access to a software application from a web browser over the WWW is disclosed. The system includes one or more computers executing a web browser, a web server application, an application gateway, and a software application. The system and method allows a user of the web browser to access the software application. The user inputs data via the web browser, which is communicated to the web server application, which passes the input to a CGI module. Based upon the web browser input, the CGI selects an HTML template containing at least one variable. The variable is passed to an application gateway which requests a value for the variable from the software application. The value is passed back to the CGI and inserted into the HTML template in place of the variable. The completed HTML template is then sent back to the web browser. The application gateway comprises a web based interface to the software application in combination with templates that specify variables.
151 Citations
39 Claims
-
1. A computer system for communicating between a web browser and a plurality of software applications over the World-Wide Web, at least one of the plurality of software applications being a workflow management software application, said computer system comprising:
-
a) at least one CPU; b) at least one memory coupled to the at least one CPU; c) a gateway mechanism residing in the memory and being executed by the at least one CPU, the gateway mechanism capable of retrieving at least one of a plurality of data values from each of the plurality of software applications, and inserting the plurality of data values into a single web page output to the web browser, the gateway mechanism receives an input from the web browser and parses at least one input variable from the web browser input, and wherein the gateway mechanism further includes; a template communication mechanism, wherein the template communication mechanism retrieves a template corresponding to the at least one variable, the retrieved template including a plurality of substitution variables; a data retrieval mechanism, wherein the data retrieval mechanism retrieves at least one of a plurality of data values from each of the plurality of software applications, each data value corresponding to one of the plurality of substitution variables in the retrieved template; and a variable processing mechanism, wherein the variable processing mechanism inserts the retrieved plurality of data values into the retrieved template and outputs the retrieved template with the retrieved plurality of data values to the web browser. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer implemented method for interfacing between a web browser and a plurality of software applications over the World-Wide Web, the method comprising the steps of:
-
providing an input from the web browser to a web server; passing the input to a common gateway interface (CGI); selecting an HTML template from one of a plurality of HTML templates, the selecting based upon the input from the web browser, each of the plurality of HTML templates including a plurality of substitution variables; passing the plurality of substitution variables included in the selected HTML template to an application gateway; retrieving from each of the plurality of software applications at least one value, each value corresponding to the one of the plurality of substitution variables and delivering the at least one value to the application gateway; passing the at least one value to the CGI; inserting each of the at least one value into the corresponding one of the plurality of substitution variables in the selected HTML template; and passing the selected HTML template with the inserted plurality of values to the web browser. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer system for communicating between a web browser and a plurality of software applications over the World-Wide Web comprising:
-
a) a plurality of CPUs; b) at least one memory coupled to the plurality of CPUs; c) a gateway mechanism residing in the at least one memory and being executed by at least one of the plurality of CPUs, the gateway mechanism capable of retrieving at least one of a plurality of data values from each of the plurality of software applications, and inserting the plurality of data values into a single web page output to the web browser, the gateway mechanism including; a template communication mechanism, wherein the template communication mechanism retrieves a template corresponding to at least one input variable from the web browser, the retrieved template including a plurality of substitution variables; a data retrieval mechanism, wherein the data retrieval mechanism retrieves at least one of a plurality of data values from each of the plurality of software applications, each data value corresponding to one of the plurality of substitution variables in the retrieved template; and a variable processing mechanism, wherein the variable processing mechanism inserts the retrieved plurality of data values into the retrieved template and outputs the retrieved template with the retrieved plurality of data values to the web browser. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A program product for communicating between a plurality of web browsers and a plurality of software applications, the program product comprising:
-
(1) an application gateway in communication with the plurality of web browsers and the plurality of software applications, the application gateway comprising; a template communication mechanism, the template communication mechanism providing an interface with a plurality of HTML templates, each of the plurality of HTML templates including at least one input variable and a plurality of substitution variables, the template communication mechanism retrieving one of the plurality of HTML templates; a data retrieval mechanism, wherein the data retrieval mechanism retrieves from the plurality of software applications data corresponding to the plurality of substitution variables in the retrieved HTML template; and a variable processing mechanism, wherein the variable processing mechanism processes the data retrieved from the plurality of software applications and substitutes the data into the plurality of substitution variables in the retrieved HTML template; (2) signal bearing media bearing the application gateway. - View Dependent Claims (27, 28, 29, 30)
-
-
31. A computer-implemented method for communicating between a plurality of web browsers and a plurality of software applications over the World-Wide Web, the method comprising the steps of:
-
providing a plurality of Central Processing Units (CPUs); providing a memory coupled to the plurality of CPUs; executing at least one of the plurality of web browsers residing in the memory by at least one of the plurality of CPUs; providing a web server application residing in the memory and being executed by at least one of the plurality of CPUs; providing a plurality of software applications residing in the memory and being executed by at least one of the plurality of CPUs; providing a common gateway interface (CGI), the CGI residing in the memory and being executed by at least one of the plurality of CPUs; providing an application gateway residing in the memory and being executed by at least one of the plurality of CPUs; providing a plurality of HTML templates, each of the plurality of HTML templates including a plurality of substitution variables; a selected one of the plurality of web browsers initiating an access to the plurality of software applications by sending environment data and template data to the web server application, the template data specifying one of the plurality of HTML templates; outputting the environment data to the application gateway through the CGI; outputting the template data to the application gateway through the CGI; retrieving the specified HTML template to the application gateway for the plurality of HTML templates; retrieving from the plurality of software applications a plurality of values, each value corresponding to one of the plurality of substitution variables in the specified HTML template; inserting the plurality of values corresponding to the plurality of substitution variables into the specified HTML template; identifying which of the plurality of browsers should be sent the specified HTML template; sending the specified HTML template with the inserted plurality of values to the identified web browser. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A program product for communicating between a plurality of web browsers and a plurality of software applications, the program product comprising:
-
(1) an application gateway in communication with a common gateway interface (CGI) and the plurality of software applications, the CGI communicating with the plurality of web browsers, the application gateway including; a template communication mechanism, the template communication mechanism providing, an interface with a plurality of HTML templates, each of the plurality of HTML templates including at least one input variable and a plurality of substitution variables; a data retrieval mechanism, wherein the data retrieval mechanism retrieves data from the plurality of software applications, the data corresponding to the plurality of substitution variables; and a variable processing mechanism, wherein the variable processing mechanism processes the data retrieved from the plurality of software applications and substitutes the data into the plurality of substitution variables in one of the plurality of HTML templates; (2) signal bearing media bearing the application gateway. - View Dependent Claims (37, 38)
-
-
39. A method of communicating between a web browser and a plurality of software applications over the World-Wide Web, the method comprising the steps of:
-
providing a client workstation running the web browser; providing a web server computer running a web server application; providing a first computer system running an application gateway; providing at least one second computer system, each second computer system running at least one of the plurality of software applications; providing a first communication mechanism between the web browser and the web server application, the first communication mechanism allowing data to be transmitted between the web browser and the web server application; providing a common gateway interface (CGI), the CGI serving as a second communication mechanism between the web server application and the application gateway, the second communication mechanism allowing data to be transmitted between the web server application and the application gateway; providing a plurality of third communication mechanisms between the application gateway and the plurality of software applications, each third communication mechanism allowing data to be transmitted between the application gateway and one of the plurality of software applications; providing a plurality of HTML templates, each of the plurality of HTML templates comprising at least one input variable and a plurality of substitution variables, each substitution variable identifying one of plurality of software applications that can provide a value for the substitution variable; the web browser initiating access to the plurality of software applications by sending authentication data, environment data, and template data to the web server application via the first communication mechanism, the template data identifying one of the plurality of HTML templates; the web server application determining whether the authentication data authorizes the selected web browser to access the plurality of software applications; the web server application processing the environment data if the authentication data authorizes the selected web browser to access the plurality of software applications; the web server application outputting the processed environment data to the application gateway via the CGI; the web server application outputting the template data to the application gateway via the CGI; the application gateway retrieving the one of the plurality of HTML templates identified by the template data; for each substitution variable in the retrieved HTML template, the application gateway retrieving a value from the one of the plurality of software applications identified by the substitution variable; for each retrieved value, the application gateway inserting each retrieved value into the corresponding substitution variable in the retrieved HTML template; the application gateway determining which of the plurality of browsers should be sent the retrieved HTML template; the application gateway sending the retrieved HTML template to the web server application through the CGI; and the web server application sending the retrieved HTML template to the selected one web browser corresponding to the identifier via the first communication mechanism.
-
Specification