1. enPortal Solution Architecture
2. enPortal System Components
The primary functions of enPortal are contained within five system components:
- Request Engine
- Business Logic Engine
- Integration Engine
- Web Resource Proxy and Content Filtering
- Object Database
2.1. Request Engine
The Request Engine serves all requests coming from a user via a web browser. In fact, all external communications with an enPortal system are requested through the Request Engine. The Request Engine’s primary responsibilities are to translate HTTP(S) requests into object requests and to dynamically translate the application-specific results into HTML for transmission to the client web browser. The Request Engine executes within a Servlet/JSP engine; Java Servlets and JSPs are the primary components of the Request Engine. The Request Engine also provides an extra level of access security by verifying that the user is logged in to the system before accepting and servicing the request.
2.2. Business Logic Engine
The Business Logic Engine is responsible for the overall business logic of the system, enPortal’s security, and the storage of system objects. These responsibilities pertain to users, roles, domains, virtual directory access, and content management. Business Logic manages and stores system objects to a chosen object repository/database. The Business Logic Engine runs on the same process (Tomcat as the JSP/Servlet Engine) as the Request Engine.
2.3. Integration Engine
The Integration Engine allows new content Channels to be created and integrated into an enPortal system at runtime. The Integration Engine consists of a Channel classification model and a set of Request Handlers that are implemented as Java Servlets or JSPs. Request Handlers are the public web interfaces into enPortal Channels that service the Channel requests being made from web browser clients. The Integration Engine provides an external interface through the Portal Request Engine that allows HTTP(S) requests to be sent to any plugged-in visual Channel. Upon receipt of a request to render a content Channel, the Integration Engine retrieves the specified Channel (if security allows it) from the enPortal Server and calls the specified Request Handler to render the Channel content.
2.4. Web Application Proxy and Content Filtering
The Web Application Proxy and Content Filtering function facilitates the delivery of and interaction with existing HTTP(S)-based content. It is responsible for applying Single Sign-On (SSO) rules to the retrieval of external HTTP(S) requests, and for manipulating the resulting data streams being returned from an integrated application for control and data customization. The HTTP(S) stream manipulation support within enPortal is both extensive and configurable and is available as a Proxy Channel. A potential example of the use of this function is the removal of an image from an HTML stream as enPortal delivers the HTTP(S) stream to the browser client.
2.5. Object Database
The enPortal Database is a JDBC-compliant RDBMS, and enPortal supports numerous databases, including, for example, Microsoft SQL Server, MySQL, and Oracle. (For a complete list of supported databases, see the System Requirements page.) enPortal ships with an embedded H2 database. The enPortal Database handles mapping between the object-based data model used within enPortal and the relational database model that stores the actual content.