SlideShare a Scribd company logo
1 of 15
Download to read offline
Emerging aspects of sub-
systems architecture
Gabriel Cotelli
g.cotelli@mercapsoftware.com
g.cotelli@gmail.com
The Origins
Sub-systems
"Objects encapsulating
some functionality related
to a system module"
Sub-systems characteristics
Could be one or many implementations
Every one have to conform a clearly defined interface (or
more than one)
The implemented interfaces must be explicitly declared
Any implementation must also declare this dependencies
(by the interfaces of his requeriments)
The whole System
Is just a composite system
Given a desired installation (a set of modules to install) just
register the required sub-systems implementations on the
composite
This composition is dynamic (can be changed on the fly)
Sub-systems collaboration is done by asking the composite
system the subsystem implementing the required interface
(never with some specific implementation)
Some clever things to do!!
We are explicitly declaring the implemented interfaces and
dependencies so....
Verify that if a system declares to implement some interface
has an implementation for every required method
The same tests (over a sub-system) can be run with every
implementation
Verify the installation consistency (all required
dependencies must be present)
... and of course do this automatically (the metamodel is your
friend here!)
The live show!!
What's next ?
A short case study
For many years nothing new was needed in this respect... but
then we started to talk with several Holdings.
And they have some new use cases:
Every company employee in the holding should have
access using the system only to his company information
But some information must be shared
Some employees are managers, and managers wants to
see the holding information aggregated
and of course.... everything must be integrated
FAST Holding
FAST
Insurance
FAST
Customer Serv.
FAST
Casino
Multiple systems running togheter
"Just start a new system instance for every company and
provide different entry points to every employee"
Company information is never mixed up by mistake
No need to change the sub-systems implementations
Information Sharing
"Register the same sub-system implementation (who manages
the information to share) in all the composite system instances"
Information Aggregation
"Register in the Holding instance a sub-system implementation
that agreggates the other sub-systems"
Thanks!
Hernán Wilkinson and Luciano Romeo (authors of the
original sub-systems design)
The whole XTrade team (for taking this ideas an doing the
hard work)
All the Mercap Software people for the support
Everybody in this room for give me your time!
Questions?

More Related Content

Similar to Emerging Aspects of Subsystem Architecture

Authentication and Single Sing on
Authentication and Single Sing onAuthentication and Single Sing on
Authentication and Single Sing on
guest648519
 
Operating System Structure Of A Single Large Executable...
Operating System Structure Of A Single Large Executable...Operating System Structure Of A Single Large Executable...
Operating System Structure Of A Single Large Executable...
Jennifer Lopez
 
Building a Distributed System, The Basics
Building a Distributed System, The BasicsBuilding a Distributed System, The Basics
Building a Distributed System, The Basics
Rich Beaudoin
 
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
mfrancis
 

Similar to Emerging Aspects of Subsystem Architecture (20)

Workshop on Sencha Touch - Part 5 - UI components in sencha touch
Workshop on Sencha Touch - Part 5 - UI components in sencha touchWorkshop on Sencha Touch - Part 5 - UI components in sencha touch
Workshop on Sencha Touch - Part 5 - UI components in sencha touch
 
Authentication and Single Sing on
Authentication and Single Sing onAuthentication and Single Sing on
Authentication and Single Sing on
 
Operating System Structure Of A Single Large Executable...
Operating System Structure Of A Single Large Executable...Operating System Structure Of A Single Large Executable...
Operating System Structure Of A Single Large Executable...
 
ElasTest - Testing in the large
ElasTest - Testing in the largeElasTest - Testing in the large
ElasTest - Testing in the large
 
simulink
simulinksimulink
simulink
 
Sure Entities
Sure EntitiesSure Entities
Sure Entities
 
The Big Picture - Integrating Buzzwords
The Big Picture - Integrating BuzzwordsThe Big Picture - Integrating Buzzwords
The Big Picture - Integrating Buzzwords
 
The Benefits of Cogility
The Benefits of CogilityThe Benefits of Cogility
The Benefits of Cogility
 
Dense And Hot 360 Flex
Dense And Hot 360 FlexDense And Hot 360 Flex
Dense And Hot 360 Flex
 
Infrastructure as Code, Theory Crash Course
Infrastructure as Code, Theory Crash CourseInfrastructure as Code, Theory Crash Course
Infrastructure as Code, Theory Crash Course
 
Building a Distributed System, The Basics
Building a Distributed System, The BasicsBuilding a Distributed System, The Basics
Building a Distributed System, The Basics
 
Salt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environmentsSalt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environments
 
Generative Testing in Clojure
Generative Testing in ClojureGenerative Testing in Clojure
Generative Testing in Clojure
 
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...Journey from Monolith to a Modularized Application - Approach and Key Learnin...
Journey from Monolith to a Modularized Application - Approach and Key Learnin...
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
Let's talk about... Microservices
Let's talk about... MicroservicesLet's talk about... Microservices
Let's talk about... Microservices
 
Refactoring to a system of systems
Refactoring to a system of systemsRefactoring to a system of systems
Refactoring to a system of systems
 
Moving to Microservices with the Help of Distributed Traces
Moving to Microservices with the Help of Distributed TracesMoving to Microservices with the Help of Distributed Traces
Moving to Microservices with the Help of Distributed Traces
 
What the hell is PowerShell?
What the hell is PowerShell?What the hell is PowerShell?
What the hell is PowerShell?
 
Why Startups Need Automated Infrastructures
Why Startups Need Automated InfrastructuresWhy Startups Need Automated Infrastructures
Why Startups Need Automated Infrastructures
 

Recently uploaded

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration Tooling
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
 

Emerging Aspects of Subsystem Architecture

  • 1. Emerging aspects of sub- systems architecture Gabriel Cotelli g.cotelli@mercapsoftware.com g.cotelli@gmail.com
  • 4. Sub-systems characteristics Could be one or many implementations Every one have to conform a clearly defined interface (or more than one) The implemented interfaces must be explicitly declared Any implementation must also declare this dependencies (by the interfaces of his requeriments)
  • 5. The whole System Is just a composite system Given a desired installation (a set of modules to install) just register the required sub-systems implementations on the composite This composition is dynamic (can be changed on the fly) Sub-systems collaboration is done by asking the composite system the subsystem implementing the required interface (never with some specific implementation)
  • 6. Some clever things to do!! We are explicitly declaring the implemented interfaces and dependencies so.... Verify that if a system declares to implement some interface has an implementation for every required method The same tests (over a sub-system) can be run with every implementation Verify the installation consistency (all required dependencies must be present) ... and of course do this automatically (the metamodel is your friend here!)
  • 9. A short case study For many years nothing new was needed in this respect... but then we started to talk with several Holdings. And they have some new use cases: Every company employee in the holding should have access using the system only to his company information But some information must be shared Some employees are managers, and managers wants to see the holding information aggregated and of course.... everything must be integrated
  • 11. Multiple systems running togheter "Just start a new system instance for every company and provide different entry points to every employee" Company information is never mixed up by mistake No need to change the sub-systems implementations
  • 12. Information Sharing "Register the same sub-system implementation (who manages the information to share) in all the composite system instances"
  • 13. Information Aggregation "Register in the Holding instance a sub-system implementation that agreggates the other sub-systems"
  • 14. Thanks! Hernán Wilkinson and Luciano Romeo (authors of the original sub-systems design) The whole XTrade team (for taking this ideas an doing the hard work) All the Mercap Software people for the support Everybody in this room for give me your time!