Hi all,
I'm not finding good guidance on best practice how to properly model this:
Let's say I have a component named "Windows Service X". It is deployed on Node1 as the production environment, and on Node2 as the test environment.
It seems to me that proper way to model this deployment would be
- to have an artifact "Windows Service X" which manifests component with that same name
- to have first instance of that artifact with the name of that instance, and with deployment relation to Node1
- to have second instance of that artifact with the name of that instance, and with deployment relation to Node2
now all this looks pretty straightforward until you try to show it on a deployment diagram. For the sake of the end users and usage of Traceability window, and future validations that should rely on connectors, I would like to be able to show some connectors based on which you can follow from the component to the node where it is deployed via artifact instance. But, you can't do that "out of the box" AFAIK?. So if I have component and nodes on the deployment diagram and
- if I add the artifact and the instances of the artifact: I have a mess because of the amount of artifacts and their instances, the artifact is connected to the component, the instances to the nodes, but artifact and its instances are not related
- if I remove artifact or instance from a diagram, I further loose visually what is deployed where
- if I add relationship between instance of the artifact and the artifact - it is a dummy relationship and it is not clean. I don't want to do that
- if I forget about instances (delete them) and deploy artifact to nodes (with using source role name in the relationship as the name of the executable deployed on the node), it may be complete, but it is not proper
- if I just remove artifact from a diagram, and add manifestation relationships from artifact nodes to the component, I get cleanest looking diagrams, AFAIK it is proper to have artifact instance manifest a component (not it's instance), but the manifestation relationships are duplicated since they are already inherited, and it is a duplicate work. Not clean, don't like it...*, and you can't delete the artifact since it's instances then silently become... ARTIFACTS! automatically by EA without telling it to you (and you need to refresh diagram/reload package to see it)
- it feels too stupid to have single artifact for everything, and make only instances of it and have them only directly manifest components and be deployed
* AFAIK EA can't show inherited relationships on diagrams in this case, which would be solution to my suffering.
any suggestions?
many thanks
Damir