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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend