Banner 9 Admin pages journey Banner-Jasper Report Integration

Ian Simpson, [email protected] Sudhir Kaul, [email protected]

APAC Presentation Overview

Overview of experiences gained from our Banner 9 Upgrade Complexities • Multiple development teams working on different components • Customise baseline functionality and create new pages

“What challenges were faced and how were they resolved”

© 2018 Ellucian 2 Agenda

1 Initial Setup

2 Upskilling Developers

3 Source control

4 Development and Testing

5 Summary

© 2018 Ellucian 3 Let’s start….

Initial setup (Never Ending issues) • Used Ellucian Setup guide • Outcome – our own setup guide Started on minor existing page extensions • Ellucian documentation used First page based on validation template & then key block • Error and Resolution guide Learning Journey continued……

© 2018 Ellucian 4 Upskilling

Assisted conversion • Some forms given to vendor to transform • Video conferencing with Morphis Tech guru • Specific questions prepared and discussed Review baseline code • Look for examples of code transformation • Helped to have Oracle Forms code embedded as comments eCommunities • Questions asked and assistance provided

© 2018 Ellucian 5 Source Control

GIT vs SVN • Already using SVN • GIT was recommended Merging and Branching • Created a new repository for Banner 9 • Supported multiple team/developer development • Maintained different stages of source code Deployment • Deployments to test and production environments

© 2018 Ellucian 6 Version Control and Deployment

© 2018 Ellucian 7 Development and Testing

Developer separation • Developers worked in their own SVN branch • Merged their work into the team SVN branch • Developers tested locally within Eclipse Testing • Testers could do majority of testing using Developers Instance • Developers created second Tomcat server • Deployed local copies to this server for Testers

© 2018 Ellucian 8 Development and Testing contd…

Merging and Branching • Team changes then merged into the Project Test branch • Deployment files created and stored alongside source code • DBA’s deployed these files to test server Deployment • These same deployment files then deployed to production • Project Test branch merged into the Banner 9 trunk (production) branch

© 2018 Ellucian 9 Our learnings…

One step at a time and trust you will get there • Team changes then merged into the Project Test branch • Deployment files created and stored alongside source code • DBA’s deployed these files to test server Share knowledge • Developers presented some of their work to others • Some developers collaborated on changes • Document errors you come across and their solutions • eCommunities

© 2018 Ellucian 10 Any questions?

© 2018 Ellucian 11 Banner-Jasper Report Integration

Sudhir Kaul, [email protected] Agenda

Jasper Report Integration with Banner 9

What will be covered 1. About Jasper Report 2. Server Architecture 3. Technical Overview ➢ Jasper Report ➢ Servlet ➢ API’s 4. Tomcat ➢ Configure ➢ Deploy 5. Process Summary

© 2018 Ellucian 13 About Jasper Reports

© 2018 Ellucian 14 About Jasper Reports • Jasper Reports defines a report with an XML file. • Regardless of which language is used for expressions inside the jrxml • Jasper Reports creates a special Java class that represents the whole report. The report is then compiled, instanced, and serialized in a jasper file, ready for loading at any time.

© 2018 Ellucian 15 Server Architecture

© 2018 Ellucian 16 Server Architecture

• User accesses banner application from browser and submits a request to generate a report • Application Server receives the request and calls appropriate Database procedure. • Database procedure creates a request through UTL_HTTP and sends it to Jasper Server. • Jasper server receives the request and creates a file on the file system in PDF format using Jasper API’s. • Database procedure then reads the file from NFS . • Database procedure converts the file to stream. • Database procedure sends the stream back to application server. • Application server sends the response back to the user

© 2018 Ellucian 17 Technical Overview

© 2018 Ellucian 18 Technical Overview

• Jasper Reporting Tool • Create Servlet • API’s

© 2018 Ellucian 19 Technical Overview

• Create Jasper Report ❖ Jaspersoft Studio is an Eclipse-based report designer for Jasper Reports Library and JasperReports Server ❖ It’s available as an Eclipse plug-in or as a stand-alone application.

Using any suitable tool to create the Jasper report , build the jrxml file to be used to create report in PDF format

© 2018 Ellucian 20 Technical Overview…Servlet

• Servlet ❖ Create a servlet class using Eclipse IDE. ❖ Import required classes to create the jasper report and other functions to be performed

❖Supported jars for servlet class ➢commons-beanutils-1.9.0.jar ➢groovy-all-2.4.3.jar ➢commons-collections-3.2.jar ➢httpclient-4.3.6.jar ➢commons-digester-1.7.jar ➢-2.1.7.js3.jar ➢commons-logging-1.0.4.jar ➢jasperreports-6.1.1.jar ➢ojdbc7-12.1.0.1.jar ➢servlet-api.jar

© 2018 Ellucian 21 Technical Overview…API’s

Jasper API Functions ❖ JasperCompileManager.compileReportToFile ❖ This function compiles jrxml file to jasper file which is an executable file for jasper report to run. ❖ It accepts report name as parameter. ❖ It returns the executable filename.

❖ ParamMap.put ❖ It is not a Jasper API but of type HashMap() used to store the key value pair. ❖ It is used to map the parameters with their values which are required by the Jasper report(if any).

© 2018 Ellucian 22 Technical Overview…API’s

Jasper API Functions ❖ JasperRunManager.runReportToPdfFile ❖ This function creates the PDF report and copies at the file system. ❖ Parameters required are ➢ Jasper executable file name with path. ➢ Output file name to be created with path ➢ ParamMap for any parameters required by the report. ➢ Database connection object on which the report will execute the query to fetch the data from.

© 2018 Ellucian 23 Tomcat ➢ Configure Tomcat ➢ Deploy Servlet

© 2018 Ellucian 24 Technical Overview..Tomcat

• Configure Apache Tomcat ❖ Configure Tomcat to connect to the database by using JNDI data source connection. ❖

© 2018 Ellucian 25 Technical Overview ...Deploy Servlet

• Deploy Servlet on Apache Tomcat • Create War file from Eclipse for the Servlet created to generate PDF file using Jasper report. • Login into Apache Tomcat as Admin user. • Deploy the War file onto the Apache Tomcat.

© 2018 Ellucian 26 Process Summary

© 2018 Ellucian 27 Process Summary

• Using UTL_HTTP from within the Database package send the http request to the URL calling Servlet for the deployed application. • The URL generates the report and copies the PDF file to the file system. • Read the PDF file from the file system using database package • Stream out the file contents to the browser using Database package.

© 2018 Ellucian 28 Thank You

© 2018 Ellucian 29