Architecture & Deployment
EspressReport ES is designed to leverage users' existing infrastructure investments. It deploys completely within Java EE application environments, with no separate server-side application processes. The following diagram illustrates the basic architecture of an ERES deployment.
The ERES server deploys as a servlet collection within an application server/servlet & JSP container. Other servlets/JSPs can be deployed in the server to connect to, and retrieve information from the ERES server (like file names, schedule information, and scheduled reports/charts). Database buffering allows report data to be re-used (within user-supplied parameters) for faster generation.
ERES can be deployed in a single server or in a clustered environment. When running in a cluster, one server acts as a load balancer, and routes all incoming client requests to cluster members, while maintaining a common back-end file structure. This configuration option allows ERES to scale to high-availability deployments with thousands of users.
Most server functions can be administered remotely, using a browser-based interface. This allows administrators to manage users/groups, and configure the server from anywhere using only a Web browser.
End to End Security Management
EspressReport ES provides a powerful security framework to handle user/group privileges as well as report page and element level security. ERES binds privileges to report developers using an ownership model that allows security to be enforced automatically as reporting implementations grow and change.
Users can integrate custom security models and users/groups with ERES. ERES allows direct integration with users in LDAP systems, and stored in relation databases. In addition ERES provides open server extensions that allow users to programmatically integrate any custom security model with the ERES architecture.
Beyond privileges, security features can be extended to report templates. Templates can be configured to have specific report elements or data columns change depending on which user/group is viewing the report. In addition filters can also be automatically applied to reports to enforce page level security.