← Prev in month ← Prev in thread

Summarizing the state of ASSEMBLY-235

From
Eric Johnson <>
Date
2010-12-15T01:20:16+00:00
ID
Thread
Summarizing the state of ASSEMBLY-235
In a previous
      email I proposed something similar to the following change. 
    This time I tried to be more precise, so that this is more than just
    directional.

    

    Change 6.2.1 #6, 6.2.2 #6, and 6.2.3 #6 in the following pattern:

    

    Replace text that reads:

    "for checking the compatibility of 2 remotable interfaces which are
    in different interface languages, both are mapped to WSDL 1.1 (if
    not already WSDL 1.1) and compatibility checking is done between the
    WSDL 1.1 mapped interfaces.

    

    For checking the compatibility of 2 local interfaces which are in
    different interface languages, the method of checking compatibility
    is defined by the specifications which define those interface types,
    which must define mapping rules for the 2 interface types concerned."

    

    ... with the following ...

    

    "The interfaces, whether local or remotable, must map onto a common
    interface description language, and that the two interfaces are
    compared on the basis of that common interface description
    language.  See section Comparing Interface Descriptions of
      Different Types for a discussion."

    

    ... and then add a section 6.2.4:

    

    6.2.4 Comparing Interface Descriptions Of Different Types

    

    A variety of interface descriptions for services exist. Examples of
    well-known types include XML-RPC, CORBA, REST, WSDL 1.1, WSDL 2.0,
    SNMP, and JMX.  Implementations ought to use the interface type
    mappings that best preserve the semantics of the underlying
    exchange.

    

    To establish a basis of comparison between two different interface
    definition types, the implementation has to map one or both of the
    interface descriptions to a common definition type.  The
    implementation has to identify that common type, and ought to keep
    possible conversion errors to a minimum by eliminating spurious
    conversions, and selecting the form with the best semantic
    relevance.  For example, if one interface description type maps to
    WSDL 1.1, and the other interface type is WSDL 1.1, then the SCA
    implementation ought to compare on the basis of WSDL 1.1.  When
    neither interface type can directly convert to the other interface
    type in question, and conversion to WSDL 1.1 is possible,
    implementations SHOULD map both interface descriptions to WSDL 1.1.

    

    

    

    Justifications for the above:

    

    The specification already allows for the use of remotable interfaces
    defined using something other than WSDL 1.1.  For example, a Java
    JMX interface description can be marked remotable.  The existing
    rules only reject the notion of compatibility when the two
    interfaces being compared are of different types, but don't actually
    reject the notion of remotability being applied to said interface
    types.  As a possible example, XML-RPC can be represented by a
    variety of description languages.

    

    The above change relaxes a constraint that imposes on an
    implementation the need to declare incompatibility where none may
    exist.  Specifically, by allowing additional scenarios to
    interoperate, the composers will be able to express interface
    definitions that more closely align to their implementation
    language, and the semantics of the underlying problem, rather than
    by restricting themselves to the subset of the interface description
    that maps to WSDL 1.1.
← Prev in month ← Prev in thread