project horizon technical overview - university system of ... horizon technical overview ......
TRANSCRIPT
Agenda
• Banner Evolution Overview
• Project Horizon Overview
• Project Horizon Architecture Review
• Preparing for Project Horizon
—What skills?
—When?
• Questions and Answers
2
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 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
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
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
20
Oracle 11g
WebLogic Basic Edition
Internet Native Banner
(Oracle Forms)
Banner Student
Horizon
Banner Self ServiceBanner
Tomcat 6.x
Deployment Strategies – Tomcat 6.x
• The Banner Evolution Student module (and subsequent modules) can be deployed to Tomcat 6.x
• A way to lower TCO through an open source option and ability to leverage existing resources—Resource Load
Demands
—E.g. Dev, Test instances
21
Oracle 11g
WebLogic Basic Edition
Internet Native Banner
(Oracle Forms)
Banner Student
Horizon
Banner Self ServiceBanner
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
23
ServicesDomain
Models
Controllers Views
Banner Database
Tables
Views
Banner API
ResponseRequest(HTML, JSON, XML)
Security Filters using
Banner Security
Model View Controller Pattern
24
ServicesDomain
Models
Controllers Views
Banner Database
Tables
Views
Banner API
ResponseRequest(HTML, JSON, XML)
Security Filters using
Banner Security
The model is the domain-
specific representation of the data
upon which the application
operates. Domain logic adds
meaning to raw data (for example,
a row in a table)
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.
The controller receives input
and initiates a response by making
calls on model objects typically
through services.
Model View Controller Pattern
25
ServicesDomain
Models
Controllers Views
Banner Database
Tables
Views
Banner API
ResponseRequest(HTML, JSON, XML)
Security Filters using
Banner Security
Request goes through security
filters that call out to Banner
Security
Model View Controller Pattern
26
ServicesDomain
Models
Controllers Views
Banner Database
Tables
Views
Banner API
ResponseRequest(HTML, JSON, XML)
Security Filters using
Banner Security
If the user is granted access
through the security filters the
request is passed through to the
Controller
Model View Controller Pattern
27
ServicesDomain
Models
Controllers Views
Banner Database
Tables
Views
Banner API
ResponseRequest(HTML, JSON, XML)
Security Filters using
Banner Security
In almost all situations the
controller delegates requests to
services.
When fetching data we can go
directly against the domain
models
Model View Controller Pattern
28
Domain
Models
Controllers Views
Banner Database
Tables
Views
Banner API
ResponseRequest(HTML, JSON, XML)
Security Filters using
Banner Security
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
Model View Controller Pattern
29
Controllers Views
Banner Database
Tables
Views
Banner API
ResponseRequest(HTML, JSON, XML)
Security Filters using
Banner Security
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.
ServicesDomain
Models
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
31
Existing Architecture New Architecture
Views
Controllers
Services
Models
Forms
Canvases
Windows
Application Triggers
Blocks
Block Triggers
Fields
Field Triggers
Decomposing Banner to Grails based Architecture
32
Existing Architecture New Architecture
Views
Controllers
Services
Models
Forms
Canvases
Windows
Application Triggers
Blocks
Block Triggers
Fields
Field Triggers
Decomposing Banner to Grails based Architecture
33
Existing Architecture New Architecture
Views
Controllers
Services
Models
Forms
Canvases
Windows
Application Triggers
Blocks
Block Triggers
Fields
Field Triggers
Decomposing Banner to Grails based Architecture
34
Existing Architecture New Architecture
Views
Controllers
Services
Models
Forms
Canvases
Windows
Application Triggers
Blocks
Block Triggers
Fields
Field Triggers
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
June 4, 2010 | www.sungardhe.com 39
Status can show us
when failures occur,
duration, stability
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
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