Скачать презентацию Kuali Enterprise Notification Aaron Godert Sr Software Architect Скачать презентацию Kuali Enterprise Notification Aaron Godert Sr Software Architect

87a6838b3453bff5f86360088c28aba8.ppt

  • Количество слайдов: 25

Kuali Enterprise Notification Aaron Godert (Sr. Software Architect, Cornell University) John Fereira (Programmer/Analyst, Cornell Kuali Enterprise Notification Aaron Godert (Sr. Software Architect, Cornell University) John Fereira (Programmer/Analyst, Cornell University)

Introducing KEN n Kuali Enterprise Notification (KEN) provides a single list for all university Introducing KEN n Kuali Enterprise Notification (KEN) provides a single list for all university related communications n n n Workflow items (KEW) Non-workflow items (KEN) Examples of non-workflow items: n n n Your book is overdue A concert is coming up on campus Graduation check list to all Seniors

A Single “Action List”! A Single “Action List”!

A Kuali Rice Component n n n There are several middleware components that make A Kuali Rice Component n n n There are several middleware components that make up Rice KEN is one of them Each component works with the others to provide complementary technical functionality

A Communication Broker A Communication Broker

Functional Goals n n n Eliminate sifting through email Quickly find what you need, Functional Goals n n n Eliminate sifting through email Quickly find what you need, to go about your university related business Provide a controlled environment n n n Eliminate unwanted messages, prevent duplication Integrated user and group management Audit trail Centralized communication broker More robust preference and searching capabilities

Functional Requirements n Three types of notifications: n 1. ) Things I have to Functional Requirements n Three types of notifications: n 1. ) Things I have to do • Electronically (online) - KEW • Manually (physically) - KEN n 2. ) Things I need to know about • “School is closed - Snow Day!!!” n 3. ) Things I want to know about • “Dr. Nobel Laureate is coming to speak to the Computer Science club on…”

Functional Requirements n n n Target groups of people and specific people Control delivery Functional Requirements n n n Target groups of people and specific people Control delivery dates Notifications automated by systems - s 2 s Manual entry of notifications - generic message form Event notification n n Integration with personal calendars Multiple delivery end-points n n Email Text message to mobile phones

Potential Consumer Applications n n n Bursar Applications Registrar Applications Library Applications n n Potential Consumer Applications n n n Bursar Applications Registrar Applications Library Applications n n n Overdue checkout item notices Item recall notices Event announcements

Technical Goals Adhere to SOA principles n Develop collaboratively using the Community Source model Technical Goals Adhere to SOA principles n Develop collaboratively using the Community Source model n Build using standard Open Source Java technologies n Re-use technical products in Kuali n

The Architecture The Architecture

The Tools Java SDK 1. 5+ n Spring Framework n Service interface and implementations The Tools Java SDK 1. 5+ n Spring Framework n Service interface and implementations n Spring MVC n n Apache OJB n n Object relational mapper Oracle 10 g

The Tools n n n Open. Symphony Quartz n Spring integration Jetty JSP/JSTL XML/XSD The Tools n n n Open. Symphony Quartz n Spring integration Jetty JSP/JSTL XML/XSD n DOM/Xpath n XStream XSLT Apache Axis

Sending a Notification: s 2 s n Java API - Java services n POJO Sending a Notification: s 2 s n Java API - Java services n POJO in and POJO out Notification n = new Notification(); n. add. Recipient(“Test. User 1”); … Notification. Response response = notification. Service. send. Notification(n); n String in and String out (XML) String notification. Xml = ; String response = notification. Service. send. Notification(notification. Xml); n Web service invocation n String in and String out (XML)

Notification Request as XML Notification Request as XML

Content Types n Two content types provided out-of-the-box: n Simple n Event Content Types n Two content types provided out-of-the-box: n Simple n Event

Flexible Content Types n To add a new content type: 1. 2. 3. 4. Flexible Content Types n To add a new content type: 1. 2. 3. 4. Write the sample XML for inside of the tag Write the XSD to validate your content type Write the XSL to transform your content type during rendering Register the new content type in the system administrator’s UI

Flexible Delivery Endpoints n Java interface to implement n n Specify properties that would Flexible Delivery Endpoints n Java interface to implement n n Specify properties that would get set by a user in their preferences Property values would be used to actually deliver the message • Mobile phone # • Email address n Implement the “deliver()” method • Call out to an SMS API • Call out to an Email API

Project Status KEN 0. 9 delivered - May 2007 n Production ready; initial version Project Status KEN 0. 9 delivered - May 2007 n Production ready; initial version n Available at http: //ken. kuali. org (click documentation link) n KEN 0. 9. 1 - late Summer n KEN 1. 0 - late Fall 2007 n

Features in 0. 9 n n n Send notifications via s 2 s API/WS Features in 0. 9 n n n Send notifications via s 2 s API/WS call Send simple/event notifications via simple web form (workflow enabled) Users see notifications alongside of workflow items in a more general action list n n n Search for by channel, type, producer, sender, and priority - save for later use Take action on notifications - clearing/acknowledging Click on notification to see more details about the notification • View a log for the notification (who, what, where, when, why)

Features in 0. 9, continued n Users able to set up multiple delivery types Features in 0. 9, continued n Users able to set up multiple delivery types n n n n OOTB with an email tickler Flexible content types (XML/XSD/XSL) Basic authorization - Notification Channel to Notification Producer mappings CAS end user authentication Basic user and group management Notification message reviewers Some administrative UIs

Roadmap n 0. 9. 1 n n n Better deployment of delivery types Bug Roadmap n 0. 9. 1 n n n Better deployment of delivery types Bug fixes Small enhancements SMS delivery end point 1. 0 n n n Better Rice integration UIs built using KNS send. Notification() exposed on KSB • Acegi security • Web Service exposure (XFire) n Consistent configuration (Spring based)

Roadmap, continued n Out there n n n Portlets - action list and preference Roadmap, continued n Out there n n n Portlets - action list and preference management Attachments s 2 s revocation of notification messages Ability to schedule recurring messages Full roadmap available at: https: //test. kuali. org/confluence/display/KEN/Roadmap n Full feature list available at: https: //test. kuali. org/confluence/display/KEN/Features

Demo n https: //test. kuali. org/confluence/display/KEN/Demo Demo n https: //test. kuali. org/confluence/display/KEN/Demo

Interested? Looking for contributors on the Kuali Rice effort and KEN n Looking for Interested? Looking for contributors on the Kuali Rice effort and KEN n Looking for developers to write test clients in various technologies n Always open to new requirements n More information: http: //ken. kuali. org n Contact information: n http: //rice. kuali. org/contact. html