-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major
-
Affects Version/s: 1.0
-
Component/s: Foundation
-
None
The specification defines a number of artifact type models, including Core, SOA, Service Implementation, and four Derived Artifact Type models (XSD, WSDL, SOAPWSDL, and Policy). There does not appear to be a way for an implementation to define additional Derived Artifact Type models and allow clients to discover them. Can implementations extend the behavior by adding custom Derived Artifact Type models (e.g., Ontology, Process/Choreography, etc.)?
The specification does defines a User Defined Model (most completely in Section 2.1.2 of the Foundation Working Draft 01 around line 280) with this statement:
S-RAMP attempts to be compatible with implementations which choose to allow users the ability to define models
of their own which consist of new or existing Artifact Types and any defined relationships between them, although
how and whether such models are supported is beyond the scope of this specification. Such models are called
"User Defined Models". Since pre-defined relationships in a model are termed "Modeled", then in this context
they are called "User Defined Modeled Relationships".
and in Section 2.1 (line 197):
User Defined Artifact Model: These are created by the client and are part of a User Defined Model.
The means by which a client specifies such a model are beyond the scope of this specification, but some
provision is made within S-RAMP schema to facilitate basic interoperability for such artifacts. Regardless
of the internal definition of these artifacts, they SHALL be serialized in S-RAMP as an instance of
UserDefinedArtifactType, which extends BaseArtifactType.
Both of these statements describe such models as being created and defined by the client. Is there a distinction between additional Derived Type Models provided by an S-RAMP implementation and those uploaded by clients?
Even though the above text states that how User Defined Models are defined is beyond the scope of the specification, the specification should describe (perhaps in the Conformance chapter) whether implementations can define additional Derived Artifact Type models, and should define a way for clients to discover all the models and the corresponding descriptions (preferably machine readable).