Turns domain knowledge into code

WSg is a g9 perspective that contains the tools necessary for the creating Web Service objects and for generating the java code for consuming and creating Web Services. The WSg perspective utilizes domain models to create/generate the Web Service plumbing between a client consuming services and a server offering those services.


The WSg example domain model is described using Xcore to specify the model structure and behvior of operations and features. The domain model could also be described using Ecore or EA. The generators use the Castor open source data binding framework providing Java to XML binding. Code generation is based on templates that use Xtend making it easier to read and modify to customize the generated code or adopt to other frameworks.

One reason for choosing Castor is its ability to handle cyclic graphs.

Generation of Web Services uses five generators:

  1. Java Domain generator creates the domain classes and interfaces.
  2. Transport generator creates the transport classes that correspond to the OS-roles bound to the interface. It also uses the Castor framework to marshal transport objects to and from XML and generates Spring configuration files.
  3. WS Client generator creates the web service client side implementation and delegates the web service invocations to the Spring WebServiceTemplate object.
  4. WSDL generator creates the WSDL document for the interface and Spring web service endpointes and configuration file.
  5. XSD generator creates the schema definition for the interface.

Update History

g9 2.9.0 - August 2020
g9 2.8.1 - July 2018
g9 2.7.1 - September 2017
g9 2.7.0 - June 2017
g9 2.6.0 - April 2017
g9 2.5.0 - September 2016
g9 2.4.0 - June 2016
g9 2.3.0 - April 2016
g9 2.2.0 - February 2016
g9 2.1.0 - October 2015
g9 2.0.0 - August 2015

Please contact us if other versions are required.