FAQs - JReport APIs and Beans
JReport provides a rich set of APIs and Beans that enable JReport Server and JReport Designer functionality to be seamlessly embedded within any application. There are several typical thin-client deployments of JReport:
- When an enterprise prefers to embed JReport Server functionality within an application, as opposed to running a stand-alone JReport Server, they utilize the JReport Server API. This API allows users to perform all JReport Server functions from within their application, including running and scheduling reports, managing report resources, and providing user access control. Clients use a Web browser to access, schedule, share, and manage their reports.
- When JReport is deployed as a stand-alone server, the JReport Viewer Bean or Remote Method Invocation (RMI) API is installed in the Web application server to provide the ability to manage resources, perform tasks, etc. The JReport Viewer Bean is used when a firewall is employed, for example when a organization deploys reporting functionality to customers but wants to ensure the security of their data. The RMI API is used when no firewall is present, for example when an application is deployed on a local intranet that is only accessible to internal users. Clients can view reports and access server functionality via any Web browser.
- In situations where an organization wants to simply run and view reports, the JReport Server Engine (Engine Bean) can be deployed in a Web application. The JReport Server Engine is the core of the JReport Server and is responsible for fetching qualified data from the data source and returning results. The JReport Server Engine does not provide resource management and security functionality. Clients can view report results via any Web browser.
JReport also provides flexible deployment options in fat-client environments:
- In environments where a client does not have a Web browser, the JReport Viewer Bean can be installed on the client-side. When installed on the client-side, the JReport Viewer Bean enables the user to access JReport Server functionality, whether JReport is deployed as a stand-alone server or integrated in a Web application server.
- JReport also supports "desktop deployment". This deployment option requires the Engine Bean and the JReport Results Viewer to be installed on the client machine. This deployment is most typical in environments in which users do not have reliable Web access. Users run and view reports directly on their client machine.
JReport provides other APIs that provide additional functionality. For example, the JReport Security API allows for seamless integration with existing security systems. The Security API enables management of user/roles and permissions outside of the JReport Server. The Security API is most commonly employed when organizations want to maintain all security settings within one "security center".
JReport Designer functionality can be embedded into an application with the JReport Design API and the JReport Server Design API. Both APIs provide the ability to design and manage catalogs and reports from within any application. Catalog management includes the ability to create connections, add and delete objects, modify queries, and obtain object information. These APIs provide the same report design capabilities as JReport Designer. JReport Design API supports one concurrent user. JReport Server Design API supports multiple concurrent users.