Banner 9 Technical Journey and Jasper Integration
Total Page:16
File Type:pdf, Size:1020Kb
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. ❖<Resource name="jdbc/bannerDS" auth="Container" type="javax.sql.DataSource“ driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@HOST:PORT:SERVICE" username=“username" password=“password" maxTotal="20" maxIdle="10" testWhileIdle="true" testOnBorrow="false" timeBetweenEvictionRunsMillis="10000" validationInterval="30000" maxWait="-1" factory="org.apache.commons.dbcp.BasicDataSourceFactory" /> © 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 .