project horizon technical overvie—project horizon is being tested on oracle weblogic 11g basic...
TRANSCRIPT
Project Horizon Technical Overview
Steven FormanPrincipal Technical Consultant
Agenda
• Banner Evolution Overview
• Project Horizon Overview
• Project Horizon Architecture ReviewProject 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
extensibleextensible—An improved user interface across the Banner Digital
CampusE d d lti tit i t—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 EvolutionBanner Evolution
Project H i
ProjectMEP
Database Horizon MEPChanges
5
Banner Evolution TimingDatabase Changes - Q1 2011Database Changes Q1 2011
• All core Banner applications, Banner Student Aid for C d d th l ti t l li ti fCanada 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 technicaloptimistic lock tokens to support the new technical architecture
—Expand the data structure to standardize and supportExpand the data structure to standardize and support multi-entity processing capability
6
Banner Evolution TimingBanner Student UI Modernization - Q1 2011Banner 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 Horizonj
7
Banner Evolution TimingUI Modernization 2011/2012UI Modernization 2011/2012
• Provide new user interface for the remaining core B li tiBanner applications
• Continue to consolidate business logic to improve Banner’s architecture
• Multiple incremental releases plannedMultiple incremental releases planned
8
Project Horizon Overview
Introduction to Project Horizon
• Modernize the user experience of Banner by removing our dependency on Oracle FormsForms—Sub-set of Banner Evolution initiative
• Project Horizon Goals—Provide a consistent look and feel across all
SunGard Higher Education applicationsg pp
—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
Si il k b d i ti—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 ReviewProject Horizon
Banner and the Java Platform
• The Java Platform already plays a key role within Banner—Leveraging the platform allows us to select the appropriateLeveraging 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 Relationship Management—Banner Flexible Registration—Banner Travel and Expense
Banner Effort Reporting and Labor Redistribution—Banner Effort Reporting and Labor Redistribution
• Spring and ORM tools like Hibernate prevalently used in Banner todayBanner 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)over Configuration (CoC)
• Documented architecture with a growing communityG d B k G il i A ti D fi iti G id t G il—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• 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—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 g yacross the Banner Digital Campus
• Ensure that user interfaces are accessible by screen• 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 xBasic 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 R1g
• Java VMDeveloping using Java 6—Developing using Java 6
19
Deployment Strategies – Oracle WebLogic 11g Basic EditionEdition• All Banner
solutions can be Oracle 11g WebLogic Basic Edition
deployed to the same Oracle 11g W bL i B i
Internet Native Banner (Oracle Forms)
B S lf S iWebLogic Basic Edition application server
Banner Self ServiceBanner
serverBanner Student
Horizon
20
Deployment Strategies – Tomcat 6.x
• The Banner Evolution Student module (and subsequent modules)
Oracle 11g WebLogic Basic Edition
subsequent modules) can be deployed to Tomcat 6.x
Internet Native Banner (Oracle Forms)
B S lf S i
T 6
• A way to lower TCO through an open source option and
Banner Self ServiceBanner
Tomcat 6.xsource option and ability to leverage existing resources—Resource Load
Banner StudentHorizon
Resource Load Demands
—E.g. Dev, Test instances
21
New Banner Architecture
ResponseRequest(HTML, JSON, XML)
Security Filters using Banner Security
Controllers Views
Services Domain Models Banner Database
TablesViewsBanner API
22
Model View Controller Pattern
ResponseRequest(HTML, JSON, XML)
The model is the domain-specific representation of the data upon which the application
t D i l i dd
The model is the domain-specific representation of the data upon which the application
t D i l i ddSecurity Filters using Banner Security
operates. Domain logic adds meaning to raw data (for example, a row in a table)
operates. Domain logic adds meaning to raw data (for example, a row in a table)
Controllers ViewsThe view renders the model into a form suitable for interaction, typically a user interface element.
The view renders the model into a form suitable for interaction, typically a user interface element.
Services Domain Models Banner Database
Multiple views can exist for a single model for different purposes.
Multiple views can exist for a single model for different purposes.
TablesViewsBanner API
The controller receives input and initiates a response by making calls on model objects typically
The controller receives input and initiates a response by making calls on model objects typically
23
j yp ythrough services.
j yp ythrough services.
Model View Controller Pattern
ResponseRequest(HTML, JSON, XML)
Request goes through security filters that call out to Banner S it
Request goes through security filters that call out to Banner S it
Security Filters using Banner Security
SecuritySecurity
Controllers Views
Services Domain Models Banner Database
TablesViewsBanner API
24
Model View Controller Pattern
ResponseRequest(HTML, JSON, XML)
If the user is granted access through the security filters the request is passed through to the
If the user is granted access through the security filters the request is passed through to the
Security Filters using Banner Security
request is passed through to the Controllerrequest is passed through to the Controller
Controllers Views
Services Domain Models Banner Database
TablesViewsBanner API
25
Model View Controller Pattern
ResponseRequest(HTML, JSON, XML)
In almost all situations the controller delegates requests to services
In almost all situations the controller delegates requests to services
Security Filters using Banner Security
services.
When fetching data we can go directly against the domain
services.
When fetching data we can go directly against the domain
Controllers Views
directly against the domain modelsdirectly against the domain models
Services Domain Models Banner Database
TablesViewsBanner API
26
Model View Controller Pattern
ResponseRequest(HTML, JSON, XML)
Domain Models are responsible for persisting the data to the database
Domain Models are responsible for persisting the data to the database
Security Filters using Banner Security
to the database.
Database connections to Banner are proxied to ensure that already
to the database.
Database connections to Banner are proxied to ensure that already
Controllers Views
existing database security is utilized.existing database security is utilized.
Domain Models Banner DatabaseServices
TablesViewsBanner API
27
Model View Controller Pattern
ResponseRequest(HTML, JSON, XML)
Views are responsible for building the content to send back in the response based off the
Views are responsible for building the content to send back in the response based off the
Security Filters using Banner Security
in the response based off the request.
A view can return HTML, JSON or
in the response based off the request.
A view can return HTML, JSON or
Controllers Views
XML providing opportunities to extend to other applications.XML providing opportunities to extend to other applications.
Banner DatabaseServices Domain Models
TablesViewsBanner API
28
High Level Categorization of Banner Forms
• CRUD - Creating, Retrieving, Updating and Deleting Data—Oracle Forms provided us support for all CRUD operations
Littl t SQL i l t f it ti—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
29
Decomposing Banner to Grails based Architecture
Existing Architecture New ArchitectureViewsControllersServicesModels
FormsCanvasesWindowsApplication Triggers ModelsApplication TriggersBlocksBlock TriggersFieldsField Triggers
30
Decomposing Banner to Grails based Architecture
Existing Architecture New ArchitectureViewsControllersServicesModels
FormsCanvasesWindowsApplication Triggers ModelsApplication TriggersBlocksBlock TriggersFieldsField Triggers
31
Decomposing Banner to Grails based Architecture
Existing Architecture New ArchitectureExisting Architecture New ArchitectureViewsControllersServices
FormsCanvasesWindows
ModelsApplication TriggersBlocksBlock TriggersFieldsFieldsField Triggers
32
Decomposing Banner to Grails based Architecture
Existing Architecture New ArchitectureExisting Architecture New ArchitectureViewsControllersServices
FormsCanvasesWindows
ModelsApplication TriggersBlocksBlock TriggersFieldsFieldsField Triggers
33
How are we creating the new architecture?
• Automation—We’ve developed tools that read database and Oracle
Forms metadata to generate new componentsForms 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
34
Shift in QA techniques as part of Project Horizon
• Test Driven Development Approach—Test early and often
T t fi t th i l t—Test first then implement—Leads to higher quality
• Code Generation—Recognize patterns and provide tools to generate for
consistency and completenessy—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 25, 2010 | www.sungardhe.com 35
Automated Testing
• Unit Tests—Unit testing is for small focused, fast loading tests that
don't load supporting componentsdon t load supporting components—Validate interfaces and mocking while mocking out
underlying services
• Integration Tests—Tests that load the surrounding environment—Mimic deployed environmentp y—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 25, 2010 | www.sungardhe.com 36
Testing Results
Tests kicked off withTests kicked off with every change
June 25, 2010 | www.sungardhe.com 37
Testing Results
Status can show us when failures occur, duration, stability
June 25, 2010 | www.sungardhe.com 38
, y
Preparing for Project HorizonWhen? 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 Hibernatep g g
• Oracle DatabasePLSQL l t b t t di d lb it l l—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—Grails – www.grails.org
—Spring - www.springsource.com• Specifically Spring IoC Spring Security• Specifically Spring IoC, Spring Security
—Hibernate – www.hibernate.org• Specifically Hibernate CoreSpecifically 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 Ajaxg j—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:y g
• Scalability of component interactions• Generality of interfaces• Independent deployment of components• Independent deployment of components• Intermediary components to reduce latency, enforce
security and encapsulate legacy systems
New Banner Self Service running on Aurora
June 25, 2010 | www.sungardhe.com 44
Aurora Components
Common Header
Global Navigation
Common Footer
June 25, 2010 | www.sungardhe.com 45
Common Footer
Examples of consistency – Banner Self-Service
June 25, 2010 | www.sungardhe.com 46
Examples of consistency - Banner Relationship ManagementManagement
June 25, 2010 | www.sungardhe.com 47
Example of Banner – Home Page
June 25, 2010 | www.sungardhe.com 48
Example of Banner – Course Catalog Page
June 25, 2010 | www.sungardhe.com 49
Example of Banner – Person Page
June 25, 2010 | www.sungardhe.com 50
Questions