Generated Artefacts
Q3: There are several types of generated service artefacts, and a project targets one or more of them:
REST (RESTful Web Services):
Provides definitions for REST Applications, REST Resources and associated REST data objects (JSON/XML structures) enabling a model-driven development approach for the specification of REST APIs.
SOAP (Simple Object Access Protocol):
Provides a design for the development of participants, service interfaces, and messages appropriate for an enterprise-wide business services based architecture.
Java:
Provides a Java-based design for the development of participants, service interfaces, and messages appropriate for an enterprise-wide business services based architecture.
XSD:
Provides an XML Schema design for the development of participants, service interfaces, and messages appropriate for an enterprise-wide business services based architecture.
Why would I choose a particular type of generated artefact?
REST:
Generating REST artefacts from the IPS Modelset enables the creation of consumable APIs from the rich and complex enterprise-level models. The REST API definitions hide the underlying complexity of the underlying models and back end systems. The RESTful API Design Model defines a simple set of resources and data structures that app developers (who may have no knowledge of the models) can quickly learn and use.
SOAP:
While REST offers lightweight APIs which are more consumable, they do not simplify the implementation and orchestration of services across a set of applications. If consumer-specific REST APIs are proliferated, this can create an unmanageable set of APIs with arbitrary downstream selection of data. There is still a need to implement a SOA, with transactional services implemented to provide a single set of interfaces for transacting on data that decouples consumers from existing applications.