dynamic event-driven actors (dera)

18
Event-driven Actors for Supporting Flexibility and Scalability in Service-based Integration Architecture Huy Tran and Uwe Zdun Software Architecture Group Faculty of Computer Science University of Vienna, Austria. http://cs.univie.ac.at/swa

Upload: huy-tran

Post on 22-Nov-2014

362 views

Category:

Education


0 download

DESCRIPTION

This is my presentation at the OTM/CoopIS 2012 conference in Rome, Italy from Sep 10-14, 2012 about the dynamic event-driven actor framework (DERA) for enhancing the flexibility and scalability of service-based integration architecture. The paper can be downloaded at ResearchGate: http://bit.ly/NudGPL.

TRANSCRIPT

Page 1: Dynamic Event-Driven Actors (DERA)

Event-driven Actors for Supporting Flexibility and Scalability

in Service-based Integration Architecture

Huy Tran and Uwe ZdunSoftware Architecture GroupFaculty of Computer ScienceUniversity of Vienna, Austria.

http://cs.univie.ac.at/swa

Page 2: Dynamic Event-Driven Actors (DERA)

2 software architecture group

Content

Problem Context: Service-based Integration Architetures

1

Solution Dynamic Event-driven Actors (DERA) Approach:Primitives, Formalization, Substitution, DeraDSL

SummaryEvaluations, Future Works

2

3

Page 3: Dynamic Event-Driven Actors (DERA)

3 software architecture group

ProblemService-based integration architecture

Service-based Applications

Service Platforms

Platform Integration

Source: http://www.indenica.eu

Page 4: Dynamic Event-Driven Actors (DERA)

4 software architecture group

Problem (cont’d)Integration architecture in detail

Integration Framework(e.g, Apache Tuscany SCA, Fabric3)

• Hard-wired

• Hard to change

• No (or limited) supports for runtime

adaptation and evolution

Page 5: Dynamic Event-Driven Actors (DERA)

5 software architecture group

Dynamic Event-Driven Actors (DERA)Summary of DERA approach

Event-driven communication style

+ Loose coupling

+ Potential for flexibility, scalability and concurrency

- Not easy to understand (esp. large architecture designs)

Well-defined interfaces

Substitutions of event actors

Support for verifications/analysis

Facade

MessageTranslator

?

Page 6: Dynamic Event-Driven Actors (DERA)

6 software architecture group

Dynamic Event-Driven Actors (cont’d)Overview of DERA architecture

Page 7: Dynamic Event-Driven Actors (DERA)

7 software architecture group

Dynamic Event-Driven Actors (cont’d)Meta-model of DERA primitives

Page 8: Dynamic Event-Driven Actors (DERA)

8 software architecture group

Dynamic Event-Driven Actors (cont’d)DERA Primitives: Computational Unit

Event Actor• computational unit (data

processing, proxy, adapter,

etc.)• stateless/immutable

eTruckArrived

eFreeDockRequested

TruckMonitor

Page 9: Dynamic Event-Driven Actors (DERA)

9 software architecture group

Dynamic Event-Driven Actors (cont’d)DERA Primitives: Synchronization Unit

Barrier• synchronization unit

eTruckMoved

eUnloadingStarted

SynchronizereCameraReceived

Page 10: Dynamic Event-Driven Actors (DERA)

10 software architecture group

Dynamic Event-Driven Actors (cont’d)DERA Primitives: Branching Unit

Condition• branching unit (i.e.,

if-then-else)

eStoringFinished

isStoringFinished

eUnitStored

eStoringNotFinished

Page 11: Dynamic Event-Driven Actors (DERA)

11 software architecture group

Dynamic Event-Driven Actors (cont’d)DERA Primitives: Execution Initiation

Trigger• triggers the execution

by emitting events

eTruckArrived

TheTrigger

Page 12: Dynamic Event-Driven Actors (DERA)

12 software architecture group

Dynamic Event-Driven Actors (cont’d)DERA Primitives: Domain Bridging Unit

EventBridge• connect two domains

YardManagementDomain WarehouseManagementDomainYMS-to-WMS

Page 13: Dynamic Event-Driven Actors (DERA)

13 software architecture group

Dynamic Event-Driven Actors (cont’d)A DERA-based representation of integration architectures

Warehouse Management Domain

Page 14: Dynamic Event-Driven Actors (DERA)

14 software architecture group

Dynamic Event-Driven Actors (cont’d)Event Actor Substitution

EventActor MoveTruckToDockNew input[operatorTruckArrivedNotified] output[operatorMoveTruckToDock] register [MoveTruckToDockNew] deactivate [MoveTruckToDock] deactivate [b1] ... // verifications activate [MoveTruckToDockNew]

Page 15: Dynamic Event-Driven Actors (DERA)

15 software architecture group

Dynamic Event-Driven Actors (cont’d)Event Actor Substitution

EventActor CallWarehouseStaff input[operatorStoreStartedNotified] output[ operatorCallWarehouseStaff]EventActor StartUnloadingNew input[operatorCallWarehouseStaff] output[ operatorStartUnloading] register [CallWarehouseStaff]register [StartUnloadingNew]deactivate [StartUnloading]/* verifications can be performed here to detect anomalies */ activate [StartUnloadingNew] activate [CallWarehouseStaff]

Page 16: Dynamic Event-Driven Actors (DERA)

16 software architecture group

EvaluationDERA scalability

Goal DERA scalability DERA overheads vs. a

pure Java impl.

Settings Intel Quad-core i7

2.0Ghz 8GB memory Oracle JDK 1.6u31 64bit -Xms512m -Xmx1024m -

Xss1m n DERA actors n Java tasks Fixed thread pool of size

8 (#CPU cores)

Page 17: Dynamic Event-Driven Actors (DERA)

17 software architecture group

Future Works

Formal reasoning methods for supporting: verification of DERA system properties at important

stages: before deploying or substituting event actors, etc. cross-domain verifications

Assume “reliable event communication channels” NIÑOS/PADRES: Jacobsen et al. Reliable pub/sub networks: Costa et al., Kazemzadeh et

al., Malekpour et al., etc. Reliable message-oriented middleware: Pietzuch et al.

Page 18: Dynamic Event-Driven Actors (DERA)

18 software architecture group

Many thanks for your attention!

Huy Tran

Software Architecture GroupFaculty of Computer ScienceUniversity of Vienna, Austria.http://cs.univie.ac.at/swa