Model Transform Tools (MTT) is a system that helps create things like API specifications more easily by using one central, well-organized model. This approach saves time and money, ensures consistent results, and follows industry best practices. The tool works with both local and GitHub projects and can be used as a web service or run in a container like Docker. It’s also flexible, meaning you can add new features to work with different tools and standards.
A podcast style discussion of the Model Transform Tools. Ideal if you prefer to listen to a description of the MTT.
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 of delivering your APIs and a range of other key development products.
The MTT does this by generating these APIs and other outputs from a graphical representation of the information you want to share which 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:
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. Higher-level business specific models could also be developed and reused. For example, a model of people or organisations, addresses and the relationships between them, such as : lives-at, owns, etc.
Outputs, generated from example projects, are available to understand the range of artefacts that can be generated. These projects include everything you need to get a feeling for both the information models used as input to the MTT and the range and quality of the generated outputs. As described in MTT Extensibility the design of MTT allows custom generators to be developed quickly & use the same input models as the standard generators.
The MTT can be run using a web-service or as a locally deployed Docker container. These options are summarised below but for more details see Running the MTT:
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.
If you want to try the MTT web-service for yourself then register for an account and follow the instructions for how to install and try MTT as a GitHub app.