Exposing APIs (Application Programming Interfaces) for your business services offers significant strategic, operational, and technical benefits. API Generation's Model Transform Tools (MTT) is a means to significantly reduce costs and improve quality by generating these APIs and other outputs.
It does this by taking a model driven approach that provides the following benefits:
The following sections provide details on how the MTT is used to achieves these benefits.
Projects are where the MTT's input and output files are held, as shown in the figure below. This figure also shows the tool's structure which is useful for providing context to some of the other sections below.
The key files and folders are:
MTT supports two types of project:
Projects can also include dependencies on other projects. This allows a catalogue of models to be developed and reused. For example, many projects could depend on a set of core-types such as : Address, Lat/Long, Name, UUID, etc
See Projects for more details.
The MTT can be run in two ways:
Web-Service: The web-service version of the tool can be run either through the browser user-interface or as a GitHub Action. Integration with GitHub Actions allows the tool to be include as part of development workflows.
Docker container: This is ideal where, for business or security reasons, project models and generated artefacts need to be stored locally. In this case the tool can be deployed on local infrastructure as a Docker container.
See Running the MTT for more details.
The tool's structure and internal information model is designed to allow new generators, for other standards or custom artefacts, to be quickly developed and integrated. Whilst Sparx Enterprise Architect (EA) is the default UML modelling tool new loaders, for alternative UML & RDF modelling tools, can be easily developed & integrated. The tool's internal model means that all generators will automatically work with any new loaders.
See Developing New Generators for more details.