Computer-aided software engineering (CASE) is a buzzword in software development with its promise of tools and methodologies that automate the entire process.
Managing software projects in large financial institutes or manufacturing companies has its unique challenges. Observing 100s of software developer implementing transaction screens that run the car manufacturing processes of Fiat SA is a sight to be seen. Having this happening on an end-to-end development platform was unique to the Softlab Maestro II platform.
Working for Softlab GmbH in Munich I had architecture and management responsibility for the development of Object Management System (OMS) for Maestro II. OMS (Enabler after it has been acquired by Fujitsu) is a network-based repository of design information produced by the software development tools of Maestro or by external tools that integrate with the platform.
A software repository is a storage location inside of an enterprise or in the cloud that aggregates and archives all deliverables and descriptive information about a software product and its design process. As such they include source code, project management data, resource descriptions, and test data. For large installations this can easily pile up 100s of gigabytes of data.
Repositories model and store data that describes other data – we call this meta-data. Meta-data is necessary to chain different tools used in a design process together. A meta-data repository (exchange) is necessary in any kind of environment that integrates heterogeneous software systems into a flow.
One of the key challenges in managing meta-data is that it typically evolves in different versions or branches that at some point need to be merged and reconciled. With OMS II we introduced a unique distributed versioning architecture with automatic versioning and optimized merge support.