Application Components vs Libraries

59 views
Skip to first unread message

Eduardo Sequinel

unread,
Apr 6, 2020, 8:46:50 AM4/6/20
to ArchiMate
Hello, 

Please, what is the best practice to design the main libraries within an App Component?

I was thinking of using Artifacts for that.
For instance, Hibernate and Log4J would be aggregated by the App Component. Does this sound good for you?

Thank you

Jorge Mariani

unread,
Apr 6, 2020, 10:06:18 AM4/6/20
to ArchiMate
Artifact is OK. You then deploy that on an Application server (System Software). But I think that's too much of detail when modeling an App.

Mastering ArchiMate

unread,
Apr 6, 2020, 10:19:36 AM4/6/20
to Eduardo Sequinel, ArchiMate
Yes, that is a good solution if you need to model them. But you cannot Aggregate Artifacts in an Application Component. Officially, if you use just Visio or Sparx you can do everything of course, but it stops to be ArchiMate at that point.

So, you either aggregate them as other Application Components, or you model them as Artifacts (the physical files with the libraries, so .so or .dll or .dylib etc.) and you let them Realise the Application Component. Or you do both (Artifacts Realise Application Components that are Aggregated by the main Application Component, but there is seldom any need for so much detail. As always: you need to think what you are going to use the detail for.



Thank you


DISCLAIMER

This email is confidential and subject to important disclaimers and conditions in relation to monitoring, viruses, confidentiality and legal privilege full details of which can be viewed on our Email Policy at the following link: http://www.next.co.uk/Policy/EmailPolicyStatement.asp


Next Holdings Ltd registered in England 35161.  Registered Office Desford Road Enderby Leicester LE19 4AT.  Authorised and regulated by the Financial Conduct Authority


--
You received this message because you are subscribed to the Google Groups "ArchiMate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to open-archimate-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/open-archimate-forum/f8003a13-43ce-49f5-b1a2-9f680205c151%40googlegroups.com.

Eduardo Sequinel

unread,
Apr 8, 2020, 1:24:00 PM4/8/20
to ArchiMate
Do you also think that use App Components would be good too?
Or is Artifact the only option in your opinion?
I appreciate your replies and the concerns around having too much detail on the design, although it is not clear for me if you mean that I should avoid modeling libraries at all or if the concern has more to do with avoiding putting too many details when designing it.

Thank you.

Mastering ArchiMate

unread,
Apr 8, 2020, 2:18:25 PM4/8/20
to Eduardo Sequinel, ArchiMate

On 8 Apr 2020, at 19:24, Eduardo Sequinel <eduardo_...@next.co.uk> wrote:

Do you also think that use App Components would be good too?

No, it is probably often the better option.

Or is Artifact the only option in your opinion?

Certainly not. It always depends on which details are important for you when you use the model. 

I appreciate your replies and the concerns around having too much detail on the design, although it is not clear for me if you mean that I should avoid modeling libraries at all or if the concern has more to do with avoiding putting too many details when designing it.

There is no fixed choice here. Cf. Uncle Ludwig: meaning lies hidden in correct use, so you model depending on how you want to use the model. You leave those details out that are irrelevant for the use of the model. And choosing what you leave out (for models, designs, etc.) is generally a matter of thinking about the risk you run if you don’t have it.

My personal definition of abstraction: "Consciously leaving out irrelevant detail” (ignoring details is risky, consciously leaving them out is wise, and relevance is a function of ‘use').

(From the EAC 2016 Keynote “Chess and the Art of Enterprise Architecture”, also available on YouTube :-)

G


Thank you.

On Monday, 6 April 2020 15:06:18 UTC+1, Jorge Mariani wrote:
Artifact is OK. You then deploy that on an Application server (System Software). But I think that's too much of detail when modeling an App.

On Monday, April 6, 2020 at 7:46:50 AM UTC-5, Eduardo Sequinel wrote:
Hello, 

Please, what is the best practice to design the main libraries within an App Component?

I was thinking of using Artifacts for that.
For instance, Hibernate and Log4J would be aggregated by the App Component. Does this sound good for you?

Thank you


DISCLAIMER

This email is confidential and subject to important disclaimers and conditions in relation to monitoring, viruses, confidentiality and legal privilege full details of which can be viewed on our Email Policy at the following link: http://www.next.co.uk/Policy/EmailPolicyStatement.asp


Next Holdings Ltd registered in England 35161.  Registered Office Desford Road Enderby Leicester LE19 4AT.  Authorised and regulated by the Financial Conduct Authority


--
You received this message because you are subscribed to the Google Groups "ArchiMate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to open-archimate-f...@googlegroups.com.

Jorge Mariani

unread,
Apr 8, 2020, 3:29:04 PM4/8/20
to Eduardo Sequinel, ArchiMate
Well, I would use an artifact for the binaries, and realize an application component with that.
I would model libraries as artifacts, and aggregate them with the binary artifact for the application component.

But, probably I wouldn’t model the binaries, unless I specifically need that level of detail (developers maybe will need that). I’d rather deploy the Application component onto an System Software like an Application Server or a SOA Suite by Realization. (Meaning the Application Server realizes, or bring into existence, the Application Component)

Regards!

Sent with Unibox

Reply all
Reply to author
Forward
0 new messages