Plugin for Archi - CarTool (EIRA oriented)

Started by barrel, October 03, 2016, 08:59:39 AM

Previous topic - Next topic

Jean-Baptiste Sarrodie

Hi,

Quote from: barrel on October 04, 2016, 14:47:39 PM
The information below is a bit of a workaround, undocumented, so I might have missed one or two steps, let's give it a try though.
Ok, here are a few models (let's see if the attachments work).
[...]

I've played a bit with the CarTool plugin (versy good!) and I really would like to use it for other purposes, which means that I have to create my own SATs. I've tested the examples you provided but I've not been able to see the dialog that should appear when adding an element to my model (I tried to add properties in my SAT but this doesn't work).

Do you have some documentation explaining how to create such SAT (what are mandatory properties, where to store properties documentation...) ?

Regards

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

barrel

Hello,

Great to hear that you have taken a more indepth look at the plugin. We do have some user information available, but none yet on how to integrate an SAT into the tool once it is finished. We will have to do with some ad-hoc guidance.

Let me get back to you on Friday!

Cheers,
Barry

Jean-Baptiste Sarrodie

Hi,

This doesn't has to be integrated once it is finished, if it's simplier to compile my own version I can do it.

But in the online readme, I can read that:
QuoteEnsure that you have the latest DB structure SQL script bundled in the sources, as well as the latest version of the EIRA and SATs. Regarding the SQL script this is produced using the tool in the cartography-data-tool repository.

This makes me think that in fact I need this "tool in the cartography-data-tool repository"... that I cannot find...

Regards,

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

barrel

Hello JB,

The CarTool offers multiple functionalities; there is the EIRA as base reference architecture; there is an (conditional) cartography of existing solutions and there is the SAT section.


  • EIRA as reference architecture; the CarTool is developed by the ISA2 action which is the action that drives the EIRA, the CarTool is developed to support implementing solutions based on the EIRA
  • SATs; Solution Architecture Templates; blueprints for architectures in a specific 'problem' domain. At the moment, we have developed 4 SATs that are available; eID, eDelivery, eHI and Open Data
  • Conditional Cartography; this folder contains solutions that are based on the EIRA. These solutions are called 'TES" (Trans-European Solutions) and are not public (this is the conditional part; only available to EU staff). This cartography (another words might be portfolio or application landscape) can however also be used to populate a (sub-)national or even organisation wide portfolio, we still need to write documentation on how to do this.

Your question related to the database structure is probably related to the cartography, the solutions that are based on the EIRA. The cartography can be queried (on european level, this is important; we can see which solutions are already available, or which solutions offer similar functionalities, perhasps we can rationalise them), hence the internal DB


Now... Some questions to try to understand what you see and what you perhaps do not see but should be there

When you install the plugin (or compile/run); do you see an EIRA menu item at the top of Archi?
When activated, do you see an EIRA panel appearing?
In the EIRA panel; do you see the EIRA (v1.1.0) and an additional folder called SATs?

Concerning the SATs, these are simply downloaded as par of the plugin and reside in your .cartool folder (in your home directory). This folder has three subfolders, one of the subdirectories is .cartool/resources/archimate/SATs

A simple check to see if your SATs work in the way that you expect is to copy your SATs (or some files I provided earlier will do as well) in this folder, this should do the trick (attention, on updates of the tool, this folder will be overwritten, make sure to use a copy and not the original!)

Looking forward to your reply!

Barry

Jean-Baptiste Sarrodie

Hi,

Quote from: barrel on November 18, 2016, 09:53:46 AM
Now... Some questions to try to understand what you see and what you perhaps do not see but should be there

When you install the plugin (or compile/run); do you see an EIRA menu item at the top of Archi?
When activated, do you see an EIRA panel appearing?
In the EIRA panel; do you see the EIRA (v1.1.0) and an additional folder called SATs?

All this works. My point that I want to use the CarTool itself, not in the context of EIRA. This means that I want to replace the EIRA reference architecture .archimate model by my own reference architecture and then have people from my team to use the CarTool to create solution architecture models that reuse my ABBs. I succeeded in having what I want except for the popup dialog that allows user to key in information that will be added as properties (dialog raised when you select a concept from the reference architecture and select "Add to my model"). Recently I succeeded in having this dialog but only if in my model, the ID property of the concept I want to reuse is one of the already defined IDs in EIRA. This seems to be checked against the internal DB of the CarTool plugin, DB that is populated using the SQL file included in the plugin. It seems that this SQL file is generated using a tool that (I think) parses the reference architecture model for such ID properties on all elements.

So I'm now able to do what I want except that I can't define my own ABB IDs. So I need this tool or script that create the SQL file from the reference architecture model.

Is it clearer?

Regards,

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

barrel

Hello JB;

There might be a few assumptions in the code that are very EIRA oriented. Most of this is in property files (we have too many of them, we are aware of that). You need at least a model with an ID property, some DCAT properties like dct:modified and dct:published might be 'hardcoded' as well, those kind of things. ABBs are not annotated, SBBs are annotated with '<<' and '>>' and recognised by these indicators in the name. And yes, the database structure is EIRA oriented.

You need to get your hammer and chisel and rework quite a few things, I am afraid.

When you look at the following file
eu.europa.ec.eira.cartool/resources/db-scripts/data.sql

You will see the EIRA structure in there, each table is mapped to an EIRA ABB (ABB60 for instance is mapped to the EIRA ABB called 'IES" in the technical view). We tried a more generic structure at the start, but this added a lot of complexity on the query part.

The package
eu.europa.ec.eira.cartool.views.action
will probably be your best starting point.

Also know that the update process is way too agressive at the moment. It installs new versions and deletes previous versions afterwards. If your new version has the same name as the old one, the new file gets installed, the old one will be erased, but since this file has the same name as the new file, your new version will be erased. That is why timestamps in the names are important.... We are working on that.

Jean-Baptiste Sarrodie

Hi,

Thank you for these comments.

Asof now my only question remaining is how do you create  the eu.europa.ec.eira.cartool/resources/db-scripts/data.sql file ? Is it created by hand or through some scripting (jasper reports?) from the main EIRA.archimate model ?

Regards,

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

barrel

Hello JB,

It is done via a small converter application. This application is really quick-and-dirty and combines the generation of the database files (paring the EIRA.archimate file) as well as the cartography. I can send you the code, if you would like to have a look, but it is not yet ready to be published as open source.

To give you an idea; here is the (minimal) documentation on the tool:

Purpose of the tool

The purpose of this tool is twofold:

  • Prepare the files required for a new cartography release.
  • Prepare the SQL script for inclusion in the CarTool build.


The tool packages:

  • The base SQL to create the CarTool DB.
  • The cartography's solutions (ArchiMate models and SQL).
  • The SATs (ArchiMate models).
  • The solution and SAT templates (ArchiMate models).
  • The EIRA (ArchiMate model).
  • The proposed IoP specifications (SQL).

Cheers,
Barry


Jean-Baptiste Sarrodie

Hi,

Ok, thank you.

I'd be happy to have access to this code  and see how I can reuse it in my context ;-)

I'm sharing my email in a private message....

Regards,

JB
If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.

barrel

Hello JB,

I don't know if you have been able to/have had the courage to look at the files I sent you.
In any case, if there is anything we can do to help, let us know.

For information; the models I use as base, I simply copy them to the '.cartool/resources/architmate/SATs' folder and as such I can use them as reference architecture. A not so good looking workaround, but it serves my needs.

For this, you need to fix one small bug though:

CarToolPluginActivator linke 198:

return versionFromFileSystem.getInfo().getDataVersionInfo().getTimestamp().compareTo(versionFromJar.getInfo().getDataVersionInfo().getTimestamp()) <= 0;

should be

return versionFromFileSystem.getInfo().getDataVersionInfo().getTimestamp().compareTo(versionFromJar.getInfo().getDataVersionInfo().getTimestamp()) < 0;

If not, your .cartool/resources directory will be erased on each startup

ErikR

Seems like the links above if dead. I found the material on this link instead:
https://joinup.ec.europa.eu/solution/eira

// Erik