ObeoNetwork/InformationSystem — pull request #7 by lbroudoux (2013-11-24 21:48:57+00:00)
Title: Adding generators for XSD and WSDL contracts from SOA DSL

Hello,

This commit adds generators for SOA DSL that provides XSD grammars and services WSDL contracts from an InformationSystem model. First part of this contribution was developped earlier and explained here http://lbroudoux.wordpress.com/2013/02/12/generating-soa-contracts-with-obeo-soadesigner/. It has now been extended with support for fault elements within services and support for basic type restrictions into XSD.

The generators specifications are the following :
* generate 1 XSD artifact per Category or sub-Category holding DTOs,
* use the parent system name, category name and version to produce distinct file name,
* generate 1 WSDL artifact per Service holding Operations,
* make the WSDL artifact hold only the service related datatypes and reference reusable one from XSD,
* use the service name and version to produce distinct file name

The currently supported features of generators are as followed :
* usage of descriptions put into models to annotate artifacts with documentation,
* usage of multiplicity informations to generate according XSD occurence specifications,
* correct import of XSD within another XSD or a WSDL,
* correct usages of different namespaces during inclusions and reuse,
* support of inheritance between DTOs,
* support of composition and references between DTOs,
* support of constrained types when DTOs contain Annotation Metadata that specifiy them.

A test project with model and sample generation results is provided.

Let me know if it helps or if some more work need to be done in order of proper intergration.

Best regards,

Laurent