Project Horizon Technical Overview Bob Rullo GM; Presentation Architecture robert.rullo@sungardhe.com
Agenda Banner Evolution Overview Project Horizon Overview Project Horizon Architecture Review Preparing for Project Horizon What skills? When? Questions and Answers 2
Banner Evolution Overview
Banner Evolution Features New architecture to keep Banner technically current and extensible An improved user interface across the Banner Digital Campus Expanded multi-entity processing support Enables two or more entities to coexist in a single application architecture Setting foundation for future releases Provide new Banner capabilities sooner to you with less disruption 4
Banner Evolution Banner Evolution Project Horizon Database Changes Project MEP 5
Banner Evolution Timing Database Changes - Q1 2011 All core Banner applications, Banner Student Aid for Canada and other solution center localizations of Banner applications What s being updated? Expand the data structure by adding surrogate keys and optimistic lock tokens to support the new technical architecture Expand the data structure to standardize and support multi-entity processing capability 6
Banner Evolution Timing Banner Student UI Modernization - Q1 2011 Provide new user interface for Banner Student Project Horizon Consolidate business logic in the middle tier application server in order to improve Banner s technical currency and architecture Project Horizon 7
Banner Evolution Timing UI Modernization 2011/2012 Provide new user interface for the remaining core Banner applications Continue to consolidate business logic to improve Banner s architecture Multiple incremental releases planned 8
Project Horizon Overview
Introduction to Project Horizon Modernize the user experience of Banner by removing our dependency on Oracle Forms Sub-set of Banner Evolution initiative Project Horizon Goals Provide a consistent look and feel across all SunGard Higher Education applications Replace Oracle Forms Provide an alternative to Oracle Application Server 10
Benefits of Project Horizon Integration out of the box using RESTful web services Employ both Services Oriented Architecture and Web Oriented Architecture Provides choice of application server 11
Project Horizon - Key Points Functionally equivalent to Classic Banner Same screen names Similar keyboard navigation A modern web based user interface Banner business processes remain intact Allow Banner Forms and new user interface to co-exist 12
Architecture Review Project Horizon
Banner and the Java Platform The Java Platform already plays a key role within Banner Leveraging the platform allows us to select the appropriate technical language for the task at hand E.g. Java and Groovy The Java Platform is already used in Banner Workflow Banner Relationship Management Banner Flexible Registration Banner Travel and Expense Banner Effort Reporting and Labor Redistribution Spring and ORM tools like Hibernate prevalently used in Banner today 14
Grails Project Horizon is using Grails (http://www.grails.org/) as our web application framework Open Source Web Application Framework First 0.1 release in 3/2006 with 1.0 release in 2/2008 Grails leverages Java Platform Programming Language = Groovy 15
Grails cont d Uses proven Java technologies such as Hibernate and Spring under a simple, consistent interface A consistent framework which reduces confusion and is easy to learn High-productivity framework by following Convention over Configuration (CoC) Documented architecture with a growing community Good Books: Grails in Action, Definitive Guide to Grails 16
Groovy An agile and dynamic language that runs on the Java Platform Builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk Seamlessly integrates with all existing Java objects and libraries Compiles straight to Java bytecode so you can use it anywhere you can use Java 17
Project Horizon UI Technology Using industry standards HTML using Ajax CSS JavaScript through libraries like jquery Project Horizon is not using Adobe Flex as the core UI technology Leverage the Aurora Platform to ensure consistency across the Banner Digital Campus Ensure that user interfaces are accessible by screen reader Testing against Jaws 11.x 18
Software Requirements Application Server Project Horizon is being tested on Oracle WebLogic 11g Basic Edition and Apache Tomcat 6.x We expect to be able to run Oracle Forms on the same Oracle WebLogic 11g Basic Edition instance Database Database must be at Oracle 11g R1 Java VM Developing using Java 6 19
Deployment Strategies Oracle WebLogic 11g Basic Edition All Banner solutions can be deployed to the same Oracle 11g WebLogic Basic Edition application server Oracle 11g WebLogic Basic Edition Internet Native Banner (Oracle Forms) Banner Self Service Banner Student Horizon Banner 20
Deployment Strategies Tomcat 6.x The Banner Evolution Student module (and subsequent modules) can be deployed to Tomcat 6.x Oracle 11g WebLogic Basic Edition Internet Native Banner (Oracle Forms) A way to lower TCO through an open source option and ability to leverage existing resources Resource Load Demands E.g. Dev, Test instances Banner Self Service Tomcat 6.x Banner Student Horizon Banner 21
Hardware Requirements Specifics not available at this time To be provided during our performance and stress testing scheduled for Q2 2010 22
New Banner Architecture Request (HTML, JSON, XML) Response Security Filters using Banner Security Controllers Views Services Domain Models Banner Database Tables Views Banner API 23
Model View Controller Pattern Security Filters using Banner Security Request (HTML, JSON, XML) Response The model is the domainspecific representation of the data upon which the application operates. Domain logic adds meaning to raw data (for example, a row in a table) Controllers Services Views Domain Models The view renders the model into a form suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes. Banner Database Tables Views Banner API The controller receives input and initiates a response by making calls on model objects typically through services. 24
Model View Controller Pattern Security Filters using Banner Security Request (HTML, JSON, XML) Response Request goes through security filters that call out to Banner Security Controllers Views Services Domain Models Banner Database Tables Views Banner API 25
Model View Controller Pattern Security Filters using Banner Security Request (HTML, JSON, XML) Response If the user is granted access through the security filters the request is passed through to the Controller Controllers Views Services Domain Models Banner Database Tables Views Banner API 26
Model View Controller Pattern Security Filters using Banner Security Request (HTML, JSON, XML) Controllers Response Views In almost all situations the controller delegates requests to services. When fetching data we can go directly against the domain models Services Domain Models Banner Database Tables Views Banner API 27
Model View Controller Pattern Security Filters using Banner Security Request (HTML, JSON, XML) Controllers Response Views Domain Models are responsible for persisting the data to the database. Database connections to Banner are proxied to ensure that already existing database security is utilized. Services Domain Models Banner Database Tables Views Banner API 28
Model View Controller Pattern Security Filters using Banner Security Request (HTML, JSON, XML) Controllers Response Views Views are responsible for building the content to send back in the response based off the request. A view can return HTML, JSON or XML providing opportunities to extend to other applications. Services Domain Models Banner Database Tables Views Banner API 29
High Level Categorization of Banner Forms CRUD - Creating, Retrieving, Updating and Deleting Data Oracle Forms provided us support for all CRUD operations Little to no SQL necessary in a lot of situations Transaction Level Validation Typically the validation pulled into Banner APIs Is the closest thing to a service in Banner Field Level Validation Restricts user from advancing to address data issues Provides default values in other fields to improve user efficiency 30
Decomposing Banner to Grails based Architecture Existing Architecture Forms Canvases Windows Application Triggers Blocks Block Triggers Fields Field Triggers New Architecture Views Controllers Services Models 31
Decomposing Banner to Grails based Architecture Existing Architecture Forms Canvases Windows Application Triggers Blocks Block Triggers Fields Field Triggers New Architecture Views Controllers Services Models 32
Decomposing Banner to Grails based Architecture Existing Architecture Forms Canvases Windows Application Triggers Blocks Block Triggers Fields Field Triggers New Architecture Views Controllers Services Models 33
Decomposing Banner to Grails based Architecture Existing Architecture Forms Canvases Windows Application Triggers Blocks Block Triggers Fields Field Triggers New Architecture Views Controllers Services Models 34
How are we creating the new architecture? Automation We ve developed tools that read database and Oracle Forms metadata to generate new components ~80% of our Domain Models are generated ~70% of our Services are generated Expect high percentage of Controllers and Views to be generated Tools will be available for customer use on custom modifications and local forms 35
Shift in QA techniques as part of Project Horizon Test Driven Development Approach Test early and often Test first then implement Leads to higher quality Code Generation Recognize patterns and provide tools to generate for consistency and completeness Minimize human error Generate integration tests Continuous Build Integration We use open source CI server Hudson Every code change commit queues a request for testing June 4, 2010 www.sungardhe.com 36
Automated Testing Unit Tests Unit testing is for small focused, fast loading tests that don't load supporting components Validate interfaces and mocking while mocking out underlying services Integration Tests Tests that load the surrounding environment Mimic deployed environment Do not test the user interface Functional Tests Tests that mimic the end user interacting with the system In past, this was manually done, now automated through OSS tools like Selenium June 4, 2010 www.sungardhe.com 37
Testing Results Tests kicked off with every change June 4, 2010 www.sungardhe.com 38
Testing Results Status can show us when failures occur, duration, stability June 4, 2010 www.sungardhe.com 39
Preparing for Project Horizon When? What skills? Training?
Skill sets to support Banner in the future The Java Platform plays a key role within Banner The ideal IT staff would be Familiar with deploying Java EE applications WAR files; EAR files Knowledgeable of open source frameworks like Grails, Spring and ORM technologies such as Hibernate Oracle Database PLSQL prevalent, but trending down albeit slowly
Skill sets to develop and/or modify Banner in the future Sound understanding of the fundamentals of Object Oriented (OO) development Knowledge of Groovy and the Java language Groovy and Java plays a key role in Banner Intermediate familiarity with Grails, Spring and Hibernate Grails www.grails.org Spring - www.springsource.com Specifically Spring IoC, Spring Security Hibernate www.hibernate.org Specifically Hibernate Core
Improving the user experience within Banner Focus on new styles of interaction using Web 2.0 technologies Increasing focus on web standards HTML using Ajax JavaScript libraries such as jquery CSS (aesthetics and layouts)
Extending your Banner Digital Campus Project Horizon is stressing a Web Oriented Architecture Moving to more RESTful based web services Key goals of REST include: Scalability of component interactions Generality of interfaces Independent deployment of components Intermediary components to reduce latency, enforce security and encapsulate legacy systems
Wrap up Where can I learn more about Project Horizon?
Learn more about Project Horizon Throughout 2010 Project Horizon Webinars will be given to provide status updates on the project Banner Evolution: What s on the Horizon? Wednesday, May 21, from 3:30 pm - 4:30 pm Eastern Friday, May 21, from 11:00 am-12:00 pm Eastern Banner Evolution: Project Horizon Tech Overview Thursday, June 3, from 11:00 am 12:00 pm Eastern Friday, June 4, from 1:00 pm 2:00 pm Eastern June 4, 2010 www.sungardhe.com 46
Questions Email: robert.rullo@sungardhe.com Twitter: bobrullo