UML & SysML modelling languages

Expertise and blog articles on UML, SysML, and Enterprise Architect modelling tool

version francaiseTwitterVideos UMLChannel SparxSystems EA YouTubeLinkedIn

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.