OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

provision message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: [provision] Extended Request - modified


	Extended Request/Response Updated Proposal

	Hi all,

	Following the last conference call and a closer review of the
proposal for the Extended Request/Response, I am still concerned that the
issue of the provider ID is unfortunately unsolved.

	As you may recall, my concern was that the original extended request
draft did not mandate an appropriate identification of the provider
responsible for the specific extended request/response dialect, stressing a
possible need for a ‘ProvID-like’ attribute. Although not necessarily
critical for all situations, such identification may indeed be crucial for
various scenarios and not solely for the purpose of request identification.
The last extended request/response draft introduced the ProviderDefined
identifier for this purpose, but being still an optional choice, its
practical value is reduced considerably. 
		
	Based on the above I wish to submit for consideration a modified
proposal presenting three alternative ways to support proper provider
identification; closely modeled on the last draft, the alternatives portray
various routes to achieve proper identification sans deviating from the
already accepted framework. Though all alternatives are serviceable, they
are presented here in descending preference order - starting from
Alternative 1 (preferred alternative).



	Alternatives

	Alternative 1: one operationID type: ProviderOperationIdentifier
	This alternative specifies the use of the
ProviderOperationIdentifier as the sole type for operationIdentifier. 


	Extended Request/Response modified proposal 1
	
----------------------------------------------------------------------------
--------------------------------------------------------------------------

	Schema

	<xsd:complexType name="ProviderOperationIdentifier">
	            <xsd:sequence>
	                        <xsd:sequence>
	                                    <xsd:element name="providerID"
type="xsd:anyType" />
	                                    <xsd:element name="operationID"
type="xsd:anyType" />
	                        </xsd:sequence>
	            </xsd:sequence>
	            <xsd:attribute name="providerIDType" use="required">
	                        <xsd:simpleType>
	                                    <xsd:restriction
base="xsd:string">
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#DN"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#URN"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#OID"/>
	                                    </xsd:restriction>
	                        </xsd:simpleType>
	            </xsd:attribute>
	                        
	            <xsd:attribute name="operationIDType" use="required">
	                        <xsd:simpleType>
	                                    <xsd:restriction
base="xsd:string">
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#DN"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#GUID"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#URN"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#OID"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#GenericString"/>
	                                    </xsd:restriction>
	                        </xsd:simpleType>
	            </xsd:attribute>
	</xsd:complexType>
	 
	 
	<xsd:complexType name="ExtendedRequest">
	                <xsd:complexContent>
	                                    <xsd:extension
base="spml:SpmlRequest">
	                                                    <xsd:sequence>
	
<xsd:element name="operationIdentifier"
type="spml:ProviderOperationIdentifier" />
	
<xsd:element name="identifier" type="spml:Identifier" />
	
<xsd:element name="attr" type="dsml:DsmlAttr" minOccurs="0"
maxOccurs="unbounded"/>
	                                                    </xsd:sequence>
	                                    </xsd:extension>
	                </xsd:complexContent>
	</xsd:complexType>  
	 
	<xsd:complexType name="ExtendedResponse">
	                <xsd:complexContent>
	                                    <xsd:extension
base="spml:SpmlResponse">
	                                                    <xsd:sequence>
	
<xsd:element name="attr" type="dsml:DsmlAttr" minOccurs="0"
maxOccurs="unbounded"/>
	                                                    </xsd:sequence>
	                                    </xsd:extension>
	                </xsd:complexContent>
	</xsd:complexType>


	
----------------------------------------------------------------------------
-----------


	Example
	 
	   <spml:operationIdentifier identifierType =
"urn:oasis:names:tc:SPML:1.0:core#ProviderDefined">

	      <spml: providerOperationID providerIDType =
"urn:oasis:names:tc:SPML:1.0:core#DN  operationIDType =
"urn:oasis:names:tc:SPML:1.0:core#GenericString>

	         <spml: providerID>DC=acme.com</ spml:providerID>

	         < spml:operationID>promote</spml:operationID >

	      </spml: providerOperationID>

	   </spml:operationIdentifier>





	Alternative 2: a special provider identifier.
	This alternative specifies the use of a provider identifier in
addition to the current operationIdentifier and removes the
“ProviderDefined” identifier from the operationIDType options.
ProviderIDType options include DN, URN, OID



	Extended Request/Response modified proposal 2
	
----------------------------------------------------------------------------
--------------------------------------------------------------------------

	Schema

	<xsd:complexType name="OperationIdentifier">
	            <xsd:sequence>
	            	<xsd:element name="id" type="xsd:anyType"
minOccurs="0"/>
	            </xsd:sequence>
	            <xsd:attribute name="operationIDType" use="required">
	                        <xsd:simpleType>
	                                    <xsd:restriction
base="xsd:string">
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#DN"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#GUID"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#URN"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#OID"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#GenericString"/>
	                                    </xsd:restriction>
	                        </xsd:simpleType>
	            </xsd:attribute>
	</xsd:complexType>



	<xsd:complexType name="ProviderIdentifier">
	            <xsd:sequence>
	            	<xsd:element name="providerID" type="xsd:anyType">
	            </xsd:sequence>
	            <xsd:attribute name="ProviderIDType" use="required">
	                        <xsd:simpleType>
	                                    <xsd:restriction
base="xsd:string">
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#DN"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#URN"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#OID"/>
	                                    </xsd:restriction>
	                        </xsd:simpleType>
	            </xsd:attribute>
	</xsd:complexType>



	<xsd:complexType name="ExtendedRequest">
	                <xsd:complexContent>
	                                    <xsd:extension
base="spml:SpmlRequest">
	                                                    <xsd:sequence>
	
<xsd:element name="ProviderIdentifier" type="spml:ProviderIdentifier" />
	
<xsd:element name="operationIdentifier" type="spml:OperationIdentifier" />
	
<xsd:element name="identifier" type="spml:Identifier" />
	
<xsd:element name="attr" type="dsml:DsmlAttr" minOccurs="0"
maxOccurs="unbounded"/>
	                                                    </xsd:sequence>
	                                    </xsd:extension>
	                </xsd:complexContent>
	</xsd:complexType>  

	<xsd:complexType name="ExtendedResponse">
	                <xsd:complexContent>
	                                    <xsd:extension
base="spml:SpmlResponse">
	                                                    <xsd:sequence>
	
<xsd:element name="attr" type="dsml:DsmlAttr" minOccurs="0"
maxOccurs="unbounded"/>

	                                                    </xsd:sequence>
	                                    </xsd:extension>
	                </xsd:complexContent>
	</xsd:complexType>

	
----------------------------------------------------------------------------
-----------


	Examples

	 Example1:

	   <spml:ProviderIdentifier ProviderIDType=
"urn:oasis:names:tc:SPML:1.0:core#DN">
	      <spml:id>DC=acme.com</spml:id>
	   </spml:ProviderIdentifier>
	   <spml:operationIdentifier operationIDType=
"urn:oasis:names:tc:SPML:1.0:core#URN">
	      <spml:id>urn:com:acme:operations:promote</spml:id>
	   </spml:operationIdentifier>

	 
	Example2:

	   <spml:ProviderIdentifier ProviderIDType=
"urn:oasis:names:tc:SPML:1.0:core#DN">
	      <spml:id>DC=acme.com</spml:id>
	   </spml:ProviderIdentifier>
	   <spml:operationIdentifier operationIDType=
"urn:oasis:names:tc:SPML:1.0:core#DN">
	      <spml:id>CN=promote,OU=operations,DC=acme.com</spml:id>
	   </spml:operationIdentifier>


	Example3:

	   <spml:ProviderIdentifier ProviderIDType=
"urn:oasis:names:tc:SPML:1.0:core#DN">
	      <spml:id>DC=acme.com</spml:id>
	   </spml:ProviderIdentifier>
	   <spml:operationIdentifier operationIDType=
"urn:oasis:names:tc:SPML:1.0:core#OID">
	      <spml:id>2.16.840.1.113735.1.2.3.4</spml:id>
	   </spml:operationIdentifier>


	Example4:
	 
	   <spml:ProviderIdentifier ProviderIDType=
"urn:oasis:names:tc:SPML:1.0:core#DN">
	      <spml:id>DC=acme.com</spml:id>
	   </spml:ProviderIdentifier>
	   <spml:operationIdentifier operationIDType=
"urn:oasis:names:tc:SPML:1.0:core#GUID">
	      <spml:id> f1272eb8-d3fa-4bda-8834-58cf129bf41f</spml:id>
	   </spml:operationIdentifier>




	Alternative 3: no separate providerID, but restricted operationIDs.
	This alternative specifies the use of a restricted provider
identifier list comprising DN, URN, OID. 


	Extended Request/Response modified proposal 3
	
----------------------------------------------------------------------------
--------------------------------------------------------------------------

	Schema

	<xsd:complexType name="OperationIdentifier">
	            <xsd:sequence>
	                        <xsd:choice>
	                                    <xsd:element name="id"
type="xsd:anyType" minOccurs="0"/>
	                                    <xsd:element
name="providerOperationID" type="xsd:anyType" minOccurs="0"/>
	                        </xsd:choice>
	            </xsd:sequence>
	            <xsd:attribute name="operationIDType" use="required">
	                        <xsd:simpleType>
	                                    <xsd:restriction
base="xsd:string">
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#DN"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#URN"/>
	                                                <xsd:enumeration
value="urn:oasis:names:tc:SPML:1.0:core#OID"/>
	                                    </xsd:restriction>
	                        </xsd:simpleType>
	            </xsd:attribute>
	</xsd:complexType>
	           

	<xsd:complexType name="ExtendedRequest">
	                <xsd:complexContent>
	                                    <xsd:extension
base="spml:SpmlRequest">
	                                                    <xsd:sequence>
	
<xsd:element name="operationIdentifier" type="spml:OperationIdentifier" />
	
<xsd:element name="identifier" type="spml:Identifier" />
	
<xsd:element name="attr" type="dsml:DsmlAttr" minOccurs="0"
maxOccurs="unbounded"/>
	                                                    </xsd:sequence>
	                                    </xsd:extension>
	                </xsd:complexContent>
	</xsd:complexType>  

	 

	<xsd:complexType name="ExtendedResponse">
	                <xsd:complexContent>
	                                    <xsd:extension
base="spml:SpmlResponse">
	                                                    <xsd:sequence>
	
<xsd:element name="attr" type="dsml:DsmlAttr" minOccurs="0"
maxOccurs="unbounded"/>
	                                                    </xsd:sequence>
	                                    </xsd:extension>
	                </xsd:complexContent>
	</xsd:complexType>

	
----------------------------------------------------------------------------
-----------


	Examples

	Example1:
	 
	   <spml:operationIdentifier identifierType =
"urn:oasis:names:tc:SPML:1.0:core#URN">

	      <spml:id>urn:com:acme:operations:promote</spml:id>

	   </spml:operationIdentifier>

	 
	Example2:

	   <spml:operationIdentifier identifierType =
"urn:oasis:names:tc:SPML:1.0:core#DN">

	      <spml:id>CN=promote,OU=operations,DC=acme.com</spml:id>

	   </spml:operationIdentifier>

	 
	Example3:

	   <spml:operationIdentifier identifierType =
"urn:oasis:names:tc:SPML:1.0:core#OID">

	      <spml:id>2.16.840.1.113735.1.2.3.4</spml:id>

	   </spml:operationIdentifier>




	Rami Elron
	Senior System Architect
	Security Business Unit
	BMC Software Ltd.



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC