Sakai SEPP Report Charles Severance 5/21/2004 Observations • Version 1.0 – Scope has expanded dramatically since January – There are a lot of “degrees of freedom” / “articulation points” to manage – We don’t want to (and cannot) slip deadlines – We will have to make some tough choices to make deadlines – Coordination with SEPP is primarily information flow outbound from the core team. • Version 2.0 will be much different – The June meeting is both to talk about 1.0 and build up the 2.0 community. – Hopefully, by June all of the “degrees of freedom” will be nailed down and it will be about execution Timeline Review • Alpha - 5/15 • Beta - 6/15 • Production - 7/15 Alpha Release • Much of the current focus is on the framework in the Alpha release – Support for Sakai UI components and Java Server Faces – OKI OSID Implementations – Hibernate Object Relational Mapping – uPortal Integration Sakai Alpha JSF/UI Components sakai:button_bar sakai:group_box sakai:button_bar_item sakai:instruction_message sakai:comment sakai:panel_edit sakai:commentII sakai:tool_bar sakai:doc_properties sakai:tool_bar_item sakai:doc_section sakai:tool_bar_message sakai:doc_section_title sakai:tool_bar_spacer sakai:flat_list sakai:view_container sakai:view_content OKI OSID Implementations • Aligned with the upcoming OKI release • Sakai APIs will be a superset of the OKI APIs Pure OKI Tools OKI/Sakai Tools Sakai OKI Implementations Sakai APIs Sakai APIs .vs. OKI APIs • Identical naming conventions (Agent, ID, Type, Group … ) • Identical logical flow and semantic meaning of those objects • Sakai APIs will be more “real JAVA” – Real JAVA iterators – Real JAVA exception model • Sakai APIs will also extend where necessary – “logging in” a user will be standardized – Updating information will be standardized – Different APIs will be extended to different amounts • Sakai APIs will use inversion of control rather than a loader (see Martin Fowler article) Programming to OKI APIs in Sakai • The OKI OSIDs present in Sakai will be “perfect” implementations • They will perform exactly as specified in the OKI documentation – – – – Loader convention Exception handling Return types Semantic conventions • A programmer will be able to read the OKI spec, and the Sakai out-of-band-agreement documentation (Types, Property naming, etc), write code and drop it into Sakai and it will work without a single line of code changed. Hibernate • Evaluated by team led by Lance Speelmon of IU - excellent talk at recent Sakai architect meeting • Team is now at training in NYC with the inventor of Hibernate • Excellent performance (5% slower than raw JDBC) • Clustering and caching solution • Little secret: EJB 3.0 is looking like Spring inversion of control and Hibernate Query Language • We are go for Hibernate - Should have the jars in Alpha - maybe even one tiny implementation By Beta will have several OSID implementations • IU/Stanford have converted their OKI 1.0RC OSID impls to Hibernate and are going into production - Yikes - trial by fire :) uPortal Integration • Three versions – Embedded - all of Sakai in a single JSR-168 portlet (Version 1.0) - Could be integrated into a uPortal 2.3 without modifications – Injected - uPortal 2.3 navigation is altered to support hierarchical navigation needed by Sakai. This is a modified version of uPortal 2.3 where Sakai has “taken over” much like CHEF and Jetspeed (Version 1.0) – Integrated - uPortal 3.0 - will look like injected but will work in unmodified uPortal 3.0 and use uPortal administration for layout rather than Sakai administration. Home Athletics Sakai Home CS101 EE499 EE499-Sec01 Chess Motor Help Play FAQ QuickTi me™ and a MeetingT IFF (Uncom pressed) decom pressor Admin are needed to see t his pict ure. Play Joe: Nah - he did that last time FAQ Watch me now mary! EE499 Fred: He will move P-K4 Joe: Nah - he did that last time QuickTi me™ and a MeetingT IFF (Uncom pressed) decom pressor Admin are needed to see t his pict ure. Mary: It does not matter what he does - I will beat him again Watch me now mary! Send MySchool Portal Embedded Injected Integrated EE499-s01 Chess Help Fred: He will move P-K4 Mary: It does not matter what he does - I will beat him again CS101 + BookMarks + Athletics + Events - Courses + CS101 + EE499 + Main - Sec01 Help Chat FAQ Meeting + Sec02 + Chess + Motor Search Send Search Fred: He will move P-K4 Joe: Nah - he did that last time Mary: It does not matter what he does - I will beat him again Joe: What if he pulls his goalie? Embedded Something witty this way comes Send Upcoming Issues • Beta Efforts – Tools and Gaps – Accessibility – Modifications to improve performance • Areas of concern – Production deployment in JBoss environment - we need to ramp up an effort on this – How much work the performance testing and improvement will actually (taking resources away from tool building) Questions