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 eclipse 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 ➢itext-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