Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Servus Annotations"

(New page: =Servus Model Annotation Reference= ==Overview== ==Annotations==)
 
Line 1: Line 1:
=Servus Model Annotation Reference=
+
<font color="red">Attention</font> This is work in progress, meaning that the annotations described here are not yet guaranteed to be kept later or to be used with this semantics. However, it is unlikely that they will change a lot, so it can be used to understand what can be done with Servus annotations.
  
 
==Overview==
 
==Overview==
 +
 +
Servus deals with WSDL documents, Ecore models and Java source code. Servus Model Annotations are a way to express Web Services related information by decorating any Ecore model. In this context, the main goals of the annotations are to be:
 +
 +
''Complete with respect to WSDL''
 +
 +
This means that all information available in WSDL documents (versions 1 and 2) can be encoded in the annotations of an Ecore model. If this property is achieved, we can have a full round-trip between WSDL documents and Ecore models, without ever losing information.
 +
 +
As we will see later, there's just one aspect of WSDL that is currently not encoded in the annotation, the different files. This means that when we transform from WSDL to Ecore we might lose track of the WSDL files used to create the model. All information is there, but if we now go from Ecore to WSDL we might get a different set of files.
 +
 +
''Minimalistic''
 +
 +
This means that Servus Annotations have defaults for almost all information, so that they can be left implicit in the model. In fact, the only characteristic of WSDL that cannot be directly encoded in an Ecore model with defaults is the URL of the service. Therefore, a simple WebEndpoint annotation with the URL in an EClass is enough to represent a full web service, following the defaults (which would be using SOAP, Document, Literal, etc).
 +
 +
  
 
==Annotations==
 
==Annotations==

Revision as of 11:40, 11 July 2008

Attention This is work in progress, meaning that the annotations described here are not yet guaranteed to be kept later or to be used with this semantics. However, it is unlikely that they will change a lot, so it can be used to understand what can be done with Servus annotations.

Overview

Servus deals with WSDL documents, Ecore models and Java source code. Servus Model Annotations are a way to express Web Services related information by decorating any Ecore model. In this context, the main goals of the annotations are to be:

Complete with respect to WSDL

This means that all information available in WSDL documents (versions 1 and 2) can be encoded in the annotations of an Ecore model. If this property is achieved, we can have a full round-trip between WSDL documents and Ecore models, without ever losing information.

As we will see later, there's just one aspect of WSDL that is currently not encoded in the annotation, the different files. This means that when we transform from WSDL to Ecore we might lose track of the WSDL files used to create the model. All information is there, but if we now go from Ecore to WSDL we might get a different set of files.

Minimalistic

This means that Servus Annotations have defaults for almost all information, so that they can be left implicit in the model. In fact, the only characteristic of WSDL that cannot be directly encoded in an Ecore model with defaults is the URL of the service. Therefore, a simple WebEndpoint annotation with the URL in an EClass is enough to represent a full web service, following the defaults (which would be using SOAP, Document, Literal, etc).


Annotations

Back to the top