3
Introduction
• uPortal implemented 2002– Replacement for existing user interface to
applications & services– Largest audience was students
• Workforce realingment
4
Functional Goals
• Support our changing business model– Employees do not stay in one system all day
– Service Centers
• Lower administrative costs– Improve efficiency & productivity
– Lower training cost - tools in one place
• Improve Communication– Provide visibility to process state
• what happened to my purchase request?
5
Key Services
• Portal: a user-centric web desktop that gives users access to
all of the information resources they commonly use.
• Workflow Service: General purpose service that automates
the routing of documents to the users responsible for working
on them.
• Notification Service: General purpose service where any
authorized application or user can reliably notify a user of a
task, an alert or an event.
6
uPortal usage
• Current usage– All students– Most Faculty– Some Staff
• Find ways to engage more of our staff community
• Admin Fragment– Currently lists of links– How can we add more functionality
7
uPortal usage
• The more content we put there the more people will use it; the more they use it the more content providers will want to provide rich content
8
Workflow
• Kuali Enterprise Workflow• A major hook for Administrative users• Action list in the portal• If people are already looking at their action
list, can we add even more value?
9
Notification portlet
• A superset of the Task list
• A single place to see all your tasks, events & alerts
• Your style of portal use– Constantly connected– Occasionally connected– Unconnected
• How to get your attention– Tickler & Preferences
• The portal is where you go to deal with notifications
10
Kinds of Notifications
• Something you need to do– Workflow
• Something you need to know– Push to a targeted audience
• Something you want to know– Requested notifications
11
Technical Goals
• Architectural (SOA)– Standards– Pluggable components– Reusability
• Collaborative Development– Access campus technical resources
– Gain experience with collaboration technologies• Video & Web conferencing• SourceForge® Enterprise Edition
• Engage other interested parties early in the development process
12
Wor
kflo
w
Notification
Logging
Application Logic
Business Logic
DataConfig
uration
Presen
tation
Monolithic Application
13
Wor
kflo
w
Notification
Logging
Application Logic
Business Logic
DataDataConfig
uration
Presen
tation
DBMS extracted
14
Wor
kflo
w
Notification
Logging
Application Logic
Business Logic
DataDataConfig
uration
Pre
sen
tatio
nP
rese
nta
tion
Presentation Layer extracted
15
WorkflowWorkflow
Notification
Logging
Application Logic
Business Logic
DataDataConfig
uration
Pre
sen
tatio
nP
rese
nta
tion
Workflow extracted
16
WorkflowWorkflow
NotificationNotification
Logging
Application Logic
Business Logic
DataDataConfig
uration
Pre
sen
tatio
nP
rese
nta
tion
Notification extracted
17
WorkflowWorkflow
NotificationNotification
Logging
Application Logic
Business Logic
DataDataConfig
uration
Pre
sen
tatio
nP
rese
nta
tion
Notification extracted
20Plug-ins
NotificationEngine
NotificationsRepository
RulesDB
RulesEngine
Plug-ins
TicklerPlug-ins
Initial Plug-ins
21
Web ServicesInteractions
Plug-ins
NotificationEngine
NotificationsRepository
RulesDB
RulesEngine
Plug-ins
TicklerPlug-ins
Web services
22
Web ServicesInteractions
Plug-ins
NotificationEngine
NotificationsRepository
RulesDB
RulesEngine
Plug-ins
TicklerPlug-ins
GroupMembership
Providers
GroupMembership
Providers
Groups
23
Web ServicesInteractions
Plug-ins
NotificationEngine
NotificationsRepository
RulesDB
RulesEngine
Plug-ins
TicklerPlug-ins
GroupMembership
Providers
GroupMembership
Providers
NotificationProviders
Notifications
KEW
24
Web ServicesInteractions
servlet
portlet
Plug-ins
NotificationEngine
NotificationsRepository
RulesDB
RulesEngine
Plug-ins
TicklerPlug-ins
GroupMembership
Providers
GroupMembership
Providers
NotificationProviders
NotificationClientCore
Notification Client
KEW
25
Notification representation
• iCalendar (RFC 2445)– Internet Calendaring & Scheduling Core Object
Specification– http://www.kanzaki.com/docs/ical
• XML wrapper– Meta-data …..presentation hints
26
OKI OSIDs
• Open Knowledge Initiative (OKI)–http://www.okiproject.org/
• Open Service Interface Definition (OSID)–Technology agnostic service definitions–Authentication, Authorization, Agent, Logging
27
voice
fax
IM
Using OSIDs
Authentication OSIDAuthentication
Service
Authorization OSIDAuthorization
Service
Agent OSIDGroupsService
Agent OSIDDirectoryService
Logging OSIDLoggingService
Usermessaging OSIDTicklerService N
oti
fica
tio
n E
ng
ine
28
Need for Speed
No
tifi
cati
on
En
gin
e
ExpandedNotifications
JDBC
ActiveNotifications
JDBC
Notificationtypes
JDBC
NotificationSubmission
ServiceWS
29
Need for Speed
No
tifi
cati
on
En
gin
e
ExpandedNotifications
JDBC
ActiveNotifications
JDBC
Notificationtypes
JDBC
NotificationSubmission
ServiceWS
PreferencesService WS
Filter Rules
JDB
C
30
Need for Speed
No
tifi
cati
on
En
gin
e
ExpandedNotifications
JDBC
ActiveNotifications
JDBC
Notificationtypes
JDBC
NotificationSubmission
ServiceWS
PreferencesService WS
Filter Rules
FilteredNotification
JDBC
JDB
C
32
Status
• Semi vaporware• Architecture defined• Portlet under construction• Backend only developed enough to facilitate
portlet testing• New development project manager• Open source