Book a Demo

Author Topic: Versioning with composed components  (Read 5466 times)

MatthiasVDE

  • EA User
  • **
  • Posts: 196
  • Karma: +1/-0
    • View Profile
Versioning with composed components
« on: June 22, 2018, 05:15:28 pm »
We model our integration architecture and API's with ArchiMate symbols. An API (ArchiMate_ApplicationService) is composed of some components (ArchiMate_ApplicationComponent)

- API (ArchiMate_ApplicationService)
  • Gateway (ArchiMate_ApplicationComponent)
  • Java Code (ArchiMate_ApplicationComponent)
  • Integration  (ArchiMate_ApplicationService)
  • AS400 Service  (ArchiMate_ApplicationService)
  • RPG Routine  (ArchiMate_ApplicationComponent)



Suppose there is a new version of the ESB Admissibility service that impacts the whole Admissibility API so we need to deploy a new version of that API. In the Admissibility API v2.0, we will use the new ESB Admissibility v2.0, but for all the other components we reuse the v1.0 versions. A big remark is that we will stil use the Admissibility API v1.0 besides the Admissibility API v2.0 for some implementations.

The v1.0 components that we will reuse in the Admissibility API v2.0, can't be duplicated in EA as parts of the two versions of the Admissibility API, and that's a big problem...
For example the Admissibility GW v1.0 must be a part of Admissibility API v1.0 and Admissibility API v2.0, how can we handle this?

PeterHeintz

  • EA Practitioner
  • ***
  • Posts: 1001
  • Karma: +59/-18
    • View Profile
Re: Versioning with composed components
« Reply #1 on: June 22, 2018, 05:49:02 pm »
Hi MatthiasEDV,
I am behind a firewall and cannot see you diagram, so maybe I do not understand you problem entirely.

In general for such things you have just two options:
To copy or not to copy.

If you do not copy, you need somehow a 130% model (having all) mounted together and you need some kind of attributes (e.g. tags) or other measures to mark what belongs to A only, what belongs to B only and what belongs to both.
Best regards,

Peter Heintz

MatthiasVDE

  • EA User
  • **
  • Posts: 196
  • Karma: +1/-0
    • View Profile
Re: Versioning with composed components
« Reply #2 on: June 22, 2018, 05:59:44 pm »
Hi MatthiasEDV,
I am behind a firewall and cannot see you diagram, so maybe I do not understand you problem entirely.

In general for such things you have just two options:
To copy or not to copy.

If you do not copy, you need somehow a 130% model (having all) mounted together and you need some kind of attributes (e.g. tags) or other measures to mark what belongs to A only, what belongs to B only and what belongs to both.

Copying is not ideal, I do not prefer that solution.

Can you see this image:
https://imgur.com/7S1rzYh

PeterHeintz

  • EA Practitioner
  • ***
  • Posts: 1001
  • Karma: +59/-18
    • View Profile
Re: Versioning with composed components
« Reply #3 on: June 22, 2018, 09:36:25 pm »
No! unfortunately not.
I will look on it with my private equipment tomorrow.
Best regards,

Peter Heintz

PeterHeintz

  • EA Practitioner
  • ***
  • Posts: 1001
  • Karma: +59/-18
    • View Profile
Re: Versioning with composed components
« Reply #4 on: June 28, 2018, 06:46:02 am »
Hi,
I looked now on your graphics, but I still do not really understand your problem. The reason might b,e that I do not really know ArchiMate.

In ArchiMate components are like UML components somehow classes (structure) and services are closed to UML activities, right?
And you want to compose Services within Application Components by a composition relationship, right?
Best regards,

Peter Heintz

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Versioning with composed components
« Reply #5 on: June 28, 2018, 10:49:08 am »
Hi Matthias,

The solution to your dilemma is described in Re: Advice - to nest or to compose?.  EA is incorrectly nesting your components where it should be creating (or in its failure to do so, you need to create) composition relationships.

Your question actually answers itself!  8)  You have a composition NOT a nesting relationship between the service and its components.  Just unnest the components and create the composition relationships.  You can then show the relationships on diagrams correctly and the semantics of your model will be correct.  You can even (using the still to be completed) virtual connector end technology show BOTH versions of the service on the same diagram with the common components in both!

HTH,
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

MatthiasVDE

  • EA User
  • **
  • Posts: 196
  • Karma: +1/-0
    • View Profile
Re: Versioning with composed components
« Reply #6 on: July 04, 2018, 05:16:52 pm »
Paulo,

Right, i can use compositions as an alternative for the nesting relationships, but my diagrams become spaghetti in that manner.  8)