In an earlier post, I identified ISO20022 as a model-driven success story. Here, I give some other examples of model-driven from e-Government and telecommunications. They are not all at the same level of maturity, but the reason why a model-driven approach makes sense is the same.
A Model Driven Success Story
August 29th, 2012
One of the goals of modelling and model-driven approaches is to simplify. That’s the theory. But is there any clear evidence that model-driven approaches remove rather than add complexity?
From our work with many real world XML Schemas at Nomos Software, we see evidence that model-driven can deliver.
Here’s an example from the domain of financial messaging standards. FpML (handcrafted XML schema for an admittedly complex domain, derivatives trading) is much more complex than ISO20022 (a set of XML schemas for a variety of financial transactions, created using a model-driven approach).
Defining standards is notoriously difficult: creating something simple that caters for all scenarios.
Everything should be made as simple as possible, but no simpler – Albert Einstein
Let’s explore a bit more.
FpML is a financial messaging standard for derivatives trading. It is a set of many inter-related XML Schemas. The message schemas are large and complex. FpML is complex in part because derivatives trading is itself complex. But the schemas are also complex because they were defined when XML Schema itself was quite a new standard, they are handcrafted, and they are designed to be used in a large number of different scenarios.
IT teams working with FpML have to work with this complex set of schemas.
Now consider ISO20022. ISO20022 is a set of financial messaging standards covering securities, payments, and corporate actions among others. ISO20022 messaging is defined using a model-driven approach. One large model is created (in UML, and more recently in Eclipse EMF), and individual message schemas are generated from this single large model. Each XML Schema that is generated has a specific purpose. So for example, there is an XML Schema for initiating payments, and there is another XML Schema for bank account statements
ISO20022 is dramatically simpler
What is clear when you look at the ISO20022 messaging is that the XML Schemas are dramatically simpler than the FpML Schemas.
For a bird’s eye view of the difference, take a look at FpML schemas on the file system:
You can download the FpML schemas from here.
Compare this to an ISO20022 schema:
You can download the ISO20022 schemas from here.
Simpler in what ways?
ISO20022 is made up of many different individual messages.
Each message is used for a single purpose.
Each message is a single schema with no imports.
Complex constructs like substitution groups are not used.
This all means it is easier for IT teams to use ISO20022 messaging.
How has model-driven helped?
It ensures simplicity combined with consistency.
For simplicity, you need a single message for a single purpose. But the messages also need to be consistent with each other. Maintaining consistency across many messages is very difficult if each message is handcrafted independently. With model-driven, consistency is managed in the main model, and simple messages for a single purpose are generated from there.
For simplicity, the XML schemas need to be ‘technically’ straightforward (e.g. no imports and no substitution groups) and ‘technically’ consistent (if an IT team learns how to use an ISO20022 message for one purpose, there should be no technical barrier to using a second ISO20022 message for another purpose). Simple XML schemas can be handcrafted, but once again, ensuring that a large number of handcrafted schemas are consistently simple is difficult. With model-driven, the generation step can be used to programmatically ensure ‘technical’ simplicity.
A sidebar: some of the people involved in ISO20022 had previously been involved in FpML.
Consistency of Design in ISO20022
ISO20022 creates many disparate XML Schemas for different purposes. Consistency across this set of messages needs to be maintained. ISO20022 replaces previous messaging standards e.g. ISO15022. Because a model-driven approach was used for ISO20022 and not for previous standards, there is much more consistency across the different ISO20022 messages.
Consistency combined with simplicity would not be possible without a model-driven approach. ISO20022 may not be perfect, but it is a success story for model-driven. ISO20022 impacts hundreds of thousands of IT teams: it is being used by all European banks and corporates for payments, and adoption is only set to grow ISO20022 messages must be simple. The modelling step has shown a high return on investment for the whole the finance industry and those who depend on it.
What are your experiences with ISO20022 and FpML? What other approaches work to create simple XML schemas for broad and complex domains? Contact us if you would like to discuss more.