OASIS Specification Template
[pic]
Telecom SOA Use Cases and Gap Analysis Version 1.0
OASIS TC Committee Draft
20 January 2009
Editor Note: The URL’s will be fixed in the next revision of the document.
Specification URIs:
This Version:
.html
.doc
.pdf
Previous Version:
.html
.doc
.pdf
Latest Version:
.html
.doc
.pdf
Technical Committee:
OASIS SOA for Telecom (SOA-TEL) Technical Committee
Chair(s):
MIke Giordano, giordano@, Chair
John Storrie, storrie@, Chair
Editor(s):
Abbie Barbir, abbieb@
Related work:
This specification replaces or supercedes:
• Not Applicable
This specification is related to:
• Not Applicable
Declared XML Namespace(s):
Not Applicable
Abstract:
TBD
Status:
This document was last revised or approved by the OASIS SOA for Telecom (SOA-Tel) TC on the above date. The level of approval is also listed above. Check the “Latest Version” or “Latest Approved Version” location noted above for possible later revisions of this document.
Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “Send A Comment” button on the Technical Committee’s web page at soa-tel/.
For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page ( soa-tel/ipr.php.
The non-normative errata page for this specification is located at soa-tel/.
Notices
Copyright © OASIS® 2009. All Rights Reserved.
All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.
OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.
The names "OASIS", are trademarks of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see for above guidance.
Table of Contents
1 Introduction 6
1.1 Terminology 6
1.2 Normative References 6
1.3 Non-Normative References 6
2 Web Services Related Gaps 8
2.1 Assumed standards Landscape and Architecture 8
2.2 Transaction Endpoints Specification 9
2.2.1 Scenario 9
2.2.2 Use Case 9
2.2.3 Possible Gaps 10
2.2.4 Editor Note: This is a place holder for possible Workaround 11
2.3 Service Non Functional Properties (NFP) 12
2.4 Service Discovery 12
2.5 Service Level Agreements (SLA) 12
2.5.1 Composed services and their part in Web Services Service Level Agreements (WSLA) 12
2.6 Telecom WS SOA Profile 13
2.7 Service Orchestration (BPEL) 13
3 Web 2.0 and Telco 2.0 14
3.1 Gaps Related to Parlay-X 14
3.1.1 Parlay-X Part 1 – Common 14
4 Mobile 15
5 Other Stacks 16
# Conformance 17
A. Acknowledgements 18
B. Non-Normative Text 19
C. Revision History 20
1 Introduction 5
1.1 Terminology 5
1.2 Normative References 5
1.3 Non-Normative References 5
2 Web Services Related Gaps 6
2.1 Assumed standards Landscape and Architecture 6
2.2 Transaction Endpoints Specification 7
2.2.1 Scenario 7
2.2.2 Use Case 7
2.2.3 Possible Gaps 8
2.2.4 Editor Note: This is a place holder for possible Workaround 9
2.3 Service Non Functional Properties (NFP) 10
2.4 Service Discovery 10
2.5 Service Level Agreements (SLA) 10
2.5.1 Composed services and their part in Web Services Service Level Agreements (WSLA) 10
2.6 Telecom WS SOA Profile 11
2.7 Service Orchestration (BPEL) 11
3 Web 2.0 and Telco 2.0 12
3.1 Gaps Related to Parlay-X 12
4 Other Stacks 13
# Conformance 14
A. Acknowledgements 15
B. Non-Normative Text 16
C. Revision History 17
Introduction
TBD
1 Terminology
The key words “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].
2 Normative References
[RFC2119] S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, , IETF RFC 2119, March 1997.
[WS-I Basic Profile] WS-I Basic Profile Version 1.0: "Final Material", available at .
[WSDL 1.1] W3C Note (15 March 2001): "Web Services Description Language (WSDL) 1.1".
.
3 Non-Normative References
Web Services Related Gaps
This section provides example uses cases that cover gaps that are related to web services standards as they apply to telecom services.
1 Assumed standards Landscape and Architecture
The figure in this section reflects the current understanding on the relationship between various standardization bodies to the work of this TC.
[pic]
Editor Note:
Need to develop a very high level architecture that illustrates how the uses cases will work. The architecture should include the role of mediation (proxies for thin and fat clients, mobility and other scenarios)
2 Transaction Endpoints Specification
1 Scenario
The issue presented in this contribution derives from a concrete case, implemented within Telecom Italia’s SOA Middleware.
Telecom Italia is in the process of deploying a SOA infrastructure, of which some of the constituting elements are an ESB (Enterprise Service Bus), a BPM (Business Process Manager), some “Service Consumers (systems or applications), some “Service Providers” (systems or applications).
An aspect to be considered is that to satisfy performance criteria it has been decided that the ESB must be intrinsically “stateless” (i.e. it must not store any persistence information on destination of incoming service requests).
Moreover, the “number” of ESBs can vary, i.e. there can be interconnetted trunks of different vendors’ ESBs.
2 Use Case
The following Use Case describes Telecom Italia’s technical problem. To improve readability the depicted use case presents only one instance of ESB, but the possible solution to the problem must satisfy also the cases of multiple instances of ESB.
A Service Consumer (C1 or C2) invokes a Service, implemented as a Web Service (Web Service A).
Such WSA is achieved as an “itinerary” with the composition of more elementary services, provided by Provider P1 and Provider P2.
The ESB provides intermediary services for final exposition, enrichment and Data reconciliation and routing.
• Case A: C1 is the originator and final receiver.
• Case B: C2 is the originator and final receiver.
[pic]
Figure 1 Scenario Implementation
[pic]
Figure 2 Scenario Flow
Use Case Steps:
Case A
• C1 invokes WSA, exposed by ESB.
• WSA is executed with the internal composition (transparent to C1) and with intermediary services provided by the ESB.
• At the end of the internal interactions, the ESB forwards the response to C1.
Case B
• C2 invokes WSA, exposed by ESB.
• WSA is executed with the internal composition (transparent to C2) and with intermediary services provided by the ESB.
• At the end of the internal interactions, the ESB forwards the response to C2.
3 Possible Gaps
To Telecom Italia’s knowledge and expertise, in presence of an ESB offering intermediary services, there is no formal way to specify the endpoint (e.g. C1 or C2) to which the final result of a “process/transaction" (i.e. asynch response) result should be sent.
4 Editor Note: This is a place holder for possible Workaround
This issue could be solved with the following “workaround” solution, which in any case is not mandatory but exploits some “optional” features of WS-Addressing.
Note:
This proposal does not require any “persistence” on any intermediary and is fully compliant with WS-Addressing specification.
Telecom Italia asks if, apart from the proposed workaround, there is another standard reference solution for the highlighted problem.
Should there be no other solution apart from the proposed workaround; TI proposes to extend the WS-Addressing specification in order that the “Message Properties” include a new tag (provisionally named “Final Destination”) to specify the process/transaction result.
Moreover the proposal is to make the utilization of this new tag as Mandatory whenever it is necessary to specify a “final destination”, i.e. in presence of a non-direct “requester-consumer” situation.
Proposed Workaround:
CASE A:
1. C1 invokes WS-A and specifies in the replyTo section of the WS-Addressing header the EPR (Endpoint Reference) where it wants to receive the async response (C1).
(Example: ).
2. The ESB invokes WSB and specifies in the replyTo section of the WS-Addressing header the EPR (Endpoint Reference) where it wants to receive the async response (Example: ). By doing so it takes the replyTo section received by C1 and embeds it in the referenceParameters section of replyTo. P1 is obliged by WS-Addressing specification to return the referenceParameters in the To section when sending the async response.
3. P1 returns the async response to the replyTo address (Example: ) specified by the ESB, together with the referenceParameters section.
4. The ESB invokes WSC and specifies in the replyTo section of the WS-Addressing header the EPR (Endpoint Reference) where it wants to receive the async response (Example: ). By doing so it takes the referenceParameters section received by WSB and embeds it in the replyTo section. P2 is obliged by WS-Addressing specification to return the referenceParameters in the To section when sending the async response.
5. P2 returns the async response to the ESB replyTo address (Example: ) specified by the ESB, which includes the referenceParameters section.
6. The ESB gets the replyTo info, embedded in the referenceParameters received from P2, to address the async response to C1.
CASE B:
Same as Case 1 with C2 originator and final destination.
3 Service Non Functional Properties (NFP)
Editor Note: This section is a place holder for Non Functional Properties. Contributions are encouraged.
4 Service Discovery
Editor Note: This section is a place holder for Discovery. Contributions are encouraged.
➢ To discover available services and may be other devices in a network
➢ Many techniques for service discovery
➢ UDDI for Web services
➢ Jini for Java objects
➢ Simple Service Discovery Protocol (SSDP) used for Universal plug-and-play (UPnP)
➢ DNS Service Discovery (DNS-SD)
➢ Bluetooth Service Discovery Protocol (SDP)
➢ Service Location Protocol (SLP)
➢ How about HTTP Discovery?
5 Service Level Agreements (SLA)
Editor Note: This is a place Holder for material on SLA
➢ Need to differentiate between service SLA and measuring service SLA compliance
➢ Services may need to have a service compliance interface (testing to verify claims against SLA)
➢ Relationship to service composition
➢ W-SLA, service testting and monitoring
➢ Relation to Non-functional properties
1 Composed services and their part in Web Services Service Level Agreements (WSLA)
➢ Need a taxonomy or ontology of service behaviors
➢ Need an approach to calculating behaviors of composed services
o Service failure is one of many identified behaviors
6 Telecom WS SOA Profile
Editor Note: This is a place Holder for material on Telecom SOA Profile. The main issue here is to identify the minimum number of WS specifications that need to be supported by Telecom Providers and establishing an interoperability profile to implement them in a composed fashion. Contributions are encouraged. Current specifications include:
← WS Addressing
← WS reliable messaging
← WS security
← SOAP over JMS
← General improvement of specs with guidelines to avoid proliferation of solutions
← WS-Policy
7 Service Orchestration (BPEL)
Editor Note: This is a place Holder for material on BPEL. Use cases are encouraged.
• BPEL originally designed for IT application space
• Purpose: integrate long running inter-machine business processes
• Evolution to include BPEL4People to provide human time frame interactions rather than machine speed
• Current benchmarks show 80 TPS on dual Xeon cpu
• Baseline HLR runs 5500 TPS (Telecom One TM1 benchmark)
• Basic SIP B2BUA is 10+ network transactions
There is a need for speed. Do we need a real time BPEL for Telecom.
Web 2.0 and Telco 2.0
Editor Note: A possible approach for this section is to take a deep dive into APIs such as Parlay-X, JAIN and CCTA and provide analysis of why these approaches have not been as widely accepted by the developer community.
1 Gaps Related to Parlay-X
Editor Note: The purpose of this section is to document the Gaps that Parlay-X encountered during their development. Defining new Parlay-X services or modifying current ones is out of scope. In this regard, contributions are encouraged to illustrate the workaround techniques that Parlay-X had to do to enable WS passed Telecom services.
Contributions are encouraged.
The definition of new Parlay-X API’s is out of scope for this OASIS working group.
If during the use case analysis process where Parlay-X API’s are used as part of this work, some corrective content or even a new API function is discovered then the current OMA ARC processes for submitting corrective content to existing Parlay-X API’s or creating new interfaces should be used by member companies.
Parlay-X Part 1 – Common
The Parlay-X API Part 1 is related to the definition of common types and other constructs used by the other Parlay-X API’s. The web services messages are conformant to WS-I Basic Profile for the SOAP, XML and HTTP components. The web service security model uses the WS-I Basic Profile for HTTP over TLS.
The WSDL interfaces are defined using the WSDL 1.1 specifications.
Mobile
Editor Note: This is a place Holder for material on mobility aspects of the telecom SOA working group.
SOAP Other Stacks
SOAP Gap: WS-Addressing
This information was submitted by Telecom Italia and accepted as part of the February 10th conference call.
|Title |SOAP Header Propagation |
|Source |Telecom Italia |
|Contact |Enrico Ronco (enrico.ronco@telecomitalia.it) |
|Authors |Federico Rossini, Luca Galeani, Enrico Ronco |
|Date |Feb. 10, 2009 |
|Revision |0 |
Scenario/context:
The issue presented in this contribution derives from a concrete case, occurred within the context of the development of Telecom Italia’s platform for Mobile Virtual Network Operators (MVNOs).
This contribution is related to a possible technical issue within the SOAP 1.2 specification (ref. ), in particular on the “SOAP Intermediary” and “Ultimate SOAP receiver” concepts.
The specification defines the following (section 1.5.3):
[pic]
In particular it is stated that
• A SOAP Intermediary processes the header of a SOAP message.
• An Ultimate SOAP receiver processes the body of a SOAP message and can not also be a SOAP intermediary for the same SOAP message.
The issue presented in the following Use Case illustrates the need to have a SOAP Intermediary which must process the body of a SOAP message in addition to its “canonical” role of processing the SOAP message header.
The case is included within the activities of deployment of a company-ware SOA infrastructure, of which some of the constituting elements are an ESB (Enterprise Service Bus), some “Service Consumers (systems or applications), some “Service Providers” (systems or applications), a BPM (Business Process Manager), etc.
Use Case:
A Service Consumer C1 (e.g. a CRM application) invokes a Web Service to execute a transaction within a specific business process for the management of Mobile Virtual Network Operators.
The access point for the Consumer C1 is the ESB, which exposes such Web Service and moreover typical functions such as Data Enrichment and Content Based Routing (CBR).
[pic]
Figure 1
Figure 2 contains the SOAP message which is the request formulated by the Service Consumer (e.g. the CRM application) to the ESB.
The request contains
• a SOAP Envelope (in black color). This is enclosed for completeness but is not subject of discussion within this contribution;
• the SOAP Header, in red color;
• the SOAP message Body, in blue (and green) color.
With reference to the SOAP 1.2 specification, the ESB is a “SOAP Node” (ref. Section 1.5).
[pic]
Figure 2: Original message created by the Client (Initial SOAP sender)
The ESB for this use case must process the body of the SOAP message in order to perform 2 operations:
1) “Data Enrichment”,
The ESB queries a provisioning system to obtain the IMSI of the asset (mobile phone number) in order to add such data to the message: it invokes a Web Service, exposed by that system, which takes in input the ICCD, present in the message, and returns the IMSI.
2) CBR (Content Based Routing)
The ESB decides on the final receiver of the SOAP message on the basis of the content of the “Context” field (in green in Figure 2).
Once such tasks are performed, the ESB deletes the “Context” field from the message and subsequently forwards the SOAP message to the selected Service Provider.
Note:
The Data Enrichment task is executed with the collaboration of other “Service Providers” (different than SP1 or SP2), but it is not a subject to be discussed within this contribution: for this reason details are omitted.
After such tasks are complete, the ESB must forward the SOAP message to the selected Service Provider, which is the “real” Ultimate SOAP receiver. The message that must be finally sent to the SP by the ESB is the one depicted in Figure 3.
It is fundamental to state that the Service Provider needs the header present in the SOAP message, e.g. because the content of the “business ID” field can not be associated to the body of the SOAP message.
Figure 3: Message needed by the Service Provider (Ultimate SOAP receiver)
Nevertheless, given the initial definitions (section 1.5.3 of the SOAP Specification), since the ESB needs to elaborate the body of the message, it becomes an “Ultimate SOAP receiver” and thus can not be simultaneously classified as “SOAP Intermediary”.
The consequence of this is that the ESB can not forward the header of the SOAP message to the selected Service Provider (i.e. to the “real” Ultimate SOAP receiver).
Thus the message really forwarded by the ESB is depicted in Figure 4.
Figure 4: message effectively forwarded by the ESB to the appropriate Service Provider
This is a real case faced by Telecom Italia, and to overcome the problem some costly ad-hoc developments-customizations were necessary to re-build / reinsert the necessary header within the message before the ESB could forward the “complete” message to the final Service Provider.
Perceived Technical issue:
In the SOAP specification the following is stated.
-------------------
1 2.1 SOAP Nodes
A SOAP node can be the initial SOAP sender, an ultimate SOAP receiver, or a SOAP intermediary. A SOAP node receiving a SOAP message MUST perform processing according to the SOAP processing model as described in this section and in the remainder of this specification … etc.
2 2.2 SOAP Roles and SOAP Nodes
In processing a SOAP message, a SOAP node is said to act in one or more SOAP roles, each of which is identified by a URI known as the SOAP role name. The roles assumed by a node MUST be invariant during the processing of an individual SOAP message. This specification deals only with the processing of individual SOAP messages. No statement is made regarding the possibility that a given SOAP node might or might not act in varying roles when processing more than one SOAP message.
Table 2 defines three role names which have special significance in a SOAP message (see 2.6 Processing SOAP Messages).
|Table 2: SOAP Roles defined by this specification |
|Short-name |Name |Description |
|next |"" |Each SOAP intermediary and the ultimate SOAP |
| | |receiver MUST act in this role. |
|none |"" |SOAP nodes MUST NOT act in this role. |
|ultimateReceiver |" ultimate receiver MUST act in this role. |
| |" | |
In addition to the SOAP role names defined in Table 2, other role names MAY be used as necessary to meet the needs of SOAP applications.
-------------------
Due to the fact that the ESB (as a SOAP Node) processes the body of the message, it is classified as “ultimateReceiver”.
As a consequence, the ESB can not “Forward” the SOAP Header to the appropriate Service Provider (ref. Sections 2.7.1 of the SOAP specification) since it has value “ultimateReceiver”. The following table depicts the behavior of the ESB being an ultimateReceiver.
[pic]
The case presented shows that a SOAP Intermediary (the ESB), which is clearly not the “ultimate receiver” of the SOAP message, is forced to assume the role of “ultimateReceiver” since it processes the body of the message. This prevents the ESB to correctly perform it s “proper” intermediary role, since “An ultimate SOAP receiver cannot also be a SOAP intermediary for the same SOAP message”.
The perceived technical gap suggested by Telecom Italia is that the SOAP specification should be modified in order to enable a SOAP Intermediary node to “forward” the SOAP Header in automatic mode (thus without the Header reinsertion) even if such node performs some processing operation over the body of the SOAP message.
Another way of expressing this perceived gap is to state that currently only 3 roles are allowed for a SOAP Node (i.e. initial SOAP Sender, SOAP intermediary, SOAP ultimate receiver – section 2.1 of the SOAP 1.2 specification), while a probable fourth role enabling the simultaneous body processing and header forwarding of a specific SOAP message may be needed.
Should the specification already enable this, Telecom Italia suggests to modify them in order to avoid possible ambiguities and misinterpretations.
------------
# Conformance
The last numbered section in the specification must be the Conformance section. Conformance Statements/Clauses go here.
A. Acknowledgements
The following individuals have participated in the creation of this specification and are gratefully acknowledged:
Participants:
B. Non-Normative Text
C. Revision History
|Revision |Date |Editor |Changes Made |
|1.0 |Jan 20, 2009 |Abbie Barbir |Started all sections in the document |
-----------------------
NOTE: The proper format for a citation to an OASIS Technical Committee’s work (whether Normative or Non-Normative) is:
OASIS
Stage (Committee Draft 01, Committee Draft 02, Committee Specification 01, etc. or Standard)
Title (italicized or in quotation marks)
Approval Date (Month YYYY)
URI of the actual Authoritative Specification (namespace is not acceptable as the content changes over time)
For example:
EDXL-HAVE OASIS Standard, “Emergency Data Exchange Language (EDXL) Hospital AVailability Exchange (HAVE) Version 1.0”, November 2008.
c1
c2
WS A
1a
WS C resp
Provider P1
Provider P2
WS B resp
2
3
ESB
4
5
6a
6b
1b
WS C
WS B
Market-driven
interoperability profiles
Abstraction / Enablers
Framework
Architecture
Models
WS-*
IEEE
Gap
ITU-T
OMA
Body
TMF
OMG
OASIS
Life Cycle Mgmt
Policy
Identity Management
…
Transport
IT?
Parlay - X
Event Driven
Architecture
Model Driven
Architecture
Non-functional
properties
SID
…
BEPL
…
…
Security
NGN SOA Framework
Telecom SOA Profile (Gap?)
Mobile Device SOA Profile
Telecom Management SOA Profile (SDF)
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
String
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.