[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: [provision] Extended Request
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 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: 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:providerID>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:providerID>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:providerID>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:providerID>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: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#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 operationIDType = "urn:oasis:names:tc:SPML:1.0:core#URN"> <spml:id>urn:com:acme:operations:promote</spml:id> </spml:operationIdentifier> Example2: <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: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> 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