Global Entity Management System (GEMS) is a web-based multi-tier application. A multi-tiered application is an application whose functionality can be segmented into a number of logical tiers of functionality: presentation services, business services, and data services. This architecture combines client and server-side technologies to provide robust, distributed applications, offering ease of scalability and a higher level of security.
Users access the GEMS system across a LAN, WAN or the internet via a web browser. The browser communicates with the web server over any TCP/IP network using a lightweight protocol called HTTP that is the standard for the World Wide Web. The client sends HTTP Requests to the web server (IIS) and the web server responds by processing the request and sending an HTML-based page back to the user.
The TCP/IP network can be a totally secure internal company network, a Virtual Private Network or a public network such as the Internet. Clients, who wish to use the Internet to connect to their GEMS application, but wish to maintain a secure connection, can use security features such as Secure Sockets Layer (SSL), which encrypts all data that passes between the client and the web server.
Presentation Layer
GEMS consists of a number of different tiers or layers

The presentation layer runs on Windows 2000 Server or Windows 2003 server running Microsoft’s Internet Information Server (IIS) web server. GEMS contains a number of different types of files/pages, HTML, ASP and XSL.
- HTML pages contain static text and images that are not data-driven. For example, the static content of all GEMS’ Help pages is stored in HTML files.
- Active Server Pages (ASP) contain server-side scripting code that is executed on the Web Server before any HTML is returned to the client browser.
- XSL (Extensible Style sheet Language) pages are a transformation language enabling the display of XML (Extensible Mark-up Language) as HTML.
IIS executes a number of ASPs and from these the Web Server application loads and runs Business Rules components which define the business logic of GEMS. For screens that are not static we refer to these as data-driven or dynamic screens. These dynamic screens are built by the Business Rules User Interface components in the Business Rules server and passed to the web server as HTML or XML. Those passed as XML are then transformed by XSL into HTML on the client browser in the presentation layer.
Any data requested or submitted by the user passes through the Business Rules User Interface components, which use the Business Rules components to first apply any business rules. The business Logic components in turn use the Data Access components to handle all data access from the GEMS database.
Business Layer
GEMS’ Business Logic Layer is its primary means of enforcing the application’s business rules and communicating with the database. The code that runs on the Business Rules server consists of numerous Visual Basic 6 COM components that contain all of the data extraction, validation, and updating logic for the GEMS application.
There are 3 types of components in the business rules server:
- User Interface components
- Business Logic components
- Data Access components
All of the GEMS DLLs run under COM+ Services for Microsoft Windows 2000/2003. COM+ is a run-time deployment platform for component-based applications that provides a middle-tier infrastructure for these applications to run on. It provides transaction processing and scalability features which, in the absence of COM+, would have to be designed and coded for each individual application. COM+ allows the code contained in the GEMS components to focus on addressing the GEMS business application, without all of the overhead of the systems-level ‘plumbing’ code needed to make middle-tier services perform and scale well.
User Interface Components
The User Interface components build the User Interface and handle communications between the Web Server and the Business Rules Server. There are two separate UI component types, the DDI (Database Driven Interface) components and the search components.
DDI components receive requests for data pages from the presentation layer. By data pages we mean FORM type pages used for Adding, editing and viewing data. The components via the data layer, query the GEMS System database for the data to build these pages for the correct jurisdiction and in the correct language. After the data is retrieved the DDI components build the HTML for the page and pass this HTML back to the presentation layer.
Search components receive requests for search results from the presentation layer. They pass these off to the data layer which retrieves the data. The search components then pass the data back to the presentation layer as XML.
Business Logic Components
The Business Logic components encapsulate the business rules of the GEMS application. Most components in this layer have a standard set of methods with common interfaces for getting, updating, validating and deleting data. Data is sent to and received from the Data Access components as XML.
Data Access Components
The Data Access components are responsible for communicating with the database and provide independence from different Data Management Access Systems. They communicate with the database via OLEDB providers. Inside the components, the code relies upon Microsoft’s ActiveX Data Objects (ADO). ADO is an efficient and extremely fast way for application components to access relational databases. At the moment the Data Access Layer components support Microsoft SQL Server 2000 and SQL Server 2005 (recommended).
Data Layer
The Data Layer consists of data residing in different kinds of stores. Microsoft SQL 2000 or SQL Server 2005 relational database management systems provide GEMS data services. SQL servers provide a high-performance, highly-scalable engine, for relational database data management and query processing.


