The Xcentrisity Business Information Server (BIS) is a web server environment that manages COBOL application sessions and makes them available via any web browser or other web user agent that is granted access to the BIS server. BIS offers application developers a real opportunity to build state-of-the-art Service Oriented Architecture (SOA) applications incorporating legacy business data and logic freely mixed with the latest web languages and tools.

With BIS, remote users can access data, perform application functions and execute service programs on one or multiple servers located anywhere in the world. For example, a sales force can check order status for customers during the day and enter new orders in the evening as they travel. Emergency room doctors can read patient histories on primary care physician files in another state and primary care physicians can see insurance claim's status. Bank customers can see account status, pay bills, transfer funds, and make investments, all from the comfort of their own homes. Taxpayers can have access to public records from anywhere. With BIS, any modern application architecture, function, or appearance is possible.

Xcentrisity BIS has two major components:

A service program is the application COBOL code that is executed by the Service Engine. This is application dependent, and provided by the application developer.

In the simplest case, an end user enters a URL into a web browser that specifies a specific web page on a server. The web browser then formats the request using HTTP or HTTPS and sends the request to the server specified in the URL. If the requested page is a reference to a simple HTML file (usually denoted by a file extension of .htm or .html), the contents of the HTML file are sent to the browser without any further processing.

However, if the reference is to a BIS stencil file (usually denoted by a file extension of .srf), the file is read and processed by the server before it is sent to the browser. Specifically, BIS interprets the file, processing any tags embedded in the file's HTML or XML content. A tag is composed of text surrounded by {{ and }} sequences, and tags may be interpreted as processing instructions or placeholders that are replaced by plain text, HTML or XML that is generated by the BIS service engine or by the BIS request handler.

Some useful definitions:

User Agent / Client The program that is used to request information from a server. This program is frequently a web browser, but it could be any program on the user's machine.
HTTP Hypertext Transport Protocol, a standard encoding scheme used to transmit requests to web servers and receive responses from web servers. HTTPS is a secure version of HTTP.
URL Uniform Resource Locator, the location of a resource on the internet. A URL consists of a scheme (in this context, HTTP or HTTPS), the name of a machine, and a path to a file. For example, http://microfocus.com/bis/index.html specifies the file named index.html from directory bis on server machine microfocus.com using the HTTP scheme. When this is typed into a web browser, the browser issues a HTTP GET request on this file.
Request An HTTP packet that contains a command issued by the user agent. A request may simply GET a file from a web server, PUT a file to the web server, DELETE a file from the web server, or may POST data (such as a form) to the server, or it may cause a program to be run on the server. GET and POST are by far the most frequently used commands.
SOAP SOAP (Simple Object Access Protocol) is an XML-based web protocol designed to operate on HTTP to facilitate web services. It is particularly well suited to Remote Procedure Call (RPC)-style services.
REST REST (Representational State Transfer) is an architectural style for distributed hypermedia systems and can be used to implement web services. While there is not a formal standard like SOAP, it is based on the four principle HTTP request types (GET, PUT, POST and DELETE), and URLs. In a REST architecture, a request payload may be in any format desired, including XML.
Web Server A program that runs on a server and listens for HTTP requests. When a request is received, the web server processes the request or sends it on to another program (such as BIS) for processing.

The two most common web servers are Microsoft's Internet Information Server (IIS), which BIS supports on Windows, and Apache, which BIS supports on UNIX.

Response A HTTP packet that contains the response to the request. The response may be text, to be displayed in a web browser, or data encapsulated by SOAP for consumption by the requesting program.
Session Requests are stateless, that is, the web server processes each request as if it had never received a previous request from the same user agent. A session is a BIS concept that allows sequential requests from the same user agent to be grouped together and preserves state information across requests on the server.

For more definitions, see the Glossary.