Upload
harry-lyons
View
213
Download
0
Embed Size (px)
Citation preview
CHEF II / Sakai
Architecture
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
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
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
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
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
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
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
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
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
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
Tool Framework
• To support the tool design pattern
• Extensions classes to Servlet and Portlet
• Utilities
• Third party packages (velocity, JSF, etc).
Tool 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
Packaging
• Tool, Tool Suite
• Service Components
• No code change to add new package
• Possible Hot Deploy
Standards
• Servlet
• Portlet
• JSP
• JSF (?)
Servlet PortletJSP
Portal Engine
• uPortal
• Other standard portlet (JSR 168) portal engines
Portlet
uPortal
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