Viewing: Creating Domains > Overview of Domains

Overview of Domains

Production databases typically contain data in tables optimized for storage and retrieval. Columns with data relevant to users must be joined across several tables, filtered by business need, secured against unauthorized access, and labeled with user-friendly names. In relational databases, a view can perform some of these functions. In the server, a Domain performs all these functions and more, such as the localization of report text and permissions based on data values.

A Domain is a virtual view, created and stored in the server without modifying the data source. Through a Domain, users see columns that have been joined, filtered, and labeled for their business needs. Security policies limit the data values users can access through a Domain. Administrators define Domains, and users create reports based on Domains using either the Ad Hoc Editor or Jaspersoft Studio.

Typically, database administrators or business analysts create Domains, which are then used by end users who understand the structure of the raw data in the database. In the default server installation, those who create Domains must have organization admin privileges.

Domains, like Topics, are used in the Ad Hoc Editor as a basis for designing reports. Users can save a report based on a Domain for others to run, and can also save the settings in a Domain Topic so others can design similar reports.

Using a Domain instead of a Topic has the following advantages:

Domains can be created directly through the server user interface.
Domains can use virtual data sources that combine data residing in multiple JDBC or JNDI data sources into a single data source.
Domain creators can write SQL queries, joins, filter expressions, and security files to specify exactly what data can be accessed, as well as labels and locale bundles to specify how the data appears.
When designing a report based on a Domain, the server can optimize database access to allow editing of reports that access huge datasets.
A Domain design typically includes data filtering, but users who create reports using the Domain can filter data even further. Users can select a subset of columns to appear in the Ad Hoc Editor and give them custom labels. Users can filter the data for each column.
Users creating reports can design prompts for input from report readers to filter data that appears in the document.

For more information, see Creating a View from a Domain and Creating Topics from Domains.