Book a Demo

Author Topic: Copy and paste a model within one eap file?  (Read 2475 times)

BerndWiedemann

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Copy and paste a model within one eap file?
« on: July 25, 2009, 12:05:24 am »
We are a company developing a range of products in different versions. Each product uses our company framework in a specific version, for example

Product A Version 1.0 uses Framework Version 1.0
Product A Version 1.1 uses Framework Version 1.0
Product B Version 1.0 uses Framework Version 2.0
Product B Version 2.0 uses Framework Version 3.0
etc.

The questions:

1. We want to use ONE Eap File which comprises ALL products and ALL frameworks. For each product/and each framework we want to have one model.
Is this an recommended way? Does this decision lead to serious disadvantages?

2. We want to reuse an EA model for different versions of a product/framework. A model typically comprises a Domain Model, a Class model and reverse engineered sourcecode. The domain model has no references to sourcecode, whereas the class model has references to sourcecode. The source code of the old version and of the new version is stored in different directories.
During transition from one version to the next version we want to copy the model of the old version to the model of the new version.
We had success by (deep) copying Domain model elements.
We failed by copying class model elements.
Is it possible to achieve this? How can we achieve this? Do we have to use the automation interface?

3. We want to forbid, that an old model can be changed. Hence, it should be readonly.
How can we achieve this?

4. Because a product uses a framework, we have links from product code to framework code.
This links should be still correct after transition from one product version to another product version with or without changing  the used framework version.
Is this possible? How can we achieve this?

Best regards

Bernd

BerndWiedemann

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: Copy and paste a model within one eap file?
« Reply #1 on: August 03, 2009, 07:13:07 pm »
Ad 1)
Refer to the white paper about "Deployment of EA".

Ad 3)
This can be done using the security features.

Ad 1, 2, 3, and 4)
I figured out a solution. Please have a look at the several steps ...

[size=14]Creating an EAP File (one time only)[/size]
1.      Create one EAP File, which comprises all models
2.      Enable Security
3.      Login as another user: admin/password
4.      Security: Create a user group with restricted rights (all but: Baselines, Security)
5.      Security: Create users
6.      Security: Map each created user to the created user group.
7.      Create a model for “Framework” with a class view.
8.      Create a model for “App” with a class view.
9.      Code Reverse Engineering for “App”
10.      Code Reverse Engineering for “Framework”
11.      Start modeling …

After creation of a release version (for each new version)
1.      Create branch for source code in vault – in the meantime: Do not edit source code!
2.      Create a Baseline for “Framework“ (enables possibility for Diff and Restore)
3.      Create Baseline for App (enables possibility for Diff and Restore)
4.      Create a new model “Temp” – necessary for correct GUID relations used for associations between Framework and App elements
5.      Move all views of model “Framework” to model “Temp”
6.      Move all views of model “App” to model “Temp”
7.      XMI Export of model „Temp“ to „ExportTemp.xmi”
8.      Delete model “Temp”
9.      Restore Baseline for model “Framework”
10.      Restore Baseline for model “App”
11.      Rename model “Framework” to model “Framework VNEXT” – this still allows comparison with the base line
12.      Rename model “App” to model “App VNEXT” – this still allows comparison with the base line
13.      Adjust the new C# filenames from the branch directory via setting local path
14.      XMI import of file “ExportTemp.xmi” with option “Strip GUID” – this ensures, that new and old source code elements have different GUIDs. Hence, associations are correct.
15.      Create a model “Framework VOLD”
16.      Create a model “App VOLD”
17.      Move all “App” Views from model “Temp” to model “App VOLD”
18.      Move all “Framework” Views from model “Temp” to model “Framework VOLD”
19.      Delete (now empty) model “Temp”
20.      Rearrange models “App VNEXT”, “App VOLD”, “Framework VNEXT” and “Framework VOLD” in the project explorer
21.      Create a write lock for Framework VOLD via group lock for group Administrators
22.      Create a write lock for App VOLD via group lock for group Administrators
23.      Start modeling for “App VNEXT” and “Framework VNEXT” …


PS A shorter way would be convenient ... :)


Best regards
Bernd