Modeling several environments

192 views
Skip to first unread message

Basil Peace

unread,
Jul 27, 2020, 6:33:42 PM7/27/20
to ArchiMate
Hello to everybody!

I have a problem trying to apply ArchiMate to my use case.

We have a data warehouse with a lot of data sources and consumers. These data sources and consumers are both internal systems and applications and external services.
And we have several environments (say, test and production).

On database level, we deal with these environments in this way:
In development, we use generic database and user names, DB1 and SCHEMA2.
In deployment they are resolved to actual names, for example DB1_PROD and PROD_SCHEMA2.


I have to model these separate environments in architecture. For several reasons:
  1. Yes, I know. The best practice is that test environment should duplicate production. And we follow this for single applications and systems.
    But unfortunately it's just not possible for the overall EA.
    Each application/service has its own set of environments.
    Some share the same test environment.
    Others don't have public test environment, so, whenever somebody needs their data in test environment, we have to create additional ETL routes from production and with some depersonalization. Meaning, additional technology elements and Work Packages.

    External data sources and consumers on initial testing stage usually integrate with test environment.
    And this also means some Work package between test and production to reconfigure routes.

  2. Some business users explicitly require test environment for their app. So, they have two Products: "Product in Test" and "Product in Production"

  3. All this means that deployments to test environment and testing are significant steps in implementation plans, and stakeholders want to see them explicitly in migration views.

So, it looks that I need two Technology layers, or another layer between Application and Technology, or put anything on the Application level.
How can I achieve this in ArchiMate?
Looks like artifact can't realize another artifact, and data object can't realize another data object.
Using relationship type other that realization doesn't look like a good option either.

So, I'm stuck here.

Did anyone come across this problem?

Mastering ArchiMate

unread,
Aug 1, 2020, 6:44:07 AM8/1/20
to Basil Peace, ArchiMate
After a quick scan of your story, there are more ways than Realisation to create abstractions in ArchiMate. I generally use Aggregation. So, I create ‘abstract objects’ that are of a certain type and Aggregate the concrete objects under it. I label them clearly for their role. Another option is to use Specialisation for this if you don’t trust readers to discriminate between Aggregation being used in this way and it being used in its more ordinary way.

Having said that, if you have two different infrastructural environments, the reality is that you have these. Abstracting them doesn’t necessarily bring an advantage. Though  the trick above can integrate them in an architectural sense.

(A radical overhaul of ArchiMate would probably ditch Realisation for anything but ‘identity’ abstractions, as I discuss in the “Discussing ArchiMate” section of the book). As it is, Realisation as a concept is a bit of a mess/mixed bag.)

G

--
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/7cbaeb62-804c-4f1d-bace-4771f754b98co%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages