[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [no subject]
-----Original Message----- From: Jeff Bohren [mailto:jbohren@opennetwork.com] Sent: Tuesday, December 09, 2003 9:50 AM To: provision@lists.oasis-open.org Subject: [provision] SPML 2.0 Data Model Proposal... My proposal is that SPML 2.0 be expanded to support two data models = which I will refer to as the "DSML Data Model" and the "XSD Data Model". = The DSML Data Model is the one currently used in SPML 1.0. There is no = reason that additional data models could not also be added if there = seems to be if value (i.e. a "SAML Data Model", or "Liberty Data Model" = could also be added). This would support the data model that IBM wants = as well as being backwards compatible with the existing SPML 1.0 = specification. =20 In my proposal each of the SPML verbs would be expanded to support both = data models. For instance in response to a schema request, the schema = response could look like the current SPML model: =20 <schemaResponse> <schema> <schemaIdentifier>... <attributeDefinition>... <objectClassDefinition>... <schema> </schemaResponse> =20 Or it could use the XSD Data Model be either including the XSD directly: =20 <schemaResponse> <schema> <xsd:schema> .... <schema> </schemaResponse> =20 Or by referring to an XSD document externally: =20 <schemaResponse> <schema = externalURL=3D"http://www.acme.com/schemas/provisioning.xsd" /> </schemaResponse> =20 Likewise the add request could be modified to contain the current DSML = attribute/values as in the current spec or it could include arbitrary = XML as defined by the XSD returned in the schema response. For example: =20 <spml:addRequest> <acme:account> <acme:id>jsmith</acme:id> <acme:phoneNumbers> <acme:homePhone>555-1212</acme: = homePhone > <acme:cellPhone>555-1212</acme: = cellPhone > </acme:phoneNumbers> </acme:account> </spml:addRequest> =20 Likewise the modify, delete, and search verbs could all be expanded to = fit this concept. The identifier element could be expanded to include = XPath reference to the appropriate place in the XML data that = corresponds to the identity of the object.=20 =20 I am glossing over a lot of details, but I wanted to get some feedback = to the basic idea before I put any more time into this. =20 Comments? =20 =20 Jeff Bohren Product Architect OpenNetwork Technologies, Inc =20 Try the industry's only 100% .NET-enabled identity management software. = Download your free copy of Universal IdP Standard Edition today. Go to = <http://www.opennetwork.com/eval> www.opennetwork.com/eval. =20 =20 ------_=_NextPart_001_01C3BE6A.5935D2D0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML xmlns:o =3D=20 "urn:schemas-microsoft-com:office:office"><HEAD> <META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; = charset=3Diso-8859-1"> <TITLE>Message</TITLE> <META content=3D"MSHTML 6.00.2800.1226" name=3DGENERATOR></HEAD> <BODY> <DIV><SPAN class=3D859403015-09122003><FONT face=3DArial color=3D#0000ff = size=3D2>Jeff,</FONT></SPAN></DIV> <DIV><SPAN class=3D859403015-09122003><FONT face=3DArial color=3D#0000ff = size=3D2></FONT></SPAN> </DIV> <DIV><SPAN class=3D859403015-09122003><FONT face=3DArial color=3D#0000ff = size=3D2>The=20 "XSD Data Model" and the expansion of the "identifier" to include XPath = will=20 pretty much cover the requirement I proposed. Obviously we need to get = into the=20 details on how to implement this.</FONT></SPAN></DIV> <DIV><SPAN class=3D859403015-09122003><FONT face=3DArial color=3D#0000ff = size=3D2></FONT></SPAN> </DIV> <DIV><SPAN class=3D859403015-09122003><FONT face=3DArial color=3D#0000ff = size=3D2>From=20 your examples, it seems that each data model will mutually exclude the = others.=20 In other words, a PSP cannot use two data models at the same time. Is = that the=20 case?</FONT></SPAN></DIV> <DIV><SPAN class=3D859403015-09122003><FONT face=3DArial color=3D#0000ff = size=3D2></FONT></SPAN> </DIV> <DIV><SPAN class=3D859403015-09122003><FONT face=3DArial color=3D#0000ff = size=3D2>Thanks,</FONT></SPAN></DIV> <DIV><SPAN class=3D859403015-09122003><FONT face=3DArial color=3D#0000ff = size=3D2></FONT></SPAN> </DIV> <DIV><SPAN class=3D859403015-09122003><FONT face=3DArial color=3D#0000ff = size=3D2>Jesus=20 Fernandez</FONT></SPAN></DIV> <BLOCKQUOTE dir=3Dltr style=3D"MARGIN-RIGHT: 0px"> <DIV class=3DOutlookMessageHeader dir=3Dltr align=3Dleft><FONT = face=3DTahoma=20 size=3D2>-----Original Message-----<BR><B>From:</B> Jeff Bohren=20 [mailto:jbohren@opennetwork.com]<BR><B>Sent:</B> Tuesday, December 09, = 2003=20 9:50 AM<BR><B>To:</B> = provision@lists.oasis-open.org<BR><B>Subject:</B>=20 [provision] SPML 2.0 Data Model Proposal...<BR><BR></FONT></DIV> <DIV><FONT face=3DArial size=3D2> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT=20 face=3D"Times New Roman"><FONT size=3D3>My proposal is that SPML 2.0 = be expanded=20 to support two data models which I will refer to as the “DSML = Data Model” and=20 the “XSD Data Model”. The DSML Data Model is the one = currently used in SPML=20 1.0. There is no reason that additional data models could not also be = added if=20 there seems to be if value (i.e. a “SAML Data Model”, or = “Liberty Data Model”=20 could also be added).<SPAN class=3D431164414-09122003> This would = support the=20 data model that IBM wants as well as being backwards compatible with = the=20 existing SPML 1.0 specification.</SPAN></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT=20 face=3D"Times New Roman" size=3D3> </FONT></o:p></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3>In my proposal each of the SPML verbs would be expanded to = support both=20 data models. For instance in response to a schema request, the schema = response=20 could look like the current SPML model:</FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT=20 face=3D"Times New Roman" size=3D3> </FONT></o:p></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3><schemaResponse></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 1"> =20 </SPAN><schema></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 1"> =20 </SPAN><SPAN=20 style=3D"mso-tab-count: = 1"> =20 </SPAN><schemaIdentifier>…</FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 1"> =20 </SPAN><SPAN=20 style=3D"mso-tab-count: = 1"> =20 </SPAN><attributeDefinition>…</FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 2"> &nbs= p; =20 </SPAN><objectClassDefinition>…</FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 1"> =20 </SPAN><schema><o:p></o:p></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3></schemaResponse></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT=20 face=3D"Times New Roman" size=3D3> </FONT></o:p></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3>Or it could use the XSD Data Model be either including the = XSD=20 directly:</FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT=20 face=3D"Times New Roman" size=3D3> </FONT></o:p></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3><schemaResponse></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 1"> =20 </SPAN><schema></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 2"> &nbs= p; =20 </SPAN><xsd:schema> ….</FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 1"> =20 </SPAN><schema><o:p></o:p></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3></schemaResponse></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT=20 face=3D"Times New Roman" size=3D3> </FONT></o:p></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3>Or by referring to an XSD document externally:</FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT=20 face=3D"Times New Roman" size=3D3> </FONT></o:p></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3><schemaResponse></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 1"> =20 </SPAN><schema<SPAN style=3D"mso-spacerun: yes"> =20 = </SPAN>externalURL=3D”http://www.acme.com/schemas/provisioning.xsd&= #8221;=20 /></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3></schemaResponse></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT=20 face=3D"Times New Roman" size=3D3> </FONT></o:p></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3>Likewise the add request could be modified to contain the = current DSML=20 attribute/values as in the current spec or it could include arbitrary = XML as=20 defined by the XSD returned in the schema response. For = example:</FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT=20 face=3D"Times New Roman" size=3D3> </FONT></o:p></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3><spml:addRequest></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 1"> =20 </SPAN><acme:account></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 2"> &nbs= p; =20 </SPAN><acme:id>jsmith</acme:id></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: = 0.5in"><FONT=20 face=3D"Times New Roman" size=3D3><acme:phoneNumbers></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 3"> &nbs= p;  = ; =20 </SPAN><acme:homePhone>555-1212</acme: homePhone=20 ></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN=20 style=3D"mso-tab-count: = 3"> &nbs= p;  = ; =20 </SPAN><SPAN lang=3DFR=20 style=3D"mso-ansi-language: = FR"><acme:cellPhone>555-1212</acme:=20 cellPhone ><o:p></o:p></SPAN></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: = 0.5in"><FONT=20 size=3D3><FONT face=3D"Times New Roman"><SPAN lang=3DFR=20 style=3D"mso-ansi-language: FR"></acme:</SPAN>phoneNumbers<SPAN = lang=3DFR=20 style=3D"mso-ansi-language: = FR">><o:p></o:p></SPAN></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT = size=3D3><FONT=20 face=3D"Times New Roman"><SPAN lang=3DFR style=3D"mso-ansi-language: = FR"><SPAN=20 style=3D"mso-tab-count: = 1"> =20 </SPAN></SPAN></acme:account></FONT></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3></spml:addRequest></FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT=20 face=3D"Times New Roman" size=3D3> </FONT></o:p></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3>Likewise the modify, delete, and search verbs could all be = expanded to=20 fit this concept. The identifier element could be expanded to include = XPath=20 reference to the appropriate place in the XML data that corresponds to = the=20 identity of the object. </FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT=20 face=3D"Times New Roman" size=3D3> </FONT></o:p></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3>I am glossing over a lot of details, but I wanted to get some = feedback=20 to the basic idea before I put any more time into this.</FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT=20 face=3D"Times New Roman" size=3D3> </FONT></o:p></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><FONT face=3D"Times = New Roman"=20 size=3D3>Comments?</FONT></P> <P class=3DMsoNormal style=3D"MARGIN: 0in 0in 0pt"><o:p><FONT = face=3DArial=20 size=3D2></FONT></o:p> </P></FONT></DIV> <DIV> </DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>Jeff Bohren</FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>Product = Architect</FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2>OpenNetwork = Technologies,=20 Inc</FONT></DIV> <DIV align=3Dleft><FONT face=3DArial size=3D2></FONT> </DIV> <DIV align=3Dleft> <DIV><FONT face=3DArial size=3D2><SPAN = class=3D666091017-20102003><STRONG>Try the=20 industry's only 100% .NET-enabled identity management software.=20 Download your free copy of Universal IdP Standard Edition today. = Go to=20 </STRONG><A=20 = href=3D"http://www.opennetwork.com/eval"><STRONG>www.opennetwork.com/eval= </STRONG></A><STRONG>.</STRONG></SPAN></FONT></DIV></DIV> <DIV align=3Dleft> </DIV> <DIV> </DIV></BLOCKQUOTE></BODY></HTML> ------_=_NextPart_001_01C3BE6A.5935D2D0--
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]