dynamic event-driven actors (dera)

Post on 22-Nov-2014

362 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

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

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

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

3 software architecture group

ProblemService-based integration architecture

Service-based Applications

Service Platforms

Platform Integration

Source: http://www.indenica.eu

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

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

?

6 software architecture group

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

7 software architecture group

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

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

9 software architecture group

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

Barrier• synchronization unit

eTruckMoved

eUnloadingStarted

SynchronizereCameraReceived

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

11 software architecture group

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

Trigger• triggers the execution

by emitting events

eTruckArrived

TheTrigger

12 software architecture group

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

EventBridge• connect two domains

YardManagementDomain WarehouseManagementDomainYMS-to-WMS

13 software architecture group

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

Warehouse Management Domain

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]

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]

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)

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.

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

top related