Portals, uPortal and JA-SIG Jim Farmer China Education and Research Conference 2002 Beijing, China March 28, 2002
Portals
A student’s Web World Research Library Administrative Instruction
Portal defined Portal - an entry point or starting site for the World-Wide Web, combining a mixture of content and services and attempting to provide a personalized "home base" for its audience with features like customizable … pages and personal homepage construction kits. Auburn University www.Auburn.edu/helpdesk/glossary/, March 24, 2002
With channels (portlets) Channel B Channel A uPortal Framework Channel C Channel D uPortal database
Students expectations shaped by... Their use of the Internet Their use of government and business portals Their life in a “real-time, information rich” environment
Why are portals important Make knowledge workers more productive Meet user preferences A viable architecture for information services Improved services Lower costs
A student portal
Types of portals Enterprise [integration] Knowledge/document management Collaboration and messaging Front end to application servers Jim Rapoza, “Enterprise value of portals is clear,” eWeek, September 13, 2001
Required capabilities
Typical services
uPortal
What is uPortal? Enterprise, horizontal portal Framework for presenting aggregated content (channels or portlets) Personalization Role-based access control Open source, collaborative effort Java web application
Where does uPortal fit? People Browsing Devices uPortal with Channels Data Applications
uPortal interfaces Authentication Authorization Directory services Proving your identity Authorization Deciding what you can access Directory services Such as populating EduPerson User preferences Profiles, structure, themes, skins Channel information Availability and configuration
What is a channel? Displays content Interactive applications XML feeds Rich Site Summary (RSS) Web services Legacy systems Interactive applications Bookmarks Email, chat, list serves
The Meteor channel
Flexible layouts Structures Themes Skins Tab / column Tree / column Multi-column Multi-row Skins Matrix, Java
User preferences
Tab / Column layout
Tree / Column layout
Content transformation XML XSLT Processor XHTML: Web Browser HTML: PDA Stylesheet WML: Cell Phone
Multiple target devices
Theme: uosm
Theme: java
Theme: imm
Theme: matrix
What is new in 2.0? Abstraction of layout Structure/theme transformations Standard channel events Standard CSS classes More flexible publish/subscribe User profile management JNDI lookup service WebProxy channel
What is planned for 2.1? Aggregated layouts Publishing/channel administration Frame support Browser differentiation Tree/column structure and themes Web services extension WML theme Internationalization
What is planned for 2.2? Integrated content management Workflow services Composite group services Channel development kit User administration tools Synchronization of multiple Java Virtual Machines
Channel developments Composite directory Calendaring (Washington) Library system integration via Web services (Hull) Single signon using WebISO (Hawaii) Digital certificate support (CREN) WSRP Support
JA-SIG Java In Administration Special Interest Group www.jasig.org Conferences biannually Clearing house https://www.mis4.udel.edu/JasigCH/ Collaborative projects
Project Administrator The End Jim Farmer Project Administrator JA-SIG Collaborative www.ja-sig.org jxf@immagic.com
uPortal Framework Architecture
Basic architecture uPortal Framework uPortal database
Basic architecture Permissions authentication User preferences iPlanet LDAP authentication User preferences Channel registry Other uPortal Data Oracle db2 mySQL
With channels Channel B Channel A uPortal Framework Channel C Channel D uPortal database
Interface services Provider - an application that provides service to an interface, and may use the uPortal database Connector - a program that provides service from a standalone application to an interface. May also be called an adaptor
Interface options Connector Provider External Application
Architectural features Extensive user customization Inter-channel communications Channel services Normalized database schema Profiles (multiple device management) Layout-specific preferences channels JNDI backbone
Channel services Services provide common functionality to the channels Logging facility “Password wallet” File sharing, printing, mail, calendar Channel synchronization JNDI access
Inter-channel communication Channel discovery How to find a channel ? Need channel instance ID. Functional names Direct interaction Channel access objects Channel-bound public JNDI subtrees
Basic Architecture
Connectors may communicate By calls to the application By custom protocols over, say, sockets By standards protocols such as LDAP By business messages using Web services - XML, SOAP, UDDI
uPortal interfaces Permissions - permission management Security Context - authentication, single signon User preferences - layout, style sheet choices Channel registry - channel specific persistent store
IChannel content must Be well-formed XML such as XHTML, RSS, SVG, SMIL, or SOAP message (but not HTML) Rendered by an XSL transformation using an XSL stylesheet
A channel may be extended To support an application using custom code Or a different form of content rendered using custom code Through the IChannel interface
Web services Architecture
A Web service is XML business messages using ebXML/SOAP compliant data transport rendered using XSL transformations for a remotely authenticated user
Web services architecture is XML “tagged” data content eXtensible Markup Language ebXML/SOAP data transport Simple Object Access Protocol XSL transformations for presentation eXtensible stylesheet language and now UDDI/WSDL directory services Universal Description, Discovery, and Integration, and Web Services Description Language
Is Web technology important? Feb 1993 - The University of Illinois releases the Mosaic browser Oct 1995 - The word e-commerce enters the vocabulary Feb 2000 - ED/SFA announces UML, XML, Java standards Sep 2000 - IBM announces “Web services”, a new architecture
Value of Web Services technology Open standards Web service projects are taking one-fourth the time and costing one-fifth comparable projects using traditional technology. Performance is 2 to 10 times better than expected. HFC Bank - IFX credit card application using XML, SOAP and XSLT Deutsche Bank Bauspar - FixML security transaction integration using XML messages and XSL transformations Hypo Vereinsbank - Integration Based on presentations at the XSLT [Invitational] Conference Oxford, University, April 8-9, 2001
Standards-based Development
Standards-based channels Design using current Web standards Internet Engineering Task Force W3C World Wide Web Consortium IMS Global Learning, Inc. ADL (Advanced Distributed Learning) Labs Extend current applications to meet academic needs Hierarchical permissions Secure anonymous authentication Integrate with uPortal
Requested standards-based channels Authentication/Authorization SAML (Security Assertion Markup Language) Secure Logging Syslog (IETF Syslog) Log4j (Apache Foundation log4j)
Requested standards-based channels Directory eduPerson (Educause person object) IMS (IMS Enterprise Specification) DSML (Directory Service Markup Language) LDAP (Lightweight Directory Access Protocol) Workflow WfML (Work Flow Markup Language) WSFL (Web Services Flow Language)
Requested standards-based channels Internet chat IMPP (IETF Internet Messaging and Presence Protocol) Jabber (Jabber Foundation Jabber Protocol) Distributed authoring WebDAV (IETF Web Distributed Authoring and Versioning) Extending a current uPortal channel authored by the University of British Columbia: E-mail POP3 (IETF Post Office Protocol) IMAP4 (Internet Mail Access Protocol) SMTP (Simple Mail Transport Protocol)
Requested standards-based channels Electronic books Open eBook Electronic publications DocBook Customer Relationship Management Customer Profile Exchange In conjunction with the Open Knowledge Initiative: instruction delivery IMS (Instructional Management Systems) SCORM (ADL’s Shareable Content Object Reference Model) testing IMS, SCORM