Notification Service JA-SIG June 6, 2006 One stop shopping Jon Atherton Mark Mara
Agenda Functional View Jon Architecture View Mark Demo Jon Questions
Workforce realingment Introduction uPortal implemented 2002 Replacement for existing user interface to applications & services Largest audience was students Workforce realingment
Support our changing business model 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?
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.
Find ways to engage more of our staff community Admin Fragment 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
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
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?
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
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
Technical Goals Architectural (SOA) Collaborative Development 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
Monolithic Application Configuration Presentation Logging Data Application Logic Workflow Kuali workflow - most application need some kinds of workflow/approvals KEW was originally designed to meet this need - different that commercial products They solved this problem a while ago - this is want is needed for applications like Kuali finance Jus as Cornell got involved IU was also see a need for a light weight client (not a java application) EDL was born Move towards the enterprise service buss Notification Business Logic
DBMS extracted Configuration Logging Presentation Data Application Logic Workflow Notification Business Logic
Presentation Layer extracted Configuration Logging Data Application Logic Workflow Notification Business Logic
Workflow extracted Configuration Logging Presentation Data Application Logic Workflow Notification Business Logic
Notification extracted Presentation Configuration Logging Data Application Logic Workflow Business Logic Notification
Notification extracted Presentation Configuration Logging Data Application Logic Workflow Business Logic Notification
Basic Architecture Notification Engine
Data Repositories Notification Engine Notifications Repository Rules DB Notification Engine
Initial Plug-ins Notification Engine Plug-ins Notifications Repository Rules DB Notification Engine Plug-ins Rules Engine Plug-ins Tickler Plug-ins
Web services Web Services Interactions Notification Engine Plug-ins Notifications Repository Web Services Interactions Rules DB Notification Engine Plug-ins Rules Engine Plug-ins Tickler Plug-ins
Groups Web Services Interactions Notification Engine Plug-ins Notifications Repository Web Services Interactions Group Membership Providers Group Membership Providers Rules DB Notification Engine Plug-ins Rules Engine Plug-ins Tickler Plug-ins
Notifications Web Services Interactions Notification Engine Plug-ins Repository Web Services Interactions Group Membership Providers Group Membership Providers Rules DB K E W Notification Providers Notification Engine Plug-ins Rules Engine Plug-ins Tickler Plug-ins
Notification Client Web Services Interactions Notification Engine Notifications Repository Web Services Interactions Group Membership Providers Group Membership Providers Rules DB K E W Notification Providers Notification Engine Plug-ins Rules Engine Plug-ins Tickler Plug-ins portlet Notification Client Core servlet
Notification representation iCalendar (RFC 2445) Internet Calendaring & Scheduling Core Object Specification http://www.kanzaki.com/docs/ical XML wrapper Meta-data …..presentation hints
Open Knowledge Initiative (OKI) OKI OSIDs Open Knowledge Initiative (OKI) http://www.okiproject.org/ Open Service Interface Definition (OSID) Technology agnostic service definitions Authentication, Authorization, Agent, Logging The Open Knowledge Initiative (O.K.I) develops and promotes specifications that describe how the components of a software environment communicate with each other and with other enterprise systems. O.K.I. specifications enable sustainable interoperability and integration by defining standards for Service Oriented Architecture (SOA). Through this work O.K.I. seeks to open new market opportunities across a wide range of software application domains. Open Service Interface Definitions (OSIDs), whose design has been informed by a broad architectural view. The OSIDs define important components of a SOA as they provide general software contracts between service consumers and service providers. This enables applications to be constructed independently of any particular service environment, and eases integration. The OSIDs enable choice of end-user tools by providing plug-in interoperability. OSIDs are software contracts only and therefore are compatible with most other technologies and specifications, such a SOAP, WSDL. They can be used with existing technology, open source or vended solutions. OSIDs are a local language service definition and bindings of them are provided in Java, PHP, and soon Objective C and C#.
Using OSIDs Notification Engine Authentication Service Authentication OSID Authorization Service Authorization OSID Groups Service Agent OSID Notification Engine Email Directory Service Agent OSID voice Tickler Service Usermessaging OSID fax Logging Service Logging OSID IM
Need for Speed Notification Engine Notification types Active JDBC Active Notifications JDBC Notification Engine Expanded Notifications JDBC Notification Submission Service WS
Need for Speed Notification Engine Notification types Preferences JDBC Preferences Service WS Active Notifications JDBC JDBC Notification Engine Filter Rules Expanded Notifications JDBC Notification Submission Service WS
Need for Speed Notification Engine Notification types Preferences JDBC Preferences Service WS Active Notifications JDBC JDBC Notification Engine Filter Rules Expanded Notifications JDBC Notification Submission Service WS Filtered Notification JDBC
Need for Speed Notification Client Filtered Notifications Notification Service WS JDBC
Status Semi vaporware Architecture defined Portlet under construction Backend only developed enough to facilitate portlet testing New development project manager Open source
Demo & Questions