Intellicus Web Client supports all the Web servers and extensions that support JSP execution.
The Intellicus Web Client files include Intellicus Java Server Pages and Intellicus Java API packages. Other supporting files include java script files, image files, property configuration files, etc.
These files are available at <Intellicus_Install_path>Jakartawebappsintellicus.
There are two recommended methods for integrating Intellicus client into a host web application.
Intellicus portal can be run separately and can be interacted with HTTP calls, OR
Intellicus portal JSPs and JAVA APIs can be copied inside the HOST application server.
Note: The options are with integrating the client components. In either case, the Report Server will run as a separate standalone server process.
Option-1: Intellicus Running on Separate Webserver
In this method Intellicus web client components are deployed in a separate application server and managed separately.
The client components run in the memory space of a separate Jakarta TomCat JSP Server. During streaming of report output to the browser, the client components won’t consume host applications’ threads, temporary file space etc.
Still, this integration option can provide embedded reporting, by placing reporting output as an integral part of the host application page.
Figure 1: Integrating as a separate portal
Use cases
- Host application user login to their (Host) application.
- User clicks Reports option for getting a report layout list etc. from the web browser and thus hit the Intellicus portal.
- Host application user access Client database for their normal actions other than reports.
- Client application communicates with Intellicus JAVA APIs (includes intellica.jar, xerces.jar, log4ij.jar, ReportClient.properties) deployed on Client app server in their class path.
- Client uses Intellicus JAVA APIs for performing Intellicus administration task programmatically.
- Intellicus portal communicates with report server for report execution, administration etc.
- Intellicus report server communicates with Client database for fetching report layouts.(Intellicus creates its own repository tables in the database)
- Intellicus report server communicates with Client database and fetches data using report SQL from Client database.
- Host application user logs in through Intellicus portal for Admin Screens using Intellicus portal login screen.
Deploying JSPs and SERVLETs
Step 1- Install Intellicus Report Server
Run Setup.exe and Install Intellicus Report Server.
You can install Intellicus Report Server on a separate machine or on the same machine as the host application server is running.
The setup.exe installs the report server as well as the Intellicus client components.
Note: By default, Intellicus suite listens to HTTP requests on port 80. If this number conflicts with any of host application port numbers, then either of ports should be changed.
Step 2- Configure HTTP port number
Report Web Service will start automatically on port 80. To change Intellicus portal HTTP port number,
- Go to [Intellicus_Install_path]Program File IntellicusJakartaconf
- Using any text editor, edit ‘server.xml’ file.
- Search for Connector port=”80″ text and replace 80 with other number, for example, 8000.
The Intellicus can be now accessed as localhost:8000/intellicus.
Step 3- Setting Intellicus User Context
When it comes to integrating Intellicus with a host application it is desired that the user gets seamless experience. That means, user should not only get the same look and feel, but if the application needs user authentication, he/she should not be asked to log into Intellicus again.
Single sign-on refers to one time authentication performed by the host application. Intellicus does not perform any authentication check for the Users accessing Intellicus from Host Application as these are already authenticated. This means that User can access Intellicus without going through Intellicus Login page
Please refer IntellicusSingleSign-on.doc for more details on single sign on.
Note: IntellicusSingleSign-On.doc will be provided with Intellicus setup.
Path: <Intellicus_Install_Path>DocsManuals
Option-2: Intellicus Running inside a Host Application
In this method Intellicus web client components are deployed inside the host application server and managed along with the host application.
During streaming of report output to the browser, the client components run in the memory space of host application server and consume threads, temporary file space etc.
Use cases
- Client application is a web-based application, which is deployed on some App Server. Intellicus Web Application is running on the same server.
- Intellicus web Application is embedded with the Host web application.
- The Host Web Application accesses the Intellicus pages.
- The Host Web Application accesses the Intellicus Report Server through Intellicus Web Application.
- The Host application uses Intellicus JAVA APIs for creating/mapping Intellicus users/roles etc (Point 6 in the diagram). Host application communicates with Intellicus JAVA APIs (includes Intellica.jar, Xerces.jar, log4ij.jar, ReportClient.properties) deployed on their App server in their class path.
- Intellicus Report Server connects to Client database; with a single-user connection pool (Intellicus creates its own repository tables in the database). Intellicus repository is also formed on the same database (may be under a different schema).
- Intellicus report server communicates with Client database and fetches data using report SQL from Client database.
Steps to deploy Intellicus as a Embedded Application inside Host Application
Go to the drive where Intellicus is installed and then follow the path Intellicus>Jakarta>webapps, copy the folder “intellicus” from there and place it inside the Host Application folder “hostapp”.
<jakarta home>webappshostapp
- Copy library files of intellicus
Copy the intellica.jar, log4ij.jar, xercesImpl.jar and xmlParserAPIs.jar inside the lib folder of WEB-INF folder. The files intellica.jar, log4ij.jar, xercesImpl.jar and xmlParserAPIs.jar are taken from the lib folder of WEB-INF folder of the “intellicus” folder.
- Modify the contents of “web.xml’
- The contents of Intellicus’ web.xml (inside the WEB-INF of intellicus folder) should be merged into web.xml of hostapp folder
<jakarta home>webappshostapp WEB-INFweb.xml
- Modify the entry of propertyFilename to set env-entry-value to /intellicus/client/config/ReportClient.properties
- Also, the mappings mentioned below requires prefix as Application Folder Name in its uel-pattern. (Eg, if embedded folder “intellicus” is renamed as “report” inside host application, then “/report” should be used as the prefix)
<servlet-mapping> <servlet-name>ChartTemplateController</servlet-name> <url-pattern>/report/tools/amchart/templates/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>GridTemplateController</servlet-name> <url-pattern>/report/templates/grids/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>HelpController</servlet-name> <url-pattern>/report/common/help/images/Default/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>HelpController</servlet-name> <url-pattern>/report/common/css/images/Default/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>HelpController</servlet-name> <url-pattern>/report/common/help/stylesheets/help.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>WebStudioUtility</servlet-name> <url-pattern>/report/webdesigner/images/user/*</url-pattern> </servlet-mapping> <env-entry> <env-entry-name>propertyFileName</env-entry-name> <env-entry-value>/report/client/config/ReportClient.properties</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
The location of ReportClient.properties file.
<jakarta home>webappshostappintellicusclientconfig
- REPORT_ENGINE_IP section in ReportClient.properties file should point to Report Engine Server.
E.g.: ## [REPORT ENGINE CONFIGURATION]
# Address of machine where Report Engine is running
# (Default value:- 127.0.0.1)
REPORT_ENGINE_IP=192.168.33.110
# Port number on which Report Engine is running
# (Default Value:- 45450)
REPORT_ENGINE_PORT=45450
- Set INTERA_HOME to blank.
- Set RELATIVE_PATH=/intellicus
In case the name of the intellicus folder is renamed by the user like, “intellicus” is renamed as “report”, then the relative path is set as “/report”
- Modify the contents of “ReportEngine.properties”
The location of ReportEngine.properties:
<Intellicus_Install_Path>/ReportEngine/Config/
Change HYPERLINK_RELATIVE_PATH property
From : ../../../InteraController.jsp
To : ../../../intellicus/InteraController.jsp
In case the name of the intellicus folder is renamed by the user like, “intellicus” is renamed as “report”, then HYPERLINK_RELATIVE_PATH property should be set as ../../../report/InteraController.jsp
User can access Intellicus with following URL
http://<IP Address> :< port no>/hostapp/intellicus/index.jsp
In case the name of the intellicus folder is renamed by the user like “intell
icus” is renamed as “report” then the user can access Intellicus with the
following URL:
http://<IP Address> :< port no>/hostapp/report/index.jsp
HTML Look and Feel
All Intellicus JSP files use the style sheet- ‘intellicus.css’ to generate the HTML look-and-feel. You can change ‘intellicus.css’, or modify these JSP files to use your cascading style sheet file (CSS) to give the look-and-feel according to your application.
Note: Intellicus provides professional services for developing the UI skin. Please contact Intellicus support for the same.