Extend modelling platform event-based with own functions and user interfaces


In this training, you will learn the interfaces to customize and extend the functionality of Enterprise Architect. With Automation Interface, Enterprise Architect provides a programming interface that can be used to programmatically read, create and manipulate the model. Automation Interface also provides access to many of Enterprise Architect’s functions, allowing you to easily incorporate them into your own functionality and thus realize more extensive automations of customer-specific processes and methods.

This training is offered in a blended learning format:

  • eLearning: The basics of the Enterprise Architect tool can be refreshed independent of time and location in self-study via our learning platform – so all participants have the same prior knowledge. The content currently comprises approx. 6 hours and is summarized here.
  • Live training: This is followed by the 2-day moderated online training from 9am to 4pm each day.

Target group

This training is aimed at people who want to support a modelling approach with automations or who want to extend the functionality of Enterprise Architect.

If you are already working or have worked with Enterprise Architect, this course will help you to deepen and extend your knowledge of the tool.


At the end of this course, you will be familiar with the internal structure and operation of Enterprise Architect and have the knowledge to implement different automations using different technologies – whether you are writing small functions using scripting language or developing comprehensive extensions using compilable programming languages.

The training also provides answers to the following questions:

  • What are the options for functionally extending the Enterprise Architect tool?
  • What is the Automation Interface?
  • What does the data structure of Enterprise Architect look like?
  • How can I query data from the Enterprise Architect repository?
  • How can I programmatically read, process and create models?
  • How can I react to events when modelling with my own extensions?
  • How can I build my own user interfaces into Enterprise Architect?


In modelling, in addition to the modelling language, we need a tool – the Enterprise Architect tool – to be productive, as well as a method to properly use the language with the tool. Experience helps to work efficiently and, above all, effectively.

The content of the course provides the knowledge of the object model as well as the underlying data model and how they are used with Structured Query Language (SQL) and programming languages.


Different programming languages can be used as the language for extending Enterprise Architect. In this training, we focus on the languages JavaScript for scripting tasks and C# for other programming tasks.


Enterprise Architect is a modelling platform that can be used in a variety of ways. The following topics will be covered in this course:

  • Overview of automation techniques or all types of automation in Enterprise Architect
    • e.g.: Scripts, automation outside of the Enterprise Architect User Interface, AddIns, Model AddIns, Scriptlets, UML Profile Scripts
    • Application areas and frameworks of the different approaches
  • Writing basic scripts in Enterprise Architect: What types of scripts (scripting groups) exist and what are they used for?
    • Analyze and understand the first scripts
    • Write your first script
  • The EA object model: The basic classes to perform model manipulations
    • Parse model programmatically
    • Manipulate model programmatically
    • Create model programmatically
  • Create packages
  • Create diagrams
  • Create elements
  • Create attributes, operations, tagged value, etc.
  • Create connectors
    • Create diagram content programmatically
  • The EA database schema: The most important tables to query model information
  • Using Enterprise Architect Application Programming Interfaces (API) to query the database
  • Optimizing performance with SQL queries using Automation Interface
  • Working with scriptlets
    • Basic idea and capabilities of scriptlets
    • What to consider when working with scriptlets
    • Example applications of scriptlets
  • UML Profile Scripts
    • Basic idea and possibilities of profile scripts
    • What to consider when working with scriptlets
    • Example applications of scriptlets
  • Model AddIns
    • Create the first Model AddIn with the Template Wizard
    • Build menu structure
    • React to events
  • C# AddIns
    • Basic configuration of Component Object Model (COM) Dynamic Link Library (DLL) and Enterprise Architect to be able to load COM DLLs
    • Build menu structure
    • Respond to events
    • Use own User Controlls
    • Load own windows into Enterprise Architect
    • Call AddIn functions from:
      • ShapeScripts
      • Code Generation Templates
      • Model Transformation Templates


In this course, you will learn approaches and possibilities of the individual extensions for different problems.


In this course, we will teach you tips and tricks as well as best practices for customizing Enterprise Architect.


Existing knowledge of programming basics is helpful, but not a prerequisite. Preferably, basics of the languages JavaScript and C# are known.

All details on the technical requirements for this training, such as the hardware and software needed, Enterprise Architect versions or licenses, and the Moodle learning platform are listed here.

Next dates


You might also be interested in these trainings

Extension trainings:

  • Generating documents with Enterprise Architect