Notification Service May 19, 2006 Jon Atherton Mark Mara
Agenda Introduction Jon 20 minutes Architecture Mark 25 minutes
Notification Service DEFINITION: General purpose service where any authorized application or user can reliably notify a user of a task, an alert or an event.
Notifications, Portals & Workflow OneStart workflow Workflow uses notification One interface to workflow Notification service Support for other sources of notifications
Notifications One place to find out what is on your plate Your style of portal use Constantly connected Occasionally connected Unconnected How to get your attention 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
Application evolution Service orientation SOA Application application logic logging data presentation workflow configuration Application presentation business logic application logic logging configuration data Application presentation business logic data logging configuration application logic Application business logic application logic logging configuration data presentation Application application logic logging data presentation workflow configuration notification
Basic Architecture Notification Engine
Basic Architecture Notification Engine Notifications Repository Rules DB Notification Engine
Basic Architecture Web Services Interactions Notification Engine Notifications Repository Rules DB Notification Engine Plug-ins
Basic Architecture Web Services Interactions Notification Engine Notifications Repository Rules DB Notification Engine Plug-ins Rules Engine Plug-ins Tickler Plug-ins
Basic Architecture Web Services Interactions Notification Engine Group Membership Providers Notifications Repository Group Membership Providers Rules DB Notification Engine Plug-ins Rules Engine Plug-ins Tickler Plug-ins
Basic Architecture Web Services Interactions Notification Engine Group Membership Providers Notifications Repository Group Membership Providers Rules DB Group Membership Providers Notification Providers Notification Engine Plug-ins Rules Engine Plug-ins Tickler Plug-ins
Basic Architecture Web Services Interactions Notification Engine Group Membership Providers Notifications Repository Group Membership Providers Rules DB Group Membership Providers Notification Providers Notification Engine Plug-ins Rules Engine Plug-ins Tickler Plug-ins portlet Notification Client Core servlet
The need for speed The user experience is what counts Asynchronous processing
Notification representation iCalendar (RFC 2445) Internet Calendaring & Scheduling Core Object Specification http://www.kanzaki.com/docs/ical XML wrapper Meta-data …..presentation hints
Notification Types Alerts - Something you need to know One-way Opt-in, opt-out, no option Events - Something you want to know User requested notification Push to personal calendar Actions - Something you need to do Two-way Typically workflow system generated Direct action or link
The following presentation is not real What we believe is possible to implement in the next 18 months Use the story board to collect feedback on the design
1
2
3
4
5
6
7
8
9
10
11
14
16
17
OKI Open Knowledge Initiative (OKI) Standards for: http://www.okiproject.org/ Standards for: How components of a software environment communicate with each other and with other enterprise systems 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. LionShare
OSIDs Open Service Interface Definition (OSID) Technology agnostic service definitions Authentication, Authorization, Agent, Logging 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#.
Service Architecture Need for speed
Questions