powerpoint presentation

21
1 Why Service Oriented Architecture is HARD June 6, 2006 Tom Dimock Lessons Learned From the Notification Project

Upload: zubin67

Post on 28-May-2015

117 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: PowerPoint presentation

1

Why Service Oriented Architecture is HARD

June 6, 2006Tom Dimock

Lessons Learned From the Notification Project

Page 2: PowerPoint presentation

2

Agenda

• What is SOA?• What is the Notification Project• Why is it hard?• A few thoughts on pluggability and service

types• What are OSID’s, and why are they

important?

Page 3: PowerPoint presentation

3

What is SOA?

Service Oriented Architecture expresses a perspective of software architecture that defines the use of services to support the requirements of software users. (Wikipedia)

Page 4: PowerPoint presentation

4

No, really, what is SOA?

• A shift in focus away from “applications” towards business processes

• An architecture in which processes are constructed either in whole or in part by assembling reusable services

Page 5: PowerPoint presentation

5

What is it not?

• SOA is not SOAP, or .net, or DCOM• SOA can be implemented with any of these

technologies, but is fundamentally technology independent

Page 6: PowerPoint presentation

6

Managing Complexity

• Full-blown “applications” have become unmanageably complex

• Difficult to build, harder still to maintain• Can SOA help?

Page 7: PowerPoint presentation

7

What is the Notification Project

• A common channel for notifying users• Notification of tasks assigned by workflow

systems• Spam resistance a must• Give users one “in box” which can be used by

many applications• Handle notification of other events of interest

Page 8: PowerPoint presentation

8

Notification Project

• Consists of the Notification Client, which will be implemented as a uPortal channel

• And the Notification Server, which will manage the notifications

• Intended from the start to be an open source project

• Initial concepts and architecture contributed by Cornell

Page 9: PowerPoint presentation

9

Notification and SOA

• Notification project is very service oriented

• Interfaces first• Use external

services wherever possible

Notification Administration

Client

Notification Administration

Service

Notification Client

Notification Service

Notification Submission

Client Notification Submission

Service Other Notification Submission Applications

Groups Service

Preferences Service

Tickler Service

E-mail

Fax Jabber

Etc.

Notification Types

Active Notifications

Expanded Notifications

Filtered Notifications

Preferences

Filters / Rules

Notification

Engine

Archived Notifications

Authorization Service

Authorization OSID

Agent OSID

Usermessaging OSID

Authentication Service

Authentication OSID

Logging Service

Logging OSID

Directory Service

Agent OSID

Page 10: PowerPoint presentation

10

So Why is it Hard?• The technology isn’t that hard, it’s the

interface design that’s hard• Designing an interface suitable for your

current project is relatively easy• Designing an interface for a reusable service

is hard:– It must be future-proof

– It must handle differing authorizations

– It must avoid institutional specifics

Page 11: PowerPoint presentation

11

How Do We Deal With This?

• Learn from existing examples• Involve more people - open source• Accept that you won’t get it right on the first

try– But having to upgrade a number of processes that

all do something the same way is better than if they all do it different ways

– So track usage!

Page 12: PowerPoint presentation

12

Static Pluggability

• Frameworks such as Spring give static pluggability

• Configuration files specify the components to use and the “wiring”

• Allows decoupling of a distributed development effort

• Relies on dependency injection

Page 13: PowerPoint presentation

13

Dynamic Pluggability

• Manager class acts as factory, returning iterator over supported instances

• Allows multiple service implementations to be active simultaneously

• Allows seamless transition to new versions of services

Page 14: PowerPoint presentation

14

Kinds of Services

• Utility• Institutional• Application specific

Page 15: PowerPoint presentation

15

Utility Services

• Utility services provide functionality that is application independent– Authentication– Authorization– Workflow– Notification

• Utility services should be dynamically pluggable

Page 16: PowerPoint presentation

16

Institutional Services

• Institutional services expose data and functions to facilitate inter-application business processes– Demographic data– Account number lookup

• May be dynamically or statically pluggable• Consider stability of the service provider

Page 17: PowerPoint presentation

17

Application Specific Services

• Services which are used only within a very specific application domain

• Are you sure?• Probably statically pluggable

Page 18: PowerPoint presentation

18

Service Interface Standards

• Service interface standards unleash the power of dynamic pluggability

• Leverage code sharing amongst institutions• Emerging area of interest

Page 19: PowerPoint presentation

19

OKI

• Open Knowledge Initiative– www.okiproject.org

– 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).

Page 20: PowerPoint presentation

20

OSIDs

• Open Service Interface Definitions– Technology agnostic

• Main work product of OKI• Version 2 available now, Version 3 is under

development• Great examples to learn from• Let’s get Cornell involved!

Page 21: PowerPoint presentation

21

Questions