Event-driven Actors for Supporting      Flexibility and Scalability                   inService-based Integration Architec...
Content          1   Problem              Context: Service-based Integration Architetures              Solution          2...
Problem  Service-based integration architecture                        Service-based                         Applications ...
Problem (cont’d)Integration architecture in detail                      Integration Framework                    (e.g, Apa...
Dynamic Event-Driven Actors (DERA)Summary of DERA approach Event-driven communication style   + Loose coupling           ...
Dynamic Event-Driven Actors (cont’d)Overview of DERA architecture                                6
Dynamic Event-Driven Actors (cont’d)Meta-model of DERA primitives                                7
Dynamic Event-Driven Actors (cont’d)DERA Primitives: Computational Unit                                          register ...
Dynamic Event-Driven Actors (cont’d)DERA Primitives: Synchronization Unit                                                r...
Dynamic Event-Driven Actors (cont’d)DERA Primitives: Branching Unit                                                  regis...
Dynamic Event-Driven Actors (cont’d)DERA Primitives: Execution Initiation                                             regi...
Dynamic Event-Driven Actors (cont’d)DERA Primitives: Domain Bridging Unit                                               re...
Dynamic Event-Driven Actors (cont’d)A DERA-based representation of integration architecturesWarehouse Management Domain   ...
Dynamic Event-Driven Actors (cont’d)Event Actor Substitution   EventActor MoveTruckToDockNew     input[operatorTruckArrive...
Dynamic Event-Driven Actors (cont’d)Event Actor Substitution EventActor CallWarehouseStaff    input[operatorStoreStartedNo...
EvaluationDERA scalability                         Goal                            DERA scalability                     ...
Future Works Formal reasoning methods for supporting:   verification of DERA system properties at important    stages: b...
Many thanks for your attention!                  Huy Tran                  Software Architecture Group                  Fa...
Upcoming SlideShare
Loading in …5
×

Dynamic Event-Driven Actors (DERA)

400 views

Published on

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.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
400
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dynamic Event-Driven Actors (DERA)

  1. 1. Event-driven Actors for Supporting Flexibility and Scalability inService-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
  2. 2. Content 1 Problem Context: Service-based Integration Architetures Solution 2 Dynamic Event-driven Actors (DERA) Approach: Primitives, Formalization, Substitution, DeraDSL 3 Summary Evaluations, Future Works 2
  3. 3. Problem Service-based integration architecture Service-based Applications Application Application Application Component ComponentPlatform Integration Service-based platform integration Facade Data Mapper Adapter Adapter Platform Platform Platform Service Service YMS WMS RMS Service Platforms Source: http://www.indenica.eu 3
  4. 4. 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 4
  5. 5. Dynamic Event-Driven Actors (DERA)Summary of DERA approach Event-driven communication style + Loose coupling Facade + Potential for flexibility, scalability and concurrency - Not easy to understand (esp. large ? architecture designs) Well-defined interfaces Message Substitutions of event actors Translator Support for verifications/analysis 5
  6. 6. Dynamic Event-Driven Actors (cont’d)Overview of DERA architecture 6
  7. 7. Dynamic Event-Driven Actors (cont’d)Meta-model of DERA primitives 7
  8. 8. Dynamic Event-Driven Actors (cont’d)DERA Primitives: Computational Unit register unregisterEvent Actor activate• computational unit (data deactivate unregister processing, proxy, adapter, match fire etc.)• stateless/immutable notify func eTruck eFreeDock Arrived Requested TruckMonitor 8
  9. 9. Dynamic Event-Driven Actors (cont’d)DERA Primitives: Synchronization Unit register unregisterBarrier activate• synchronization unit deactivate unregister match fire ¬ got all match input got notify all input eTruck eUnloading Moved StartedeCamera SynchronizerReceived 9
  10. 10. Dynamic Event-Driven Actors (cont’d)DERA Primitives: Branching Unit register unregisterCondition• branching unit (i.e., deactivate activate unregister if-then-else) match fire(trueEvents) fire(falseEvents) notify eval() = true ¬ eval() = true eStoring eUnit Finished Stored isStoring eStoring Finished NotFinished 10
  11. 11. Dynamic Event-Driven Actors (cont’d)DERA Primitives: Execution Initiation register unregisterTrigger• triggers the execution activate deactivate by emitting events unregister start fire eTruck Arrived TheTrigger 11
  12. 12. Dynamic Event-Driven Actors (cont’d)DERA Primitives: Domain Bridging Unit register unregisterEventBridge activate deactivate unregister• connect two domains notify notify(target) YardManagementDomain WarehouseManagementDomain YMS-to-WMS 12
  13. 13. Dynamic Event-Driven Actors (cont’d)A DERA-based representation of integration architecturesWarehouse Management Domain 13
  14. 14. Dynamic Event-Driven Actors (cont’d)Event Actor Substitution EventActor MoveTruckToDockNew input[operatorTruckArrivedNotified] output[operatorMoveTruckToDock] register [MoveTruckToDockNew] deactivate [MoveTruckToDock] deactivate [b1] ... // verifications activate [MoveTruckToDockNew] 14
  15. 15. 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] 15
  16. 16. 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) 16
  17. 17. 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. 17
  18. 18. Many thanks for your attention! Huy Tran Software Architecture Group Faculty of Computer Science University of Vienna, Austria. http://cs.univie.ac.at/swa 18

×