SlideShare a Scribd company logo
1 of 15
Download to read offline
Towards a Modularity Maturity Model

Graham Charters

IBM

21st September 2011




                                                                             OSGi Alliance Marketing © 2008-2010 . 1
                                                                                                             Page
COPYRIGHT © 2008-2011 OSGi Alliance. All Rights Reserved, © IBM Corp. 2011
                                                                             All Rights Reserved
Page 2   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
         © IBM Corp. 2011
Source: Wikipedia
A Maturity Model
• A set of structured levels describing how well an
  organization can reliably and sustainably produce
  required outcomes
• May provide
   •    a place to start
   •    benefit of prior experiences
   •    common language and shared vision
   •    framework for prioritizing actions
   •    define what improvement means
• Can be used as a benchmark for
  comparison and an aid to understanding


       Page 3    OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
                 © IBM Corp. 2011
Modularity Maturity Model

 • A Maturity Model for Modularity 
 • Focus on organisational capability
 • Modularity technology agnostic
 • Drawn from observations from a number of
   projects and customers
 • An 80:20 guide, not a 100% law




     Page 4   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
              © IBM Corp. 2011
Level 1: Ad Hoc

       Characteristics                                                          Benefits
•   No formal modularity focus                                       • Cheap to get started
•   Bunch of classes with no structure
•   Flat class path
•   Library Jars
•   Monolithic application
•   Archives of archives


                                                    .../A_v1.jar

                                                     .../Bv2.jar

                                                        .../C.jar

      Page 5       OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,            26.09.2011
                   © IBM Corp. 2011
Level 2: Modules
     Characteristics                                                                    Benefits
• Formal module identities                                            • Decouple module from artefact
    • In artifact or catalogue                                        • Clearer view of module assembly
• Identities can be versioned                                         • Enables version awareness
• Dependencies based on identities                                        • Build
    • Build                                                               • Development
    • Development                                                         • Operations
    • Operations                                                      • Enables module catalogues
• Examples: Maven, Ivy, RPM, OSGi,
  etc…


                                   B v2                                 Identity        Artifact
             A v1                                                   A            v1     .../B_v1.jar
                                                                    B            v2     …/Bv2.jar
                                  C v1.1
                                                                    C            v1.1   …/C.jar

    Page 6          OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,                     26.09.2011
                    © IBM Corp. 2011
Segue                              Module Identity != Modularity


Modularity
“(Desirable) property of a system,
such that individual components can
be examined, modified and
maintained independently of the
                                                                                                 PCIe x16
remainder of the system. Objective
is that changes in one part of a
system should not lead to
                                                                              VGA
unexpected behavior in other parts.”                                                DVI
www.maths.bath.ac.uk/~jap/MATH0
015/glossary.html



     Page 7      OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,         26.09.2011
                 © IBM Corp. 2011
Level 3: Modularity
      Characteristics                                                            Benefits
• Declared module contracts                                        • Fine-grained impact awareness
  (capabilities and requirements)                                      • Bug fix
• Private parts are implementation                                     • Implementor breaking change
  detail                                                               • Client breaking change
• Dependency resolution first,                                     • System structure awareness
  module identity second                                           • Client/Provider independence
                                                                   • Requirement-based dependency
                                                                     checking


                                                                          B v2
                         A v1
                                                                        C v1.1

     Page 8      OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,           26.09.2011
                 © IBM Corp. 2011
Level 4: Loose-Coupling
      Characteristics                                                            Benefits
• Separation of interface from                                     • Implementation client/provider
  implementation with                                                independence
  implementation used indirectly
• No factories
• No ‘new’
• Services-based module
  collaboration
• Dependencies semantically
  versioned

                                                                          B v2
                         A v1
                                                                        C v1.1

                                                                         D v1

     Page 9      OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,            26.09.2011
                 © IBM Corp. 2011
Level 5: Devolution
     Characteristics                                                          Benefits
• Artifact ownerships devolved to                                  • Greater awareness of existing
  modularity-aware repositories                                      modules
• Repositories may support                                         • Reduced duplication, increases
   • Collaboration (commenting,                                      quality
       ratings, forums)                                            • Collaboration/empowerment
   • Governance (approvals, life-                                    around modules
       cycle)                                                      • Quality/operational control



                                                               B v2
              A v1                                           C v1.1

                                                               D v1


    Page 10      OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,             26.09.2011
                 © IBM Corp. 2011
Level 6: Dynamism
     Characteristics                                                            Benefits
• Dynamic module life-cycle                                       • No brittle ordering dependencies
• Modules fully life-cycle aware                                  • Ability to dynamically update a
• Operational support for module                                    running system
  addition, removal, replacement                                      • Extend capabilities
                                                                      • Apply fixes




                                                                         B v2
                        A v1
                                                                       C v1.1

                                                                        D v1

    Page 11     OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,             26.09.2011
                © IBM Corp. 2011
Simple Summary
Level        Name                        Summary

1            Ad Hoc                      Nothing
2            Modules                     Formal identity, decoupled from artifact
3            Modularity                  Formal module contracts, decoupled from identity
4            Loose-Coupling Services, semantic versioning, decoupled from
                            implementation
5            Devolution                  Modularity-aware repositories, collaboration,
                                         governance, decoupled from ownership
6            Dynamism                    Life-cycle awareness and independence, decoupled
                                         from time




        Page 12        OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
                       © IBM Corp. 2011
Time to apply...

• How do your projects and
  organization fair?
• How do some well-known
  projects fair?
• How are we doing as an
  industry?

• In answering these questions
  we can better understand the
  tasks and benefits ahead

   Page 13   OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
             © IBM Corp. 2011
Level 7: Peter Kriens
      Characteristics                                                         Benefits
• Sees the modularity in anything                                  • Can address all modularity problems
  and everything
• A higher state of modularity
  enlightenment
• 10+ years eating and breathing
  modularity




     Page 14     OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,             26.09.2011
                 © IBM Corp. 2011
Trademarks

IBM and WebSphere are trademarks or registered trademarks of
International Business Machines Corp., registered in many
jurisdictions worldwide.

Java and all Java-based trademarks and logos are trademarks or
registered trademarks of Oracle and/or its affiliates.

Other product and service names might be trademarks of IBM or other
companies. A current list of IBM trademarks is available on the Web at
“Copyright and trademark information” at
www.ibm.com/legal/copytrade.shtml.




      Page 15    OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,   26.09.2011
                 © IBM Corp. 2011

More Related Content

What's hot

Risk-driven and Business-outcome-focused Enterprise Security Architecture Fra...
Risk-driven and Business-outcome-focused Enterprise Security Architecture Fra...Risk-driven and Business-outcome-focused Enterprise Security Architecture Fra...
Risk-driven and Business-outcome-focused Enterprise Security Architecture Fra...
Craig Martin
 
Digital Transformation And Solution Architecture
Digital Transformation And Solution ArchitectureDigital Transformation And Solution Architecture
Digital Transformation And Solution Architecture
Alan McSweeney
 

What's hot (20)

Practical Enterprise Architecture in Medium-size Corporation using TOGAF
Practical Enterprise Architecture in Medium-size Corporation using TOGAFPractical Enterprise Architecture in Medium-size Corporation using TOGAF
Practical Enterprise Architecture in Medium-size Corporation using TOGAF
 
Aligning The Business Model to Technology Landscapes Enterprise Systems Arch...
Aligning The Business Model to  Technology Landscapes Enterprise Systems Arch...Aligning The Business Model to  Technology Landscapes Enterprise Systems Arch...
Aligning The Business Model to Technology Landscapes Enterprise Systems Arch...
 
Architecture Roadmap Visualization using the ArchiMate® 3.0 Modeling Language
Architecture Roadmap Visualization using the ArchiMate® 3.0 Modeling LanguageArchitecture Roadmap Visualization using the ArchiMate® 3.0 Modeling Language
Architecture Roadmap Visualization using the ArchiMate® 3.0 Modeling Language
 
TOGAF Complete Slide Deck
TOGAF Complete Slide DeckTOGAF Complete Slide Deck
TOGAF Complete Slide Deck
 
Risk-driven and Business-outcome-focused Enterprise Security Architecture Fra...
Risk-driven and Business-outcome-focused Enterprise Security Architecture Fra...Risk-driven and Business-outcome-focused Enterprise Security Architecture Fra...
Risk-driven and Business-outcome-focused Enterprise Security Architecture Fra...
 
Digital Architecture – The Missing Link in Digital Transformation Success
Digital Architecture – The Missing Link in Digital Transformation SuccessDigital Architecture – The Missing Link in Digital Transformation Success
Digital Architecture – The Missing Link in Digital Transformation Success
 
Cloud architecture with the ArchiMate Language
Cloud architecture with the ArchiMate LanguageCloud architecture with the ArchiMate Language
Cloud architecture with the ArchiMate Language
 
ArchiMate technology layer - Simplify the models
ArchiMate technology layer - Simplify the modelsArchiMate technology layer - Simplify the models
ArchiMate technology layer - Simplify the models
 
What’s new in OpenText Extended ECM Platform CE 21.1 and OpenText Content Sui...
What’s new in OpenText Extended ECM Platform CE 21.1 and OpenText Content Sui...What’s new in OpenText Extended ECM Platform CE 21.1 and OpenText Content Sui...
What’s new in OpenText Extended ECM Platform CE 21.1 and OpenText Content Sui...
 
Augmenting IT strategy with Enterprise architecture assessment
Augmenting IT strategy with Enterprise architecture assessmentAugmenting IT strategy with Enterprise architecture assessment
Augmenting IT strategy with Enterprise architecture assessment
 
Introduction to Enterprise Architecture
Introduction to Enterprise ArchitectureIntroduction to Enterprise Architecture
Introduction to Enterprise Architecture
 
Enterprise architecture-career-path
Enterprise architecture-career-pathEnterprise architecture-career-path
Enterprise architecture-career-path
 
Guiding Agile Solution Delivery with the ArchiMate Language
Guiding Agile Solution Delivery with the ArchiMate LanguageGuiding Agile Solution Delivery with the ArchiMate Language
Guiding Agile Solution Delivery with the ArchiMate Language
 
ArchiMate introduction
ArchiMate introductionArchiMate introduction
ArchiMate introduction
 
A Brief Introduction to Enterprise Architecture
A Brief Introduction to  Enterprise Architecture A Brief Introduction to  Enterprise Architecture
A Brief Introduction to Enterprise Architecture
 
Digital Transformation And Solution Architecture
Digital Transformation And Solution ArchitectureDigital Transformation And Solution Architecture
Digital Transformation And Solution Architecture
 
IT Enterprise architecture ppt
IT Enterprise architecture pptIT Enterprise architecture ppt
IT Enterprise architecture ppt
 
Enterprise architecture assessment guide v2.2
Enterprise architecture assessment guide v2.2Enterprise architecture assessment guide v2.2
Enterprise architecture assessment guide v2.2
 
Enterprise Architecture Frameworks
Enterprise Architecture FrameworksEnterprise Architecture Frameworks
Enterprise Architecture Frameworks
 
ArchiMate 3.1 Physical layer
ArchiMate 3.1 Physical layerArchiMate 3.1 Physical layer
ArchiMate 3.1 Physical layer
 

Similar to IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters

Subsystems: For those occasions where bundles are just too small... - Graham ...
Subsystems: For those occasions where bundles are just too small... - Graham ...Subsystems: For those occasions where bundles are just too small... - Graham ...
Subsystems: For those occasions where bundles are just too small... - Graham ...
mfrancis
 
Collab net overview_june 30 slide show
Collab net overview_june 30 slide showCollab net overview_june 30 slide show
Collab net overview_june 30 slide show
sfelsenthal
 
Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2
gaborvodics
 

Similar to IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters (20)

Towards a modularity maturity model - osgi users forum uk 16-nov2011
Towards a modularity maturity model - osgi users forum uk 16-nov2011Towards a modularity maturity model - osgi users forum uk 16-nov2011
Towards a modularity maturity model - osgi users forum uk 16-nov2011
 
Towards a Modularity Maturity Model
Towards a Modularity Maturity ModelTowards a Modularity Maturity Model
Towards a Modularity Maturity Model
 
Subsystems: For those occasions where bundles are just too small... - Graham ...
Subsystems: For those occasions where bundles are just too small... - Graham ...Subsystems: For those occasions where bundles are just too small... - Graham ...
Subsystems: For those occasions where bundles are just too small... - Graham ...
 
The Importance of IVI, GENIVI and Open Source
The Importance of IVI, GENIVI and Open SourceThe Importance of IVI, GENIVI and Open Source
The Importance of IVI, GENIVI and Open Source
 
How to Build Composite Applications with PRISM
How to Build Composite Applications with PRISMHow to Build Composite Applications with PRISM
How to Build Composite Applications with PRISM
 
Automated Exploratory Tests
Automated Exploratory TestsAutomated Exploratory Tests
Automated Exploratory Tests
 
Java Modularity with OSGi
Java Modularity with OSGiJava Modularity with OSGi
Java Modularity with OSGi
 
Enterprise Dev Ops At Scale
Enterprise Dev Ops At ScaleEnterprise Dev Ops At Scale
Enterprise Dev Ops At Scale
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to Microservices
 
Collab net overview_june 30 slide show
Collab net overview_june 30 slide showCollab net overview_june 30 slide show
Collab net overview_june 30 slide show
 
Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2
 
Bestpractices Portal Projects
Bestpractices Portal ProjectsBestpractices Portal Projects
Bestpractices Portal Projects
 
Collaborative lifecycle development for Mobile Software
Collaborative lifecycle development for Mobile Software Collaborative lifecycle development for Mobile Software
Collaborative lifecycle development for Mobile Software
 
Collaborative lifecycle development for Mobile Software
Collaborative lifecycle development for Mobile SoftwareCollaborative lifecycle development for Mobile Software
Collaborative lifecycle development for Mobile Software
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component models
 
What's New in IBM Web Experience Factory
What's New in IBM Web Experience FactoryWhat's New in IBM Web Experience Factory
What's New in IBM Web Experience Factory
 
Introduction to OSGi
Introduction to OSGiIntroduction to OSGi
Introduction to OSGi
 
Building databound JavaScript apps with Knockoutjs
Building databound JavaScript apps with KnockoutjsBuilding databound JavaScript apps with Knockoutjs
Building databound JavaScript apps with Knockoutjs
 

More from mfrancis

Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
mfrancis
 

More from mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Recently uploaded

Recently uploaded (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters

  • 1. Towards a Modularity Maturity Model Graham Charters IBM 21st September 2011 OSGi Alliance Marketing © 2008-2010 . 1 Page COPYRIGHT © 2008-2011 OSGi Alliance. All Rights Reserved, © IBM Corp. 2011 All Rights Reserved
  • 2. Page 2 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 3. Source: Wikipedia A Maturity Model • A set of structured levels describing how well an organization can reliably and sustainably produce required outcomes • May provide • a place to start • benefit of prior experiences • common language and shared vision • framework for prioritizing actions • define what improvement means • Can be used as a benchmark for comparison and an aid to understanding Page 3 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 4. Modularity Maturity Model • A Maturity Model for Modularity  • Focus on organisational capability • Modularity technology agnostic • Drawn from observations from a number of projects and customers • An 80:20 guide, not a 100% law Page 4 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 5. Level 1: Ad Hoc Characteristics Benefits • No formal modularity focus • Cheap to get started • Bunch of classes with no structure • Flat class path • Library Jars • Monolithic application • Archives of archives .../A_v1.jar .../Bv2.jar .../C.jar Page 5 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 6. Level 2: Modules Characteristics Benefits • Formal module identities • Decouple module from artefact • In artifact or catalogue • Clearer view of module assembly • Identities can be versioned • Enables version awareness • Dependencies based on identities • Build • Build • Development • Development • Operations • Operations • Enables module catalogues • Examples: Maven, Ivy, RPM, OSGi, etc… B v2 Identity Artifact A v1 A v1 .../B_v1.jar B v2 …/Bv2.jar C v1.1 C v1.1 …/C.jar Page 6 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 7. Segue Module Identity != Modularity Modularity “(Desirable) property of a system, such that individual components can be examined, modified and maintained independently of the PCIe x16 remainder of the system. Objective is that changes in one part of a system should not lead to VGA unexpected behavior in other parts.” DVI www.maths.bath.ac.uk/~jap/MATH0 015/glossary.html Page 7 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 8. Level 3: Modularity Characteristics Benefits • Declared module contracts • Fine-grained impact awareness (capabilities and requirements) • Bug fix • Private parts are implementation • Implementor breaking change detail • Client breaking change • Dependency resolution first, • System structure awareness module identity second • Client/Provider independence • Requirement-based dependency checking B v2 A v1 C v1.1 Page 8 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 9. Level 4: Loose-Coupling Characteristics Benefits • Separation of interface from • Implementation client/provider implementation with independence implementation used indirectly • No factories • No ‘new’ • Services-based module collaboration • Dependencies semantically versioned B v2 A v1 C v1.1 D v1 Page 9 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 10. Level 5: Devolution Characteristics Benefits • Artifact ownerships devolved to • Greater awareness of existing modularity-aware repositories modules • Repositories may support • Reduced duplication, increases • Collaboration (commenting, quality ratings, forums) • Collaboration/empowerment • Governance (approvals, life- around modules cycle) • Quality/operational control B v2 A v1 C v1.1 D v1 Page 10 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 11. Level 6: Dynamism Characteristics Benefits • Dynamic module life-cycle • No brittle ordering dependencies • Modules fully life-cycle aware • Ability to dynamically update a • Operational support for module running system addition, removal, replacement • Extend capabilities • Apply fixes B v2 A v1 C v1.1 D v1 Page 11 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 12. Simple Summary Level Name Summary 1 Ad Hoc Nothing 2 Modules Formal identity, decoupled from artifact 3 Modularity Formal module contracts, decoupled from identity 4 Loose-Coupling Services, semantic versioning, decoupled from implementation 5 Devolution Modularity-aware repositories, collaboration, governance, decoupled from ownership 6 Dynamism Life-cycle awareness and independence, decoupled from time Page 12 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 13. Time to apply... • How do your projects and organization fair? • How do some well-known projects fair? • How are we doing as an industry? • In answering these questions we can better understand the tasks and benefits ahead Page 13 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 14. Level 7: Peter Kriens Characteristics Benefits • Sees the modularity in anything • Can address all modularity problems and everything • A higher state of modularity enlightenment • 10+ years eating and breathing modularity Page 14 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011
  • 15. Trademarks IBM and WebSphere are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml. Page 15 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, 26.09.2011 © IBM Corp. 2011