Deploying a model repository often eventually leads to user requests for additional features to address specific needs, mostly to save time when using Enterprise Architect (EA). Whilst EA is a very rich and powerful tool, it provides an API to extend further its capabilities e.g. by querying the model or updating/creating model content.
The API can be exploited through the following means:
- EA scripts: stored within a shared repository (EA project), scripts can be executed by users granted with the run scripts permission. This approach is useful to avoid installing and maintaining applications (EA add-ins) on each client. EA can be used as the IDE to implement, test and run scripts. Supported languages include VBScript, JScript, and JavaScript.
- EA add-ins: extension applications must be installed on each client to be available within Enterprise Architect. They can be implemented with most programming languages such as C#, Java, C++, etc. In comparison with scripts, they support enhanced user interfaces and EA broadcast events (to trigger a behaviour e.g. when an element or connector is created).
- eaUtils is an example of a free EA add-in.
- Third-party applications or scripts: EA API can be accessed through third party solutions such as a PowerShell script or a C# command line tool. This is convenient to run scheduled tasks for regular updates or extracts, e.g. update the application portfolio within an ArchiMate Enterprise Architect repository from a CMDB Excel weekly extract.
- Model-based add-ins: defined in the repository, there is no installation needed on clients. Based on JavaScript, the main advantage of using model-based add-ins is related with the EA broadcast events support.
- This is the topic covered in this article.