The Vitalware suite of web applications is designed as a 3-tier system:
- Data Tier
- Business Logic Tier
- Presentation Tier
This is the database or the source of the data itself. The data tier for the Vitalware web application is a Vitalware web environment running on top of the Vitalware database engine. The Vitalware web environment contains a number of databases, including those that life event notifications are stored in, as well as databases for updates to notifications and transaction logging.
This tier is provided for by the eServer component of the Vitalware web application. eServer is responsible for authentication, receiving and validating data for insertion or query, error handling, communication with the data tier, and transaction logging. A series of XML configuration files and Vitalware Registry entries define how eServer handles each of these tasks. eServer is a web service and can handle requests from the eClient component (see below), as well as handling requests direct from external stakeholders (business to business). eServer can also be configured to handle requests from several different eClient components. eServer is a SOAP based web service, and thus communication is via SOAP message exchanges.
This tier is provided for by the eClient component of the Vitalware web application. A series of XML configuration files can be edited to customize eClient to provide presentation for capturing different major life events such as birth notifications, death notifications, and marriage notifications, or providing a query and reporting interface for searching or verifying life events.
A fourth tier can be implemented if the Data tier is not the production Vitalware Server environment used by the Vitalware client. In this case, data can be replicated automatically between a production and web environment (two data tiers), offering further independence between the applications modules.
The web applications are built using only industry standard tools and protocols such as SOAP 1.1 and 1.2, WSDL 1.1, support for WS-Security, XML, JDBC, and XSLT. These help to ensure the security, portability and reliability of the platform and language independent interfaces.