SlideShare a Scribd company logo
COPYRIGHT © 2008-2011 OSGi Alliance. All Rights Reserved, © IBM Corp. 2011
Towards a Modularity Maturity Model
Graham Charters
IBM
21st
September 2011
OSGi Alliance Marketing © 2008-2010 .
All Rights Reserved
Page 1
Page 2 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
Page 3 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
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
Source: Wikipedia
Page 4 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
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 5 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
Level 1: Ad Hoc
Characteristics
•No formal modularity focus
•Bunch of classes with no structure
•Flat class path
•Library Jars
•Monolithic application
•Archives of archives
Characteristics
•No formal modularity focus
•Bunch of classes with no structure
•Flat class path
•Library Jars
•Monolithic application
•Archives of archives
Benefits
•Cheap to get started
Benefits
•Cheap to get started
.../Bv2.jar
.../A_v1.jar
.../C.jar
Page 6 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
Level 2: Modules
Characteristics
•Formal module identities
• In artifact or catalogue
•Identities can be versioned
•Dependencies based on identities
• Build
• Development
• Operations
•Examples: Maven, Ivy, RPM, OSGi,
etc…
Characteristics
•Formal module identities
• In artifact or catalogue
•Identities can be versioned
•Dependencies based on identities
• Build
• Development
• Operations
•Examples: Maven, Ivy, RPM, OSGi,
etc…
Benefits
•Decouple module from artefact
•Clearer view of module assembly
•Enables version awareness
• Build
• Development
• Operations
•Enables module catalogues
Benefits
•Decouple module from artefact
•Clearer view of module assembly
•Enables version awareness
• Build
• Development
• Operations
•Enables module catalogues
A v1
B v2
C v1.1
Identity Artifact
A v1 .../B_v1.jar
B v2 …/Bv2.jar
C v1.1 …/C.jar
Page 7 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
Segue
“(Desirable) property of a system,
such that individual components can
be examined, modified and
maintained independently of the
remainder of the system. Objective
is that changes in one part of a
system should not lead to
unexpected behavior in other parts.”
www.maths.bath.ac.uk/~jap/MATH0015/glossary.html
PCIe x16
VGA
DVI
Modularity
Module Identity != Modularity
Page 8 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
Level 3: Modularity
Characteristics
•Declared module contracts
(capabilities and requirements)
•Private parts are implementation
detail
•Dependency resolution first, module
identity second
Characteristics
•Declared module contracts
(capabilities and requirements)
•Private parts are implementation
detail
•Dependency resolution first, module
identity second
Benefits
•Fine-grained impact awareness
• Bug fix
• Implementor breaking change
• Client breaking change
•System structure awareness
•Client/Provider independence
•Requirement-based dependency
checking
Benefits
•Fine-grained impact awareness
• Bug fix
• Implementor breaking change
• Client breaking change
•System structure awareness
•Client/Provider independence
•Requirement-based dependency
checking
A v1
B v2
C v1.1
Page 9 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
Level 4: Loose-Coupling
Characteristics
•Separation of interface from
implementation with implementation
used indirectly
•No factories
•No ‘new’
•Services-based module collaboration
•Dependencies semantically versioned
Characteristics
•Separation of interface from
implementation with implementation
used indirectly
•No factories
•No ‘new’
•Services-based module collaboration
•Dependencies semantically versioned
Benefits
•Implementation client/provider
independence
Benefits
•Implementation client/provider
independence
A v1
B v2
C v1.1
D v1
Page 10 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
Level 5: Devolution
Characteristics
•Artifact ownerships devolved to
modularity-aware repositories
•Repositories may support
• Collaboration (commenting,
ratings, forums)
• Governance (approvals, life-
cycle)
Characteristics
•Artifact ownerships devolved to
modularity-aware repositories
•Repositories may support
• Collaboration (commenting,
ratings, forums)
• Governance (approvals, life-
cycle)
Benefits
•Greater awareness of existing modules
•Reduced duplication, increases quality
•Collaboration/empowerment around
modules
•Quality/operational control
Benefits
•Greater awareness of existing modules
•Reduced duplication, increases quality
•Collaboration/empowerment around
modules
•Quality/operational control
B v2
C v1.1
D v1
A v1
Page 11 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
Level 6: Dynamism
Characteristics
•Dynamic module life-cycle
•Modules fully life-cycle aware
•Operational support for module
addition, removal, replacement
Characteristics
•Dynamic module life-cycle
•Modules fully life-cycle aware
•Operational support for module
addition, removal, replacement
Benefits
•No brittle ordering dependencies
•Ability to dynamically update a
running system
• Extend capabilities
• Apply fixes
Benefits
•No brittle ordering dependencies
•Ability to dynamically update a
running system
• Extend capabilities
• Apply fixes
A v1
B v2
C v1.1
D v1
Page 12 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
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 13 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
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 14 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
Level 7
Characteristics
•Sees the modularity in anything and
everything
•A higher state of modularity
enlightenment
•10+ years eating and breathing
modularity
Characteristics
•Sees the modularity in anything and
everything
•A higher state of modularity
enlightenment
•10+ years eating and breathing
modularity
Benefits
•Can address all modularity problems
Benefits
•Can address all modularity problems
: Peter Kriens
Page 15 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved,
© IBM Corp. 2011
24.03.14
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.
Trademarks

More Related Content

Viewers also liked

What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...
What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...
What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...
mfrancis
 
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
mfrancis
 
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Graham Charters
 
Liberate your components with OSGi services - Alasdair Nottingham
Liberate your components with OSGi services - Alasdair NottinghamLiberate your components with OSGi services - Alasdair Nottingham
Liberate your components with OSGi services - Alasdair Nottingham
mfrancis
 
Service oriented component model
Service oriented component modelService oriented component model
Service oriented component model
ravindrareddy
 
Why OSGi?
Why OSGi?Why OSGi?
Why OSGi?
bjhargrave
 
Benefits of OSGi in Practise
Benefits of OSGi in PractiseBenefits of OSGi in Practise
Benefits of OSGi in Practise
David Bosschaert
 
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Nuxeo
 
OSGi Presentation
OSGi PresentationOSGi Presentation
OSGi Presentation
Michal Malohlava
 
Building LinkedIn's Next Generation Architecture with OSGi
Building LinkedIn's Next Generation  Architecture with OSGiBuilding LinkedIn's Next Generation  Architecture with OSGi
Building LinkedIn's Next Generation Architecture with OSGi
LinkedIn
 

Viewers also liked (10)

What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...
What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...
What's new in the OSGi Enterprise Release 5.0 - David Bosschaert and Tim Diek...
 
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
Using the OSGi Application Model on Mobile Devices with CLDC JVM - Dimitar Va...
 
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
Hints and Tips for Modularizing Existing Enterprise Applications (OSGi Commun...
 
Liberate your components with OSGi services - Alasdair Nottingham
Liberate your components with OSGi services - Alasdair NottinghamLiberate your components with OSGi services - Alasdair Nottingham
Liberate your components with OSGi services - Alasdair Nottingham
 
Service oriented component model
Service oriented component modelService oriented component model
Service oriented component model
 
Why OSGi?
Why OSGi?Why OSGi?
Why OSGi?
 
Benefits of OSGi in Practise
Benefits of OSGi in PractiseBenefits of OSGi in Practise
Benefits of OSGi in Practise
 
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
 
OSGi Presentation
OSGi PresentationOSGi Presentation
OSGi Presentation
 
Building LinkedIn's Next Generation Architecture with OSGi
Building LinkedIn's Next Generation  Architecture with OSGiBuilding LinkedIn's Next Generation  Architecture with OSGi
Building LinkedIn's Next Generation Architecture with OSGi
 

Similar to Towards a Modularity Maturity Model

IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham ChartersIBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
mfrancis
 
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
mfrancis
 
2014-wso2 platform-v1.1.0
2014-wso2 platform-v1.1.02014-wso2 platform-v1.1.0
2014-wso2 platform-v1.1.0
aaronwso2
 
Enterprise Dev Ops At Scale
Enterprise Dev Ops At ScaleEnterprise Dev Ops At Scale
Enterprise Dev Ops At Scale
Wesley Pullen
 
Course summary
Course summaryCourse summary
Course summary
IBM Rational software
 
OOW15 - case study: oracle application management suite for oracle e-business...
OOW15 - case study: oracle application management suite for oracle e-business...OOW15 - case study: oracle application management suite for oracle e-business...
OOW15 - case study: oracle application management suite for oracle e-business...
vasuballa
 
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 159 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
Open API Initiative (OAI)
 
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes ClustersAutomated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Weaveworks
 
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
Kevin Hancock
 
1221 raise expectations_for_the_ always_on_enterprise
1221 raise expectations_for_the_ always_on_enterprise1221 raise expectations_for_the_ always_on_enterprise
1221 raise expectations_for_the_ always_on_enterprise
Scott Simmons
 
Building and evolving microservices: lessons from the frontlines - Ilias Bart...
Building and evolving microservices: lessons from the frontlines - Ilias Bart...Building and evolving microservices: lessons from the frontlines - Ilias Bart...
Building and evolving microservices: lessons from the frontlines - Ilias Bart...
Codemotion
 
Building and evolving microservices
Building and evolving microservicesBuilding and evolving microservices
Building and evolving microservices
Ilias Bartolini
 
Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013
Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013
Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013
Emtec Inc.
 
OneWeb: Unifying multi-brand experience management and digital operations wit...
OneWeb: Unifying multi-brand experience management and digital operations wit...OneWeb: Unifying multi-brand experience management and digital operations wit...
OneWeb: Unifying multi-brand experience management and digital operations wit...
VarunNehra
 
Cognizant_Nitin_Burumkar
Cognizant_Nitin_BurumkarCognizant_Nitin_Burumkar
Cognizant_Nitin_Burumkar
Nitin Burumkar
 
Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to Microservices
Kyle Brown
 
Enterprise Agile at Lockheed Martin - 4th February 2014
Enterprise Agile at Lockheed Martin - 4th February 2014Enterprise Agile at Lockheed Martin - 4th February 2014
Enterprise Agile at Lockheed Martin - 4th February 2014
Association for Project Management
 
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
Micro Focus
 
Dependency injection via annotations v1.0
Dependency injection via annotations v1.0Dependency injection via annotations v1.0
Dependency injection via annotations v1.0
Jerry Kurian
 
Application Isolation - Is there an alternative to Subsystems - T Diekmann
Application Isolation - Is there an alternative to Subsystems - T DiekmannApplication Isolation - Is there an alternative to Subsystems - T Diekmann
Application Isolation - Is there an alternative to Subsystems - T Diekmann
mfrancis
 

Similar to Towards a Modularity Maturity Model (20)

IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham ChartersIBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
IBM Sponsorship Keynote: Towards a Modularity Maturity Model - Graham Charters
 
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
 
2014-wso2 platform-v1.1.0
2014-wso2 platform-v1.1.02014-wso2 platform-v1.1.0
2014-wso2 platform-v1.1.0
 
Enterprise Dev Ops At Scale
Enterprise Dev Ops At ScaleEnterprise Dev Ops At Scale
Enterprise Dev Ops At Scale
 
Course summary
Course summaryCourse summary
Course summary
 
OOW15 - case study: oracle application management suite for oracle e-business...
OOW15 - case study: oracle application management suite for oracle e-business...OOW15 - case study: oracle application management suite for oracle e-business...
OOW15 - case study: oracle application management suite for oracle e-business...
 
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 159 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
9 Months and Counting with Jeff Borek of IBM OpenAPI Meetup 2016 09 15
 
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes ClustersAutomated Provisioning, Management & Cost Control for Kubernetes Clusters
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
 
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...Securely Scaling Agile Software Delivery:  Traceability, Visibility and Colla...
Securely Scaling Agile Software Delivery: Traceability, Visibility and Colla...
 
1221 raise expectations_for_the_ always_on_enterprise
1221 raise expectations_for_the_ always_on_enterprise1221 raise expectations_for_the_ always_on_enterprise
1221 raise expectations_for_the_ always_on_enterprise
 
Building and evolving microservices: lessons from the frontlines - Ilias Bart...
Building and evolving microservices: lessons from the frontlines - Ilias Bart...Building and evolving microservices: lessons from the frontlines - Ilias Bart...
Building and evolving microservices: lessons from the frontlines - Ilias Bart...
 
Building and evolving microservices
Building and evolving microservicesBuilding and evolving microservices
Building and evolving microservices
 
Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013
Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013
Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013
 
OneWeb: Unifying multi-brand experience management and digital operations wit...
OneWeb: Unifying multi-brand experience management and digital operations wit...OneWeb: Unifying multi-brand experience management and digital operations wit...
OneWeb: Unifying multi-brand experience management and digital operations wit...
 
Cognizant_Nitin_Burumkar
Cognizant_Nitin_BurumkarCognizant_Nitin_Burumkar
Cognizant_Nitin_Burumkar
 
Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to Microservices
 
Enterprise Agile at Lockheed Martin - 4th February 2014
Enterprise Agile at Lockheed Martin - 4th February 2014Enterprise Agile at Lockheed Martin - 4th February 2014
Enterprise Agile at Lockheed Martin - 4th February 2014
 
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
Developer Conference 1.4 - Customer In Focus- Sammons Financial Group (SFO)
 
Dependency injection via annotations v1.0
Dependency injection via annotations v1.0Dependency injection via annotations v1.0
Dependency injection via annotations v1.0
 
Application Isolation - Is there an alternative to Subsystems - T Diekmann
Application Isolation - Is there an alternative to Subsystems - T DiekmannApplication Isolation - Is there an alternative to Subsystems - T Diekmann
Application Isolation - Is there an alternative to Subsystems - T Diekmann
 

More from Graham Charters

Explore Jakarta EE and MicroProfile on Azure with Open Liberty & OpenShift
Explore Jakarta EE and MicroProfile on Azure with Open Liberty & OpenShiftExplore Jakarta EE and MicroProfile on Azure with Open Liberty & OpenShift
Explore Jakarta EE and MicroProfile on Azure with Open Liberty & OpenShift
Graham Charters
 
How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?
Graham Charters
 
Cutting through the fog of microservices: lightsabers optional
Cutting through the fog of microservices: lightsabers optionalCutting through the fog of microservices: lightsabers optional
Cutting through the fog of microservices: lightsabers optional
Graham Charters
 
Are you ready for cloud-native Java?
Are you ready for cloud-native Java?Are you ready for cloud-native Java?
Are you ready for cloud-native Java?
Graham Charters
 
Optimizing Spring Boot apps for Docker
Optimizing Spring Boot apps for DockerOptimizing Spring Boot apps for Docker
Optimizing Spring Boot apps for Docker
Graham Charters
 
A first look at Open Liberty
A first look at Open LibertyA first look at Open Liberty
A first look at Open Liberty
Graham Charters
 
Microservices and OSGi: Better together?
Microservices and OSGi: Better together?Microservices and OSGi: Better together?
Microservices and OSGi: Better together?
Graham Charters
 
Get Rapid Right-sized and Recent with the Liberty Repository
Get Rapid Right-sized and Recent with the Liberty RepositoryGet Rapid Right-sized and Recent with the Liberty Repository
Get Rapid Right-sized and Recent with the Liberty Repository
Graham Charters
 
Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is Modularity
Graham Charters
 

More from Graham Charters (9)

Explore Jakarta EE and MicroProfile on Azure with Open Liberty & OpenShift
Explore Jakarta EE and MicroProfile on Azure with Open Liberty & OpenShiftExplore Jakarta EE and MicroProfile on Azure with Open Liberty & OpenShift
Explore Jakarta EE and MicroProfile on Azure with Open Liberty & OpenShift
 
How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?
 
Cutting through the fog of microservices: lightsabers optional
Cutting through the fog of microservices: lightsabers optionalCutting through the fog of microservices: lightsabers optional
Cutting through the fog of microservices: lightsabers optional
 
Are you ready for cloud-native Java?
Are you ready for cloud-native Java?Are you ready for cloud-native Java?
Are you ready for cloud-native Java?
 
Optimizing Spring Boot apps for Docker
Optimizing Spring Boot apps for DockerOptimizing Spring Boot apps for Docker
Optimizing Spring Boot apps for Docker
 
A first look at Open Liberty
A first look at Open LibertyA first look at Open Liberty
A first look at Open Liberty
 
Microservices and OSGi: Better together?
Microservices and OSGi: Better together?Microservices and OSGi: Better together?
Microservices and OSGi: Better together?
 
Get Rapid Right-sized and Recent with the Liberty Repository
Get Rapid Right-sized and Recent with the Liberty RepositoryGet Rapid Right-sized and Recent with the Liberty Repository
Get Rapid Right-sized and Recent with the Liberty Repository
 
Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is Modularity
 

Recently uploaded

Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
christinelarrosa
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
HarpalGohil4
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
Mydbops
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 

Recently uploaded (20)

Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 

Towards a Modularity Maturity Model

  • 1. COPYRIGHT © 2008-2011 OSGi Alliance. All Rights Reserved, © IBM Corp. 2011 Towards a Modularity Maturity Model Graham Charters IBM 21st September 2011 OSGi Alliance Marketing © 2008-2010 . All Rights Reserved Page 1
  • 2. Page 2 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14
  • 3. Page 3 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 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 Source: Wikipedia
  • 4. Page 4 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 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
  • 5. Page 5 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 Level 1: Ad Hoc Characteristics •No formal modularity focus •Bunch of classes with no structure •Flat class path •Library Jars •Monolithic application •Archives of archives Characteristics •No formal modularity focus •Bunch of classes with no structure •Flat class path •Library Jars •Monolithic application •Archives of archives Benefits •Cheap to get started Benefits •Cheap to get started .../Bv2.jar .../A_v1.jar .../C.jar
  • 6. Page 6 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 Level 2: Modules Characteristics •Formal module identities • In artifact or catalogue •Identities can be versioned •Dependencies based on identities • Build • Development • Operations •Examples: Maven, Ivy, RPM, OSGi, etc… Characteristics •Formal module identities • In artifact or catalogue •Identities can be versioned •Dependencies based on identities • Build • Development • Operations •Examples: Maven, Ivy, RPM, OSGi, etc… Benefits •Decouple module from artefact •Clearer view of module assembly •Enables version awareness • Build • Development • Operations •Enables module catalogues Benefits •Decouple module from artefact •Clearer view of module assembly •Enables version awareness • Build • Development • Operations •Enables module catalogues A v1 B v2 C v1.1 Identity Artifact A v1 .../B_v1.jar B v2 …/Bv2.jar C v1.1 …/C.jar
  • 7. Page 7 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 Segue “(Desirable) property of a system, such that individual components can be examined, modified and maintained independently of the remainder of the system. Objective is that changes in one part of a system should not lead to unexpected behavior in other parts.” www.maths.bath.ac.uk/~jap/MATH0015/glossary.html PCIe x16 VGA DVI Modularity Module Identity != Modularity
  • 8. Page 8 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 Level 3: Modularity Characteristics •Declared module contracts (capabilities and requirements) •Private parts are implementation detail •Dependency resolution first, module identity second Characteristics •Declared module contracts (capabilities and requirements) •Private parts are implementation detail •Dependency resolution first, module identity second Benefits •Fine-grained impact awareness • Bug fix • Implementor breaking change • Client breaking change •System structure awareness •Client/Provider independence •Requirement-based dependency checking Benefits •Fine-grained impact awareness • Bug fix • Implementor breaking change • Client breaking change •System structure awareness •Client/Provider independence •Requirement-based dependency checking A v1 B v2 C v1.1
  • 9. Page 9 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 Level 4: Loose-Coupling Characteristics •Separation of interface from implementation with implementation used indirectly •No factories •No ‘new’ •Services-based module collaboration •Dependencies semantically versioned Characteristics •Separation of interface from implementation with implementation used indirectly •No factories •No ‘new’ •Services-based module collaboration •Dependencies semantically versioned Benefits •Implementation client/provider independence Benefits •Implementation client/provider independence A v1 B v2 C v1.1 D v1
  • 10. Page 10 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 Level 5: Devolution Characteristics •Artifact ownerships devolved to modularity-aware repositories •Repositories may support • Collaboration (commenting, ratings, forums) • Governance (approvals, life- cycle) Characteristics •Artifact ownerships devolved to modularity-aware repositories •Repositories may support • Collaboration (commenting, ratings, forums) • Governance (approvals, life- cycle) Benefits •Greater awareness of existing modules •Reduced duplication, increases quality •Collaboration/empowerment around modules •Quality/operational control Benefits •Greater awareness of existing modules •Reduced duplication, increases quality •Collaboration/empowerment around modules •Quality/operational control B v2 C v1.1 D v1 A v1
  • 11. Page 11 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 Level 6: Dynamism Characteristics •Dynamic module life-cycle •Modules fully life-cycle aware •Operational support for module addition, removal, replacement Characteristics •Dynamic module life-cycle •Modules fully life-cycle aware •Operational support for module addition, removal, replacement Benefits •No brittle ordering dependencies •Ability to dynamically update a running system • Extend capabilities • Apply fixes Benefits •No brittle ordering dependencies •Ability to dynamically update a running system • Extend capabilities • Apply fixes A v1 B v2 C v1.1 D v1
  • 12. Page 12 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 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
  • 13. Page 13 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 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
  • 14. Page 14 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 Level 7 Characteristics •Sees the modularity in anything and everything •A higher state of modularity enlightenment •10+ years eating and breathing modularity Characteristics •Sees the modularity in anything and everything •A higher state of modularity enlightenment •10+ years eating and breathing modularity Benefits •Can address all modularity problems Benefits •Can address all modularity problems : Peter Kriens
  • 15. Page 15 OSGi Alliance Marketing © 2008-2011 . All Rights Reserved, © IBM Corp. 2011 24.03.14 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. Trademarks

Editor's Notes

  1. Describe background: Started writing article describing progression of modularity adoption. Realized commonality with Maturity Models.