[Updated October 27, 2016]
In a recent posting (Crossing the Enterprise Architecture Chasm), I offered a definition for the term Enterprise Architecture Chasm, the practical gap that will always exist between enterprise architecture and an organization’s systems, strategies, assets, and processes (and the companion Strategy Chasm that exists between an organization’s motivation and strategy and its enterprise architecture).
Figure 1. Progressive Enterprise Architecture Map
In this posting, I describe the “ModelMate” project – the creation of an open EA repository software solution that assists in crossing the EA Chasm. “ModelMate” is a codename for this project (also read the p.s. at the bottom of this posting). Caveat: This posting will be somewhat technical but regardless of who you are, you’ll find the example use cases to be insightful.
ModelMate is a working implementation of a Microsoft SQL Server and Neo4j graph database-based repository for managing arbitrarily large collections of arbitrary entities, properties, relationships, views, etc.to enable analysis, visualization, and understanding using easily-available open source and COTS (commercial off the shelf) business intelligence (BI), data visualization, and machine learning (ML) platforms, tools and cloud services.
The ModelMate schema is modeled more or less after The Open Group ArchiMate Model File Exchange File Format (EFF) with several extensions; including support for multi-tenancy, 2D and 3D entities, 3D views of 2D and 3D entities, processing history, versioning, annotations (including usage and performance data), automated heat maps, replication and synchronization. Read/write access to the repository is supported using an entity-based .NET API. Importing and exporting of EFF files is fully supported. The physical repository is a highly normalized SQL Server database. Here is what the high-level ModelMate architecture looks like.
Figure 2. Use Case 1. Cloud migration of custom .NET desktop apps, services, and web applications
ModelMate can run anywhere: on your laptop, Windows server, virtual server, data center, or in the cloud; anywhere you can use SQL Server Express, SQL Server, or Azure SQL Server.
Use Case 1: Cloud migration of custom .NET desktop apps, services, and web applications
In this scenario, a .NET Entity Discovery component scans the compiled .NET executables (.EXE files) and library assemblies (.DLL files); calling the ModelMate API to create a model in the ModelMate repository. A separate component uses the EFF Exporter capability to read the ModelMate model and create an EFF file containing the model data. In this specific scenario, Archi was used to read the ModelMate model and support real-time exploration of the .NET application’s architecture. At this point in the project, views are being created manually but highly facilitated by the design of the model and Archi’s Visualizer and Navigation features. Here’s a sample of a view created from the resulting ModelMate model as well as a screenshot of what the actual dual-screen user experience looks like.
Figure 3. VetContext ModelMate Model imported into Archi
The broader use case is system analysis and assessment to support migration of on-premise custom .NET desktop, service and web applications to the cloud.
The above model is large; containing:
- 190,000 properties and values
- 25,000 labels
- 16,000 relationships
- 8,700 elements
The EFF file is 52MB in size;. the resulting Archi .archimate file, 34MB in size.
Figure 4. VetContext ModelMate Model imported into SPARX Enterprise Architect
SPARX EA’s automated layout and routing capabilities proved to be quite valuable – especially when the burden of importing extremely large numbers of elements and relationships into any of these tools is reduced to a few mouse clicks.
Use Case 2: Support for COTS (commercial-off-the-shelf) Business Intelligence tools
Because the ModelMate Repository schema is based on the EFF format (with extensions) and is realized as a SQL Server database, it is easy to produce any myriad of visualizations and perform analysis using easily-available COTS and open source tools such as Microsoft Power BI interactive data visualization tools, and the R language for statistical computing. Detailed examples with be added to this article over the next few weeks.
Figure 5. ModelMate Logical Architecture
Given the enormous user communities and large libraries of user-contributed data analysis, machine learning, and visualization components available for each of these platforms (as well as Power BI’s support for R), there are no limits to what you can do with a ModelMate model.
Michael Herman (Toronto)
p.s. At this point, there are no specific plans to commercialize the ModelMate project but if you think ModelMate can help make what you’re trying to accomplish a bit easier to realize, please email me at firstname.lastname@example.org.
* ArchiMate is a registered trademark of The Open Group