SOA-EERP Business Quality of Service Version 1.0
Committee Draft 03
6 January 2010
Specification URIs:
This Version:
http://docs.oasis-open.org/soa-eerp/bqos/v1.0/SOA-EERP-bQoS-Spec-cd03.html
http://docs.oasis-open.org/soa-eerp/bqos/v1.0/SOA-EERP-bQoS-Spec-cd03.doc
http://docs.oasis-open.org/soa-eerp/bqos/v1.0/SOA-EERP-bQoS-Spec-cd03.pdf (Authoritative)
Previous Version:
N/A
Latest Version:
http://docs.oasis-open.org/soa-eerp/bqos/v1.0/SOA-EERP-bQoS-Specification.html
http://docs.oasis-open.org/soa-eerp/bqos/v1.0/SOA-EERP-bQoS-Specification.doc
http://docs.oasis-open.org/soa-eerp/bqos/v1.0/SOA-EERP-bQoS-Specification.pdf
Technical Committee:
OASIS Service-Oriented Architecture End-to-End Resource Planning (SOA-EERP) TC
Chair(s):
William Cox
Andy Lee, Changfeng Open Standards Platform Software Alliance
Editor(s):
Szu Chang, Changfeng Open Standards Platform Software Alliance
Related work:
This specification is related to:
· SOA-EERP Business Rating of Service specification, Version 1.0, http://docs.oasis-open.org/soa-eerp/rt/v1.0/SOA-EERP-Rating-Specification.pdf
· SOA-EERP Business Service Level Agreement specification, Version 1.0, http://docs.oasis-open.org/soa-eerp/sla/v1.0/SOA-EERP-BSLA-Specification.pdf
This document is one of three closely related specifications, SOA-EERP Business Quality of Service (bQoS), SOA-EERP Rating and SOA-EERP Service Level Agreement which need to be understood in combination.
Declared XML Namespace(s):
http://docs.oasis-open.org/ns/soa-eerp/bqos/200903
Abstract:
This document specifies the XML vocabulary for business quality of service (bQoS), one of three Specifications for end-to-end resource planning (EERP). Business quality of service describes the business-related characteristics or attributes of a service.
Status:
This document was last revised by the SOA-EERP 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 http://www.oasis-open.org/committees/soa-eerp/.
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 (http://www.oasis-open.org/committees/soa-eerp/ipr.php).
The non-normative errata page for this specification is located at http://www.oasis-open.org/committees/soa-eerp/.
Notices
Copyright © OASIS® 2010. 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", “SOA-EERP”, “EERP-BQoS” 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 http://www.oasis-open.org/who/trademark.php for above guidance.
Table of Contents
2 Quality Measurement Indicators
6.1 Service Price with a Batch of Products Examples
This document is the specification for Business Quality of Service (bQoS) for End-to-End Resource Planning (EERP), an XML vocabulary by which a business application may communicate selected characteristics of the service it provides.
EERP applies service discovery, composition, simulation, and optimization techniques in a novel way to improve business results. It models the business process and the range of potential services, then guide the selection and deployment of services based on the end-to-end business value.
Modeling the business characteristics of a service is a prerequisite for estimating the business value of the process that uses those services. The business characteristics of the service defined in this bQoS specification will enable EERP to determine the varieties of optimization to be supported, and to select optimal end-to-end solution.
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].
This specification uses the following syntax to define outlines for detailed elements:
Elements and Attributes defined by this specification are referred to in the text of this document using XPath 1.0 expressions. Extensibility points are referred to using an extended version of this syntax:
Extensibility points in the exemplar may not be described in the corresponding text.
[RFC2119] S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, http://www.ietf.org/rfc/rfc2119.txt, IETF RFC 2119, March 1997.
[SOAP] W3C Note, "SOAP: Simple Object Access Protocol 1.1", 08 May 2000.
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/
[SOAP12] W3C Recommendation, "SOAP 1.2 Part 1: Messaging Framework", 24 June 2003.
http://www.w3.org/TR/2003/REC-soap12-part1-20030624/
[URI] T. Berners-Lee, R. Fielding, L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 3986, MIT/LCS, Day Software, Adobe Systems, January 2005.
http://www.ietf.org/rfc/rfc3986.txt
[UBL-20] OASIS Standard, “Universal Business Language (UBL) v2.0”, 12 December 2006
http://docs.oasis-open.org/ubl/os-UBL-2.0/UBL-2.0.pdf
[UBL-20-cbc] Universal Business Language (UBL) v2.0, Common Basic Components
http://docs.oasis-open.org/ubl/os-UBL-2.0/xsd/common/UBL-CommonBasicComponents-2.0.xsd
[UBL-20-udt] Universal Business Language (UBL) v2.0. Unqualified Data Type
http://docs.oasis-open.org/ubl/os-UBL-2.0/xsd/common/UnqualifiedDataTypeSchemaModule-2.0.xsd
[XML-Schema1] W3C Recommendation, "XML Schema Part 1: Structures Second Edition", 28 October 2004.
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/
[XML-Schema2] W3C Recommendation, "XML Schema Part 2: Datatypes Second Edition", 28 October 2004.
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/
[ISO8601] ISO Standard 8601:2004(E), "Data elements and interchange formats – Information interchange - Representation of dates and times", Third edition, December 2004
http://isotc.iso.org/livelink/livelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&nodeid=4021199
[CEFACT] CEFACT – Core components specifications - http://webster.disa.org/cefact-groups/tmg/
In this document reference is made to some basic elements and data types in UBL 2.0, in the following schema:
· UBL 2.0 Common Basic Components [UBL-20-cbc], UBL-CommonBasicComponents-2.0.xsd
· UBL 2.0 Unqualified Data Type [UBL-20-udt], UnqualifiedDataTypeSchemaModule-2.0.xsd
This specification is designed to work with the general Web Services framework including WSDL service descriptions, and SOAP message structure and message processing model. The XML vocabulary defined in bQoS should be applicable to any version of SOAP.
None.
The Business Quality of Service (BQoS) of the XML vocabulary is defined in XML Schema format that defines many quality measurement indicators.
The XML namespace URI that MUST be used by implementations of this specification is:
http://docs.oasis-open.org/ns/soa-eerp/bqos/200903
Table 2 lists XML namespaces that are used in this specification. The choice of any namespace prefix is arbitrary and not semantically significant.
Table 1: Prefixes and XML Namespaces used in this specification.
Prefix |
Namespace |
Specification(s) |
S |
http://schemas.xmlsoap.org/soap/envelope/ |
[SOAP] |
S12 |
[SOAP12] |
|
xsd |
http://www.w3.org/2001/XMLSchema |
[XML-Schema1], [XML-Schema2] |
cbc |
urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 |
|
udt |
urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2 |
[UBL-20-udt] , [CEFACT] |
ccts |
urn:un:unece:uncefact:documentation:2 |
|
bqos |
http://docs.oasis-open.org/ns/soa-eerp/bqos/200903 |
This specification |
A normative copy of the XML Schema [XML-Schema1, XML-Schema2] description for this specification can be retrieved from the following address:
http://docs.oasis-open.org/soa-eerp/eerp-bqos/200903/eerp-bqos.xsd
The BQoS is the root element for the Business Quality of Service schema. It can have one or more of the following elements:
· BQoSPrice indicates price or cost for the service
· BQoSPerformance indicates time to complete the service, or in the alternative, throughput and latency.
· BQoSQualities indicates additional properties and attributes.
· Any additional elements for quality of service can be either:
o Technical aspect such as service availability, accessibility, integrity, reliability, and security; or
o Business aspects such as regulatory, geo location, operation hours, and payment methods.
Syntax
<bqos:BQoS
xmlns:bqos="..." ...>
<bqos:BQoSPrice ...>bqos:BQoSPriceType</bqos:BQoSPrice>
<bqos:BQoSPerformance ...>bqos:BQoSPerformanceType</bqos:BQoSPerformance> ?
<bqos:BQoQualities...>bqos:BQoSQualitiesType</bqos:BQoSQualities> ?
...
</bqos:BQoS>
The following describes the attributes and elements listed in the schema outlined above:
/bqos:BQoS
The root element for bQoS
/bqos:BQoS/bqos:BQoSPrice
Price aspect of the service, including the price and other optional elements, see Section 3 for more details.
/bqos:BQoS/bqos:BQoSPrice/@{any}
This is an extensibility mechanism to allow additional attributes, based on schemas, to be added to the BQoSPrice element in the future. Unrecognized attributes MAY cause a fault or be silently ignored.
/bqos:BQoS/bqos:BQoSPerformance
Performance aspect of the service that has time period for the time to complete the whole service, the throughput for duration to complete number of jobs, or optional elements, see Section 4 for more details.
/bqos:BQoS/bqos:BQoSPerformance/@{any}
This is an extensibility mechanism to allow additional attributes, based on schemas, to be added to the BQoSPerformance element in the future. Unrecognized attributes MAY cause a fault or be silently ignore.
/bqos:BQoS/bqos:BQoSQualities
Quality aspect of the service that has additional properties and attributes to describe the quality of the service, see Section 5 for more details.
/bqos:BQoS/bqos:BQoSQualities/@{any}
This is an extensibility mechanism to allow additional attributes, based on schemas, to be added to the BQoSQualities element in the future. Unrecognized attributes MAY cause a fault or be silently ignore.
/bqos:BQoS/@{any}
This is an extensibility mechanism to allow additional attributes, based on schemas, to be added to the BQoS element in the future. Unrecognized attributes MAY cause a fault or be silently ignore.
/bqos:BQoS/{any}
This is an extensibility mechanism to allow different (extensible) elements to be specified in the future. Unrecognized elements MAY cause a fault or be silently ignored.
BQoSPrice, the Price element for bQoS, describes the price for the service. Price can be expressed in various ways.
There SHOULD be one BQoSPrice element present in the business quality of service.
Syntax
<bqos:BQoSPrice
xmlns:bqos="..." ...>
<bqos:Price>bqos:PriceType
<bqos:Unit unitCode="clm66411:UnitCodeContentType" >cbc:BaseUnitMeasureType</bqos:Unit> ?
<bqos:Amount currencyID=" clm54217:CurrencyCodeContentType">cbc:AmountType</bqos:Amount>
</bqos:Price>
...
</bqos:BQoSPrice>
The following describes the attributes and elements listed in the schema outlined above:
/bqos:BQoS/bqos:BQoSPrice
Price aspects of the service, including the price and other optional elements
/bqos:BQoS/bqos:BQoSPrice/bqos:Price
Price element that represent the single price for BQoSPrice
/bqos:BQoS/bqos:BQoSPrice/bqos:Price/bqos:Unit
Number of units is a optional element that includes the unit of measurement using cbc:BaseUnitMeasureType
/bqos:BQoS/bqos:BQoSPrice/bqos:Price/bqos:Unit/@unitCode
Unit of measurement in cbc:BaseUnitMeasureType. It is a required attribute using clm66411:unitCodeContentType, xmlns:clm66411="urn:un:unece:uncefact:codelist:specification:66411:2001"
/bqos:BQoS/bqos:BQoSPrice/bqos:Price/bqos:Amount
Amount is a required element in the Price element. It uses cbc:AmountType from UBL that has a required currencyID attribute for currency code.
/bqos:BQoS/bqos:BQoSPrice/bqos:Price/bqos:Amount/@currencyID
Currency ID in cbc:AmountType. It is a required attribute using clm54217:CurrencyCodeContentType, xmlns:clm54217="urn:un:unece:uncefact:codelist:specification:54217:2001"
/bqos:BQoS/bqos:BQoSPrice/{any}
This is an extensibility mechanism to allow different (extensible) price elements to be specified in the future. Unrecognized elements MAY cause a fault or be silently ignore.
Example
The following example illustrates the use of bQoS price element. It describes 10 units for price of $171.50 US dollar:
(001) <?xml version="1.0" encoding="utf-8"?>
(002) <BQoSPrice xmlns="..." ...>
(003) <Price>
(004) <Unit unitCode="EA">10</Unit>
(005) <Amount currencyID="USD">171.50</Amount>
(006) </Price>
(007) </BQoSPrice>
BQoSPerformance element for bQoS is the quality of service measured in the time to complete, or alternatively as throughput and latency.
There MAY be zero or one BQoSPerformance element present in the business quality of service.
Syntax
<bqos:BQoSPerformance
xmlns:bqos="..." ...>
<bqos:TimePeriod ... >bqos:TimePeriodType
<bqos:Duration unitCode="clm66411:UnitCodeContentType">cbc:DurationMeasureType</bqos:Duration>
<bqos:Latency unitCode=="clm66411:UnitCodeContentType">cbc:DurationMeasureType</bqos:Latency> ?
<bqos:StartTime>udt:DateTimeType</bqos:StartTime> ?
</bqos:TimePeriod> |
<bqos:Throughput ...>
<bqos:Quantity unitCode="clm66411:UnitCodeContentType"> ... </bqos:Quantity>
<bqos:Duration unitCode="clm66411:UnitCodeContentType"> cbc:DurationMeasureType</bqos:Duration>
<bqos:Latency unitCode="clm66411:UnitCodeContentType"> cbc:DurationMeasureType</bqos:Latency> ?
</bqos:Throughput> |
...
</bqos:BQoSPerformance>
The following describes the attributes and elements listed in the schema outlined above:
/bqos:BQoS/bqos:BQoSPerformance
Performance aspect of the service that has time period for the time to complete the whole service job, the throughput for duration to complete number of jobs, or an optional elements.
/bqos:BQoS/bqos:BQoSPerformance/bqos:TimePeriod
TimePeriod is the time period to complete the service, including the duration to complete the service, and optional elements for start time and latency.
/bqos:BQoS/bqos:BQoSPerformance/bqos:TimePeriod/bqos:Duration
Duration element is a required element in the TimePeriod element which is the duration to complete the service. It uses cbc:DurationMeasureType from UBL that has a required unitCode attribute for unit of measurement on the time.
/bqos:BQoS/bqos:BQoSPerformance/bqos:TimePeriod/bqos:Duration/@unitCode
Unit of measurement in cbc:BaseUnitMeasureType. It is a required attribute for the duration time, such as Second, Minute, Hour, Day, Week, etc, using clm66411:unitCodeContentType, xmlns:clm66411="urn:un:unece:uncefact:codelist:specification:66411:2001".
/bqos:BQoS/bqos:BQoSPerformance/bqos:TimePeriod/bqos:StartTime
StartTime is an optional element for the date and time to start the service. It uses udt:DateTimeType which is in UTC time format [ISO8601].
/bqos:BQoS/bqos:BQoSPerformance/bqos:TimePeriod/bqos:Latency
Latency is an optional element that describes the time delay before a service is expected to begin. It uses cbc:DurationMeasureType from UBL that has a required unitCode attribute for unit of measurement on the time.
/bqos:BQoS/bqos:BQoSPerformance/bqos:TimePeriod/bqos:Latency/@unitCode
Unit of measurement in cbc:BaseUnitMeasureType. It is a required attribute for the duration time, such as Second, Minute, Hour, Day, Week, etc, using clm66411:unitCodeContentType, xmlns:clm66411="urn:un:unece:uncefact:codelist:specification:66411:2001".
/bqos:BQoS/bqos:BQoSPerformance/bqos:Throughput
Throughput of the performance which is measured by is the amount of work that a service can provide in a given time period. It includes the quantity of the item and the duration to complete the work.
/bqos:BQoS/bqos:BQoSPerformance/bqos:Throughput/bqos:Duration
Duration element is a required element in the Throughput element. This is the duration to complete the service. It uses cbc:DurationMeasureType from UBL that has a required unitCode attribute for unit of measurement on the time.
/bqos:BQoS/bqos:BQoSPerformance/bqos:Throughput/bqos:Duration/@unitCode
Unit of measurement in cbc:BaseUnitMeasureType. It is a required attribute for the duration time, such as Second, Minute, Hour, Day, Week, etc, using clm66411:unitCodeContentType, xmlns:clm66411="urn:un:unece:uncefact:codelist:specification:66411:2001"
/bqos:BQoS/bqos:BQoSPerformance/bqos:Throughput/bqos:Quantity
Quantity is a required element in the Throughput element. It is the numbers for the throughput, with an attribute of unit of measurement, such as EA, pounds, cubic-feet, etc.
/bqos:BQoS/bqos:BQoSPerformance/bqos:Throughput/bqos:Latency
Latency is an optional element for the time delay for starting the service. It uses cbc:DurationMeasureType from UBL that has a required unitCode attribute for unit of measurement on the time.
/bqos:BQoS/bqos:BQoSPerformance/bqos:Throughput/bqos:Latency/@unitCode
Unit of measurement in cbc:BaseUnitMeasureType. It is a required attribute for the duration time, such as Second, Minute, Hour, Day, Week, etc, using clm66411:unitCodeContentType, xmlns:clm66411="urn:un:unece:uncefact:codelist:specification:66411:2001".
/bqos:BQoS/bqos:BQoSPerformance/{any}
This is an extensibility mechanism to allow different (extensible) performance or time elements to be specified in the future. Unrecognized elements MAY cause a fault or be silently ignore.
Example
The following example illustrates the use of bQoS Performance element using the Throughput element instead of TimePeriod element. It describes the throughput of 10 units per day:
(001) <?xml version="1.0" encoding="utf-8"?>
(002) <BQoSPerformance xmlns="..." ...>
(003) <Throughput>
(004) <Duration unitCode="DAY">1</Duration>
(005) <Quantity unitCode="EA">10.0</Quantity>
(006) </Throughput>
(007) </BQoSPerformance>
The following example illustrates the use of bQoS Performance element using the TimePeriod element. It describes the 8 hours of the duration, and can be started on October 17, 2009, 9:30:47.02 Zulu time:
(001) <?xml version="1.0" encoding="utf-8"?>
(002) <BQoSPerformance xmlns="..." ...>
(003) <TimePeriod>
(004) <Duration unitCode="HUR">8</Duration>
(005) <StartTime>2009-10-17T09:30:47.0Z</StartTime>
(006) </TimePeriod>
(007) </BQoSPerformance>
The BQoSQualities, the Quality elements for bQoS, describes additional properties and attributes for the service.
There SHOULD be zero or one BQoSQualities element present in the business quality of service.
Syntax
<bqos:BQoSQualities xmlns:bqos="..." ...>
<bqos:Property>bqos:PropertyType
<bqos:PropertyName ...>bqos:PropertyNameType</bqos:PropertyName>
<bqos:PropertyValue ...>bqos:PropertyValue</bqos:PropertyValue> ?
</bqos:Property> +
...
</bqos:BQoSQualities>
The following describes the attributes and elements listed in the schema outlined above:
/bqos:BQoS/bqos:BQoSQualities
Quality aspect of the service is measured in terms of additional properties and attributes. It has a list of property for BQoSQualities and other optional elements.
/bqos:BQoS/bqos:BQoSQualities/bqos:Property
Property element is for additional property or attribute for quality measurement of the service in bQoS that has name and value pair to describe the quality of the service.
/bqos:BQoS/bqos:BQoSQualities/bqos:PropertyName
Property name is a required element for the name in the name and value pair in the Property element. It uses bqos:PropertyNameType which is a cbc:NamType from UBL that has a optional languageID attribute for language code.
/bqos:BQoS/bqos:BQoSQualities/bqos:Property/bqos:PropertyName/@languageID
Language ID is an optional attribute in the PropertyName element, using xsd:language type. The value can be those defined in urn:un:unece:uncefact:codelist:specification:5639:1988.
/bqos:BQoS/bqos:BQoSQualities/bqos:Property/bqos:PropertyName/@{any}
This is an extensibility mechanism to allow additional attributes, based on schemas, to be added to the PropertyName element in the future. This can be thy namespace and the format for the Property. Unrecognized attributes MAY cause a fault or be silently ignore.
/bqos:BQoS/bqos:BQoSQualities/bqos:Property/bqos:PropertyValue
The property value is an optional element for the value in the name and value pair in the Property element. It uses bqos:PropertyValueType which is a cbc:NamType from UBL that has a optional languageID attribute for language code.
/bqos:BQoS/bqos:BQoSQualities/bqos:Property/bqos:PropertyValue/@languageID
Language ID is an optional attribute in the PriceValue element, using xsd:language type. The value can be those defined in urn:un:unece:uncefact:codelist:specification:5639:1988.
/bqos:BQoS/bqos:BQoSQualities/bqos:Property/@{any}
This is an extensibility mechanism to allow additional attributes, based on schemas, to be added to the Property element in the future. Unrecognized attributes MAY cause a fault or be silently ignore.
/bqos:BQoS/bqos:BQoSQualities/{any}
This is an extensibility mechanism to allow different (extensible) property or attribute elements to be specified in the future. Unrecognized elements MAY cause a fault or be silently ignore. For example, one or more /bqos:BQoS/bqos:BQoSQualities/Performance:QualityAssertion elements can be placed in here for the Service Provider to assert the specific Qualities of its services.
Example
The following example illustrates the use of bQoS price element. It describes the Class is Golden and it has “Network Connection” as additional property for this service:
(001) <?xml version="1.0" encoding="utf-8"?>
(002) <BQoSQualities xmlns="..." ...>
(003) <Property>
(004) <PropertyName languageID="EN">Class</PropertyName>
(005) <PropertyValue>Golden</PropertyValue>
(006) </Property>
(003) <Property>
(004) <PropertyName languageID="EN">Network Connection</PropertyName>
(006) </Property>
(007) </BQoSQualities>
This BQoS example will show the following quality indicators:
1. The service price is CNY 120000 per service, including 1000 gas-meters for one batch.
2. The throughput is usually 1 week or 7 days for the service. In another words, it will cost 1 week or 7 days to provide and delivery 1000 gas-meters as one batch of product.
3. The service has additional attributes to provide the IC card gas-meters integrated with iron IC-card box for the quality indicators.
Example
The following example illustrates the whole BQoS document for quality indicators:
(01) <?xml version="1.0" encoding="UTF-8"?>
(02) <bqos:BQoS xmlns:bqos="..." ... >
(03) <bqos:BQoSPrice
(04) <bqos:Price>
(05) <bqos:Unit unitCode="EA">1000</bqos:Unit>
(06) <!-- CNY: Chinese Yuan -->
(07) <bqos:Amount currencyID="CNY">120000</bqos:Amount>
(08) </bqos:Price>
(09) </bqos:BQoSPrice>
(10) <bqos:BQoSPerformance>
(11) <bqos:Throughput>
(12) <!-- delivery: 1 week -->
(13) <bqos:Duration unitCode="DAY">7</bqos:Duration>
(14) <!-- batch production, generally 1000 sets a batch -->
(15) <bqos:Quantity>1000</bqos:Quantity>
(16) <bqos:Latency unitCode="DAY">0</bqos:Latency>
(17) </bqos:Throughput>
(18) </bqos:BQoSPerformance>
(19) <bqos:BQoSQualities>
(20) <bqos:Property>
(21) <bqos:PropertyName languageID="zh-cn">外壳</bqos:PropertyName>
(22) <bqos:PropertyValue languageID="zh-cn">铁壳</bqos:PropertyValue>
(23) </bqos:Property>
(24) <bqos:Property>
(25) <bqos:PropertyName languageID="en">MeterType</bqos:PropertyName>
(26) <bqos:PropertyValue languageID="en">IC card gas-meter</bqos:PropertyValue>
(27) </bqos:Property>
(28) <bqos:Property>
(29) <bqos:PropertyName languageID="en">IC-Card-Box</bqos:PropertyName>
(30) <bqos:PropertyValue languageID="en">integrated</bqos:PropertyValue>
(31) </bqos:Property>
(32) </bqos:BQoSQualities>
(33) </bqos:BQoS>
This BQoS example will show a storage service with the following quality indicators:
1. The storage service price is 600 Euro in total.
2. The time period for the storage service is 4 day, starting from July 15, 2009, 16:30, UTC time.
3. The service has additional attributes of internet tracking and temperature from 70 to 85 degree Fahrenheit the quality indicators.
Example
The following example illustrates the storage service bQoS for quality indicators:
(01) <?xml version="1.0" encoding="UTF-8"?>
(02) <bqos:BQoS xmlns:bqos="..." ... >
(03) <BQoSPrice>
(04) <Price>
(05) <Amount currencyID="EUR">600</Amount>
(06) </Price>
(07) </BQoSPrice>
(08) <BQoSPerformance>
(09) <TimePeriod>
(10) <Duration unitCode="DAY">4</Duration>
(11) <StartTime>2009-07-15T16:30:00.0Z</StartTime>
(12) </TimePeriod>
(13) </BQoSPerformance>
(14) <BQoSQualities>
(15) <Property>
(16) <PropertyName>Internet Tracking</PropertyName>
(17) </Property>
(18) <Property>
(19) <PropertyName>Temperature</PropertyName>
(20) <PropertyValue>70F-78F</PropertyValue>
(21) </Property>
(22) </BQoSQualities>
(23) </bqos:BQoS>
An implementation conforms to this specification if it satisfies all of the MUST or REQUIRED level requirements defined within this specification. A SOAP Node MUST NOT use the XML namespace identifier for this specification (listed in Section 1.1) within SOAP Envelopes unless it is compliant with this specification.
This specification references a number of other specifications (listed in Section 1.4.2). In order to comply with this specification, an implementation MUST implement the portions of referenced specifications necessary to comply with the required provisions of this specification. Additionally, the implementation of the portions of the referenced specifications that are specifically cited in this specification MUST comply with the rules for those portions as established in the referenced specification.
Normative text within this specification takes precedence over normative outlines (as described in section 1.4.1), which in turn take precedence over the XML Schema [XML Schema Part 1, Part 2] and WSDL [WSDL 1.1] descriptions. That is, the normative text in this specification further constrains the schemas and/or WSDL that are part of this specification; and this specification contains further constraints on the elements defined in referenced schemas.
The minimum set of information exchange for bQoS that would allow conforming applications to exchange information and satisfy the conformance should at least to have /bqos:BQoS/bqos:BQoSPrice/bqos:Price/bqos:Amount element, like this:
(001) <?xml version="1.0" encoding="utf-8"?>
(002) <BQoS xmlns="http://docs.oasis-open.org/ns/soa-eerp/bqos/200903">
(003) <BQoSPrice>
(004) <Price>
(005) <Amount currencyID="USD">0.0</Amount>
(006) </Price>
(007) </BQoSPrice>
(008) </BQoS>
This specification defines a number of extensions; compliant services are NOT REQUIRED to implement those extensions defined in this specification. However, if a service implements an aspect of the specification, it MUST comply with the requirements specified (e.g. related "MUST" statements). If an implementation silently ignore unrecognized attributes where any attribute is allowed, or silently ignore unrecognized elements where any element is allowed, should be considered as interoperable implementation.
The following individuals have participated in the creation of this specification and are gratefully acknowledged:
Participants:
Rex Brooks Individual
Szu Chang Changfeng Open Standards Platform Software Alliance
William Cox, Individual
Andy Lee Changfeng Open Standards Platform Software Alliance
Carl Mattocks Individual
James Zhili Zhang TIBCO Software Inc.
Hong Zhou Changfeng Open Standards Platform Software Alliance
None
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document Type: EERP-bQoS CD03
Create On: 01/06/2010
-->
<!-- ===== xsd:schema Element With Namespaces Declarations ===== -->
<!-- ===== Copyright Notice ===== -->
<!--
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's
procedures with respect to rights in OASIS specifications can be
found at 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
implementors or users of this specification, can be obtained from
the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to
implement this specification. Please address the information to the
OASIS Executive Director.
Copyright (C) OASIS Open 2008-2010. All Rights Reserved.
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
paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing OASIS
specifications, in which case the procedures for copyrights defined
in the OASIS Intellectual Property Rights document 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 RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://docs.oasis-open.org/ns/soa-eerp/bqos/200903" xmlns:bqos="http://docs.oasis-open.org/ns/soa-eerp/bqos/200903" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://docs.oasis-open.org/ns/soa-eerp/bqos/200903" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<!-- ===== Imports ===== -->
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" schemaLocation="http://docs.oasis-open.org/ubl/os-UBL-2.0/xsd/common/UBL-CommonBasicComponents-2.0.xsd"/>
<xsd:import namespace="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" schemaLocation="http://docs.oasis-open.org/ubl/os-UBL-2.0/xsd/common/UnqualifiedDataTypeSchemaModule-2.0.xsd"/>
<!-- ===== Root Element ===== -->
<xsd:element name="BQoS" type="BQoSType">
<xsd:annotation>
<xsd:documentation>Root element of Business Quality of Service (bQoS)</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!-- ===== Element Declarations ===== -->
<xsd:element name="Amount" type="cbc:AmountType">
<xsd:annotation>
<xsd:documentation>Amount element</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="BQoSPerformance" type="BQoSPerformanceType">
<xsd:annotation>
<xsd:documentation>Performance aspect of the service that has time period for the time to complete the whole service job, the throughput for duration to complete number of jobs, or an optional elements. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="BQoSPrice" type="BQoSPriceType">
<xsd:annotation>
<xsd:documentation>The Price element for bQoS, price aspects of the service, describes the price for the service, including the price and other optional elements. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="BQoSQualities" type="BQoSQualitiesType">
<xsd:annotation>
<xsd:documentation>Quality aspect of the service is measured in terms of additional properties and attributes. It has a list of property for BQoSQualities and other optional elements. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Duration" type="cbc:DurationMeasureType">
<xsd:annotation>
<xsd:documentation>Duration element is the duration to complete the service. It uses cbc:DurationMeasureType from UBL that has a required unitCode attribute for unit of measurement on the time. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Latency" type="cbc:DurationMeasureType">
<xsd:annotation>
<xsd:documentation>Latency describes the time delay before a service is expected to begin. It uses cbc:DurationMeasureType from UBL that has a required unitCode attribute for unit of measurement on the time. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Price" type="PriceType">
<xsd:annotation>
<xsd:documentation>Price element for bQoS that is the single price </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Property" type="PropertyType">
<xsd:annotation>
<xsd:documentation>Property element is for additional property or attribute for quality measurement of the service in bQoS that has name and value pair to describe the quality of the service.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="PropertyName" type="PropertyNameType">
<xsd:annotation>
<xsd:documentation>Property name is a required element for the name in the name and value pair in the Property element. It uses bqos:PropertyNameType which is a cbc:NamType from UBL that has a optional languageID attribute for language code. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="PropertyValue" type="PropertyValueType">
<xsd:annotation>
<xsd:documentation>Value of the Property or Attribute</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Quantity" type="cbc:BaseQuantityType">
<xsd:annotation>
<xsd:documentation>Quantity is the numbers for the throughput, with an attribute of unit of measurement, such as EA, pounds, cubic-feet, etc. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="StartTime" type="udt:DateTimeType">
<xsd:annotation>
<xsd:documentation>StartTime is the date and time to start the service.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="TimePeriod" type="TimePeriodType">
<xsd:annotation>
<xsd:documentation>TimePeriod is the time period to complete the service, including the duration to complete the service, and optional elements for start time and latency </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Throughput" type="ThroughputType">
<xsd:annotation>
<xsd:documentation>The performance is measured by is the amount of work that a service can provide in a given time period. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Unit" type="cbc:BaseUnitMeasureType">
<xsd:annotation>
<xsd:documentation>Number of units with unit of measurement</xsd:documentation>
</xsd:annotation>
</xsd:element>
<!-- Extension -->
<xsd:element name="Extension">
<xsd:annotation>
<xsd:documentation>Additional bQoS elements </xsd:documentation>
</xsd:annotation>
<xsd:complexType mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
</xsd:choice>
<xsd:attribute name="optional" type="xsd:boolean" use="optional" default="true"/>
</xsd:complexType>
</xsd:element>
<!-- ===== Type Definitions ===== -->
<xsd:complexType name="BQoSPerformanceType">
<xsd:annotation>
<xsd:documentation>Complex type for the performance aspect of the service bQoS</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element ref="TimePeriod">
<xsd:annotation>
<xsd:documentation>TimePeriod is the time period to complete the service, including the duration to complete the service, and optional elements for start time and latency.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="Throughput"/>
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xsd:choice>
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:complexType>
<xsd:complexType name="BQoSPriceType">
<xsd:annotation>
<xsd:documentation>Complex type for the price/cost aspect of the service bQoS</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="Price">
<xsd:annotation>
<xsd:documentation>Price element that represent the single price for BQoSPrice.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:complexType>
<xsd:complexType name="BQoSQualitiesType">
<xsd:annotation>
<xsd:documentation>Complex type for the Quality related aspects of the service BQoS </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="Property" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Property element is for additional property or attribute for quality measurement of the service in bQoS that has name and value pair to describe the quality of the service.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:complexType>
<xsd:complexType name="BQoSType">
<xsd:annotation>
<xsd:documentation>Complex type for the Business QoS</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="BQoSPrice">
<xsd:annotation>
<xsd:documentation>The Price element for bQoS that describes the price for the service. Price can be expressed in various ways.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="BQoSPerformance" minOccurs="0">
<xsd:annotation>
<xsd:documentation>BQoSPerformance element for bQoS is the quality of service measured in the time to complete, or alternatively as throughput and latency.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="BQoSQualities" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The Quality elements for bQoS that describes additional properties and attributes for the service. It has a list of property for BQoSQualities and other optional elements. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="Extension" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Other aspects of “quality of business”</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:complexType>
<xsd:complexType name="PriceType">
<xsd:annotation>
<xsd:documentation>Complex type for Pricing or Billing for the service</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="Unit" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Number of units is a optional element that includes the unit of measurement. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="Amount">
<xsd:annotation>
<xsd:documentation>Amount is a required element in the Price element. It uses cbc:AmountType from UBL that has a required currencyID attribute for currency code.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PropertyType">
<xsd:annotation>
<xsd:documentation>Complex type for addtional property or attribute for quality</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="PropertyName"/>
<xsd:element ref="PropertyValue" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Value of the Property or Attribute. It uses bqos:PropertyValueType which is a cbc:NamType from UBL that has a optional languageID attribute for language code. </xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:complexType>
<xsd:complexType name="PropertyNameType">
<xsd:annotation>
<xsd:documentation>Complex type for property or attribute name </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="cbc:NameType">
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="PropertyValueType">
<xsd:annotation>
<xsd:documentation>Complex type for property or attribute value. </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="cbc:ValueType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="QualitiesType">
<xsd:annotation>
<xsd:documentation>Complex type for Quality elements </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="Property" maxOccurs="unbounded"/>
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:complexType>
<xsd:complexType name="TimePeriodType">
<xsd:annotation>
<xsd:documentation>Complex type for Time period </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="Duration">
<xsd:annotation>
<xsd:documentation>Duration to complete the service. It uses cbc:DurationMeasureType from UBL that has a required unitCode attribute for unit of measurement on the time. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="Latency" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Latency is an optional element that describes the time delay before a service is expected to begin. It uses cbc:DurationMeasureType from UBL that has a required unitCode attribute for unit of measurement on the time. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="StartTime" minOccurs="0">
<xsd:annotation>
<xsd:documentation>StartTime is an optional element for the date and time to start the service. It uses udt:DateTimeType which is in UTC time format .</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:complexType>
<xsd:complexType name="ThroughputType">
<xsd:annotation>
<xsd:documentation>Complex type for the throughput </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="Duration">
<xsd:annotation>
<xsd:documentation>Duration element is a required element in the Throughput element. This is the duration to complete the service. It uses cbc:DurationMeasureType from UBL that has a required unitCode attribute for unit of measurement on the time. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="Quantity">
<xsd:annotation>
<xsd:documentation>Quantity is the numbers for the throughput, with an attribute of unit of measurement, such as EA, pounds, cubic-feet, etc. The numbers for the throughput, with attribute of Unit of measurement, such as EA, lb, cubic-feet, etc.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="Latency" minOccurs="0"/>
</xsd:sequence>
<xsd:anyAttribute namespace="##any" processContents="lax"/>
</xsd:complexType>
</xsd:schema>
Revision |
Date |
Editor |
Changes Made |
0.8 |
03/02/2009 |
Szu Chang |
Initial draft |
0.9 |
03/09/2009 |
Szu Chang |
Change the syntax to include the data type |
WD01 |
04/15/2009 |
Szu Chang |
Rename draft 0.9 to working draft 0.1 |
WD02 |
04/29/2009 |
Szu Chang |
Added whole example and some minor edits |
WD03 |
05/07/2009 |
Szu Chang |
Added issue list and some minor edits. This is to get ready for CD01 |
WD04 |
05/17/2009 |
Szu Chang |
Added conformance section |
WD05 |
06/24/2009 |
Szu Chang |
Fixed issues I022, I026, I029, I032, I036, I039, and I045. |
WD06 |
07/03/2009 |
Szu Chang |
Fixed issues I026, I029, I033, I042, I044, I049 and I053. |
CD02 |
07/11/2009 |
Szu Chang |
Changed WD06 to CD02 after approved by TC |
CD03 |
01/06/2010 |
Szu Chang |
Changed NS and fixed URIs from CD02 to CD03 |