a framework for managing dynamic service oriented
play

A framework for managing dynamic service- oriented component - PowerPoint PPT Presentation

A framework for managing dynamic service- oriented component architectures Walter Rudametkin 1,2 , Lionel Touseau 1 , Didier Donsez 1 , Francois Exertier 2 2 BULL SAS 1 LIG - ADELE Echirolles, France Grenoble University


  1. A framework for managing dynamic service- oriented component architectures Walter Rudametkin 1,2 , Lionel Touseau 1 , Didier Donsez 1 , Francois Exertier 2 2 BULL SAS 1 LIG - ADELE Echirolles, France Grenoble University {firstname}.{name}@bull.net {firstname}.{name}@imag.fr

  2. Context

  3. Building complex software systems  Large systems  Millions of lines of code (eg.: Eclipse ~33 mloc)  Entangled dependencies  Hundreds of different modules that must co-exist Walter Rudamentkin, IEEE-APSCC 2010  Run-time adaptation  We want the software to change/update @ runtime  Requires managing the architecture

  4. Architecture management  We propose a framework that eases the development of architecture managers  Provides basic services  Provides abstractions of the architecture  Helps make pertinent decisions on changes  Calculates the cost of reconfigurations Walter Rudamentkin, IEEE-APSCC 2010  Can be used to create specialized managers ▪ E.g., Minimize footprint, adapt to new requirements, high availability, user context, healing...

  5. How things work (in our world)

  6. Service Oriented Computing Service Registry Lookup Publish Walter Rudamentkin, IEEE-APSCC 2010 Service Service Bind Provider Client

  7. Dynamic Service Oriented Computing Service Registry Lookup Notify Publish Un-publish Walter Rudamentkin, IEEE-APSCC 2010 Service Service Bind Client Provider

  8. Service-Oriented Components Required Service Provided Service POJO (Business code) Walter Rudamentkin, IEEE-APSCC 2010 Component Membrane

  9. Service-Oriented Components Service Registry Lookup Notify Publish Walter Rudamentkin, IEEE-APSCC 2010 Bind Client Provider

  10. Dependencies: modules and components Required Services Provided Services Component Component Walter Rudamentkin, IEEE-APSCC 2010 10

  11. Dependencies: modules and components Required Services Provided Services Component Component Walter Rudamentkin, IEEE-APSCC 2010 Module Provided Required implementation code implementation code 11

  12. Dependencies: modules and components Required Services Provided Services Component Component Walter Rudamentkin, IEEE-APSCC 2010 Required Resources Provided Resources Module Provided Required implementation code implementation code 12

  13. Service-Oriented Component abstraction levels Object Oriented Implementation Service-Oriented Component Model Object instances Service Component instances Run time view Service Component Types Class definitions Walter Rudamentkin, IEEE-APSCC 2010 Design time view MODULE MODULE MODULE MODULE 1 2 3 4 Deployment view EXECUTION FRAMEWORK Deployment unit repository 13 Deployment platform

  14. What do we do with all of this?

  15. Our approach  model@run.time  Architecture model based on dependencies ( Graph )  Management framework  Exports the application model  Calculates the cost of a reconfiguration Walter Rudamentkin, IEEE-APSCC 2010 ▪ Based on dependency information  Proposes management services ▪ Repository access, Remote services, Resource management, Application monitoring, ... 15

  16. Model @ runtime: Why analyze dependencies?  Primary constraint for reconfigurations  Required for installing, instantiating, executing software  Affect component lifecycle  Complicate uninstallation  E.g.: We want to reduce footprint and not break the application Walter Rudamentkin, IEEE-APSCC 2010  Missing dependencies can break the application  Halt components, cause state-loss, unavailability, …  For Centralized Applications  (i.e., single memory space)

  17. Impact of a dynamic reconfiguration  We use the dependency graph to calculate impact  Modules stopped (state-loss)  Components stopped (possible state-loss)  Modules installed and/or restarted  Components installed and/or restarted  Bindings and re-bindings Walter Rudamentkin, IEEE-APSCC 2010  Rollback and recovery not considered 17

  18. Example: Domino effect  All components running Walter Rudamentkin, IEEE-APSCC 2010 C C C C 18 8 décembre 2010

  19. Example: Domino effect  One component stops Walter Rudamentkin, IEEE-APSCC 2010 C C C C 19 8 décembre 2010

  20. Example: Domino effect  All components are affected and stopped Walter Rudamentkin, IEEE-APSCC 2010 C C C C 20 8 décembre 2010

  21. Example: Domino effect  The component becomes available again Walter Rudamentkin, IEEE-APSCC 2010 C C C C 21 8 décembre 2010

  22. Example: Domino effect  All components run again Walter Rudamentkin, IEEE-APSCC 2010 C C C C 22 8 décembre 2010

  23. Our prototype

  24. Framework overview Architecture Manager Framework Resource Manager Repository Manager Resolver Architecture Manager Walter Rudamentkin, IEEE-APSCC 2010 Distant Service Manager RunTime Manager Problem Specific Generic Architecture Services Component 24

  25. Walter Rudamentkin, IEEE-APSCC 2010 Framework overview: big picture 25

  26. Implementation details  Based on the OSGi Service Platform  Makes extensive use of other projects  Apache Felix  Apache iPOJO  OW2 Chameleon - ROSE Walter Rudamentkin, IEEE-APSCC 2010  OW2 JonAS  Eclipse P2  SIGAR (SpringSource)  … 26

  27. Final remarks

  28. Conclusions  Framework for handling and understanding dynamism in service oriented component platforms  Run time impact of dynamic reconfigurations  We provide the basic mechanisms for manipulating an application's architecture. Walter Rudamentkin, IEEE-APSCC 2010  More “intelligent” features can be implemented on top  The project will be open-sourced on the OW2 JOnAS project in the (near) future. 28

  29. Perspectives  Define reactive properties (application reflexes)  Because some actions are not controlled by the application or the manager (eg., devices, remote services)  Use a Reference or Abstract architecture Walter Rudamentkin, IEEE-APSCC 2010  To enforce and/or validate the architecture  To provide autonomic architecture adaptation and evolution (e.g., based on QoS) 29

  30. Walter Rudamentkin, IEEE-APSCC 2010 23/10/08 Questions? 30

  31. OSGi Dependency classification (related to impact) Package, Stale references, Static Dynamic-import, Fragments, Extension points, Handler Services, Dynamic Publish-subscribe pattern, Whiteboard pattern Walter Rudamentkin, IEEE-APSCC 2010 Resources, Extender pattern, Either Configuration 31

  32. Dependencies: design-pattern Publish Subscribe pattern Common datatype Publisher Subscriber Event Admin Walter Rudamentkin, IEEE-APSCC 2010 32

  33. Dependencies: design-pattern Inverted dependencies Whiteboard pattern Command 1 Walter Rudamentkin, IEEE-APSCC 2010 Command 2 Shell Service Command 3 33

  34. Dependencies: design-pattern Extender pattern Component 1 Meta- data Component Component 2 Walter Rudamentkin, IEEE-APSCC 2010 Container Meta- data 34

  35. Dependencies: modules and components Required Design-Pattern Provided Design-Pattern Required Services Provided Services Component Component Walter Rudamentkin, IEEE-APSCC 2010 Required Resources Provided Resources Module Provided Required implementation code implementation code 35

  36. Conséquences (4)  Arrêts en cascade dans le cas d’une composition  Effet domino Walter Rudamentkin, IEEE-APSCC 2010 C C C C 36 8 décembre 2010

Recommend


More recommend