Archi Forum

Archi => General Archi Discussion => Topic started by: LapizLazuli on June 07, 2023, 17:16:02 PM

Title: Element in view always below relationships?
Post by: LapizLazuli on June 07, 2023, 17:16:02 PM
Hi,

I ran into a weird behavior, and did not find any post about it in this forum. Am I doing something wrong?

Apparenly, I can't manage an element to appear "above" a relationship.

Please check the attached image and model: the DataObject element has been brought to front "View/Order/Bring to front". Nevertheless, it doesn't hide the relationship, as would be expected.

Any help welcome.

Thanks and regards.

Title: Re: Element in view always below relationships?
Post by: Jean-Baptiste Sarrodie on June 07, 2023, 18:28:48 PM
Hi,

Yes, relationships are always above elements. This is both per design (an element being above a relationship would at least partially hide it and let people think it is the source/target of the relationship while it isn't), and also a technical constaint (relationships are drawn on their own "layer" in the eclipse framework, so they must be ALL above or below, which wouldn't make sense).

Regards,

JB
Title: Re: Element in view always below relationships?
Post by: Xiaoqi on June 07, 2023, 21:02:29 PM
With explanation by JB on the feature-by-design as well as technical constrain, in my practice, I normally don't simply place one element in the middle, as that's not mentioning any relationship hence you don't have way to joint analyze this diagram.

Instead, I prefer to use "association" relation at least to connect your sample's Data Object to the App-to-App link. As attached model with the image exported. For your reference.

Regards, Xiaoqi
Title: Re: Element in view always below relationships?
Post by: LapizLazuli on June 10, 2023, 20:12:42 PM
Hi,

Thanks for your answers. There are still rationales behind the view I'm showing. I will try to detail in a separate post, if I can find time.

@Jean-Baptiste Sarrodie : in the meantime, I take note of the technical constraint, thanks.

@Xiaoqi : thanks too. I use a similar notation, eg. to qualify the underlying technology of an interfaces, such as ESB, file transfer, message oriented middleware (mom), etc.
However, with the notation you propose, how would you:
Title: Re: Element in view always below relationships?
Post by: LapizLazuli on June 11, 2023, 06:20:34 AM
Quote from: LapizLazuli on June 10, 2023, 20:12:42 PM2. Manage the display, when there are several interfaces (some IT landscapes have dozens) flowing from the same pair of applications? The view can become very clumsy then.[/li][/list]

A picture may be worth thousand words, so here are two illustrations.

1. The layout with the APP <--> APP model you propose:
App-App.jpg
How would you then get a clear display, if linking each data to the related composition relationship?

2. The workaround I've got to use, in order to get more control over the relationships position on the layout. Below, the apps are in amber, the data in blue.
App-Data-App.jpg

Both are from anonymized real life examples.
Title: Re: Element in view always below relationships?
Post by: rchevallier on June 11, 2023, 17:50:04 PM
Quote from: LapizLazuli on June 10, 2023, 20:12:42 PM
  • APP1 >> DATA >> APP2
  • APP1 << DATA << APP2
  • APP1 << DATA >> APP2 (both ways)
  • Unspecified

You can use between apps the flow to relationship between the components, with data linked to the flow, or simply the access relationship between component and data.

Both are valid and depends on what you want to express: a flow between application, or that application consume/produce the same data.

archi.png

Title: Re: Element in view always below relationships?
Post by: Jean-Baptiste Sarrodie on June 11, 2023, 20:44:09 PM
Hi,

Quote from: LapizLazuli on June 11, 2023, 06:20:34 AM1. The layout with the APP <--> APP model you propose:
(https://forum.archimatetool.com/index.php?action=dlattach;attach=1231)
How would you then get a clear display, if linking each data to the related composition relationship?

Two remarks here:
- Most of the time you don't have so many flows as you don't create one per data, but usually one per set of similar data
- If you really need so many flows, then use bendpoints to make them all horizontal and equally distributed.

Last, in general, I would simply set a good name on flows that whould help people understand which information is "flowing" (and not make any business or data object visible).

Regards,

JB
Title: Re: Element in view always below relationships?
Post by: LapizLazuli on June 12, 2023, 14:09:04 PM
Hi,

@rchevallier: thanks for the reply. Using two relationships instead of one, depending on the direction, as shown on the upper part of your diagram, is what I was trying to avoid. However, I must acknowledge that your representation is clear, and worthwhile using.
The lower part of the diagram is the one I'm using.

@Jean-Baptiste Sarrodie: thank you for these hints.

Quote from: Jean-Baptiste Sarrodie on June 11, 2023, 20:44:09 PM- Most of the time you don't have so many flows as you don't create one per data, but usually one per set of similar data [...]
Last, in general, I would simply set a good name on flows that whould help people understand which information is "flowing" (and not make any business or data object visible).

This probably depends on the reason for using Archi. In the early parts of a study, high level views are fine, we indeed don't need to detail the interfaces. However, if the goal is also to use Archi for impact analysis at the start of large transformation programs, data-centric questions such as:
are probably better answered, if technically possible, by providing more detail to the high level view.

Quote from: Jean-Baptiste Sarrodie on June 11, 2023, 20:44:09 PM- If you really need so many flows, then use bendpoints to make them all horizontal and equally distributed.

Very useful hint, thank you. I thought bendpoints were just to change the shape of a relationship, so I didn't even think of using them in this purpose. But giving it a try, I see that just moving the bendpoints up or down, provides the same kind of layout as the second illustration in my post above, without necessarily introducing the data element at first. There is another benefit: displaying the name of the relationships, as you suggest, now become possible, without clumsying the diagram, since the relationships can be made distant from each other.
Yet there is an impact there: in order to produce this diagram, I wrote a script to manage the proper and regular alignment of the DataObject elements. That would be too time-consuming to do it manually. This then automatically moves in turn the relationships links. Before using this hint that you are proposing, I will have to write a similar script to align the relationships, by moving the bendpoints. That should be manageable though.
Title: Re: Element in view always below relationships?
Post by: Jean-Baptiste Sarrodie on June 12, 2023, 16:25:05 PM
Hi,

Quote from: LapizLazuli on June 12, 2023, 14:09:04 PMBefore using this hint that you are proposing, I will have to write a similar script to align the relationships, by moving the bendpoints. That should be manageable though.

Fotunately, @William Malabry shared a script for that some time ago: https://forum.archimatetool.com/index.php?topic=1174.msg6254#msg6254

Regards,

JB
Title: Re: Element in view always below relationships?
Post by: LapizLazuli on June 13, 2023, 11:13:23 AM
Quote from: Jean-Baptiste Sarrodie on June 12, 2023, 16:25:05 PMFortunately, @William Malabry shared a script for that some time ago: https://forum.archimatetool.com/index.php?topic=1174.msg6254#msg6254

AWESOME !!

Thanks for sharing the link!
Title: Re: Element in view always below relationships?
Post by: LapizLazuli on June 20, 2023, 17:21:11 PM
Hi,

Coming back to this suggestion:

Quote from: Jean-Baptiste Sarrodie on June 11, 2023, 20:44:09 PM- If you really need so many flows, then use bendpoints to make them all horizontal and equally distributed.

Using the breakpoint works fine to move a relationship. However, when trying to move it a second time, it comes back to its original position. From there, it is again possible to move it somewhere else.

Same behavior after using the script which distributes evenly the relationships.

See the attached video: moving twice a relationship, then running the script, then moving again the relationships.
Move Relationships.mkv

Question: is it something I'm doing wrong? Or is it a limitation?

In any case, this is slightly annoying, but still easy to work around.

Thanks and regards.