a common basis for modelling service-oriented and event-driven architecture

46
Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion A Common Basis for Modelling Service-Oriented and Event-Driven Architecture Tony Clark and Balbir S. Barn School of Engineering and Information Sciences, Middlesex University, London, UK February 23, 2012 Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive

Upload: clarktony

Post on 18-Nov-2014

3.560 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

A Common Basis for Modelling Service-Orientedand Event-Driven Architecture

Tony Clark and Balbir S. Barn

School of Engineering and Information Sciences, Middlesex University, London,UK

February 23, 2012

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 2: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Contents

1 Problem and Hypothesis

2 Modelling: A Language Driven ApproachServicesEventsTooling

3 Case Study

4 Simulation

5 Conclusion

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 3: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Enterprise Architecture

What does a business do?

Why does the business do it?

How does the business operate?

Use Cases: as-is and to-be; IT alignment; governance;resource planning; compliance; IT management; etc.

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 4: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

It’s a Puzzlement [King of Siam]

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 5: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Inversion of Control

Service OrientedArchitecture

Messages drivecomputation.

Interfaces of operations.

Synchronous,Asynchronous,Broadcast, etc.

Business processesattached to services

Event DrivenArchitecture

Events drivecomputation.

Interfaces of events.

Always asynchronous.

Business processesattached to complexevents.

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 6: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Architectural Styles

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 7: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Messages

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 8: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Messages

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 9: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Messages

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 10: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Messages

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 11: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Messages

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 12: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Messages

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 13: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Messages

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 14: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Messages

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 15: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Inversion of Control

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 16: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Events

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 17: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Events

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 18: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Events

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 19: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Events

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 20: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Architectural Styles: Events

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 21: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Technologies for EA

ArchiMate

MODAF

TOGAF

UML and SysML

All fairly complex, imprecise, not domain specific, do not supportreasoning, no simulation.

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 22: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

A Language Driven Approach to EA

A Domain Specific Language for Modelling EA:

Component architecture.Information models.Invariants.Pre and post specification of Business Processes.Events.

A Domain Specific Language for EA Simulation:

As above...Commands for business process implementation.Message passing.Rules for complex event processing.

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 23: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

ServicesEventsTooling

Contents

1 Problem and Hypothesis

2 Modelling: A Language Driven ApproachServicesEventsTooling

3 Case Study

4 Simulation

5 Conclusion

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 24: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

ServicesEventsTooling

EA Modelling Language

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 25: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

ServicesEventsTooling

EA Simulation Language

component d {

port p[out]:interface {

v():void}

port q[out]:interface {

z():void}

operations {

y() {

p <- v();

q <- z()

}

}

}

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 26: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

ServicesEventsTooling

EA Simulation Language

component d {

port p[out]:interface {

v():void}

port q[out]:interface {

z():void}

operations {

y() {

p <- v();

q <- z()

}

}

}

component b {

port q[in]: interface {

z():void}

operations {

z() {

print(’called z()’)

}

}

}

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 27: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

ServicesEventsTooling

EA Simulation Language

component d {

port p[out]:interface {

v():void}

port q[out]:interface {

z():void}

operations {

y() {

p <- v();

q <- z()

}

}

}

component b {

port q[in]: interface {

z():void}

operations {

z() {

print(’called z()’)

}

}

}

component a {

port p[in]: interface {

v():void;}

operations {

v() { print(’called v()’) }

}

}

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 28: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

ServicesEventsTooling

EA Simulation Language

component c {

c = 10

port events[out]: interface {

x(data:int):void}

operations {

x() {

events <- x(c)

}

}

}

component d {

d = 10

port events[out]: interface {

y(data:int):void}

operations {

y() {

events <- y(d)

}

}

}

component a {

port p[in]: interface {

x(data:int):void;y(data:int):void

}

model {

class X { x:int }

class Y { y:int }

class Data { d:int }

}

rules {

x_and_y: X(x) Y(y) ?(p(x,y)) {

v(x,y)

}

}

operations {

x(data) { new X(data) }

y(data) { new Y(data) }

v(x,y) { new Data(x+y) }

}

}

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 29: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

ServicesEventsTooling

Component Connections

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 30: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

ServicesEventsTooling

Calling Sequence

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 31: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Contents

1 Problem and Hypothesis

2 Modelling: A Language Driven ApproachServicesEventsTooling

3 Case Study

4 Simulation

5 Conclusion

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 32: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

UK Borders Agency

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 33: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Component Dependencies

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 34: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Registry

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 35: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Student Office

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 36: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Monitor

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 37: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Contents

1 Problem and Hypothesis

2 Modelling: A Language Driven ApproachServicesEventsTooling

3 Case Study

4 Simulation

5 Conclusion

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 38: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Case Study: Example Component

component registry {

port in[in]: interface {

register(name:str,course:str):void}

port events[out]: interface {

register(name:str,course:str):void}

model {

class Student {

name:str;course:str

}

}

operations {

register(name,course) {

new Student(name,course);

events <- register(name,course)

}

}

}

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 39: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Dynamic, Parametric Componentsoperations {

make_department(name,courses,academic_names) {

component {

...

school_office = make_student_office(courses)

academics = [ make_academic(name) | name <- academic_names ]

}

}

make_academic(name) {

component { ... }

}

make_student_office(courses) {

component { ... }

}

}

computer_science = make_department(’Business’,[

Course(’Business and IT’,[

Module(’Marketing’,[CW(’BIT_MCW1’,4),CW(’BIT_MCW2’,6)])]),

Course(’Business Informatics’,[

Module(’Finance’,[CW(’BI_MCW1’,4),CW(’BI_MCW2’,6)])]),

],[’Dr Piercemuller’,’Prof. Plumb’])

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 40: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Simulation Architecture

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 41: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Screen Model

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 42: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Simulation: GUI

component gui {

display = jcomponent(’frames.GUI’)

operations {

show() {

let time = find Time(t) in state { t } else 0

in display.in <- display(Table([

[Text(’contacts:’)],

[Table([[Text(r.name),Text(r.contacts)] | r <- monitor.in.contacts()])],[Text(’ ’)],

[Button(’Tick’+time,fun(e) clock_port <- tick())]

]))

}

tick(time) { delete Time(time-1); new Time(time); show() }

}

port in[in]: interface { show():void; tick(time:int):void }

port clock_port[out]:interface { tick():void }

}

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 43: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Borders Agency Simulation

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 44: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Other Examples

EA Alignment in order to comply with new UK HEregulation for Key Information Sets.

Architecture for Sense Making using data from socialnetwork sites.

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 45: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Contents

1 Problem and Hypothesis

2 Modelling: A Language Driven ApproachServicesEventsTooling

3 Case Study

4 Simulation

5 Conclusion

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Page 46: A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

Problem and HypothesisModelling: A Language Driven Approach

Case StudySimulationConclusion

Conclusion

EA use-cases require precision to analyse designs.Domain analysis leads to: components; information models;messages; events.Current technologies are very large, complex and imprecise.A Language Driven Approach leads to a design and simulationlanguages.Design language as UML profile.Simulation language implemented in Java.Tested on several case studies.Future Steps:

Support for Business Goals.Methods to support approach and integration with existing EAtechnologies.Develop techniques for various EA analysis use-cases.Integrate simulation language with real architectures.

Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Driven Architecture