ISO 20022

Dec 21, 2008 at 8:10 PM

Have you looked at ISO 20022 at all?  http://www.iso20022.org/  It is an ISO standard for banking and finance that defines how to model messages in UML and generate matching XML Schemas.  The original version came out in 2004; an updated version will go out for review in 2009 (I'm on the working group for it).

Cheers, Tony.

Coordinator
Dec 22, 2008 at 6:24 AM

Hi!

Yes we know about it. In fact, this standard together with the UBL, Health 7 and similars, was a part of our motivation to do this project. We hope that XCase will be practical for that purpose.

Have a nice day!
Luk

Developer
Dec 22, 2008 at 10:28 AM
Edited Dec 22, 2008 at 10:28 AM

Dear Tony,

thank you for your comment on XCase. As you write, ISO20022 defines how to model XML messages in UML. XCase also allows modeling messages in UML but considers moreover an additional layer that abstracts this message layer. This abstract layer allows modeling your data independently of its representation in XML messages. We can consider a concept, e.g. bank account (even though I am not a finance expert at all ;)). It has some attributes and relationships with other concepts. This is an XML-independent description of the concept and you need to somehow model it at the conceptual layer. And you have different XML messages that somehow represent your concept, but each in a different way. Each can represent different attributes and relationships of the concept using different XML element and attribute names.

This is what XCase allows you to do. You can model your problem domain at the conceptual layer using UML. After that, you can model your XML messages on the base of the conceptual UML diagrams. XCase also checks for consistency between both layers, i.e. if you make a change in a conceptual diagram, it is propagated to all potentially affected XML schemas if you want. We believe that this makes not only design but also maintenance of XML schemas for your XML messages much more effective.

I am not sure whether you applied such a principle and if you have some specific tool for this. Maybe, XCase would be interesting for you in this way. If you are interested, you can check some academic papers (http://www.ksi.mff.cuni.cz/~necasky/publications.html) that describe a theory XCase was built on.

Cheers, Martin