emerging aspects of subsystem architecture

15
Emerging aspects of sub- systems architecture Gabriel Cotelli [email protected] [email protected]

Upload: gabriel-omar-cotelli

Post on 11-Feb-2017

144 views

Category:

Software


1 download

TRANSCRIPT

Emerging aspects of sub-systems architecture

Gabriel [email protected]

[email protected]

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 declaredAny implementation must also declare this dependencies (by the interfaces of his requeriments)

The whole System

Is just a composite systemGiven a desired installation (a set of modules to install) just register the required sub-systems implementations on the compositeThis 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 methodThe 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 informationBut some information must be sharedSome employees are managers, and managers wants to see the holding information aggregatedand of course.... everything must be integrated

FAST Holding

FASTInsurance

FASTCustomer Serv.

FASTCasino

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 mistakeNo 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 supportEverybody in this room for give me your time!

Questions?