SlideShare ist ein Scribd-Unternehmen logo
1 von 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
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
Problem
  Service-based integration architecture


                        Service-based
                         Applications




                                                                   Application
                                                                                                   Application            Application
                                                                                                   Component              Component
Platform 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
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
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
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      unregister
Event Actor
                                                         activate
• computational unit (data
                                          deactivate                unregister
  processing, proxy, adapter,                  match            fire
  etc.)
• stateless/immutable                          notify          func




    eTruck             eFreeDock
    Arrived            Requested


              TruckMonitor




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


                                                register     unregister
Barrier
                                                               activate
• synchronization unit                         deactivate                    unregister
                                                match                     fire

                                                             ¬ got all
                                                     match    input
                                                                          got
                                            notify                        all input


 eTruck
                         eUnloading
 Moved
                          Started

eCamera
               Synchronizer
Received




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


                                                  register     unregister
Condition
• 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
Dynamic Event-Driven Actors (cont’d)
DERA Primitives: Execution Initiation


                                             register       unregister
Trigger
• triggers the execution                                     activate
                                              deactivate
     by emitting events                                                 unregister
                                                    start

                                                            fire




                eTruck
                Arrived


         TheTrigger




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

                                               register      unregister

EventBridge                                                   activate
                                               deactivate                unregister
• connect two domains
                                                    notify

                                                              notify(target)




     YardManagementDomain
                                            WarehouseManagementDomain
                               YMS-to-WMS




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




Warehouse Management Domain




                                     13
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
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
Evaluation
DERA 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
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

Debs Presentation 2009 July62009
Debs Presentation 2009 July62009Debs Presentation 2009 July62009
Debs Presentation 2009 July62009Opher Etzion
 
Global agilityagile2012
Global agilityagile2012Global agilityagile2012
Global agilityagile2012drewz lin
 
Fast Optimization Intevac
Fast Optimization IntevacFast Optimization Intevac
Fast Optimization Intevacvvk0
 
mVerify Investor Overview
mVerify Investor OverviewmVerify Investor Overview
mVerify Investor OverviewBob Binder
 

Was ist angesagt? (6)

Lecture10
Lecture10Lecture10
Lecture10
 
Debs Presentation 2009 July62009
Debs Presentation 2009 July62009Debs Presentation 2009 July62009
Debs Presentation 2009 July62009
 
Global agilityagile2012
Global agilityagile2012Global agilityagile2012
Global agilityagile2012
 
Fast Optimization Intevac
Fast Optimization IntevacFast Optimization Intevac
Fast Optimization Intevac
 
mVerify Investor Overview
mVerify Investor OverviewmVerify Investor Overview
mVerify Investor Overview
 
Gimias Architecture
Gimias ArchitectureGimias Architecture
Gimias Architecture
 

Ähnlich wie Dynamic Event-Driven Actors (DERA)

Tech Ed 09 - Arc302 - Analysis and Architecture
Tech Ed 09 -  Arc302  - Analysis and ArchitectureTech Ed 09 -  Arc302  - Analysis and Architecture
Tech Ed 09 - Arc302 - Analysis and Architecturemhessinger
 
Integration SharePoint 2010 with CRM 2010 by Mai Omar Desouki
Integration SharePoint 2010 with CRM 2010 by Mai Omar DesoukiIntegration SharePoint 2010 with CRM 2010 by Mai Omar Desouki
Integration SharePoint 2010 with CRM 2010 by Mai Omar DesoukiMai Omar Desouki
 
First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...Real-Time Innovations (RTI)
 
Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar Metron
 
Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012Agora Group
 
2. FOMS _ FeedHenry_ Mícheál Ó Foghlú
2. FOMS _ FeedHenry_ Mícheál Ó Foghlú2. FOMS _ FeedHenry_ Mícheál Ó Foghlú
2. FOMS _ FeedHenry_ Mícheál Ó FoghlúFOMS011
 
Scalable Services For Digital Preservation Ross King
Scalable Services For Digital Preservation Ross KingScalable Services For Digital Preservation Ross King
Scalable Services For Digital Preservation Ross KingDigitalPreservationEurope
 
6.Live Framework 和Mesh Services
6.Live Framework 和Mesh Services6.Live Framework 和Mesh Services
6.Live Framework 和Mesh ServicesGaryYoung
 
CDS in Regenstrief's New Gopher CPOE
CDS in Regenstrief's New Gopher CPOECDS in Regenstrief's New Gopher CPOE
CDS in Regenstrief's New Gopher CPOEJon Duke, MD, MS
 
Drupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows AzureDrupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows AzureFord AntiTrust
 
Novell Identity Manager Troubleshooting
Novell Identity Manager TroubleshootingNovell Identity Manager Troubleshooting
Novell Identity Manager TroubleshootingNovell
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure InteroperabilityMihai Dan Nadas
 
Scalable Computing Labs (SCL).
Scalable Computing Labs (SCL).Scalable Computing Labs (SCL).
Scalable Computing Labs (SCL).Mindtree Ltd.
 
Lap around windows azure
Lap around windows azureLap around windows azure
Lap around windows azureManish Corriea
 
Enterprise architecture for telecom sector
Enterprise architecture for telecom sectorEnterprise architecture for telecom sector
Enterprise architecture for telecom sectorSoham Pablo
 

Ähnlich wie Dynamic Event-Driven Actors (DERA) (20)

Tech Ed 09 - Arc302 - Analysis and Architecture
Tech Ed 09 -  Arc302  - Analysis and ArchitectureTech Ed 09 -  Arc302  - Analysis and Architecture
Tech Ed 09 - Arc302 - Analysis and Architecture
 
Session10part2 Servers Detailed
Session10part2  Servers DetailedSession10part2  Servers Detailed
Session10part2 Servers Detailed
 
Session9part2 Servers Detailed
Session9part2  Servers DetailedSession9part2  Servers Detailed
Session9part2 Servers Detailed
 
Integration SharePoint 2010 with CRM 2010 by Mai Omar Desouki
Integration SharePoint 2010 with CRM 2010 by Mai Omar DesoukiIntegration SharePoint 2010 with CRM 2010 by Mai Omar Desouki
Integration SharePoint 2010 with CRM 2010 by Mai Omar Desouki
 
First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...
 
Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar
 
Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012
 
2. FOMS _ FeedHenry_ Mícheál Ó Foghlú
2. FOMS _ FeedHenry_ Mícheál Ó Foghlú2. FOMS _ FeedHenry_ Mícheál Ó Foghlú
2. FOMS _ FeedHenry_ Mícheál Ó Foghlú
 
Scalable Services For Digital Preservation Ross King
Scalable Services For Digital Preservation Ross KingScalable Services For Digital Preservation Ross King
Scalable Services For Digital Preservation Ross King
 
6.Live Framework 和Mesh Services
6.Live Framework 和Mesh Services6.Live Framework 和Mesh Services
6.Live Framework 和Mesh Services
 
CDS in Regenstrief's New Gopher CPOE
CDS in Regenstrief's New Gopher CPOECDS in Regenstrief's New Gopher CPOE
CDS in Regenstrief's New Gopher CPOE
 
Drupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows AzureDrupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows Azure
 
Novell Identity Manager Troubleshooting
Novell Identity Manager TroubleshootingNovell Identity Manager Troubleshooting
Novell Identity Manager Troubleshooting
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure Interoperability
 
Wpf Tech Overview2009
Wpf Tech Overview2009Wpf Tech Overview2009
Wpf Tech Overview2009
 
Cardamom O M G
Cardamom O M GCardamom O M G
Cardamom O M G
 
Scalable Computing Labs (SCL).
Scalable Computing Labs (SCL).Scalable Computing Labs (SCL).
Scalable Computing Labs (SCL).
 
Lap around windows azure
Lap around windows azureLap around windows azure
Lap around windows azure
 
Enterprise architecture for telecom sector
Enterprise architecture for telecom sectorEnterprise architecture for telecom sector
Enterprise architecture for telecom sector
 
SWIMing in a Standards Soup
SWIMing in a Standards SoupSWIMing in a Standards Soup
SWIMing in a Standards Soup
 

Kürzlich hochgeladen

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 

Kürzlich hochgeladen (20)

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 

Dynamic Event-Driven Actors (DERA)

  • 1. 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
  • 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. Problem Service-based integration architecture Service-based Applications Application Application Application Component Component Platform 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. 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. 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. Dynamic Event-Driven Actors (cont’d) Overview of DERA architecture 6
  • 7. Dynamic Event-Driven Actors (cont’d) Meta-model of DERA primitives 7
  • 8. Dynamic Event-Driven Actors (cont’d) DERA Primitives: Computational Unit register unregister Event Actor activate • computational unit (data deactivate unregister processing, proxy, adapter, match fire etc.) • stateless/immutable notify func eTruck eFreeDock Arrived Requested TruckMonitor 8
  • 9. Dynamic Event-Driven Actors (cont’d) DERA Primitives: Synchronization Unit register unregister Barrier activate • synchronization unit deactivate unregister match fire ¬ got all match input got notify all input eTruck eUnloading Moved Started eCamera Synchronizer Received 9
  • 10. Dynamic Event-Driven Actors (cont’d) DERA Primitives: Branching Unit register unregister Condition • 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. Dynamic Event-Driven Actors (cont’d) DERA Primitives: Execution Initiation register unregister Trigger • triggers the execution activate deactivate by emitting events unregister start fire eTruck Arrived TheTrigger 11
  • 12. Dynamic Event-Driven Actors (cont’d) DERA Primitives: Domain Bridging Unit register unregister EventBridge activate deactivate unregister • connect two domains notify notify(target) YardManagementDomain WarehouseManagementDomain YMS-to-WMS 12
  • 13. Dynamic Event-Driven Actors (cont’d) A DERA-based representation of integration architectures Warehouse Management Domain 13
  • 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. 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. Evaluation DERA 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. 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. 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