1 / 17

Changes in Sakai Architecture - Chef II

This article discusses the changes in the architecture of Sakai Chef II, including the replacement of Jetspeed with uPortal, the use of Spring framework, support for different IoC types, and the introduction of new high-level feature-specific OSIDs and tools.

langlin
Download Presentation

Changes in Sakai Architecture - Chef II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CHEF II / Sakai Architecture

  2. 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

  3. Service Component Service Component Service Component Service Component Tools Tool Resources (jsp, css, png. …) Access Navigation Portal Navigation Servlet JSP Portlet Tomcat uPortal II Services Pattern Service APIs Component Framework Tool Pattern Application Configuration Tool Framework

  4. Service Component Service Component Service Component Service Component Tools Tool Resources (jsp, css, png. …) Access Navigation Portal Navigation Servlet JSP Portlet Tomcat uPortal Application Configuration Tool Framework Tool Pattern Component Framework Service APIs Services Pattern

  5. Services Pattern 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

  6. Service APIs 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

  7. Service Component 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

  8. 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

  9. Application Configuration 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)

  10. Tools 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

  11. Tool Pattern 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

  12. Tool Framework Tool Framework • To support the tool design pattern • Extensions classes to Servlet and Portlet • Utilities • Third party packages (velocity, JSF, etc).

  13. Access Navigation Portal Navigation 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.

  14. Packaging • Tool, Tool Suite • Service Components • No code change to add new package • Possible Hot Deploy

  15. Servlet JSP Portlet Standards • Servlet • Portlet • JSP • JSF (?)

  16. Portlet uPortal Portal Engine • uPortal • Other standard portlet (JSR 168) portal engines

  17. Portlet Servlet 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.

More Related