Upload
aron-malone
View
217
Download
2
Embed Size (px)
Citation preview
Jim Farmer, JA-SIG Collaborative20 June 2002
EUNIS 2002, Porto, Portugal
Portals, uPortal, and Web Services
uP
ort
al
& J
A-S
IGPublisher’s note
This short presentation was originally scheduled as part of Art Pasquinelli’s panel. Because of travel interruptions, this presentation was not made at the conference.
Supplementary material follows the end of the presentation.
instructional media + magic, inc.
uP
ort
al
& J
A-S
IG
Administrative
Instruction
Library
Research
A Student’s Web World
uP
ort
al
& J
A-S
IGStudents expectations shaped by...
• Their experience with e-government
• Their use of financial services portals
• Their use of the Internet
• Their life in a “real-time, information rich” environment
uP
ort
al
& J
A-S
IGStudents now expect...
• Service 24 hours a day, 7 days a week
• Complete information froma single source
• Delivery by Web, e-mail, telephone, and facsimile, and, wireless devices• response time of 15 seconds for
telephone, 10 seconds for Web, and 2 hours for e-mail and facsimile
• access to a complete transaction history
uP
ort
al
& J
A-S
IGWhy are portals important?
• Makes knowledge workers more productive
• Preferred by users• Market share• University identity
• A viable architecture for information services• Integration platform• Improved services• Lower costs
uP
ort
al
& J
A-S
IGA Student Portal
uP
ort
al
& J
A-S
IGTypes 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
uP
ort
al
& J
A-S
IGRequired capabilities
Type of Portal JSP Chat & Mail
ContentClassificationand Search
WebServices
Enterprise
Collaboration
Knowledgemanagement
Front end
University
? ? ?
? ? ?
? ? ?
? ? ? ?
uP
ort
al
& J
A-S
IGAvailable services
Type of Portal Dir
ecto
ryA
uth
enti
cati
onR
oles
Gro
ups
Wal
let
Auth
oriz
atio
ne-
mai
l an
d c
hat
Web
Ser
vice
sX
ML,
SO
AP,
UD
DI
Wor
kflow
Cal
endar
ing
Annou
nce
men
ts
Enterprise X ? ? ? ? ?
Collaboration ? ? ? X ? X X ? ?
Knowledgemanagement
? X ? X ? ?
Front end ? ? ? ? ? ? ? ? ? ? ?
uP
ort
al
& J
A-S
IGRequired authentication
Type of Portal Local Remote Anonymous
Enterprise ? X
Collaboration ? X
Knowledgemanagement
?
Front end ? X
University
uP
ort
al
& J
A-S
IGWhat is uPortal?
• Enterprise, horizontal portal• Framework for presenting aggregated
content (channels)• Personalization• Role-based access control• Open source, collaborative effort• Java web application
uP
ort
al
& J
A-S
IGJA-SIG
• Java In AdministrationSpecial Interest Group• www.jasig.org
• Conferences biannually• Clearing house
• https://www.mis4.udel.edu/JasigCH/
• Collaborative projects
uP
ort
al
& J
A-S
IGuPortal Interfaces
• Authentication• 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
uP
ort
al
& J
A-S
IGWhat is a Channel?
• Displays content • XML feeds
• Rich Site Summary (RSS)• Web services
• Legacy systems
• Interactive applications• Bookmarks• Email, chat, list serves
uP
ort
al
& J
A-S
IGThe Meteor channel
uP
ort
al
& J
A-S
IGFlexible Layouts
• Structures• Tab / column• Tree / column
• Themes• Multi-column• Multi-row
• Skins
uP
ort
al
& J
A-S
IGMultiple Target Devices
uP
ort
al
& J
A-S
IG XML
Stylesheet
XHTML: Web Browser
WML: Cell Phone
HTML: PDA
XSLTProcessor
Content Transformation
uP
ort
al
& J
A-S
IGTab / Column Layout
uP
ort
al
& J
A-S
IGTree / Column Layout
uP
ort
al
& J
A-S
IGWhat’s 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
Web services as an architecture
uP
ort
al
& J
A-S
IGA Web service is
• XML business messages• using ebXML/SOAP compliant
data transport• rendered using XSL transformations• for a remotely authenticated user
uP
ort
al
& J
A-S
IGWeb services architecture is
• XML “tagged” data contenteXtensible Markup Language
• ebXML/SOAP data transportSimple Object Access Protocol
• XSL transformations for presentationeXtensible stylesheet language
and now• UDDI/WSDL directory services
Universal Description, Discovery, and Integration, and Web Services Description Language
uP
ort
al
& J
A-S
IGValue 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
The Meteor Channel, an example of Web services
uP
ort
al
& J
A-S
IGAs implemented ...
Web ServicesSecure HTML
MeteorSecure XML
StandardBrowserStandardBrowser uPortaluPortal
MeteorSOAP
MeteorSOAP
MeteorSOAP
MeteorSOAP
DatabaseDatabase
uP
ort
al
& J
A-S
IGData from multiple sources, locations
uP
ort
al
& J
A-S
IGMeteor Channel in the uPortal
uP
ort
al
& J
A-S
IGWeb services in uPortal
• WSRP channel-level support• SOAP in application channels
Soon as portal service• UDDI pilot test late summer 2002• WS-Security implementation planned
The end
Web services as an architecture
uP
ort
al
& J
A-S
IGDepartment of Education standards
MeteorSFA
Announced
Announced[March 2001]
Expected
UMLXMLJava
SOAP XML-RPCUDDI/WSDL
SAML
Proposed, with convergence
[Feb 2000]
uP
ort
al
& J
A-S
IGIs 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
uP
ort
al
& J
A-S
IGConvergence: Business Messages
June 2000 MayDecember
CommonLine XML [ESC]
LoanML [IFX]
Common Record [SFA]
CommonLine R5 [ NCHELP ESC]
uP
ort
al
& J
A-S
IGConvergence: Data Transport
September 2000 AprilMarch
SOAP [NCHELP ESC]
SOAP [SFA]
ebXML [PESC]
“Simple SOAP” [Meteor]
uP
ort
al
& J
A-S
IGConvergence: Authentication
December 2000 JuneMarch
SFA [NCS Proprietary]
SAML [Oasis]
S2ML [Netegrity]
AuthML [Securant]
XTASS [VeriSign]
Internet 2 [Shibboleth]
The Meteor Channel, an example of Web services
uP
ort
al
& J
A-S
IGMeteor in a nutshell…
Lender
XML
uP
ort
al
& J
A-S
IGDiagram of Meteor Concept
Web ServicesHTML
MeteorXML
StudentStudent Access Provider Access Provider Data Provider Data Provider
Architecture of uPortal
uP
ort
al
& J
A-S
IGChannel
• Elementary unit of presentation, defined by the IChannel interface
IChannel
Set Runtime Data ()
User InteractionExternal Information
Render XML ()
Channel Content(Presentation)
uP
ort
al
& J
A-S
IGFramework Organization
uPortal Framework
User Interaction Presentation
Channel Channel Channel
uP
ort
al
& J
A-S
IGUser Layout
• User Layout is an abstract structure defining the overall content available to the user
• userLayout is a tree structure consisting of “folders” and “channels”, the later always being the leaf nodes
uP
ort
al
& J
A-S
IGUser Layout
C h an n e l C h an n e l C h an n e l
C h an n e l
F o ld er
F o ld er C h an n e l
F o ld er
C h an n e l
F o ld er
F o ld er
C h an n e l C h an n e l
F o ld er
U se r La yo u t
uP
ort
al
& J
A-S
IGStructure Transformation
C h an n e l C h an n e l C h an n e l
C h an n e l
F o ld er
F o ld er C h an n e l
F o ld er
C h an n e l
F o ld er
F o ld er
C h an n e l C h an n e l
F o ld er
U se r La yo u t
Channel Channel Channel Channel
Column Channel
Tab
Channel
Tab
Channel Channel
Tab
User Layout
Column
uP
ort
al
& J
A-S
IGTheme Transformation
C h an n e lD ic tio n a ry.com
C o lu m n
C h an n e lB o o km a rks
C h an n e lC a rto on
C o lu m n
T abJ im S m ith
C h an n e l
T abF in a n cia l A id
C h an n e l C h an n e l
T abL ib ra ry
U se r La yo u t
uP
ort
al
& J
A-S
IGCompiling the Presentation
Structuretransformation
Themetransformation
userLayout
structuredLayout
HTML, WML VoiceML...
XSLT
XSLT
setRuntimeData()
renderXML()
Channels
uP
ort
al
& J
A-S
IGArchitectural Features
• Extensive user customization• Inter-channel communications• Channel services• Normalized database schema• Profiles (multiple device management)• Layout-specific preferences channels• JNDI backbone
uP
ort
al
& J
A-S
IGChannel Services
• Services provide common functionality to the channels• Logging facility• “Password wallet”• File sharing, printing, mail, calendar• Channel synchronization
• JNDI access
uP
ort
al
& J
A-S
IGInter-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
uP
ort
al
& J
A-S
IGDatabase backing
• Storage interfaces• User layout, profiles, preferences,
stylesheet descriptions• Channel registry
• Normalized DB schema• Generic and Oracle implementations
uP
ort
al
& J
A-S
IGUser Profiles
• Profile defines:• Structure/Theme stylesheets• A set of user preferences• User layout
• System vs. User profiles• Browser-specific preferences
• User-Agent ID maps to a profile
• Initial profile mapping
uP
ort
al
& J
A-S
IGUser preferences
• Portal=rendering+customization• User Preferences Channel• Swappable layout and preference
management modules• Profile management module• Tab-column specific UP module• Skin Selection
uP
ort
al
& J
A-S
IGUser Preferences
uP
ort
al
& J
A-S
IGPublish/Subscribe
• Channel publishing document• Channel parameters
• Default values• Modification permissions• Descriptions
• Publish/Subscribe steps• Step sequence• Instructions, help
• Flexible channel publishing
uP
ort
al
& J
A-S
IGChannel Types
uP
ort
al
& J
A-S
IGChannel Settings
uP
ort
al
& J
A-S
IGChannel Controls
uP
ort
al
& J
A-S
IGChannel Classification
uP
ort
al
& J
A-S
IGChannel Authorization: Roles
uP
ort
al
& J
A-S
IGIn progress
• Performance optimization• Caching/Pooling optimizations• Setup optimization
• Authorization checks• User Identification (EduPerson)• Tree layout UP module• More content !