System Documentation - ArchitectureThe IBIS-PH system consists of three applications 1) a semi-private Indicator Profile data maintenance and publishing system, 2) a public Indicator Profile and adhoc query view request system, and 3) a private, backend SAS data interface system. These applications communicate with each other via standard HTTP web requests with XML data responses or text responses (this type of distributed system interaction is commonly referred to as ReST which is defined as Representational State Transfer). The applications can be hosted on as few as one computer (server) or can be distributed and load balanced across multiple clustered servers.Listed below is a description of the applications followed by a diagram showing a high level view of the three applications hosted on four servers, followed by an example of a typical distributed environment using five servers. The IBIS-PH System Applications - The Three Musketeers
Figure 1
IBIS-PH View and IBIS-Q Notes:
Application to Application Communication/InteractionThe high level diagram shown above depicts the typical system parts and basic interaction. The applications interface/communicate with each other using standard HTTP "get"s and "put"s. Each request is programmed to give a certain response with each response message being specifically programmed for as well. This type of interaction now has a fancy name and is commonly referred to as "REST", or Representational State Transfer. REST is described as an architectural style for building applications that leverages basic current web technology for passing data between computer systems. In a sense, REST takes the same technological concepts behind a browser requesting data from an application running on a server, and applies them to application-to-application communications. For the IBIS-PH System, most requests involve either a simple text message response or an XML text stream. The system does not currently have any support for SOAP, web services, or other more complex web application communication solutions although it could very easily be added to the View and Admin applications.Distributed Environment Example Using Five ServersThis configuration is depicted in the above Figure 1 with the exception that the front end Web Server Proxy is not shown.
JAVA APP SERVER CLUSTERING NOTE: When deploying to a
clustered environment, all XML data files MUST be shared on a common
file server.
|