CAN/CSA-ISO/IEC 29361:18
1.1 Scope
This International Standard defines the WS-I Basic Profile 1.1 (hereafter, "Profile"),
consisting of a set of non-proprietary Web services specifications, along with
clarifications, refinements, interpretations and amplifications of those specifications
which promote interoperability.
Section 1 introduces the Profile, and explains its relationships to other profiles.
Section 2, "Profile Conformance", explains what it means to be conformant to the
Profile.
Each subsequent section addresses a component of the Profile, and consists of
two parts: an overview detailing the component specifications and their
extensibility points, followed by subsections that address individual parts of the
component specifications. Note that there is no relationship between the section
numbers in this International Standard and those in the referenced specifications.
1.2 Relationships to Other Profiles
This Profile is derived from the Basic Profile 1.0 by incorporating any errata to date
and separating out those requirements related to the serialization of envelopes
and their representation in messages. Such requirements are now part of the
Simple SOAP Binding Profile 1.0, identified with a separate conformance claim.
This separation is made to facilitate composability of Basic Profile 1.1 with any
profile that specifies envelope serialization, including the Simple SOAP Binding
Profile 1.0 and the Attachments Profile 1.0. A combined claim of conformance to
both the Basic Profile 1.1 and the Simple SOAP Binding Profile 1.0 is roughly
equivalent to a claim of conformance to the Basic Profile 1.0 plus published errata.
This Profile, composed with the Simple SOAP Binding Profile 1.0 supercedes the
Basic Profile 1.0. The Attachments Profile 1.0 adds support for SOAP with
Attachments, and is intended to be used in combination with this Profile.
1.3 Changes from Basic Profile Version 1.0
This specification is derived from the Basic Profile Version 1.0, and incorporates
published errata against that specification. The most notable changes are:
• MESSAGE conformance target - Some requirements that had a MESSAGE
conformance target in BP1.0 now use a new target, ENVELOPE. This
facilitates alternate serialisations of the message, such as that described in
the Attachments Profile.
• SOAP Binding - Requirements relating to the SOAP binding's serialization
of the message have been moved to the Simple SOAP Binding Profile to
facilitate other serializations.
1.4 Guiding Principles
The Profile was developed according to a set of principles that, together, form the
philosophy of the Profile, as it relates to bringing about interoperability. This
section documents these guidelines.
No guarantee of interoperability
It is impossible to completely guarantee the interoperability of a particular
service. However, the Profile does address the most common problems that
implementation experience has revealed to date.
Application semantics
Although communication of application semantics can be facilitated by the
technologies that comprise the Profile, assuring the common understanding
of those semantics is not addressed by it.
Testability
When possible, the Profile makes statements that are testable. However,
such testability is not required. Preferably, testing is achieved in a nonintrusive
manner (e.g., examining artifacts "on the wire").
Strength of requirements
The Profile makes strong requirements (e.g., MUST, MUST NOT) wherever
feasible; if there are legitimate cases where such a requirement cannot be
met, conditional requirements (e.g., SHOULD, SHOULD NOT) are used.
Optional and conditional requirements introduce ambiguity and mismatches
between implementations.
Restriction vs. relaxation
When amplifying the requirements of referenced specifications, the Profile
may restrict them, but does not relax them (e.g., change a MUST to a
MAY).
Multiple mechanisms
If a referenced specification allows multiple mechanisms to be used
interchangeably, the Profile selects those that are well-understood, widely
implemented and useful. Extraneous or underspecified mechanisms and
extensions introduce complexity and therefore reduce interoperability.
Future compatibility
When possible, the Profile aligns its requirements with in-progress revisions
to the specifications it references. This aids implementers by enabling a
graceful transition, and assures that WS-I does not 'fork' from these efforts.
When the Profile cannot address an issue in a specification it references,
this information is communicated to the appropriate body to assure its
consideration.
Compatibility with deployed services
Backwards compatibility with deployed Web services is not a goal for the
Profile, but due consideration is given to it; the Profile does not introduce a
change to the requirements of a referenced specification unless doing so
addresses specific interoperability issues.
Focus on interoperability
Although there are potentially a number of inconsistencies and design flaws
in the referenced specifications, the Profile only addresses those that affect
interoperability.
Conformance targets
Where possible, the Profile places requirements on artifacts (e.g., WSDL
descriptions, SOAP messages) rather than the producing or consuming
software's behaviors or roles. Artifacts are concrete, making them easier to
verify and therefore making conformance easier to understand and less
error-prone.
Lower-layer interoperability
The Profile speaks to interoperability at the application layer; it assumes
that interoperability of lower-layer protocols (e.g., TCP, IP, Ethernet) is
adequate and well-understood. Similarly, statements about application-layer
substrate protocols (e.g., SSL/TLS, HTTP) are only made when there is an
issue affecting Web services specifically; WS-I does not attempt to assure
the interoperability of these protocols as a whole. This assures that WS-I's
expertise in and focus on Web services standards is used effectively.
1.5 Notational Conventions
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119.
Normative statements of requirements in the Profile (i.e., those impacting
conformance, as outlined in "Conformance Requirements") are presented in the
following manner:
RnnnnStatement text here.
where "nnnn" is replaced by a number that is unique among the requirements in
the Profile , thereby forming a unique requirement identifier.
Requirement identifiers can be considered to be namespace qualified, in such a
way as to be compatible with QNames from Namespaces in XML. If there is no
explicit namespace prefix on a requirement's identifier (e.g., "R9999" as opposed
to "bp10:R9999"), it should be interpreted as being in the namespace identified by
the conformance URI of the document section it occurs in. If it is qualified, the
prefix should be interpreted according to the namespace mappings in effect, as
documented below.
Some requirements clarify the referenced specification(s), but do not place
additional constraints upon implementations. For convenience, clarifications are
annotated in the following manner: C
Some requirements are derived from ongoing standardization work on the
referenced specification(s). For convenience, such forward-derived statements are
annotated in the following manner: xxxx, where "xxxx" is an identifier for the
specification (e.g., "WSDL20" for WSDL Version 2.0). Note that because such
work was not complete when this document was published, the specification that
the requirement is derived from may change; this information is included only as a
convenience to implementers.
Extensibility points in underlying specifications (see "Conformance Scope") are
presented in a similar manner:
EnnnnExtensibility Point Name - Description
where "nnnn" is replaced by a number that is unique among the extensibility points
in the Profile. As with requirement statements, extensibility statements can be
considered namespace-qualified.
This specification uses a number of namespace prefixes throughout; their
associated URIs are listed below. Note that the choice of any namespace prefix is
arbitrary and not semantically significant.
• soap - "http://schemas.xmlsoap.org/soap/envelope/"
• xsi - "http://www.w3.org/2001/XMLSchema-instance"
• xsd - "http://www.w3.org/2001/XMLSchema"
• soapenc - "http://schemas.xmlsoap.org/soap/encoding/"
• wsdl - "http://schemas.xmlsoap.org/wsdl/"
• soapbind - "http://schemas.xmlsoap.org/wsdl/soap/"
• uddi - "urn:uddi-org:api_v2"
1.6 Profile Identification and Versioning
This document is identified by a name (in this case, Basic Profile) and a version
number (here, 1.1). Together, they identify a particular profile instance.
Version numbers are composed of a major and minor portion, in the form
"major.minor". They can be used to determine the precedence of a profile
instance; a higher version number (considering both the major and minor
components) indicates that an instance is more recent, and therefore supersedes
earlier instances.
Instances of profiles with the same name (e.g., "Example Profile 1.1" and
"Example Profile 5.0") address interoperability problems in the same general
scope (although some developments may require the exact scope of a profile to
change between instances).
One can also use this information to determine whether two instances of a profile
are backwards-compatible; that is, whether one can assume that conformance to
an earlier profile instance implies conformance to a later one. Profile instances
with the same name and major version number (e.g., "Example Profile 1.0" and
"Example Profile 1.1") MAY be considered compatible. Note that this does not
imply anything about compatibility in the other direction; that is, one cannot
assume that conformance with a later profile instance implies conformance to an
earlier one.
SDO:
CSA
Language:
English
ICS Codes:
35.100.05
Status:
Standard
Publish date:
2017-12-31
Standard Number:
CAN/CSA-ISO/IEC 29361:18