Dynamic Event-Driven Actors (DERA)
description
Transcript of 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
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