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:
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.
- Some business users explicitly require test environment for their app. So, they have two Products: "Product in Test" and "Product in Production"
- 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?