An HTML client is generally used for a home banking application built to
use the Bank Transformation Toolkit. An HTML client can also be used in any
other kind of application, such as a bank teller application or a CRMS. The
client machine requires only a Web browser to run the application.
When the user visits the start page of the application and logs in, the
browser displays a menu or HTML desktop with a list of available processes.
A detailed sequence of the events in runtime is as follows:
- The user requests a customer search and provides the required input data:
- The user clicks a customer search link in the HTML desktop. This user
action sends a request to the server servlet. The request parameters include
the name of the FlowProcessor that is required.
- On the server side, the requested processor is created and initialized.
The FlowProcessor, which is in its initial state because it is the first time
it has been used, moves to the next state, to which a JSP page is assigned.
The JSP page is executed, and it generates the HTML page for the reply. The
reply includes some control data, such as the current processor identifier.
- On the client side, the HTML page that is the reply displays a form with
input fields for the customer search criteria.
- The user enters the input data and clicks a Submit button. The form data
will be sent as an HTTP post request to the toolkit server servlet. The request
data contains the FlowProcessor name and process ID as hidden fields, along
with the other input data.
- The Customer Search business operation is executed on the application
server.
- On the server side, the requested processor is restored, and the request
data is validated and unformatted on top of the processor context, and the
event is passed to the current state of the processor. These actions advance
the process flow. A result can be an input event for the current state, or
a trigger for the processor to move to its next state. As the entry action
for this state, the Customer Search server operation is executed.
- As part of the execution of the server operation, a customer search transaction
request is sent to the host. When the host returns a reply, the message is
unformatted into the server operation context.
- Another step of the server operation updates the Electronic Journal with
data from the transaction. The execution of the server operation finishes.
- The client view displays a list of customers matching the search criteria.
- The HTML FlowProcessor moves to its next state, which is a JSP page state.
The JSP page is processed, which generates an HTML page with the reply. The
reply is the list of customers who match the search criteria, which has been
updated in the context by the Customer Search operation.
- The client displays the HTML page that contains the Customer Search results.
- The user selects a customer and clicks a Submit button, which performs
a Customer Details operation.
- The user action on the GUI sends a new HTTP request. The request data
contains the FlowProcessor name, the process ID, and the selected customer.
- The process flow advances, and the state executes the Customer Details
server operation.
- The client displays the details in a different panel, from which additional
actions can be executed.
- The HTML FlowProcessor moves to its next state, which results
in the execution of another JSP page, and generates an HTML reply page. The
reply contains customer information obtained from the processor context, which
was updated with data from the host reply. The process ends when the user
accepts the information and does not perform another operation. The FlowProcessor
in the server then enters a final state, which presents the home page to the
user.