FlashConnect sessions

This topic discusses FlashConnect sessions and how they are tracked.

A session begins when a user reaches the first form. At that time, the FlashConnect connection is available only to the browser that started the session. Unless initialized by the application, the FlashConnect logon screen does not start a session.

A session ends when the FlashConnect application returns to the FlashConnect application that called it. When the session ends, the FlashConnect connection is available for use by any authorized user.

The language of the World Wide Web is Hypertext Markup Language (HTML). The Hypertext Transfer Protocol (HTTP) is where the World Wide Web is based. HTTP is a stateless protocol, meaning it does not track information about successive communications. See the session tracking problem illustrated below.

Clicking a browser link sends a message to the server. The server responds by sending the document. Once the browser receives the entire document, the server no longer tracks the session.

This works well for requesting a static page from the server; however, HTTP is not sufficient to program a multiuser interactive application. For example, consider an interactive customer update application. The server must be able to store the current state of the progressing transaction between data transfers. The server, like any application, must not allow other users to update records that are currently locked. HTTP cannot accomplish this task by itself.

FlashConnect resolves this session tracking problem by keeping track of the application state. See the FlashConnect session tracking solution illustrated below.

Explanation of our solution

In addition to the Web browser and the HTTPD server, the FlashConnect solution includes two elements:

  • Web server (includes the FlashConnect CGI or ISAPI connector and FCService)

  • Database server

A detailed explanation of each element, along with the FlashConnect solution, is illustrated in the figure below.

Web server

The Web server includes the FlashConnect CGI, ISAPI, and Java Servlet connectors and FCService.

Connector/Service Description
fccgi.exe, fcisapi.dll, or FCServlet UNIX: The HTTPD server starts the connector application fccgi.exe or FCServlet when it receives an HTTP connection destined for a FlashConnect dynamic application. The connector passes the data between FCService and the HTTPD server.

Windows: The HTTPD server starts the connector application fccgi.exe, fcisapi.dll, or FCServlet when it receives an HTTP connection destined for a FlashConnect dynamic application. The connector passes the data between FCService and the HTTPD server.

FCService The FCService directs data packets between the Web Server or mvDesigner Server and the database server. When a connection is made, the FCService sees if the connection is part of an already established session.
  • If it is a new connection, FCService begins a new session, selects a free database server socket, and passes the data from the browser to the database server.

  • If it is an existing connection, FCService directs the data from the browser to the database server socket that is waiting for it.

Database server

FlashConnect consists of an API and subroutines that implement the API. On the database server, an application runs as a called subroutine under the FlashConnect driver, WWW-IRUN.

Before the connection is made, authorization to use the application is authenticated where applicable. Once authenticated, a new session begins. See the FlashConnect Administrator’s Guide for more information.

A complete application session can consist of several Web pages, including several connections, allowing a BASIC programmer to write software the same way as writing for a terminal.