17
CHEF II / Sakai Architecture

CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Embed Size (px)

Citation preview

Page 1: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

CHEF II / Sakai

Architecture

Page 2: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

CHEF II Changes

• uPortal replaces Jetspeed– jsr 168 portlet, servlet compliant

• Spring replaces Turbine component framework– IoC types 1, 2, and 3 supported, OSID Loading supported

• Services Design Pattern unchanged• OKI OSIDs and full reference implementation• Current CHEF services deprecated or made to OSIDs

– still available, compatible with the new OSID services– Some converted to full high level feature specific OSIDs

• New Tool Design Pattern– JSF based ??? XUL ???

• New component Packaging– Hot deploy of features, service components

Page 3: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Tools

ToolPattern

Service APIs

ServicesPattern

ServiceComponent

ServiceComponent

ServiceComponent

ServiceComponent

Com

pone

nt F

ram

ewor

k

Servlet PortletJSP

ApplicationConfiguration

IITomcat uPortal

AccessNavigation

PortalNavigation

Tool Resources(jsp, css, png. …)

Tool Framework

Page 4: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Tomcat uPortal

Servlet PortletJSP

Tool Framework

AccessNavigation

PortalNavigation Tool Resources

(jsp, css, png. …)

Tools

ToolPattern

Service APIs

ServicesPattern

ServiceComponent

ServiceComponent

ServiceComponent

ServiceComponent

Com

pone

nt F

ram

ewor

k

ApplicationConfiguration

Page 5: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Service Design Pattern

• Separation of concerns– Tools to handle user interactions– Services to handle specific functional, business logic,

data type modeling responsibilities

• Dependent on interfaces, not implementations– Clients dynamically bound to implementations by API

• Major service or manager API with most methods• Supporting core interfaces for the data entities

modeled• Implemented by many different components

ServicesPattern

Page 6: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Service API

• OKI OSIDs– Rich common services

• CHEF I Services– Higher level feature specific– Becomes OSIDS, merges with the OSIDS

• New high level feature specific OSIDS– Packages with new feature sets / tool suites

Service APIs

Page 7: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Service Components

• Implement one service API and related core interfaces

• Dependent on other service APIs• Implement other aspects

– Authorization, Event tracking, etc.

• Implementation choices– IoC types 1, 2 or 3– J2EE Enterprise Beans

• Selected and configured by the application

ServiceComponent

Page 8: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Component Framework• Container for all service components, possibly for tool

components• Support many design styles

– IoC type 1 - a service manager to find dependent service components by api

– IoC type 2, 3 - support for auto-wiring and configuration through bean setters and constructors

• Life-style and Lifecycles– shared instance, instance per thread, instance per usage– init and destroy methods, possibly others…

• Configuration driven– Component selection for each API– Configuration values

Com

pone

nt F

ram

ewor

k

Page 9: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Application Configuration

• Select a service component for each needed Service API

• Configure each component

• Multiple configurations - many packages

• Hot modify configurations (w/ new package deployment)

ApplicationConfiguration

Page 10: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Tools• Orchestrates user interaction

– Present user interfaces (Views)– Process user requests– Tracks interaction state

• Responsible for an area of functionality– Chat, Announcements, Schedule, Resources …

• Java classes– designed to the Tool Pattern

• Static file resources– png, css, jsp, etc.

• Heavy lifting done by services– Common services– Custom services– Dependent on service API, not implementations

Tools

Page 11: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Tool Design Pattern

• tbd, eta Feb ‘04• Support abstract high level UI parts

– button, menu, text field, alert, table …

• Support action model• Support view selection• Support interaction state• Support multiple user agents (browsers)• Configurable by placement instance• Cross tool interface consistency• Skins

ToolPattern

Page 12: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Tool Framework

• To support the tool design pattern

• Extensions classes to Servlet and Portlet

• Utilities

• Third party packages (velocity, JSF, etc).

Tool Framework

Page 13: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Navigation

• Like Tools, present UI and handle requests• Getting around to specific tool instances

– Tools organized in “spaces”: Sites– Multiple tools per “page”: Portal– Other modes

• Portal Navigation• Access Navigation

– URL access to resources.

AccessNavigation

PortalNavigation

Page 14: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Packaging

• Tool, Tool Suite

• Service Components

• No code change to add new package

• Possible Hot Deploy

Page 15: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Standards

• Servlet

• Portlet

• JSP

• JSF (?)

Servlet PortletJSP

Page 16: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Portal Engine

• uPortal

• Other standard portlet (JSR 168) portal engines

Portlet

uPortal

Page 17: CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework

Portlet + Servlet Model

• Portlets for navigation, tool placement, tool configuration, usage sessions

• Servlets for popups and popins– Tool content without the portal decorations– New windows, iframes in portal windows

• Servlets for other navigations– Access, authentication, management, etc.

Servlet

Portlet