project horizon technical overview - university system of ... horizon technical overview ......

47
Project Horizon Technical Overview Bob Rullo GM; Presentation Architecture [email protected]

Upload: nguyenhuong

Post on 18-May-2018

218 views

Category:

Documents


3 download

TRANSCRIPT

Project Horizon Technical Overview

Bob Rullo

GM; Presentation Architecture

[email protected]

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

5

Project Horizon

ProjectMEP

Database

Changes

Banner Evolution

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

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 38

Tests kicked off with

every change

Testing Results

June 4, 2010 | www.sungardhe.com 39

Status can show us

when failures occur,

duration, stability

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 upWhere 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: [email protected]

Twitter: bobrullo