<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Anil John - Architecture</title>
    <link>http://www.aniltj.com/blog/</link>
    <description>On Architecture, Digital Security, Service Orientation...</description>
    <language>en-us</language>
    <copyright>Anil John</copyright>
    <lastBuildDate>Sun, 13 Mar 2011 18:11:57 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>aniltj@gmail.com</managingEditor>
    <webMaster>aniltj@gmail.com</webMaster>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=7d8a3cea-6f35-4f6c-bf2d-5a40a7031872</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,7d8a3cea-6f35-4f6c-bf2d-5a40a7031872.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,7d8a3cea-6f35-4f6c-bf2d-5a40a7031872.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=7d8a3cea-6f35-4f6c-bf2d-5a40a7031872</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In many conversations I have had with folks who potentially have a need for the <a href="http://www.aniltj.com/blog/2011/02/27/IdentityOraclesAndTheirRoleInTheIdentityEcoSystem.aspx">services
of an Identity Oracle</a>, especially as to how it could help with assurances of identity,
there is a two part reaction that I found to be very interesting as indicators of
what we need to focus on as a community to make this real and viable.  
</p>
        <p>
The first part of the reaction is typically about the “many security holes” in the
concept and “changes to existing business processes” that are needed to leverage the
capability.  The second part of the reaction takes place a bit later as we get
into discussing identity proofing and bring up the example of US Government PIV cards
(which are Smart Cards that are issued to US Government Employees and Contractors)
or Non Federally Issued PIV-I Cards, both of which have have transparent, publically
documented, and consistent identity proofing process and the level of comfort the
same set of folks have in potentially changing their business processes to accept
the PIV/PIV-I Card as a proxy for identity proofing that has been done by someone
else.
</p>
        <p>
What that combination of reactions confirmed for me is that the issue is not about
technology/security holes (since the the Identity Oracle is a business and NOT a technology)
or about changing business practices (since the second part requires that change as
well) but about the level of comfort and confidence one can place in the relationships
between the Identity Oracle and entities that need to interact with it.  I prefer
to not use the word “Trust” in this context because the definition is ambiguous at
best (See Gunnar Peterson’s “<a href="http://1raindrop.typepad.com/1_raindrop/2010/12/lets-stop-building-naivete-in-wishing-you-a-less-trustful-2011.html">Lets
Stop ‘Building Naïveté In’ - Wishing You a Less Trustful 2011</a>” blog post) but
instead would like to focus on the contractual aspects of what can be articulated,
measured and enforced as both Gunnar in his blog and Scott David in my earlier “<a href="http://www.aniltj.com/blog/2011/03/03/IdentityOraclesABusinessAndLawPerspective.aspx">Identity
Oracles – A Business and Law Perspective</a>” blog post noted. 
</p>
        <p>
This tension between the technical and the business also came up in the reactions
(<a href="http://twitter.com/#!/independentid/statuses/42279595176767488">@independentid</a>, <a href="http://twitter.com/#!/NishantK/statuses/43387151290871808">@NishantK</a>, <a href="http://twitter.com/#!/IDinTheCloud/statuses/43393534757322752">@IDinTheCloud</a>, <a href="http://www.discoveringidentity.com/2011/03/03/emerging-identity-oracles/">@mgd</a>)
to my <a href="http://www.aniltj.com/blog/2011/02/27/IdentityOraclesAndTheirRoleInTheIdentityEcoSystem.aspx">original
post on Identity Oracles</a>, so would like to explicitly address that in this post. 
</p>
        <p>
          <strong>How does the traditional “pure tech” Identity and/or Attribute Provider operate
and what if any are the constraints placed upon it?</strong>
        </p>
        <p>
          <img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="Oracle_IdP_PII" border="0" alt="Oracle_IdP_PII" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/IdentityOraclesTrustisEphemeralContracts_C7A8/Oracle_IdP_PII_3.jpg" width="467" height="371" />From
a technical interaction perspective, you have:
</p>
        <ol>
          <li>
Person presents to the Relying Party some token that has binds them to a unique identifier</li>
          <li>
Relying party uses that unique identifier to call out to the Identity/Attribute Provider
to retrieve attributes of the Person</li>
          <li>
The Identity/Attribute Provider interacts with Authoritative Sources of information
about the Person and returns the requested information to the Relying Party</li>
        </ol>
        <p>
Now let us look at this from a non-technical interaction perspective:
</p>
        <ul>
          <li>
A contractual relationship exists between the Authoritative Sources and the Identity/Attribute
Provider</li>
          <li>
A contractual relationship exists between the Identity/Attribute Provider and the
Relying Party</li>
          <li>
A contractual relationship exists between the Person and the Relying Party</li>
          <li>
NO contractual relationship exists between the Person and Identity/Attribute Provider</li>
        </ul>
        <p>
Privacy Implications
</p>
        <ul>
          <li>
The Relying Party typically <a href="http://en.wikipedia.org/wiki/Clickwrap">click-wrap</a>s
its privacy and information release in its interactions with the Person 
</li>
          <li>
The identity/attribute provider, as a business entity which needs to make money, is
dependent on Relying Parties for its revenue stream</li>
          <li>
The identity/attribute provider, as the entity in the middle, has visibility into
the transactions that are conducted by the Person and has significant financial pressure
on it to monetize that information by selling it to third parties (or even to the
Relying Party). For more information on this extremely sophisticated and lucrative
market in private information, please read the <a href="http://online.wsj.com/public/page/what-they-know-digital-privacy.html">recent
series of investigative articles from the Wall Street Journal</a>.</li>
          <li>
Given the lack of a contractual relationship between the Person and the Identity/Claims
provider, the person has no visibility or little to no control over how this transactional
information, which can be used to build a very detailed profile of the person, is
used.</li>
        </ul>
        <p>
          <strong>How does an Identity Oracle operate and what if any are the constraints placed
upon it?</strong>
        </p>
        <p>
          <img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="Oracle_IdP_No_PII" border="0" alt="Oracle_IdP_No_PII" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/IdentityOraclesTrustisEphemeralContracts_C7A8/Oracle_IdP_No_PII_3.jpg" width="462" height="367" /> From
a technical interaction perspective, you have:
</p>
        <ol>
          <li>
Person establishes a relationship with the Identity Oracle, which verifies their identity
and potentially other information about them via its relationship to Authoritative
Sources. The Identity Oracle provides the person with token(s) that allow the person
to vouch for their relationship with the Identity Oracle in different contexts (Potentially
everything from a Smart Card when you need very high assurances of identity to some
token that asserts something about the person without revealing who they are)</li>
          <li>
When the Person needs to conduct a transaction with the Relying Party, he presents
the appropriate token needed which establishes their relationship to the Identity
Oracle</li>
          <li>
The Relying Party asks the Identity Oracle “Am I allowed to offer service X to the
Person with a token Y from You under condition Z?”. The Identity Oracle answers “Yes
or No”</li>
        </ol>
        <p>
Now let us look at this from a non-technical interaction perspective:
</p>
        <ul>
          <li>
A contractual relationship exists between the Authoritative Sources and the Identity
Oracle</li>
          <li>
A contractual relationship exists between the Identity Oracle and the Relying Party</li>
          <li>
A contractual relationship exists between the Person and the Relying Party</li>
          <li>
A contractual relationship exists between the Person and Identity Oracle</li>
        </ul>
        <p>
Privacy Implications
</p>
        <ul>
          <li>
The Relying Party typically <a href="http://en.wikipedia.org/wiki/Clickwrap">click-wrap</a>s
its privacy and information release in its interactions with the Person but in many
cases does not need to collect Privacy Sensitive information from the Person</li>
          <li>
The Relying Party can potentially outsource some functions as well as transfer liability
for incorrect responses to the Identity Oracle</li>
          <li>
The Identity Oracle, as a business entity which needs to make money, has multiple
revenue streams including the Relying Party as well as the Person, not to mention
value added services it can offer to the Person</li>
          <li>
The Identity Oracle, as the entity in the middle, has visibility into the transactions
that are conducted by the Person BUT is constrained by its contractual relationship
with the Person to protect both the transactional information it has visibility into,
as well as provide only meta-data about the private information it knows about the
Person to Relying Parties</li>
        </ul>
        <p>
Some of the critical points that bears emphasizing with the Identity Oracle concept
are:
</p>
        <ul>
          <li>
Privacy protection of both PII information as well as transactional information with
visibility and control by the Person</li>
          <li>
Allocation of responsibility and liability across Relying Parties, Identity Oracles
and Persons.</li>
          <li>
Ability to conduct transactions that require very high assurances of identity to completely
anonymous</li>
          <li>
Ability to conduct transactions across multiple modalities including in-person, internet/web,
mobile devices and more</li>
          <li>
Ability to leverage existing technologies such as SAML, XACML, Smart Cards, OTPs and
more</li>
        </ul>
        <p>
I hope that this blog post has been helpful in articulating the differences between
a traditional identity/attribute provider and the identity oracle, and provides a
case for the community to focus more on defining and articulating the contractual
and business process aspects of the relationships of the parties involved, while simultaneously
working on the supporting technology.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e02e99ad-50c4-4696-9dc8-138385e56dd4" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/IdM" rel="tag">IdM</a>,<a href="http://technorati.com/tags/Attributes" rel="tag">Attributes</a>,<a href="http://technorati.com/tags/Claims" rel="tag">Claims</a>,<a href="http://technorati.com/tags/Identity+Oracle" rel="tag">Identity
Oracle</a>,<a href="http://technorati.com/tags/NSTIC" rel="tag">NSTIC</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c11679e0-b00d-44b8-bb6a-a343e7d38a31" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/IdM" rel="tag">IdM</a>,<a href="http://del.icio.us/popular/Attributes" rel="tag">Attributes</a>,<a href="http://del.icio.us/popular/Claims" rel="tag">Claims</a>,<a href="http://del.icio.us/popular/Identity+Oracle" rel="tag">Identity
Oracle</a>,<a href="http://del.icio.us/popular/NSTIC" rel="tag">NSTIC</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=7d8a3cea-6f35-4f6c-bf2d-5a40a7031872" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Identity Oracles - Trust is Ephemeral, Contracts are Eternal</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,7d8a3cea-6f35-4f6c-bf2d-5a40a7031872.aspx</guid>
      <link>http://www.aniltj.com/blog/2011/03/13/IdentityOraclesTrustIsEphemeralContractsAreEternal.aspx</link>
      <pubDate>Sun, 13 Mar 2011 18:11:57 GMT</pubDate>
      <description>&lt;p&gt;
In many conversations I have had with folks who potentially have a need for the &lt;a href="http://www.aniltj.com/blog/2011/02/27/IdentityOraclesAndTheirRoleInTheIdentityEcoSystem.aspx"&gt;services
of an Identity Oracle&lt;/a&gt;, especially as to how it could help with assurances of identity,
there is a two part reaction that I found to be very interesting as indicators of
what we need to focus on as a community to make this real and viable.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
The first part of the reaction is typically about the “many security holes” in the
concept and “changes to existing business processes” that are needed to leverage the
capability.&amp;nbsp; The second part of the reaction takes place a bit later as we get
into discussing identity proofing and bring up the example of US Government PIV cards
(which are Smart Cards that are issued to US Government Employees and Contractors)
or Non Federally Issued PIV-I Cards, both of which have have transparent, publically
documented, and consistent identity proofing process and the level of comfort the
same set of folks have in potentially changing their business processes to accept
the PIV/PIV-I Card as a proxy for identity proofing that has been done by someone
else.
&lt;/p&gt;
&lt;p&gt;
What that combination of reactions confirmed for me is that the issue is not about
technology/security holes (since the the Identity Oracle is a business and NOT a technology)
or about changing business practices (since the second part requires that change as
well) but about the level of comfort and confidence one can place in the relationships
between the Identity Oracle and entities that need to interact with it.&amp;nbsp; I prefer
to not use the word “Trust” in this context because the definition is ambiguous at
best (See Gunnar Peterson’s “&lt;a href="http://1raindrop.typepad.com/1_raindrop/2010/12/lets-stop-building-naivete-in-wishing-you-a-less-trustful-2011.html"&gt;Lets
Stop ‘Building Naïveté In’ - Wishing You a Less Trustful 2011&lt;/a&gt;” blog post) but
instead would like to focus on the contractual aspects of what can be articulated,
measured and enforced as both Gunnar in his blog and Scott David in my earlier “&lt;a href="http://www.aniltj.com/blog/2011/03/03/IdentityOraclesABusinessAndLawPerspective.aspx"&gt;Identity
Oracles – A Business and Law Perspective&lt;/a&gt;” blog post noted. 
&lt;/p&gt;
&lt;p&gt;
This tension between the technical and the business also came up in the reactions
(&lt;a href="http://twitter.com/#!/independentid/statuses/42279595176767488"&gt;@independentid&lt;/a&gt;, &lt;a href="http://twitter.com/#!/NishantK/statuses/43387151290871808"&gt;@NishantK&lt;/a&gt;, &lt;a href="http://twitter.com/#!/IDinTheCloud/statuses/43393534757322752"&gt;@IDinTheCloud&lt;/a&gt;, &lt;a href="http://www.discoveringidentity.com/2011/03/03/emerging-identity-oracles/"&gt;@mgd&lt;/a&gt;)
to my &lt;a href="http://www.aniltj.com/blog/2011/02/27/IdentityOraclesAndTheirRoleInTheIdentityEcoSystem.aspx"&gt;original
post on Identity Oracles&lt;/a&gt;, so would like to explicitly address that in this post. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;How does the traditional “pure tech” Identity and/or Attribute Provider operate
and what if any are the constraints placed upon it?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="Oracle_IdP_PII" border="0" alt="Oracle_IdP_PII" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/IdentityOraclesTrustisEphemeralContracts_C7A8/Oracle_IdP_PII_3.jpg" width="467" height="371"&gt;From
a technical interaction perspective, you have:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Person presents to the Relying Party some token that has binds them to a unique identifier&lt;/li&gt;
&lt;li&gt;
Relying party uses that unique identifier to call out to the Identity/Attribute Provider
to retrieve attributes of the Person&lt;/li&gt;
&lt;li&gt;
The Identity/Attribute Provider interacts with Authoritative Sources of information
about the Person and returns the requested information to the Relying Party&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Now let us look at this from a non-technical interaction perspective:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
A contractual relationship exists between the Authoritative Sources and the Identity/Attribute
Provider&lt;/li&gt;
&lt;li&gt;
A contractual relationship exists between the Identity/Attribute Provider and the
Relying Party&lt;/li&gt;
&lt;li&gt;
A contractual relationship exists between the Person and the Relying Party&lt;/li&gt;
&lt;li&gt;
NO contractual relationship exists between the Person and Identity/Attribute Provider&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Privacy Implications
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
The Relying Party typically &lt;a href="http://en.wikipedia.org/wiki/Clickwrap"&gt;click-wrap&lt;/a&gt;s
its privacy and information release in its interactions with the Person 
&lt;/li&gt;
&lt;li&gt;
The identity/attribute provider, as a business entity which needs to make money, is
dependent on Relying Parties for its revenue stream&lt;/li&gt;
&lt;li&gt;
The identity/attribute provider, as the entity in the middle, has visibility into
the transactions that are conducted by the Person and has significant financial pressure
on it to monetize that information by selling it to third parties (or even to the
Relying Party). For more information on this extremely sophisticated and lucrative
market in private information, please read the &lt;a href="http://online.wsj.com/public/page/what-they-know-digital-privacy.html"&gt;recent
series of investigative articles from the Wall Street Journal&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
Given the lack of a contractual relationship between the Person and the Identity/Claims
provider, the person has no visibility or little to no control over how this transactional
information, which can be used to build a very detailed profile of the person, is
used.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;How does an Identity Oracle operate and what if any are the constraints placed
upon it?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="Oracle_IdP_No_PII" border="0" alt="Oracle_IdP_No_PII" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/IdentityOraclesTrustisEphemeralContracts_C7A8/Oracle_IdP_No_PII_3.jpg" width="462" height="367"&gt; From
a technical interaction perspective, you have:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Person establishes a relationship with the Identity Oracle, which verifies their identity
and potentially other information about them via its relationship to Authoritative
Sources. The Identity Oracle provides the person with token(s) that allow the person
to vouch for their relationship with the Identity Oracle in different contexts (Potentially
everything from a Smart Card when you need very high assurances of identity to some
token that asserts something about the person without revealing who they are)&lt;/li&gt;
&lt;li&gt;
When the Person needs to conduct a transaction with the Relying Party, he presents
the appropriate token needed which establishes their relationship to the Identity
Oracle&lt;/li&gt;
&lt;li&gt;
The Relying Party asks the Identity Oracle “Am I allowed to offer service X to the
Person with a token Y from You under condition Z?”. The Identity Oracle answers “Yes
or No”&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Now let us look at this from a non-technical interaction perspective:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
A contractual relationship exists between the Authoritative Sources and the Identity
Oracle&lt;/li&gt;
&lt;li&gt;
A contractual relationship exists between the Identity Oracle and the Relying Party&lt;/li&gt;
&lt;li&gt;
A contractual relationship exists between the Person and the Relying Party&lt;/li&gt;
&lt;li&gt;
A contractual relationship exists between the Person and Identity Oracle&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Privacy Implications
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
The Relying Party typically &lt;a href="http://en.wikipedia.org/wiki/Clickwrap"&gt;click-wrap&lt;/a&gt;s
its privacy and information release in its interactions with the Person but in many
cases does not need to collect Privacy Sensitive information from the Person&lt;/li&gt;
&lt;li&gt;
The Relying Party can potentially outsource some functions as well as transfer liability
for incorrect responses to the Identity Oracle&lt;/li&gt;
&lt;li&gt;
The Identity Oracle, as a business entity which needs to make money, has multiple
revenue streams including the Relying Party as well as the Person, not to mention
value added services it can offer to the Person&lt;/li&gt;
&lt;li&gt;
The Identity Oracle, as the entity in the middle, has visibility into the transactions
that are conducted by the Person BUT is constrained by its contractual relationship
with the Person to protect both the transactional information it has visibility into,
as well as provide only meta-data about the private information it knows about the
Person to Relying Parties&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Some of the critical points that bears emphasizing with the Identity Oracle concept
are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Privacy protection of both PII information as well as transactional information with
visibility and control by the Person&lt;/li&gt;
&lt;li&gt;
Allocation of responsibility and liability across Relying Parties, Identity Oracles
and Persons.&lt;/li&gt;
&lt;li&gt;
Ability to conduct transactions that require very high assurances of identity to completely
anonymous&lt;/li&gt;
&lt;li&gt;
Ability to conduct transactions across multiple modalities including in-person, internet/web,
mobile devices and more&lt;/li&gt;
&lt;li&gt;
Ability to leverage existing technologies such as SAML, XACML, Smart Cards, OTPs and
more&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I hope that this blog post has been helpful in articulating the differences between
a traditional identity/attribute provider and the identity oracle, and provides a
case for the community to focus more on defining and articulating the contractual
and business process aspects of the relationships of the parties involved, while simultaneously
working on the supporting technology.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e02e99ad-50c4-4696-9dc8-138385e56dd4" class="wlWriterEditableSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/IdM" rel="tag"&gt;IdM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Claims" rel="tag"&gt;Claims&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Identity+Oracle" rel="tag"&gt;Identity
Oracle&lt;/a&gt;,&lt;a href="http://technorati.com/tags/NSTIC" rel="tag"&gt;NSTIC&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c11679e0-b00d-44b8-bb6a-a343e7d38a31" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/IdM" rel="tag"&gt;IdM&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Claims" rel="tag"&gt;Claims&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Identity+Oracle" rel="tag"&gt;Identity
Oracle&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/NSTIC" rel="tag"&gt;NSTIC&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=7d8a3cea-6f35-4f6c-bf2d-5a40a7031872" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,7d8a3cea-6f35-4f6c-bf2d-5a40a7031872.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=a9bbe11a-fc87-4d9c-b42c-97536443b7be</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,a9bbe11a-fc87-4d9c-b42c-97536443b7be.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,a9bbe11a-fc87-4d9c-b42c-97536443b7be.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a9bbe11a-fc87-4d9c-b42c-97536443b7be</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Reminder:  The Identity Oracle idea is NOT mine, but I have become convinced
that it, or something like it, needs to exist in a healthy Identity Eco-System. 
The concept is something that was originally proposed by Bob Blakley and expanded
upon by him and others at Gartner/Burton Group.  I am simply trying to gather
the information that exists in a variety of places into <a href="http://www.aniltj.com/blog/2011/02/27/IdentityOraclesAndTheirRoleInTheIdentityEcoSystem.aspx">one
cohesive narrative, and adding my own perspective</a> to move the conversation forward
on this topic.
</p>
        <p>
          <img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Scales of Justice" border="0" alt="Scales of Justice" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/IdentityOraclesABusinessandLawPerspectiv_13F79/Scales_of_Justice_3.jpg" width="240" height="228" /> One
of the aspects of the Identity Oracle is that it is not a technology but a business
that proposes to address the relationship between Subjects, Relying Parties and Authoritative
Sources of Information via mechanisms such as Contract Law. I am not a lawyer and
I do not play one on TV. So when I had questions about the viability of the Identity
Oracle from a Law and Business perspective, I pinged <a href="http://www.klgates.com/professionals/detail.aspx?professional=3726">Scott
David</a> at K&amp;L Gates. Scott and I have ended up at a lot of the same identity
focused events in recent months and I have really enjoyed conversing with him about
the intersection of Identity, Privacy and Law.  As someone who is passionate
about those topics, and works in the domain, he brings a critical insight to this
discussion. 
</p>
        <p>
My request to Scott was to <a href="http://www.aniltj.com/blog/2011/02/27/IdentityOraclesAndTheirRoleInTheIdentityEcoSystem.aspx">read
my previous blog entry on Identity Oracles</a> and answer if the concept was “… feasible
or is it a Utopian vision that is a bridge too far?”  The short version of the
answer that I got was:
</p>
        <blockquote>
          <p>
            <em>“I agree with much of the strategy of what you suggest in the blog, but I have
some comments on tactics”</em>
          </p>
        </blockquote>
        <p>
But because the long version of his answer is so very thought provoking, I am posting
it here, with his permission. I do take some liberties below by commenting on Scott’s
words and providing external links to some of his references. 
</p>
        <p>
Here is Scott, in his own words:
</p>
        <blockquote>
          <p>
            <em>Anil – The following are my personal comments to your blog entry. They do not
reflect the views of my firm (K&amp;L Gates LLP) or any of its clients.</em>
          </p>
          <p>
            <em>I guess I would say you are "getting warmer," but there are some underlying assumptions
on the legal side in the path that you outline that will likely prevent achieving
internet scale through the path described.</em>
          </p>
          <p>
            <em>With some changes in assumptions and design and deployment tactics, however, the
market-oriented system that you contemplate can, I think, be built to accommodate
the needs of global data/identity systems.</em>
          </p>
          <p>
            <em>If we treat law as a technology (just as "language" is a "technology") in need
of standardization, and look at law from a systems, information science, thermodynamics,
AND economic incentives perspective, the following additional points quickly suggest
themselves as requiring accommodation in internet scale systems.</em>
          </p>
          <p>
            <em>1) You are right-on with emphasis on contract law. Massively interoperable systems
require Rules standardization (not just technical standardization) on a broad scale.
The most system relevant rules (the only one's on which system users can rely) will
be those that are enforceable. Those are called legal duties. They arise two ways:
by legislation (regulation or other government action) or contract. There is no single
international legal jurisdiction (see <a href="http://en.wikipedia.org/wiki/Peace_of_Westphalia">Peace
of Westphalia - 1648</a>), so legislation and regulation alone cannot drive standardization.
The international law is the law of contracts (minimum coverage of treaties aside).</em>
          </p>
          <p>
            <em>Standardized, enforceable, international contracts involving remote parties dealing
in valuable intangibles/data are entered into literally every second . . .that activity
takes place in the current financial markets. Existing financial and other market
structures offer a great deal of insight into the likely functioning of future data/information/identity
services markets. Lots to discuss here.</em>
          </p>
          <p>
            <em>There is another reason to rely on contract law. Due to the limited reach of US
and other sovereign nation legal jurisdiction in this context, neither the US, nor
any other country, can "force" adoption of internet scale data/identity rules.</em>
          </p>
          <p>
            <em>There is a solid advantage for the US (and other jurisdictions that have reliable
legal/political systems), however, and it is the same one that permits U.S. financial
markets to maintain ascendancy in the world markets (despite recent deflections).
It is the strong "system support value" derived from the US tradition of deference
to the "rule of law." To the extent that the US and other similar jurisdictions are
able to "attach" their ideas (manifested in their local data/identity-system-supporting
laws) of how to structure data/identity systems to the broad and deep "trust" that
is placed in their respective legal/political systems worldwide, it will enhance the
appeal of the those systems, and the efficacy and authority of persons and institutions
that are responsible for such systems.</em>
          </p>
          <p>
            <em>It is for this reason, incidentally, that <a href="http://openidentityexchange.org/">OIX</a> processes
were organized based on a variety of US and international trusted, developed "market"
models (in a variety of self-regulatory settings), and why they focus on reliable,
predictable, transparent processes, etc. Systems that offer the best solutions will
enjoy the broadest adoption. Reliability and predictability are currently at a premium
due to system fragmentation and so are highly desirable at present. In fact, the data/identity
system harm "trifecta," i.e., "privacy," "security," and "liability," can all be seen
as merely symptoms of lack of reliability and predictability, due to a lack of standardized
legal structure at the core of nascent data/identity markets. Core enforceable legal
structure yields reliability, predictability and a form of "trust."</em>
          </p>
        </blockquote>
        <p>
I had never given much thought to this but once Scott articulated this point, the
focus on Contract Law which can be international in scope vs Legislation which is
local makes sense. There are also familiar elements here regarding the concept of
“Comparability” vs. “Compliance” (where the former model is preferred) that Dr. Peter
Alterman from NIH has often spoken of in regards to Identity Trust Frameworks.
</p>
        <blockquote>
          <p>
            <em>2) You are correct that it is not a technology issue. I introduced the alliterative
concept of "Tools and Rules" early on as a rhetorical device to put laws on par with
technology in the discussion (which still takes place mainly among technologists).
As a former large software company attorney once said "in the world of software, the
contract is the product." He did not intend to diminish the efforts of software programmers,
just to call out that providing a customer with a copy of a software product without
a license that limits duplication would undermine the business plan (since without
the contract, that person could make 1 million copies). Similarly, in the future markets
for data/identity services, the contract is the product. This is key (see below).</em>
          </p>
        </blockquote>
        <p>
As a technologist it is sometimes hard for me to admit that the truly challenging
problems in the Identity and Trust domain are not technical in nature but in the domain
of Policy. To paraphrase the remarks of someone I work with from a recent discussion
“We need to get policy right so that we can work the technical issues”.
</p>
        <blockquote>
          <p>
            <em>3) Your discussion is based on a property paradigm. There is much to discuss here.
The property paradigm does not scale without first establishing some ground rules.</em>
          </p>
          <p>
            <em>First, the concept of private property was adopted by the Constitution's framers
who were familiar with the work of Gladstone (who believed that without property laws,
every man must act as a "thief"). Those laws work very well where the asset is "rivalrous,"
i.e., it can only be possessed/ controlled by one person. This works for all physical
assets. For intangible assets, rivalrousness requires a legal regime (e.g., copyright,
patent, etc. to create the ability to exclude, since there is no asset physicality
to "possess" as against all other claimants to the same asset). The analysis is then,
what legal regime will work to support the interactions and transactions in the particular
intangible assets involved here (be it identified as "data," "information," "identity"
etc.). Data is non-rivalrous (see discussion in 5 below).</em>
          </p>
          <p>
            <em>I believe that this is a "resource management" type situation (like managing riparian,
aquifer, fisheries, grazing or other similar rights) that lends itself to that type
of legal regime, rather than a traditional "property" regime. In this alternative,
the "property" interest held by a party is an "intangible contract right," rather
than a direct interest in physical property. That contract right entitles the party
to be the beneficiary of one or more duties of other people to perform actions relating
to data in a way that benefits the rights holder. For instance, a "relying party"
receives greater benefit (and an IDP is more burdened) at LOA 3 than LOA 2). The "value"
of the contract right is measured by the value to the party benefited by the duty.</em>
          </p>
          <p>
            <em>The resource management structure emphasizes mutual performance promises among
stakeholders, rather than underlying property interests. Briefly, consider a river
with three types of user groups (40 agricultural (irrigation) users upstream, 2 power
plants midstream (cooling), and a city of 100,000 residential water users downstream
(consumption and washing, etc.)). Each rely on different qualities of the water (irrigation
is for supporting plant metabolism (stomata turgidity, hydrogen source for manufacturing
complex carbohydrates in photosynthesis, etc.), power plants use water for its thermal
capacity, and residents use it for supporting human metabolism (consumption) and as
a fairly "universal solvent" (for washing, etc.). When there is plenty of water in
the river, there is no conflict and each user can use it freely without restriction.
When there is too little water, or conflicting usage patterns, there can be conflicting
interests. In that situation, it is not property interests, per se, that are applied
to resolve the conflicts, but rather mutually agreed upon duties documented in standard
agreements that bind all parties to act in ways consistent with the interests of other
parties. </em>
          </p>
          <p>
            <em>Like water, data is a resource that has many different user groups (among them
data subjects, relying parties and identity providers), with needs sometimes in conflict.
Notably, because data is not a physical resource, the "scarcity" is not due to physical
limitation of the resource, but rather is due to the exertion of the rights of other
parties to restrict usage (which is indistinguishable legally from a physical restriction).</em>
          </p>
          <p>
            <em>The property paradigm can be employed for certain forms of intellectual property,
such as copyrights, but those systems were not designed to accommodate large "many
to many" data transfers. Arrangements such as BMI/ASCAP (which organize music licensing
for public radio play, etc.) are needed to help those systems achieve scale.</em>
          </p>
          <p>
            <em>In any event, there is also a question of ownership where "data" is generated
by an interaction (which is most (or all?) of the time). Who "owns" data about my
interactions with my friends, me or them? If both parties "own" it, then it is more
of a rights regime than a "property" regime as that term is generally understood.
Who owns data about my purchase transactions at the supermarket, me or the store?
It takes two to tango. We will be able to attribute ownership of data about interactions
and relationships to one or the other party (in a non-arbitrary fashion) only when
we can also answer the question "who owns a marriage?", i.e., never. You quote Bob
Blakley who speaks about "your" information. I take that to be a casual reference
to the class of information about someone, rather than an assertion of a right of
exclusive possession or control. If it is the latter, it seems inconsistent with the
indications that the database will be an "asset" of the Identity Oracle. That separation
could be accomplished through a rights regime.</em>
          </p>
          <p>
            <em>There is also the linguistics based problem of "non-count nouns." Certain nouns
do not have objects associated with them directly. Gold and water are good examples.
I don't say "I have a gold." or I have a water." In order to describe an object, it
needs a "container/object convention" ("a gold necklace" or "a glass of water.") Data
is a non-count noun. When it is put in a "container" (i.e., when it is observed in
a context), it becomes "information." It makes no sense for me to point to a snowbank
and say "there is my snowball in that snowbank." Instead, I can pick up a handful
of snow (separate it out from the snowbank) and then make that declaration. Similarly,
in the era of behavioral advertising, massive data collection and processing, it makes
little sense to say, "there is my personal information in that data bank" (unless
the data is already correlated in a file in a cohesive way, or is an "inventory control"
type number such as an SSN). It takes the act of observation to place data in the
information "container."</em>
          </p>
          <p>
            <em>As a result, it will take more to allow parties to exert any type of "property"
interests in data (even those property interests under a contract "rights regime.").
First, you need to make a data "snowball" (i.e., observe it into the status of "information")
from the mass of data.</em>
          </p>
          <p>
            <em>The paradigm of resource allocation allows DATA to flow, while permitting rules
to measure (and restrict or charge for, etc.) information. When we talk, I will share
with you the concept of when limitations, measurement, valuation, monetization might
be applied. Briefly, when the data is "observed" by a party, I call it a "recognition"
event. That observation will always be in a context (of the observer) and be for that
observer's subjective purposes. At the point of observation, data is "elevated" to
information (the "Heisenberg synapses" in your brain may be firing at this notion).
It is at that point that it is the "difference that makes a difference" (to quote
Bateson). The first reference to "difference" is the fact that data is carried by
a "state change" in a medium. The second reference to "difference" in the Bateson
quote is the fact that the data matters to the observer (it has value either monetarily
or otherwise). Anyway, this data/information distinction I think lends itself to a
system that can allow data to "flow" but can offer appropriate "measurement" at the
point of "use" ,i.,e, observation, that can form the basis of legal structures to
value, monetize, limit, restrict, protect, etc. the information that the data contains.</em>
          </p>
          <p>
            <em>This works well with context-based limitation. Ask me about the example using
data held by my banker under Gramm Leach Bliley.</em>
          </p>
        </blockquote>
        <p>
The resource allocation and “non-count nouns” concepts are very interesting to me
and is something I need to digest, think about and explore a lot more.
</p>
        <blockquote>
          <p>
            <em>4) Bilateral agreements, individually negotiated agreements won't scale. Standard
form agreements are used in every market (financial, stock, commodities, electrical
grid) where remote parties desire to render the behavior of other participants more
reliable and predictable. Even the standardized legal rules of the Uniform Commercial
Code (passed in all 50 states) offers standard provisions as a baseline "virtual interoperable
utility" for various sub-elements of larger commercial markets (the UCC provides standard
terms associated with sales of goods, commercial paper, negotiable instruments, etc.
that have established standard legal duties in the commercial sector since the 1940s.
. .and establish broad legal duty interoperability that makes information in the commercial
sector "flow").</em>
          </p>
          <p>
            <em>Standard form agreements permit remote parties without direct contractual privity
to be assured about each other's performance of legal duties. This reduces "risk"
in the environment of the organism (either individual or entity), since it makes the
behavior of other parties more reliable and predictable. This saves costs (since parties
don't have to anticipate as many external variables in planning), and so has value
to parties. The concept of contract "consideration" is the measure of the value to
a party for receiving promises of particular future behavior (legal duties) from another
party.</em>
          </p>
          <p>
            <em>The creation of a "risk-reduction territory" through the assignment of standardized
legal duties to broad groups of participants is called a "market" in the commercial
sector, it is called a "community" in the social sector, and it is called a "governance
structure" in the political sector. Those duties can be established by contract or
by legislation/regulation. In the present case (as noted above) contract is the likely
route to the establishment of duties. Since all three sectors are using a shared resource,
i.e., data, improvement of the reliability, predictability and interoperability in
any one of the three sectors will yield benefits for participants in all three sectors.
An example of this relationship among user groups is evidenced by the willingness
of the government authorities to rely on the commercial sector for development of
data/identity Tools and Rules.</em>
          </p>
          <p>
            <em>Standard form agreements enable the creation of either mediated markets (such
as those mediated by banks (match capital accumulation to those with borrowing needs),
or brokers (match buy and sell orders), etc.), or unmediated markets (such as the
use of standard form mortgages or car loan documents to enable the securitization
(reselling) of receivables in those markets).</em>
          </p>
        </blockquote>
        <blockquote>
          <p>
            <em>5) Centralized operation and enforcement won't scale. Steven Wright, the comedian,
says that he has "the largest seashell collection in the world, he keeps it on beaches
around the earth." This is amusing because it stretches the "ownership" concept beyond
our normal understanding. Data is seashells. It will be impossible (or at least commercially
unreasonable) to try to vacuum all (or even a large portion of) data into a single
entity (whether commercial or governmental).</em>
          </p>
          <p>
            <em>In fact, on page 90 of Luciano Floridi's book "<a href="http://www.amazon.com/Information-Very-Short-Introduction-Introductions/dp/0199551375">Information
- A very short introduction</a>." (Oxford Press) (strongly recommended), the author
notes that information has three main properties that differentiate it from other
ordinary goods. Information is "non-rivalrous" (we can both own the same information,
but not the same loaf of bread), "non-excludable" (because information is easily disclosed
and sharable, it takes energy to protect it - how much energy?. . .see wikileaks issues),
and "zero marginal cost" (cost of reproduction is negligible). Of these, the non-excludability
characteristic suggests that a distributed "neighborhood watch" type system (more
akin to the decentralization we observe in the innate and learned immune systems of
animals), offers a path to enforcement that is probably more sound economically, politically,
mathematically and thermodynamically than to attempt to centralize operation, control
and enforcement. That is not to say that the "control reflex" won't be evidenced by
existing commercial and governmental institutions. . .it will; it is simply to suggest
that each such entity would be well advised to have "Plan B" at the ready. </em>
          </p>
          <p>
            <em>This does not mean that data (even as "seashells") cannot be accessed centrally;
it can due to the gross interoperability of scaled systems based on standardization
of tools and rules. The key is "access rights" that will be based on enforceable,
consensus-based agreement (and complementary technology standards). This analysis
will naturally expand to topics such as ECPA reform, future 4th amendment jurisprudence
and a host of related areas, where group and individual needs are also balanced (but
in the political, rather than the commercial user group setting). The analysis of
those civil rights/security-related issues will benefit from using a similar analysis
to that relied upon for configuration of commercial systems, since both will involve
the management of a single "data river" resource, and since the requirements imposed
on private persons to cooperate with and assist valid governmental investigations
will be applied with respect to the use of such commercial systems.</em>
          </p>
          <p>
            <em>In this context it is critical to separate out the system harms caused by bad
actors (that cause intentional harm), and negligent actors (that cause harm without
intention). Intentional actors will not be directly discouraged by the formality of
structured access rights, which they will likely violate with impunity just as they
do now. The presence of structured, common rules provides an indirect defense against
intentional actors, however, since it gives the system "1000 eyes." In other words,
since much intentional unauthorized access is caused by fooling people through "social
engineering " (in online context) and "pretexting" (in telco context), those paths
to unauthorized access will be curtailed by a more standardized system that is more
familiar to users (who are less likely to be fooled). Security can be built right
into the rights, incentives and penalties regime (remind me to tell you about the
way they handled the "orange rockfish" problem in one of the pacific fisheries). Again,
there is much to discuss here as well. </em>
          </p>
          <p>
            <em>Also, your business emphasis seems exactly right. Due to the energy requirements
to maintain security and system integrity (resist entropy?), the system can only scale
if there are incentives and penalties built into the system. Those incentives and
penalties need to be administered in a way so that they are distributed throughout
the system. The standardized contract model anticipates that. Ultimately, the adoption
("Opt in") curve will be derived from whether or not participation is sufficiently
economically compelling for business (in their roles as IDPs, RPs and data subjects),
and offers similarly compelling benefits to individuals (in similar roles). This returns
the analysis to the "resource management" model.</em>
          </p>
        </blockquote>
        <blockquote>
          <p>
            <em>6) As noted above, there are different user groups that use the same data resources.
These include those groups in the gross categories of commercial, social and governmental
users. Thus, for example, when I post to a social network a personal comment, that
social network may "observe" that posting for commercial purposes. That can be conceived
of as a "user group conflict" (depending on the parties’ respective expectations and
“rights”) to be resolved by resort to common terms. The good news is that because
all user groups are working with a common resource (data), improvement of the structuring
for any one user group will have benefits for the other users of the resource as well.</em>
          </p>
          <p>
            <em>In short, I agree with much of the strategy of what you suggest in the blog, but
I have some comments on tactics.</em>
          </p>
        </blockquote>
        <p>
There is a lot of information and concepts here and while a lot of it is something
that I can map to my domain (Lack of scalability of bi-lateral agreements and central
enforcement and more), there are others that I have not had to deal with before so
am slowly working my way thru them. But in either case, I wanted to expose this to
the larger community so that it can become part of the conversation that needs to
happen on this topic.  I for one, am really looking forward to further conversations
with Scott on this topic!
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1f15ecde-a5fc-43a6-a37a-f39b569a1308" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Identity+Oracle" rel="tag">Identity Oracle</a>,<a href="http://technorati.com/tags/NSTIC" rel="tag">NSTIC</a>,<a href="http://technorati.com/tags/Law" rel="tag">Law</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2d251b5d-e781-48d0-b3f6-aa9e266598b0" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/Identity+Oracle" rel="tag">Identity Oracle</a>,<a href="http://del.icio.us/popular/NSTIC" rel="tag">NSTIC</a>,<a href="http://del.icio.us/popular/Law" rel="tag">Law</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=a9bbe11a-fc87-4d9c-b42c-97536443b7be" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Identity Oracles – A Business and Law Perspective</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,a9bbe11a-fc87-4d9c-b42c-97536443b7be.aspx</guid>
      <link>http://www.aniltj.com/blog/2011/03/03/IdentityOraclesABusinessAndLawPerspective.aspx</link>
      <pubDate>Thu, 03 Mar 2011 03:43:07 GMT</pubDate>
      <description>&lt;p&gt;
Reminder:&amp;nbsp; The Identity Oracle idea is NOT mine, but I have become convinced
that it, or something like it, needs to exist in a healthy Identity Eco-System.&amp;nbsp;
The concept is something that was originally proposed by Bob Blakley and expanded
upon by him and others at Gartner/Burton Group.&amp;nbsp; I am simply trying to gather
the information that exists in a variety of places into &lt;a href="http://www.aniltj.com/blog/2011/02/27/IdentityOraclesAndTheirRoleInTheIdentityEcoSystem.aspx"&gt;one
cohesive narrative, and adding my own perspective&lt;/a&gt; to move the conversation forward
on this topic.
&lt;/p&gt;
&lt;p&gt;
&lt;img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Scales of Justice" border="0" alt="Scales of Justice" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/IdentityOraclesABusinessandLawPerspectiv_13F79/Scales_of_Justice_3.jpg" width="240" height="228"&gt; One
of the aspects of the Identity Oracle is that it is not a technology but a business
that proposes to address the relationship between Subjects, Relying Parties and Authoritative
Sources of Information via mechanisms such as Contract Law. I am not a lawyer and
I do not play one on TV. So when I had questions about the viability of the Identity
Oracle from a Law and Business perspective, I pinged &lt;a href="http://www.klgates.com/professionals/detail.aspx?professional=3726"&gt;Scott
David&lt;/a&gt; at K&amp;amp;L Gates. Scott and I have ended up at a lot of the same identity
focused events in recent months and I have really enjoyed conversing with him about
the intersection of Identity, Privacy and Law.&amp;nbsp; As someone who is passionate
about those topics, and works in the domain, he brings a critical insight to this
discussion. 
&lt;/p&gt;
&lt;p&gt;
My request to Scott was to &lt;a href="http://www.aniltj.com/blog/2011/02/27/IdentityOraclesAndTheirRoleInTheIdentityEcoSystem.aspx"&gt;read
my previous blog entry on Identity Oracles&lt;/a&gt; and answer if the concept was “… feasible
or is it a Utopian vision that is a bridge too far?”&amp;nbsp; The short version of the
answer that I got was:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;“I agree with much of the strategy of what you suggest in the blog, but I have
some comments on tactics”&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
But because the long version of his answer is so very thought provoking, I am posting
it here, with his permission. I do take some liberties below by commenting on Scott’s
words and providing external links to some of his references. 
&lt;/p&gt;
&lt;p&gt;
Here is Scott, in his own words:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;Anil – The following are my personal comments to your blog entry. They do not
reflect the views of my firm (K&amp;amp;L Gates LLP) or any of its clients.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;I guess I would say you are "getting warmer," but there are some underlying assumptions
on the legal side in the path that you outline that will likely prevent achieving
internet scale through the path described.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;With some changes in assumptions and design and deployment tactics, however, the
market-oriented system that you contemplate can, I think, be built to accommodate
the needs of global data/identity systems.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;If we treat law as a technology (just as "language" is a "technology") in need
of standardization, and look at law from a systems, information science, thermodynamics,
AND economic incentives perspective, the following additional points quickly suggest
themselves as requiring accommodation in internet scale systems.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;1) You are right-on with emphasis on contract law. Massively interoperable systems
require Rules standardization (not just technical standardization) on a broad scale.
The most system relevant rules (the only one's on which system users can rely) will
be those that are enforceable. Those are called legal duties. They arise two ways:
by legislation (regulation or other government action) or contract. There is no single
international legal jurisdiction (see &lt;a href="http://en.wikipedia.org/wiki/Peace_of_Westphalia"&gt;Peace
of Westphalia - 1648&lt;/a&gt;), so legislation and regulation alone cannot drive standardization.
The international law is the law of contracts (minimum coverage of treaties aside).&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Standardized, enforceable, international contracts involving remote parties dealing
in valuable intangibles/data are entered into literally every second . . .that activity
takes place in the current financial markets. Existing financial and other market
structures offer a great deal of insight into the likely functioning of future data/information/identity
services markets. Lots to discuss here.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;There is another reason to rely on contract law. Due to the limited reach of US
and other sovereign nation legal jurisdiction in this context, neither the US, nor
any other country, can "force" adoption of internet scale data/identity rules.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;There is a solid advantage for the US (and other jurisdictions that have reliable
legal/political systems), however, and it is the same one that permits U.S. financial
markets to maintain ascendancy in the world markets (despite recent deflections).
It is the strong "system support value" derived from the US tradition of deference
to the "rule of law." To the extent that the US and other similar jurisdictions are
able to "attach" their ideas (manifested in their local data/identity-system-supporting
laws) of how to structure data/identity systems to the broad and deep "trust" that
is placed in their respective legal/political systems worldwide, it will enhance the
appeal of the those systems, and the efficacy and authority of persons and institutions
that are responsible for such systems.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;It is for this reason, incidentally, that &lt;a href="http://openidentityexchange.org/"&gt;OIX&lt;/a&gt; processes
were organized based on a variety of US and international trusted, developed "market"
models (in a variety of self-regulatory settings), and why they focus on reliable,
predictable, transparent processes, etc. Systems that offer the best solutions will
enjoy the broadest adoption. Reliability and predictability are currently at a premium
due to system fragmentation and so are highly desirable at present. In fact, the data/identity
system harm "trifecta," i.e., "privacy," "security," and "liability," can all be seen
as merely symptoms of lack of reliability and predictability, due to a lack of standardized
legal structure at the core of nascent data/identity markets. Core enforceable legal
structure yields reliability, predictability and a form of "trust."&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
I had never given much thought to this but once Scott articulated this point, the
focus on Contract Law which can be international in scope vs Legislation which is
local makes sense. There are also familiar elements here regarding the concept of
“Comparability” vs. “Compliance” (where the former model is preferred) that Dr. Peter
Alterman from NIH has often spoken of in regards to Identity Trust Frameworks.
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;2) You are correct that it is not a technology issue. I introduced the alliterative
concept of "Tools and Rules" early on as a rhetorical device to put laws on par with
technology in the discussion (which still takes place mainly among technologists).
As a former large software company attorney once said "in the world of software, the
contract is the product." He did not intend to diminish the efforts of software programmers,
just to call out that providing a customer with a copy of a software product without
a license that limits duplication would undermine the business plan (since without
the contract, that person could make 1 million copies). Similarly, in the future markets
for data/identity services, the contract is the product. This is key (see below).&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
As a technologist it is sometimes hard for me to admit that the truly challenging
problems in the Identity and Trust domain are not technical in nature but in the domain
of Policy. To paraphrase the remarks of someone I work with from a recent discussion
“We need to get policy right so that we can work the technical issues”.
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;3) Your discussion is based on a property paradigm. There is much to discuss here.
The property paradigm does not scale without first establishing some ground rules.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;First, the concept of private property was adopted by the Constitution's framers
who were familiar with the work of Gladstone (who believed that without property laws,
every man must act as a "thief"). Those laws work very well where the asset is "rivalrous,"
i.e., it can only be possessed/ controlled by one person. This works for all physical
assets. For intangible assets, rivalrousness requires a legal regime (e.g., copyright,
patent, etc. to create the ability to exclude, since there is no asset physicality
to "possess" as against all other claimants to the same asset). The analysis is then,
what legal regime will work to support the interactions and transactions in the particular
intangible assets involved here (be it identified as "data," "information," "identity"
etc.). Data is non-rivalrous (see discussion in 5 below).&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;I believe that this is a "resource management" type situation (like managing riparian,
aquifer, fisheries, grazing or other similar rights) that lends itself to that type
of legal regime, rather than a traditional "property" regime. In this alternative,
the "property" interest held by a party is an "intangible contract right," rather
than a direct interest in physical property. That contract right entitles the party
to be the beneficiary of one or more duties of other people to perform actions relating
to data in a way that benefits the rights holder. For instance, a "relying party"
receives greater benefit (and an IDP is more burdened) at LOA 3 than LOA 2). The "value"
of the contract right is measured by the value to the party benefited by the duty.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;The resource management structure emphasizes mutual performance promises among
stakeholders, rather than underlying property interests. Briefly, consider a river
with three types of user groups (40 agricultural (irrigation) users upstream, 2 power
plants midstream (cooling), and a city of 100,000 residential water users downstream
(consumption and washing, etc.)). Each rely on different qualities of the water (irrigation
is for supporting plant metabolism (stomata turgidity, hydrogen source for manufacturing
complex carbohydrates in photosynthesis, etc.), power plants use water for its thermal
capacity, and residents use it for supporting human metabolism (consumption) and as
a fairly "universal solvent" (for washing, etc.). When there is plenty of water in
the river, there is no conflict and each user can use it freely without restriction.
When there is too little water, or conflicting usage patterns, there can be conflicting
interests. In that situation, it is not property interests, per se, that are applied
to resolve the conflicts, but rather mutually agreed upon duties documented in standard
agreements that bind all parties to act in ways consistent with the interests of other
parties. &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Like water, data is a resource that has many different user groups (among them
data subjects, relying parties and identity providers), with needs sometimes in conflict.
Notably, because data is not a physical resource, the "scarcity" is not due to physical
limitation of the resource, but rather is due to the exertion of the rights of other
parties to restrict usage (which is indistinguishable legally from a physical restriction).&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;The property paradigm can be employed for certain forms of intellectual property,
such as copyrights, but those systems were not designed to accommodate large "many
to many" data transfers. Arrangements such as BMI/ASCAP (which organize music licensing
for public radio play, etc.) are needed to help those systems achieve scale.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;In any event, there is also a question of ownership where "data" is generated
by an interaction (which is most (or all?) of the time). Who "owns" data about my
interactions with my friends, me or them? If both parties "own" it, then it is more
of a rights regime than a "property" regime as that term is generally understood.
Who owns data about my purchase transactions at the supermarket, me or the store?
It takes two to tango. We will be able to attribute ownership of data about interactions
and relationships to one or the other party (in a non-arbitrary fashion) only when
we can also answer the question "who owns a marriage?", i.e., never. You quote Bob
Blakley who speaks about "your" information. I take that to be a casual reference
to the class of information about someone, rather than an assertion of a right of
exclusive possession or control. If it is the latter, it seems inconsistent with the
indications that the database will be an "asset" of the Identity Oracle. That separation
could be accomplished through a rights regime.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;There is also the linguistics based problem of "non-count nouns." Certain nouns
do not have objects associated with them directly. Gold and water are good examples.
I don't say "I have a gold." or I have a water." In order to describe an object, it
needs a "container/object convention" ("a gold necklace" or "a glass of water.") Data
is a non-count noun. When it is put in a "container" (i.e., when it is observed in
a context), it becomes "information." It makes no sense for me to point to a snowbank
and say "there is my snowball in that snowbank." Instead, I can pick up a handful
of snow (separate it out from the snowbank) and then make that declaration. Similarly,
in the era of behavioral advertising, massive data collection and processing, it makes
little sense to say, "there is my personal information in that data bank" (unless
the data is already correlated in a file in a cohesive way, or is an "inventory control"
type number such as an SSN). It takes the act of observation to place data in the
information "container."&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;As a result, it will take more to allow parties to exert any type of "property"
interests in data (even those property interests under a contract "rights regime.").
First, you need to make a data "snowball" (i.e., observe it into the status of "information")
from the mass of data.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;The paradigm of resource allocation allows DATA to flow, while permitting rules
to measure (and restrict or charge for, etc.) information. When we talk, I will share
with you the concept of when limitations, measurement, valuation, monetization might
be applied. Briefly, when the data is "observed" by a party, I call it a "recognition"
event. That observation will always be in a context (of the observer) and be for that
observer's subjective purposes. At the point of observation, data is "elevated" to
information (the "Heisenberg synapses" in your brain may be firing at this notion).
It is at that point that it is the "difference that makes a difference" (to quote
Bateson). The first reference to "difference" is the fact that data is carried by
a "state change" in a medium. The second reference to "difference" in the Bateson
quote is the fact that the data matters to the observer (it has value either monetarily
or otherwise). Anyway, this data/information distinction I think lends itself to a
system that can allow data to "flow" but can offer appropriate "measurement" at the
point of "use" ,i.,e, observation, that can form the basis of legal structures to
value, monetize, limit, restrict, protect, etc. the information that the data contains.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;This works well with context-based limitation. Ask me about the example using
data held by my banker under Gramm Leach Bliley.&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
The resource allocation and “non-count nouns” concepts are very interesting to me
and is something I need to digest, think about and explore a lot more.
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;4) Bilateral agreements, individually negotiated agreements won't scale. Standard
form agreements are used in every market (financial, stock, commodities, electrical
grid) where remote parties desire to render the behavior of other participants more
reliable and predictable. Even the standardized legal rules of the Uniform Commercial
Code (passed in all 50 states) offers standard provisions as a baseline "virtual interoperable
utility" for various sub-elements of larger commercial markets (the UCC provides standard
terms associated with sales of goods, commercial paper, negotiable instruments, etc.
that have established standard legal duties in the commercial sector since the 1940s.
. .and establish broad legal duty interoperability that makes information in the commercial
sector "flow").&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Standard form agreements permit remote parties without direct contractual privity
to be assured about each other's performance of legal duties. This reduces "risk"
in the environment of the organism (either individual or entity), since it makes the
behavior of other parties more reliable and predictable. This saves costs (since parties
don't have to anticipate as many external variables in planning), and so has value
to parties. The concept of contract "consideration" is the measure of the value to
a party for receiving promises of particular future behavior (legal duties) from another
party.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;The creation of a "risk-reduction territory" through the assignment of standardized
legal duties to broad groups of participants is called a "market" in the commercial
sector, it is called a "community" in the social sector, and it is called a "governance
structure" in the political sector. Those duties can be established by contract or
by legislation/regulation. In the present case (as noted above) contract is the likely
route to the establishment of duties. Since all three sectors are using a shared resource,
i.e., data, improvement of the reliability, predictability and interoperability in
any one of the three sectors will yield benefits for participants in all three sectors.
An example of this relationship among user groups is evidenced by the willingness
of the government authorities to rely on the commercial sector for development of
data/identity Tools and Rules.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Standard form agreements enable the creation of either mediated markets (such
as those mediated by banks (match capital accumulation to those with borrowing needs),
or brokers (match buy and sell orders), etc.), or unmediated markets (such as the
use of standard form mortgages or car loan documents to enable the securitization
(reselling) of receivables in those markets).&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; &lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;5) Centralized operation and enforcement won't scale. Steven Wright, the comedian,
says that he has "the largest seashell collection in the world, he keeps it on beaches
around the earth." This is amusing because it stretches the "ownership" concept beyond
our normal understanding. Data is seashells. It will be impossible (or at least commercially
unreasonable) to try to vacuum all (or even a large portion of) data into a single
entity (whether commercial or governmental).&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;In fact, on page 90 of Luciano Floridi's book "&lt;a href="http://www.amazon.com/Information-Very-Short-Introduction-Introductions/dp/0199551375"&gt;Information
- A very short introduction&lt;/a&gt;." (Oxford Press) (strongly recommended), the author
notes that information has three main properties that differentiate it from other
ordinary goods. Information is "non-rivalrous" (we can both own the same information,
but not the same loaf of bread), "non-excludable" (because information is easily disclosed
and sharable, it takes energy to protect it - how much energy?. . .see wikileaks issues),
and "zero marginal cost" (cost of reproduction is negligible). Of these, the non-excludability
characteristic suggests that a distributed "neighborhood watch" type system (more
akin to the decentralization we observe in the innate and learned immune systems of
animals), offers a path to enforcement that is probably more sound economically, politically,
mathematically and thermodynamically than to attempt to centralize operation, control
and enforcement. That is not to say that the "control reflex" won't be evidenced by
existing commercial and governmental institutions. . .it will; it is simply to suggest
that each such entity would be well advised to have "Plan B" at the ready. &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;This does not mean that data (even as "seashells") cannot be accessed centrally;
it can due to the gross interoperability of scaled systems based on standardization
of tools and rules. The key is "access rights" that will be based on enforceable,
consensus-based agreement (and complementary technology standards). This analysis
will naturally expand to topics such as ECPA reform, future 4th amendment jurisprudence
and a host of related areas, where group and individual needs are also balanced (but
in the political, rather than the commercial user group setting). The analysis of
those civil rights/security-related issues will benefit from using a similar analysis
to that relied upon for configuration of commercial systems, since both will involve
the management of a single "data river" resource, and since the requirements imposed
on private persons to cooperate with and assist valid governmental investigations
will be applied with respect to the use of such commercial systems.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;In this context it is critical to separate out the system harms caused by bad
actors (that cause intentional harm), and negligent actors (that cause harm without
intention). Intentional actors will not be directly discouraged by the formality of
structured access rights, which they will likely violate with impunity just as they
do now. The presence of structured, common rules provides an indirect defense against
intentional actors, however, since it gives the system "1000 eyes." In other words,
since much intentional unauthorized access is caused by fooling people through "social
engineering " (in online context) and "pretexting" (in telco context), those paths
to unauthorized access will be curtailed by a more standardized system that is more
familiar to users (who are less likely to be fooled). Security can be built right
into the rights, incentives and penalties regime (remind me to tell you about the
way they handled the "orange rockfish" problem in one of the pacific fisheries). Again,
there is much to discuss here as well. &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Also, your business emphasis seems exactly right. Due to the energy requirements
to maintain security and system integrity (resist entropy?), the system can only scale
if there are incentives and penalties built into the system. Those incentives and
penalties need to be administered in a way so that they are distributed throughout
the system. The standardized contract model anticipates that. Ultimately, the adoption
("Opt in") curve will be derived from whether or not participation is sufficiently
economically compelling for business (in their roles as IDPs, RPs and data subjects),
and offers similarly compelling benefits to individuals (in similar roles). This returns
the analysis to the "resource management" model.&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; &lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;6) As noted above, there are different user groups that use the same data resources.
These include those groups in the gross categories of commercial, social and governmental
users. Thus, for example, when I post to a social network a personal comment, that
social network may "observe" that posting for commercial purposes. That can be conceived
of as a "user group conflict" (depending on the parties’ respective expectations and
“rights”) to be resolved by resort to common terms. The good news is that because
all user groups are working with a common resource (data), improvement of the structuring
for any one user group will have benefits for the other users of the resource as well.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;In short, I agree with much of the strategy of what you suggest in the blog, but
I have some comments on tactics.&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
There is a lot of information and concepts here and while a lot of it is something
that I can map to my domain (Lack of scalability of bi-lateral agreements and central
enforcement and more), there are others that I have not had to deal with before so
am slowly working my way thru them. But in either case, I wanted to expose this to
the larger community so that it can become part of the conversation that needs to
happen on this topic.&amp;nbsp; I for one, am really looking forward to further conversations
with Scott on this topic!
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1f15ecde-a5fc-43a6-a37a-f39b569a1308" class="wlWriterEditableSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Identity+Oracle" rel="tag"&gt;Identity Oracle&lt;/a&gt;,&lt;a href="http://technorati.com/tags/NSTIC" rel="tag"&gt;NSTIC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Law" rel="tag"&gt;Law&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2d251b5d-e781-48d0-b3f6-aa9e266598b0" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/Identity+Oracle" rel="tag"&gt;Identity Oracle&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/NSTIC" rel="tag"&gt;NSTIC&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Law" rel="tag"&gt;Law&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=a9bbe11a-fc87-4d9c-b42c-97536443b7be" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,a9bbe11a-fc87-4d9c-b42c-97536443b7be.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=bdeb8f1c-af3a-49bf-b9cd-8deb4533163b</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,bdeb8f1c-af3a-49bf-b9cd-8deb4533163b.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,bdeb8f1c-af3a-49bf-b9cd-8deb4533163b.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=bdeb8f1c-af3a-49bf-b9cd-8deb4533163b</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The concept of the Identity Oracle is something that I have been giving a lot of thought
to recently. It has been driven by a combination of factors including current projects,
maturity of both <a href="http://www.nist.gov/nstic/">policy conversations</a> and <a href="http://www.aniltj.com/blog/2010/08/04/FutureOfIdentityManagementIsNow.aspx">technology</a>,
as well as a desire to move the art of the possible forward at the intersection of
identity and privacy.  My intention is to use this blog post to provide pointers
to past conversations on this topic in the community, and to use that as a foundation
for furthering the conversation. 
</p>
        <p>
          <img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Identity Oracle" border="0" alt="Identity Oracle" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/IdentityOraclesandtheirroleintheIdentity_10252/Identity_Oracle_3.jpg" width="416" height="253" /> When
it comes to information about people (who they are, what they are allowed to do, what
digital breadcrumbs they leave during their daily travels etc.), there exists in the
eco-system both sources of information as well as entities that would find value in
utilizing this information for a variety of purposes.  What will be critical
to the success of the identity eco-system is to define, as a starting point, the qualities
and behavior of the "entity-that-needs-to-exist-in-the-middle" between these authoritative
sources of information and consumers of such information.  I believe the Identity
Oracle to be a critical piece of that entity.  
</p>
        <p>
So, what is an Identity Oracle? 
</p>
        <p>
          <a href="http://blogs.gartner.com/bob-blakley/">Bob Blakley,</a> currently the Gartner
Research VP for Identity and Privacy, coined the phrase "Identity Oracle", and provided
a definition in a <a href="http://podcast.burtongroup.com/ip/2006/06/identity_and_co.html">Burton
Catalyst 2006 presentation</a><a href="http://podcast.burtongroup.com/ip/2006/06/identity_and_co.html):">:</a></p>
        <ul>
          <li>
An organization which derives all of its profit from collection &amp; use of your
private information… 
</li>
          <li>
And therefore treats your information as an asset… 
</li>
          <li>
And therefore protects your information by answering questions (i.e. providing meta-identity
information) based on your information without disclosing your information… 
</li>
          <li>
Thus keeping both the Relying Party and you happy, while making money. 
</li>
        </ul>
        <p>
That is as succinct a definition as I've seen in the many conversations on this topic
since that time, and since I have no desire to re-invent the wheel, this is as good
a starting point as any. 
</p>
        <p>
The key point to note here is that this is <strong>NOT technology but a business</strong>,
and as such if there is any hope for this to work, this business needs a viable business
model i.e. something that makes it money.  As <a href="http://notabob.blogspot.com/2006/07/meta-identity-system.html">Bob
notes</a>, some of the questions that need be answered by the current eco-system denizens
such as Identity Providers, Attribute Providers and Relying Parties include: 
</p>
        <ul>
          <li>
            <em>Paying for the Identity Provider server and the service it provides.</em>
          </li>
          <li>
            <em>Convincing Relying Parties that they should rely on information provided by a
third party (the Identity Provider) rather than maintaining identity attribute information
themselves.</em>
          </li>
          <li>
            <em>Assigning liability when a Relying Party asserts that a claimed identity attribute
is incorrect.</em>
          </li>
          <li>
            <em>Assigning liability when a subject claims that the wrong identity attribute claim
was released to a Relying Party.</em>
          </li>
          <li>
            <em>Making subjects whole when a security failure “leaks” subject identity attributes
directly from the Identity Provider.</em>
          </li>
          <li>
            <em>Assigning liability and making subjects whole when a security failure “leaks”
subject identity attributes from a Relying Party.</em>
          </li>
        </ul>
        <p>
I will add the following to the above list:
</p>
        <ul>
          <li>
Making subjects whole when the Identity/Attribute Provider's desire to monetize its
visibility into the transactional information across multiple Relying Parties overrides
its responsibility to protect the subject's personal information.</li>
        </ul>
        <p>
As always, whenever something like this is proposed there is a tendency for technologists
to try and map this to technology implementations. In this case technologies such
as Security Token Services, Claims Transformers and Agents, Minimal Disclosure Tokens
and Verified Claims. And in the "<a href="http://identityblog.burtongroup.com/bgidps/2007/10/what-the-identi.html">What
the Identity Oracle Isn't</a>" blog post, Bob provides a clear example of why such
a technology focused view is incomplete at best by walking through an example of an
Identity Oracle based transaction: 
</p>
        <blockquote>
          <p>
            <em>A human – let’s call him “Bob” – signs up for an account with the Identity Oracle. 
The Identity Oracle collects some personal information about Bob, and signs a legally
binding contract with Bob describing how it will use and disclose the information,
and how it will protect the information against uses and disclosures which are not
allowed by the contract.  The contract prescribes a set of penalties – if Bob’s
information is used in any way which is not allowed by the contract, the Identity
Oracle PAYS Bob a penalty: cash money.</em>
          </p>
          <p>
            <em>When Bob wants to get a service from some giant, impersonal corporation (say “GiCorp”)
whose business depends in some way on Bob’s identity, Bob refers GiCorp to the Identity
Oracle; GiCorp then goes to the Identity Oracle and asks a question.  The question
is NOT a request for Bob’s personal information in any form whatsoever (for example,
the question is NOT “What is Bob’s birthdate”). And the Identity Oracle’s response
is NOT a “minimal disclosure token” (that is, a token containing Bob’s personal information,
but only as much personal information as is absolutely necessary for GiCorp to make
a decision about whether to extend the service to Bob – for example a token saying
“Bob is over 18”).</em>
          </p>
          <p>
            <em>Instead, GiCorp’s request looks like this:<br />
“I am allowed to extend service to Bob only if he is above the legal age for this
service in the jurisdiction in which he lives.  Am I allowed to extend service
to Bob?”</em>
          </p>
          <p>
            <em>And the Identity Oracle’s response looks like this:<br />
“Yes.”</em>
          </p>
          <p>
            <em>The Identity Oracle, in normal operation, acts as a trusted agent for the user
and does not disclose any personal information whatsoever; it just answers questions
based on GiCorp’s stated policies (that is, it distributes only metadata about its
users – not the underlying data). </em>
          </p>
          <p>
            <em>The Identity Oracle charges GiCorp and other relying-party customers money for
its services.  The asset on the basis of which the Identity Oracle is able to
charge money is its database of personal information.  Because personal information
is its only business asset, the Identity Oracle guards personal information very carefully.</em>
          </p>
          <p>
            <em>Because disclosing personal information to relying-party customers like GiCorp
would be giving away its only asset for free, it strongly resists disclosing personal
information to its relying-party customers.  In the rare cases in which relying
parties need to receive actual personal data (not just metadata) to do their jobs,
the Identity Oracle requires its relying-party customers to sign a legally binding
contract stating what they are and are not allowed to do with the information. 
This contract contains indemnity clauses – if GiCorp signs the contract and then misuses
or improperly discloses the personal information it receives from the Identity Oracle
about Bob, the contract requires GiCorp to pay a large amount of cash money to the
Identity Oracle, which then turns around and reimburses Bob for his loss.</em>
          </p>
          <p>
            <em>This system provides Bob with much stronger protection than he receives under
national privacy laws, which generally do not provide monetary damages for breaches
of privacy.  Contract law, however, can provide any penalty the parties (the
Identity Oracle and its relying party customers like GiCorp) agree on.  In order
to obtain good liability terms for Bob, the Identity Oracle needs to have a valuable
asset, to which GiCorp strongly desires access.  This asset is the big database
of personal data, belonging to the Identity Oracle, which enables GiCorp to do its
business. And allows the Identity Oracle to charge for its services.</em>
          </p>
          <p>
            <em>The Identity Oracle provides valuable services (privacy protection and transaction
enablement) to Bob, but it also provides valuable services to GiCorp and other relying-party
customers.  These services are liability limitation (because GiCorp no longer
has to be exposed to private data which creates regulatory liability and protection
costs for GiCorp) and transaction enablement (because GiCorp can now rely on the Identity
Oracle as a trusted agent when making decisions about what services to extend to whom,
and it may be able to get the Identity Oracle to assume liability for transactions
which fail because the Oracle gave bad advice).</em>
          </p>
        </blockquote>
        <p>
The important take-aways for me from the above are (1) The contextual and privacy
preserving nature of the question being asked and answered, (2) the allocation and
assumption of liability, as well as the (3) redress mechanisms that rely on contract
law rather than privacy legislation.
</p>
        <p>
This approach, I believe, addresses some of the issues that are raised by Aaron Titus
in his “<a href="http://www.aarontitus.net/blog/2010/10/01/nstic-at-a-crossroads/">NSTIC
at a Crossroads</a>” blog post and his concepts around “retail” and “wholesale” privacy
in what he refers to as the current Notice and Consent legal regime in the United
States.
</p>
        <p>
Currently, one of the things that I am thinking over and having conversations with
others about, is if it makes sense for the Fair Information Practice Principles (FIPPs)
[Transparency, Individual Participation, Purpose Specification, Data Minimization,
Use Limitation, Data Quality and Integrity, Security, Accountability and Auditing], <a href="http://www.dhs.gov/xlibrary/assets/ns_tic.pdf">found
in Appendix C of the June 2010 DRAFT release of the National Strategy for Trusted
Identities in Cyberspace (NSTIC)</a>, can be adopted as the core operating principles
of an Identity Oracle. And as noted in the example above, if these operating principles
could be enforced via Contract Law to the benefit of the Identity Eco-System as a
whole.
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:71cb0974-d355-4257-b8df-aae2025b8464" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Attributes" rel="tag">Attributes</a>,<a href="http://technorati.com/tags/Claims" rel="tag">Claims</a>,<a href="http://technorati.com/tags/Identity+Oracle" rel="tag">Identity
Oracle</a>,<a href="http://technorati.com/tags/NSTIC" rel="tag">NSTIC</a>,<a href="http://technorati.com/tags/FIPPs" rel="tag">FIPPs</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f9272960-5109-43fd-be7b-5a3a15f79a57" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/Attributes" rel="tag">Attributes</a>,<a href="http://del.icio.us/popular/Claims" rel="tag">Claims</a>,<a href="http://del.icio.us/popular/Identity+Oracle" rel="tag">Identity
Oracle</a>,<a href="http://del.icio.us/popular/NSTIC" rel="tag">NSTIC</a>,<a href="http://del.icio.us/popular/FIPPs" rel="tag">FIPPs</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=bdeb8f1c-af3a-49bf-b9cd-8deb4533163b" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Identity Oracles and their role in the Identity Eco-System</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,bdeb8f1c-af3a-49bf-b9cd-8deb4533163b.aspx</guid>
      <link>http://www.aniltj.com/blog/2011/02/27/IdentityOraclesAndTheirRoleInTheIdentityEcoSystem.aspx</link>
      <pubDate>Sun, 27 Feb 2011 23:22:12 GMT</pubDate>
      <description>&lt;p&gt;
The concept of the Identity Oracle is something that I have been giving a lot of thought
to recently. It has been driven by a combination of factors including current projects,
maturity of both &lt;a href="http://www.nist.gov/nstic/"&gt;policy conversations&lt;/a&gt; and &lt;a href="http://www.aniltj.com/blog/2010/08/04/FutureOfIdentityManagementIsNow.aspx"&gt;technology&lt;/a&gt;,
as well as a desire to move the art of the possible forward at the intersection of
identity and privacy.&amp;nbsp; My intention is to use this blog post to provide pointers
to past conversations on this topic in the community, and to use that as a foundation
for furthering the conversation. 
&lt;p&gt;
&lt;img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Identity Oracle" border="0" alt="Identity Oracle" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/IdentityOraclesandtheirroleintheIdentity_10252/Identity_Oracle_3.jpg" width="416" height="253"&gt; When
it comes to information about people (who they are, what they are allowed to do, what
digital breadcrumbs they leave during their daily travels etc.), there exists in the
eco-system both sources of information as well as entities that would find value in
utilizing this information for a variety of purposes.&amp;nbsp; What will be critical
to the success of the identity eco-system is to define, as a starting point, the qualities
and behavior of the "entity-that-needs-to-exist-in-the-middle" between these authoritative
sources of information and consumers of such information.&amp;nbsp; I believe the Identity
Oracle to be a critical piece of that entity.&amp;nbsp; 
&lt;p&gt;
So, what is an Identity Oracle? 
&lt;p&gt;
&lt;a href="http://blogs.gartner.com/bob-blakley/"&gt;Bob Blakley,&lt;/a&gt; currently the Gartner
Research VP for Identity and Privacy, coined the phrase "Identity Oracle", and provided
a definition in a &lt;a href="http://podcast.burtongroup.com/ip/2006/06/identity_and_co.html"&gt;Burton
Catalyst 2006 presentation&lt;/a&gt;&lt;a href="http://podcast.burtongroup.com/ip/2006/06/identity_and_co.html):"&gt;:&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
An organization which derives all of its profit from collection &amp;amp; use of your
private information… 
&lt;li&gt;
And therefore treats your information as an asset… 
&lt;li&gt;
And therefore protects your information by answering questions (i.e. providing meta-identity
information) based on your information without disclosing your information… 
&lt;li&gt;
Thus keeping both the Relying Party and you happy, while making money. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
That is as succinct a definition as I've seen in the many conversations on this topic
since that time, and since I have no desire to re-invent the wheel, this is as good
a starting point as any. 
&lt;p&gt;
The key point to note here is that this is &lt;strong&gt;NOT technology but a business&lt;/strong&gt;,
and as such if there is any hope for this to work, this business needs a viable business
model i.e. something that makes it money.&amp;nbsp; As &lt;a href="http://notabob.blogspot.com/2006/07/meta-identity-system.html"&gt;Bob
notes&lt;/a&gt;, some of the questions that need be answered by the current eco-system denizens
such as Identity Providers, Attribute Providers and Relying Parties include: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Paying for the Identity Provider server and the service it provides.&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Convincing Relying Parties that they should rely on information provided by a
third party (the Identity Provider) rather than maintaining identity attribute information
themselves.&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Assigning liability when a Relying Party asserts that a claimed identity attribute
is incorrect.&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Assigning liability when a subject claims that the wrong identity attribute claim
was released to a Relying Party.&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Making subjects whole when a security failure “leaks” subject identity attributes
directly from the Identity Provider.&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Assigning liability and making subjects whole when a security failure “leaks”
subject identity attributes from a Relying Party.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I will add the following to the above list:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Making subjects whole when the Identity/Attribute Provider's desire to monetize its
visibility into the transactional information across multiple Relying Parties overrides
its responsibility to protect the subject's personal information.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
As always, whenever something like this is proposed there is a tendency for technologists
to try and map this to technology implementations. In this case technologies such
as Security Token Services, Claims Transformers and Agents, Minimal Disclosure Tokens
and Verified Claims. And in the "&lt;a href="http://identityblog.burtongroup.com/bgidps/2007/10/what-the-identi.html"&gt;What
the Identity Oracle Isn't&lt;/a&gt;" blog post, Bob provides a clear example of why such
a technology focused view is incomplete at best by walking through an example of an
Identity Oracle based transaction: 
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;A human – let’s call him “Bob” – signs up for an account with the Identity Oracle.&amp;nbsp;
The Identity Oracle collects some personal information about Bob, and signs a legally
binding contract with Bob describing how it will use and disclose the information,
and how it will protect the information against uses and disclosures which are not
allowed by the contract.&amp;nbsp; The contract prescribes a set of penalties – if Bob’s
information is used in any way which is not allowed by the contract, the Identity
Oracle PAYS Bob a penalty: cash money.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;When Bob wants to get a service from some giant, impersonal corporation (say “GiCorp”)
whose business depends in some way on Bob’s identity, Bob refers GiCorp to the Identity
Oracle; GiCorp then goes to the Identity Oracle and asks a question.&amp;nbsp; The question
is NOT a request for Bob’s personal information in any form whatsoever (for example,
the question is NOT “What is Bob’s birthdate”). And the Identity Oracle’s response
is NOT a “minimal disclosure token” (that is, a token containing Bob’s personal information,
but only as much personal information as is absolutely necessary for GiCorp to make
a decision about whether to extend the service to Bob – for example a token saying
“Bob is over 18”).&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Instead, GiCorp’s request looks like this:&lt;br&gt;
“I am allowed to extend service to Bob only if he is above the legal age for this
service in the jurisdiction in which he lives.&amp;nbsp; Am I allowed to extend service
to Bob?”&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;And the Identity Oracle’s response looks like this:&lt;br&gt;
“Yes.”&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;The Identity Oracle, in normal operation, acts as a trusted agent for the user
and does not disclose any personal information whatsoever; it just answers questions
based on GiCorp’s stated policies (that is, it distributes only metadata about its
users – not the underlying data). &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;The Identity Oracle charges GiCorp and other relying-party customers money for
its services.&amp;nbsp; The asset on the basis of which the Identity Oracle is able to
charge money is its database of personal information.&amp;nbsp; Because personal information
is its only business asset, the Identity Oracle guards personal information very carefully.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Because disclosing personal information to relying-party customers like GiCorp
would be giving away its only asset for free, it strongly resists disclosing personal
information to its relying-party customers.&amp;nbsp; In the rare cases in which relying
parties need to receive actual personal data (not just metadata) to do their jobs,
the Identity Oracle requires its relying-party customers to sign a legally binding
contract stating what they are and are not allowed to do with the information.&amp;nbsp;
This contract contains indemnity clauses – if GiCorp signs the contract and then misuses
or improperly discloses the personal information it receives from the Identity Oracle
about Bob, the contract requires GiCorp to pay a large amount of cash money to the
Identity Oracle, which then turns around and reimburses Bob for his loss.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;This system provides Bob with much stronger protection than he receives under
national privacy laws, which generally do not provide monetary damages for breaches
of privacy.&amp;nbsp; Contract law, however, can provide any penalty the parties (the
Identity Oracle and its relying party customers like GiCorp) agree on.&amp;nbsp; In order
to obtain good liability terms for Bob, the Identity Oracle needs to have a valuable
asset, to which GiCorp strongly desires access.&amp;nbsp; This asset is the big database
of personal data, belonging to the Identity Oracle, which enables GiCorp to do its
business. And allows the Identity Oracle to charge for its services.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;The Identity Oracle provides valuable services (privacy protection and transaction
enablement) to Bob, but it also provides valuable services to GiCorp and other relying-party
customers.&amp;nbsp; These services are liability limitation (because GiCorp no longer
has to be exposed to private data which creates regulatory liability and protection
costs for GiCorp) and transaction enablement (because GiCorp can now rely on the Identity
Oracle as a trusted agent when making decisions about what services to extend to whom,
and it may be able to get the Identity Oracle to assume liability for transactions
which fail because the Oracle gave bad advice).&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
The important take-aways for me from the above are (1) The contextual and privacy
preserving nature of the question being asked and answered, (2) the allocation and
assumption of liability, as well as the (3) redress mechanisms that rely on contract
law rather than privacy legislation.
&lt;/p&gt;
&lt;p&gt;
This approach, I believe, addresses some of the issues that are raised by Aaron Titus
in his “&lt;a href="http://www.aarontitus.net/blog/2010/10/01/nstic-at-a-crossroads/"&gt;NSTIC
at a Crossroads&lt;/a&gt;” blog post and his concepts around “retail” and “wholesale” privacy
in what he refers to as the current Notice and Consent legal regime in the United
States.
&lt;/p&gt;
&lt;p&gt;
Currently, one of the things that I am thinking over and having conversations with
others about, is if it makes sense for the Fair Information Practice Principles (FIPPs)
[Transparency, Individual Participation, Purpose Specification, Data Minimization,
Use Limitation, Data Quality and Integrity, Security, Accountability and Auditing], &lt;a href="http://www.dhs.gov/xlibrary/assets/ns_tic.pdf"&gt;found
in Appendix C of the June 2010 DRAFT release of the National Strategy for Trusted
Identities in Cyberspace (NSTIC)&lt;/a&gt;, can be adopted as the core operating principles
of an Identity Oracle. And as noted in the example above, if these operating principles
could be enforced via Contract Law to the benefit of the Identity Eco-System as a
whole.
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:71cb0974-d355-4257-b8df-aae2025b8464" class="wlWriterEditableSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Claims" rel="tag"&gt;Claims&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Identity+Oracle" rel="tag"&gt;Identity
Oracle&lt;/a&gt;,&lt;a href="http://technorati.com/tags/NSTIC" rel="tag"&gt;NSTIC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FIPPs" rel="tag"&gt;FIPPs&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f9272960-5109-43fd-be7b-5a3a15f79a57" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Claims" rel="tag"&gt;Claims&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Identity+Oracle" rel="tag"&gt;Identity
Oracle&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/NSTIC" rel="tag"&gt;NSTIC&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/FIPPs" rel="tag"&gt;FIPPs&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=bdeb8f1c-af3a-49bf-b9cd-8deb4533163b" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,bdeb8f1c-af3a-49bf-b9cd-8deb4533163b.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=7c0ec412-0d35-49a3-8d32-dbf113ad615c</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,7c0ec412-0d35-49a3-8d32-dbf113ad615c.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,7c0ec412-0d35-49a3-8d32-dbf113ad615c.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=7c0ec412-0d35-49a3-8d32-dbf113ad615c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I am doing a bit of research into what it would take to deploy Sharepoint 2010 as
a DMZ facing portal that accepts Federated Credentials. Here are some materials I’ve
come across that may help others who may be doing the same:
</p>
        <p>
From MS PDC10 Presentation “<a href="http://www.microsoftpdc.com/2009/SVC26">How Microsoft
Sharepoint 2010 was built with Windows Identity Foundation</a>”:
</p>
        <table border="1" cellspacing="0" cellpadding="2" width="800">
          <tbody>
            <tr>
              <td valign="top" width="399">
                <p align="center">
                  <strong>Classic Authentication</strong>
                </p>
              </td>
              <td valign="top" width="399">
                <p align="center">
                  <strong>Claims-based Authentication</strong>
                </p>
              </td>
            </tr>
            <tr>
              <td valign="top" width="399">
                <ul>
                  <li>
NT Token Windows Identity</li>
                </ul>
              </td>
              <td valign="top" width="399">
                <ul>
                  <li>
NT Token Windows Identity 
</li>
                  <li>
ASP.NET Forms Based Authentication (SQL, LDAP, Custom …) 
</li>
                  <li>
SAML 1.1++</li>
                </ul>
              </td>
            </tr>
            <tr>
              <td valign="top" width="399">
              </td>
              <td valign="top" width="399">
&gt;&gt;&gt; SAML Token Claims Based Identity</td>
            </tr>
            <tr>
              <td valign="top" width="399">
&gt;&gt;&gt; SPUser</td>
              <td valign="top" width="400">
&gt;&gt;&gt; SPUser</td>
            </tr>
          </tbody>
        </table>
        <p>
More details regarding the above can be found at the MS Technet page on <a href="http://technet.microsoft.com/en-us/library/cc288475.aspx">Authentication
methods supported in SP2010 Foundation</a>.
</p>
        <p>
          <strong>Windows Identity Foundation (WIF) which is the RP piece integrated with Sharepoint
2010 (SP2010) does NOT support the SAML Protocol. It only supports the WS-Federation
Passive profile with SAML tokens for Web SSO</strong>. 
</p>
        <p>
Alternative to get SP2010 to work with a SAML2 IdP requires the deployment and usage
of ADFS 2: 
</p>
        <ul>
          <li>
Configure ADFS 2 as a SAML2 SP that accepts attributes/claims from an external SAML2
IdP</li>
          <ul>
            <li>
Define the SAML2 IdP as a SAML2 Claims Provider within ADFS 2</li>
            <li>
Exchange federation metadata between SAML2 IdP and ADFS 2 SP</li>
          </ul>
          <li>
Configure the WIF based application (i.e. SP2010 application) as a RP which points
to ADFS 2.0 as the Sharepoint-STS (SP-STS) to which the web apps externalize Authentication</li>
        </ul>
        <p>
Of course, this implies that you need to deploy another server in the DMZ that is
hosting the ADFS 2 bits.
</p>
        <p>
In order to <a href="http://technet.microsoft.com/en-us/library/ff607597.aspx">configure
SP2010 Authentication to work with SAML Tokens</a>:
</p>
        <ol>
          <li>
            <em>Export the token-signing certificate from the IP-STS. This certificate is known
as the ImportTrustCertificate. Copy the certificate to a server computer in the SharePoint
Server 2010 farm. </em>
          </li>
          <li>
            <em>Define the claim that will be used as the unique identifier of the user. This
is known as the identity claim. Many examples of this process use the user e-mail
name as the user identifier. Coordinate with the administrator of the IP-STS to determine
the correct identifier because only the owner of the IP-STS knows which value in the
token will always be unique per user. Identifying the unique identifier for the user
is part of the claims-mapping process. Claims mappings are created by using Windows
PowerShell. </em>
          </li>
          <li>
            <em>Define additional claims mappings. Define which additional claims from the incoming
token will be used by the SharePoint Server 2010 farm. User roles are an example of
a claim that can be used to permission resources in the SharePoint Server 2010 farm.
All claims from an incoming token that do not have a mapping will be discarded. </em>
          </li>
          <li>
            <em>Create a new authentication provider by using Windows PowerShell to import the
token-signing certificate. This process creates the SPTrustedIdentityTokenIssuer.
During this process, you specify the identity claim and additional claims that you
have mapped. You must also create and specify a realm that is associated with the
first SharePoint Web applications that you are configuring for SAML token-based authentication.
After the SPTrustedIdentityTokenIssuer is created, you can create and add more realms
for additional SharePoint Web applications. This is how you configure multiple Web
applications to use the same SPTrustedIdentityTokenIssuer. </em>
          </li>
          <li>
            <em>For each realm that is added to the SPTrustedIdentityTokenIssuer, you must create
an RP-STS entry on the IP-STS. This can be done before the SharePoint Web application
is created. Regardless, you must plan the URL before you create the Web applications. </em>
          </li>
          <li>
            <em>Create a new SharePoint Web application and configure it to use the newly created
authentication provider. The authentication provider will appear as an option in Central
Administration when claims mode is selected for the Web application.</em>
          </li>
        </ol>
        <p>
          <em>You can configure multiple SAML token-based authentication providers. However,
you can only use a token-signing certificate once in a farm. All providers that are
configured will appear as options in Central Administration. Claims from different
trusted STS environments will not conflict.</em>
        </p>
        <p>
The SP2010 Authentication Flow then becomes:
</p>
        <ol>
          <li>
User attempts to access Sharepoint web application</li>
          <li>
User redirected to Sharepoint STS<br />
- Validate AuthN Token (if user already has been AuthN w/ IdP)<br />
- Augment claims, if need be</li>
          <li>
Post Token {SP-Token} to Sharepoint Web Application 
</li>
          <li>
Extract Claims and construct IClaimsPrincipal</li>
        </ol>
        <p>
          <strong>I still have a list of outstanding questions I am working thru, some of which
are</strong>:
</p>
        <ul>
          <li>
Can the built-in SP-STS do direct Authentication of X.509 Credentials for SP2010?</li>
          <ul>
            <li>
What "front-end" protocols are supported by this SP-STS? (WS-Fed Passive Profile only?) 
</li>
            <li>
Is there any MS "magic sauce" added to this SP-STS that "extends" the standards to
make it work with SP2010?</li>
            <li>
Can the built-in SP-STS do direct Authentication of X.509 credentials?</li>
            <li>
Can the built-in the SP-STS do just in time provisioning of users to SP2010? Is it
needed?</li>
          </ul>
          <li>
When using ADFS 2 with SP2010, does ADFS 2 replace the built-in SP-STS or does it
work in conjunction with the SP-STS? i.e. if using ADFS 2, can the built-in SP-STS
be disabled? 
</li>
          <ul>
            <li>
Can ADFS 2 do direct Authentication of X.509 credentials?</li>
            <li>
Can ADFS 2 do just in time provisioning of users to SP2010? Is it needed?</li>
          </ul>
          <li>
Does this SP-STS need to be ADFS 2.0 or can it be any STS that can do SAML2 to WS-Fed
token transformation on the RP side? 
</li>
          <li>
If it can be any STS, how do I register a non-Microsoft STS w/ SP2010? i.e. How do
I register it as a "SPTrustedIdentityTokenIssuer"</li>
          <li>
Where can I find the metadata on the SP2010 side that can be exported to bootstrap
the registration of a SP2010 RP App with an external IdP?</li>
        </ul>
        <p>
Part of the issue I am working thru is the differences in terminology between Microsoft
and …everyone else… :-) that is used to describe the same identity infrastructure
components. Walking thru some of the <a href="http://technet.microsoft.com/en-us/library/adfs2-step-by-step-guides(WS.10).aspx">ADFS
2.0 Step-by-Step and How To Guides</a>, especially the ones that show interop configurations
with Ping Identity Pingfederate and Shibboleth 2, do help but not as much as I had
hoped. The primary limitation of the guides is that they do the wizard driven click-thru
UI configuration without explaining why things are being done or providing explanations
on the underlying protocols that are supported and the implementation choices that
are made.
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ff063b9b-ae14-4b1c-b0a4-4b43021cd062" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/SP2010" rel="tag">SP2010</a>,<a href="http://del.icio.us/popular/STS" rel="tag">STS</a>,<a href="http://del.icio.us/popular/WIF" rel="tag">WIF</a>,<a href="http://del.icio.us/popular/Claims" rel="tag">Claims</a>,<a href="http://del.icio.us/popular/SAML" rel="tag">SAML</a>,<a href="http://del.icio.us/popular/WS-Federation" rel="tag">WS-Federation</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a73cb4e2-f572-4cf9-a973-c62fae59fa4c" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/SP2010" rel="tag">SP2010</a>,<a href="http://technorati.com/tags/STS" rel="tag">STS</a>,<a href="http://technorati.com/tags/WIF" rel="tag">WIF</a>,<a href="http://technorati.com/tags/Claims" rel="tag">Claims</a>,<a href="http://technorati.com/tags/SAML" rel="tag">SAML</a>,<a href="http://technorati.com/tags/WS-Federation" rel="tag">WS-Federation</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=7c0ec412-0d35-49a3-8d32-dbf113ad615c" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Researching Federation Support in Sharepoint 2010</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,7c0ec412-0d35-49a3-8d32-dbf113ad615c.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/12/12/ResearchingFederationSupportInSharepoint2010.aspx</link>
      <pubDate>Sun, 12 Dec 2010 20:57:30 GMT</pubDate>
      <description>&lt;p&gt;
I am doing a bit of research into what it would take to deploy Sharepoint 2010 as
a DMZ facing portal that accepts Federated Credentials. Here are some materials I’ve
come across that may help others who may be doing the same:
&lt;/p&gt;
&lt;p&gt;
From MS PDC10 Presentation “&lt;a href="http://www.microsoftpdc.com/2009/SVC26"&gt;How Microsoft
Sharepoint 2010 was built with Windows Identity Foundation&lt;/a&gt;”:
&lt;/p&gt;
&lt;table border="1" cellspacing="0" cellpadding="2" width="800"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="399"&gt;
&lt;p align="center"&gt;
&lt;strong&gt;Classic Authentication&lt;/strong&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="399"&gt;
&lt;p align="center"&gt;
&lt;strong&gt;Claims-based Authentication&lt;/strong&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="399"&gt;
&lt;ul&gt;
&lt;li&gt;
NT Token Windows Identity&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td valign="top" width="399"&gt;
&lt;ul&gt;
&lt;li&gt;
NT Token Windows Identity 
&lt;li&gt;
ASP.NET Forms Based Authentication (SQL, LDAP, Custom …) 
&lt;li&gt;
SAML 1.1++&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="399"&gt;
&lt;/td&gt;
&lt;td valign="top" width="399"&gt;
&gt;&gt;&gt; SAML Token Claims Based Identity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="399"&gt;
&gt;&gt;&gt; SPUser&lt;/td&gt;
&lt;td valign="top" width="400"&gt;
&gt;&gt;&gt; SPUser&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
More details regarding the above can be found at the MS Technet page on &lt;a href="http://technet.microsoft.com/en-us/library/cc288475.aspx"&gt;Authentication
methods supported in SP2010 Foundation&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Windows Identity Foundation (WIF) which is the RP piece integrated with Sharepoint
2010 (SP2010) does NOT support the SAML Protocol. It only supports the WS-Federation
Passive profile with SAML tokens for Web SSO&lt;/strong&gt;. 
&lt;p&gt;
Alternative to get SP2010 to work with a SAML2 IdP requires the deployment and usage
of ADFS 2: 
&lt;ul&gt;
&lt;li&gt;
Configure ADFS 2 as a SAML2 SP that accepts attributes/claims from an external SAML2
IdP&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Define the SAML2 IdP as a SAML2 Claims Provider within ADFS 2&lt;/li&gt;
&lt;li&gt;
Exchange federation metadata between SAML2 IdP and ADFS 2 SP&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Configure the WIF based application (i.e. SP2010 application) as a RP which points
to ADFS 2.0 as the Sharepoint-STS (SP-STS) to which the web apps externalize Authentication&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Of course, this implies that you need to deploy another server in the DMZ that is
hosting the ADFS 2 bits.
&lt;/p&gt;
&lt;p&gt;
In order to &lt;a href="http://technet.microsoft.com/en-us/library/ff607597.aspx"&gt;configure
SP2010 Authentication to work with SAML Tokens&lt;/a&gt;:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;Export the token-signing certificate from the IP-STS. This certificate is known
as the ImportTrustCertificate. Copy the certificate to a server computer in the SharePoint
Server 2010 farm. &lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Define the claim that will be used as the unique identifier of the user. This
is known as the identity claim. Many examples of this process use the user e-mail
name as the user identifier. Coordinate with the administrator of the IP-STS to determine
the correct identifier because only the owner of the IP-STS knows which value in the
token will always be unique per user. Identifying the unique identifier for the user
is part of the claims-mapping process. Claims mappings are created by using Windows
PowerShell. &lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Define additional claims mappings. Define which additional claims from the incoming
token will be used by the SharePoint Server 2010 farm. User roles are an example of
a claim that can be used to permission resources in the SharePoint Server 2010 farm.
All claims from an incoming token that do not have a mapping will be discarded. &lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Create a new authentication provider by using Windows PowerShell to import the
token-signing certificate. This process creates the SPTrustedIdentityTokenIssuer.
During this process, you specify the identity claim and additional claims that you
have mapped. You must also create and specify a realm that is associated with the
first SharePoint Web applications that you are configuring for SAML token-based authentication.
After the SPTrustedIdentityTokenIssuer is created, you can create and add more realms
for additional SharePoint Web applications. This is how you configure multiple Web
applications to use the same SPTrustedIdentityTokenIssuer. &lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;For each realm that is added to the SPTrustedIdentityTokenIssuer, you must create
an RP-STS entry on the IP-STS. This can be done before the SharePoint Web application
is created. Regardless, you must plan the URL before you create the Web applications. &lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Create a new SharePoint Web application and configure it to use the newly created
authentication provider. The authentication provider will appear as an option in Central
Administration when claims mode is selected for the Web application.&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;em&gt;You can configure multiple SAML token-based authentication providers. However,
you can only use a token-signing certificate once in a farm. All providers that are
configured will appear as options in Central Administration. Claims from different
trusted STS environments will not conflict.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
The SP2010 Authentication Flow then becomes:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
User attempts to access Sharepoint web application&lt;/li&gt;
&lt;li&gt;
User redirected to Sharepoint STS&lt;br&gt;
- Validate AuthN Token (if user already has been AuthN w/ IdP)&lt;br&gt;
- Augment claims, if need be&lt;/li&gt;
&lt;li&gt;
Post Token {SP-Token} to Sharepoint Web Application 
&lt;/li&gt;
&lt;li&gt;
Extract Claims and construct IClaimsPrincipal&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;strong&gt;I still have a list of outstanding questions I am working thru, some of which
are&lt;/strong&gt;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Can the built-in SP-STS do direct Authentication of X.509 Credentials for SP2010?&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
What "front-end" protocols are supported by this SP-STS? (WS-Fed Passive Profile only?) 
&lt;/li&gt;
&lt;li&gt;
Is there any MS "magic sauce" added to this SP-STS that "extends" the standards to
make it work with SP2010?&lt;/li&gt;
&lt;li&gt;
Can the built-in SP-STS do direct Authentication of X.509 credentials?&lt;/li&gt;
&lt;li&gt;
Can the built-in the SP-STS do just in time provisioning of users to SP2010? Is it
needed?&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
When using ADFS 2 with SP2010, does ADFS 2 replace the built-in SP-STS or does it
work in conjunction with the SP-STS? i.e. if using ADFS 2, can the built-in SP-STS
be disabled? 
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Can ADFS 2 do direct Authentication of X.509 credentials?&lt;/li&gt;
&lt;li&gt;
Can ADFS 2 do just in time provisioning of users to SP2010? Is it needed?&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Does this SP-STS need to be ADFS 2.0 or can it be any STS that can do SAML2 to WS-Fed
token transformation on the RP side? 
&lt;/li&gt;
&lt;li&gt;
If it can be any STS, how do I register a non-Microsoft STS w/ SP2010? i.e. How do
I register it as a "SPTrustedIdentityTokenIssuer"&lt;/li&gt;
&lt;li&gt;
Where can I find the metadata on the SP2010 side that can be exported to bootstrap
the registration of a SP2010 RP App with an external IdP?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Part of the issue I am working thru is the differences in terminology between Microsoft
and …everyone else… :-) that is used to describe the same identity infrastructure
components. Walking thru some of the &lt;a href="http://technet.microsoft.com/en-us/library/adfs2-step-by-step-guides(WS.10).aspx"&gt;ADFS
2.0 Step-by-Step and How To Guides&lt;/a&gt;, especially the ones that show interop configurations
with Ping Identity Pingfederate and Shibboleth 2, do help but not as much as I had
hoped. The primary limitation of the guides is that they do the wizard driven click-thru
UI configuration without explaining why things are being done or providing explanations
on the underlying protocols that are supported and the implementation choices that
are made.
&lt;/p&gt;
&lt;p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ff063b9b-ae14-4b1c-b0a4-4b43021cd062" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/SP2010" rel="tag"&gt;SP2010&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/STS" rel="tag"&gt;STS&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/WIF" rel="tag"&gt;WIF&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Claims" rel="tag"&gt;Claims&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/SAML" rel="tag"&gt;SAML&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/WS-Federation" rel="tag"&gt;WS-Federation&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a73cb4e2-f572-4cf9-a973-c62fae59fa4c" class="wlWriterEditableSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/SP2010" rel="tag"&gt;SP2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/STS" rel="tag"&gt;STS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WIF" rel="tag"&gt;WIF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Claims" rel="tag"&gt;Claims&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SAML" rel="tag"&gt;SAML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WS-Federation" rel="tag"&gt;WS-Federation&lt;/a&gt;
&lt;/div&gt;
&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=7c0ec412-0d35-49a3-8d32-dbf113ad615c" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,7c0ec412-0d35-49a3-8d32-dbf113ad615c.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=656cb026-3a0d-45f8-995e-d4914188b273</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,656cb026-3a0d-45f8-995e-d4914188b273.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,656cb026-3a0d-45f8-995e-d4914188b273.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=656cb026-3a0d-45f8-995e-d4914188b273</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.aniltj.com/blog/2010/08/04/FutureOfIdentityManagementIsNow.aspx">Input
to access control decisions</a> are based on information about the subject, information
about the resource, environmental/contextual information, and more, that are often
expressed as attributes/claims. But how do you determine what those attributes/claims
should be, especially as it relates to information about the subject?
</p>
        <p>
The typical way that I have seen folks handle this is based on a bottom up approach
that gets a whole bunch of folks who manage and maintain directory services, lock
them in a room and throw away the key until they can come to some type of agreement
on a common set of attributes everyone can live with based on their knowledge of relying
party applications. This often is not …ah… optimal.
</p>
        <p>
          <img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="ABAC Data Model" border="0" alt="ABAC Data Model" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/WantABACAcrossOrganizationsStartwithPoli_12DF1/ABAC_Data_Model_3.jpg" width="399" height="249" /> The
other approach is to start at the organizational policy level and identify a concrete
set of attributes that can fully support the enterprise’s policies. My team was tasked
with looking at the latter approach on behalf of the DHS Science and Technology Directorate.
The driving force behind it was coming up with a conceptual model that remains relevant
not just within an Enterprise but also across them i.e. in a Federation. 
</p>
        <p>
Couple of my team members, Tom Smith and Maria Vachino, led the effort which resulted
in a formal peer-reviewed <a href="http://events.oasis-open.org/home/sites/events.oasis-open.org.home/files/Vachino-Smith.pptx">paper
that they presented at the 2010 IEEE International Conference on Homeland Security
[PPTX]</a> last month. The actual paper is titled “<a href="http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;arnumber=5655096&amp;isnumber=5654927&lt;http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;arnumber=5655096&amp;isnumber=5654927">Modeling
the Federal User Identity, Credential, and Access Management (ICAM) decision space
to facilitate secure information sharing</a>” and can be <a href="http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;arnumber=5655096&amp;isnumber=5654927&lt;http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;arnumber=5655096&amp;isnumber=5654927">found
on IEEExplore</a>.
</p>
        <p>
Abstract:
</p>
        <blockquote>
          <p>
            <em>Providing the right information to the right person at the right time is critical,
especially for emergency response and law enforcement operations. Accomplishing this
across sovereign organizations while keeping resources secure is a formidable task.
What is needed is an access control solution that can break down information silos
by securely enabling information sharing with non-provisioned users in a dynamic environment. </em>
          </p>
          <p>
            <em>Multiple government agencies, including the Department of Homeland Security (DHS)
Science and Technology Directorate (S&amp;T) are currently developing Attribute-Based
Access Control (ABAC) solutions to do just that. ABAC supports cross-organizational
information sharing by facilitating policy-based resource access control. The critical
components of an ABAC solution are the governing organizational policies, attribute
syntax and semantics, and authoritative sources. The policies define the business
objectives and the authoritative sources provide critical attribute attestation, but
syntactic and semantic agreement between the information exchange endpoints is the
linchpin of attribute sharing. The Organization for the Advancement of Structured
Information Standards (OASIS) Security Assertion Markup Language (SAML) standard provides
federation partners with a viable attribute sharing syntax, but establishing semantic
agreement is an impediment to ABAC efforts. This critical issue can be successfully
addressed with conceptual modeling. S&amp;T is sponsoring the following research and
development effort to provide a concept model of the User Identity, Credential, and
Access Management decision space for secure information sharing.</em>
          </p>
        </blockquote>
        <p>
The paper itself describes the conceptual model, but we have taken the work from the
conceptual stage to the development of a logical model, which was then physically
implemented using a Virtual Directory which acts as the backend for an Enterprise’s
Authoritative Attribute Service.
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8132b726-4b8e-447c-bfef-866812c8a670" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/ABAC" rel="tag">ABAC</a>,<a href="http://del.icio.us/popular/Policy" rel="tag">Policy</a>,<a href="http://del.icio.us/popular/Data+Model" rel="tag">Data
Model</a>,<a href="http://del.icio.us/popular/Federation" rel="tag">Federation</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ba58e4d0-bb1c-4f62-8927-cf811982b8de" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/ABAC" rel="tag">ABAC</a>,<a href="http://del.icio.us/popular/Policy" rel="tag">Policy</a>,<a href="http://del.icio.us/popular/Data+Model" rel="tag">Data
Model</a>,<a href="http://del.icio.us/popular/Federation" rel="tag">Federation</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=656cb026-3a0d-45f8-995e-d4914188b273" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Want ABAC? Across Organizations? Start with Policy!</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,656cb026-3a0d-45f8-995e-d4914188b273.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/12/08/WantABACAcrossOrganizationsStartWithPolicy.aspx</link>
      <pubDate>Wed, 08 Dec 2010 02:28:19 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.aniltj.com/blog/2010/08/04/FutureOfIdentityManagementIsNow.aspx"&gt;Input
to access control decisions&lt;/a&gt; are based on information about the subject, information
about the resource, environmental/contextual information, and more, that are often
expressed as attributes/claims. But how do you determine what those attributes/claims
should be, especially as it relates to information about the subject?
&lt;/p&gt;
&lt;p&gt;
The typical way that I have seen folks handle this is based on a bottom up approach
that gets a whole bunch of folks who manage and maintain directory services, lock
them in a room and throw away the key until they can come to some type of agreement
on a common set of attributes everyone can live with based on their knowledge of relying
party applications. This often is not …ah… optimal.
&lt;/p&gt;
&lt;p&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="ABAC Data Model" border="0" alt="ABAC Data Model" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/WantABACAcrossOrganizationsStartwithPoli_12DF1/ABAC_Data_Model_3.jpg" width="399" height="249"&gt; The
other approach is to start at the organizational policy level and identify a concrete
set of attributes that can fully support the enterprise’s policies. My team was tasked
with looking at the latter approach on behalf of the DHS Science and Technology Directorate.
The driving force behind it was coming up with a conceptual model that remains relevant
not just within an Enterprise but also across them i.e. in a Federation. 
&lt;/p&gt;
&lt;p&gt;
Couple of my team members, Tom Smith and Maria Vachino, led the effort which resulted
in a formal peer-reviewed &lt;a href="http://events.oasis-open.org/home/sites/events.oasis-open.org.home/files/Vachino-Smith.pptx"&gt;paper
that they presented at the 2010 IEEE International Conference on Homeland Security
[PPTX]&lt;/a&gt; last month. The actual paper is titled “&lt;a href="http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=5655096&amp;amp;isnumber=5654927&amp;lt;http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=5655096&amp;amp;isnumber=5654927"&gt;Modeling
the Federal User Identity, Credential, and Access Management (ICAM) decision space
to facilitate secure information sharing&lt;/a&gt;” and can be &lt;a href="http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=5655096&amp;amp;isnumber=5654927&amp;lt;http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=5655096&amp;amp;isnumber=5654927"&gt;found
on IEEExplore&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Abstract:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;Providing the right information to the right person at the right time is critical,
especially for emergency response and law enforcement operations. Accomplishing this
across sovereign organizations while keeping resources secure is a formidable task.
What is needed is an access control solution that can break down information silos
by securely enabling information sharing with non-provisioned users in a dynamic environment. &lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Multiple government agencies, including the Department of Homeland Security (DHS)
Science and Technology Directorate (S&amp;amp;T) are currently developing Attribute-Based
Access Control (ABAC) solutions to do just that. ABAC supports cross-organizational
information sharing by facilitating policy-based resource access control. The critical
components of an ABAC solution are the governing organizational policies, attribute
syntax and semantics, and authoritative sources. The policies define the business
objectives and the authoritative sources provide critical attribute attestation, but
syntactic and semantic agreement between the information exchange endpoints is the
linchpin of attribute sharing. The Organization for the Advancement of Structured
Information Standards (OASIS) Security Assertion Markup Language (SAML) standard provides
federation partners with a viable attribute sharing syntax, but establishing semantic
agreement is an impediment to ABAC efforts. This critical issue can be successfully
addressed with conceptual modeling. S&amp;amp;T is sponsoring the following research and
development effort to provide a concept model of the User Identity, Credential, and
Access Management decision space for secure information sharing.&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
The paper itself describes the conceptual model, but we have taken the work from the
conceptual stage to the development of a logical model, which was then physically
implemented using a Virtual Directory which acts as the backend for an Enterprise’s
Authoritative Attribute Service.
&lt;/p&gt;
&lt;p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8132b726-4b8e-447c-bfef-866812c8a670" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/ABAC" rel="tag"&gt;ABAC&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Policy" rel="tag"&gt;Policy&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Data+Model" rel="tag"&gt;Data
Model&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Federation" rel="tag"&gt;Federation&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ba58e4d0-bb1c-4f62-8927-cf811982b8de" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/ABAC" rel="tag"&gt;ABAC&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Policy" rel="tag"&gt;Policy&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Data+Model" rel="tag"&gt;Data
Model&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Federation" rel="tag"&gt;Federation&lt;/a&gt;
&lt;/div&gt;
&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=656cb026-3a0d-45f8-995e-d4914188b273" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,656cb026-3a0d-45f8-995e-d4914188b273.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=d40d936d-69b1-4561-8d58-054266a5059e</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,d40d936d-69b1-4561-8d58-054266a5059e.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,d40d936d-69b1-4561-8d58-054266a5059e.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d40d936d-69b1-4561-8d58-054266a5059e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Information Sharing and Cybersecurity are hot button topics in the Government right
now and Identity, Credentialing and Access Management are a core component of both
those areas. As such, I thought it would be interesting to take a look at how the
US Federal Government’s Identity, Credentialing and Access Management (ICAM) efforts
around identity federation map into the <a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">Authentication</a>, <a href="http://www.aniltj.com/blog/2010/10/04/FederationFlows2AttributeExposure.aspx">Attribute
Exposure</a> and <a href="http://www.aniltj.com/blog/2010/10/11/FederationFlows3Authorization.aspx">Authorization</a> flows
that I have blogged about previously.
</p>
        <p>
[<em>As I have noted before, the entries in my blog are solely my opinions and do
not represent the thoughts, intentions, plans or strategies of any third party, including
my employer, except where explicitly stated. As such, what I am about to say is simply
my informed opinion and may or may not be what the FICAM Gov't folks intent or believe</em>]
</p>
        <p>
          <img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Fed_3Ps" border="0" alt="Fed_3Ps" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederalICAMSupportforIdentityFederationF_CB63/Fed_3Ps_1.jpg" width="240" height="242" /> When
I think of the components of Identity Federation, I tend to bucket them into the 3
P’s; Protocol, Payload and Policy:
</p>
        <ol>
          <li>
            <strong>Protocol</strong>
            <br />
What are the technical means agreed to by all parties in a federation by which information
is exchanged? This will typically involve decisions regarding choices and interoperability
profiles that relate to HTTP, SOAP, SAML, WS-Federation, OpenID, Information Cards
etc. In the past I’ve also referred to this as the “Plumbing”. ICAM calls these “Identity
Schemes”.<br /><br />
Federal ICAM Support for Authentication Flows<br /><br /><ul><li><a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">Brokered
I (Federated) and Brokered II (Federated) flows</a> are supported at LOA 1, 2 and
Non-PKI 3 using the <a href="http://www.idmanagement.gov/documents/ICAM_OpenID20Profile.pdf">ICAM
OpenID 2.0 Profile [PDF]</a>, <a href="http://www.idmanagement.gov/documents/ICAM_IMI_10_Profile.pdf">ICAM
IMI 1.0 Profile [PDF]</a>, <a href="http://kantarainitiative.org/confluence/download/attachments/42139929/LibertyAlliance_eGov_1.5_DraftE.pdf">Kantara
eGov 1.5 Profile [PDF]</a> and the <a href="http://www.idmanagement.gov/documents/SAML20_Web_SSO_Profile.pdf">ICAM
SAML 2.0 Web Browser SSO Profile [PDF]</a></li><li><a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">Brokered
II (Federated) flow</a> is supported at LOA 3 and LOA 4 by usage of the <a href="http://www.idmanagement.gov/drilldown.cfm?action=fpki">Federal
PKI Bridge</a> with PKI infrastructures issuing <a href="http://www.idmanagement.gov/drilldown.cfm?action=hspd12_faqs">PIV
Cards</a> for Federal Government entities and <a href="http://www.idmanagement.gov/documents/PIV-I_FAQ.pdf">PIV-I
Cards [PDF]</a> for Non-Federal and Commercial entities</li></ul><p>
Federal ICAM Support for Attribute Exposure Flows
</p><ul><li><a href="http://www.aniltj.com/blog/2010/10/04/FederationFlows2AttributeExposure.aspx">Organizational
Query and Single Point of Query 1 flows</a> are supported by the <a href="http://www.idmanagement.gov/documents/SAML20_Web_SSO_Profile.pdf">ICAM
SAML 2.0 Web Browser SSO Profile [PDF]</a></li><li><a href="http://www.aniltj.com/blog/2010/10/04/FederationFlows2AttributeExposure.aspx">Organizational
Query, Single Point of Query 1, Single Point of Query 2 and Identity Oracle flows</a> are
supported by the <a href="http://www.idmanagement.gov/awg/documents/BackendArchitectureInterfaceSpec.pdf">ICAM
Backend Attribute Exchange (BAE)* [PDF]</a></li></ul><p>
Federal ICAM Support for Authorization Flows
</p><ul><li><a href="http://www.aniltj.com/blog/2010/10/11/FederationFlows3Authorization.aspx">Front
Channel Attribute Based Access Control (ABAC) flow</a> is supported by the <a href="http://www.idmanagement.gov/documents/ICAM_IMI_10_Profile.pdf">ICAM
IMI 1.0 Profile [PDF]</a> and the <a href="http://www.idmanagement.gov/documents/SAML20_Web_SSO_Profile.pdf">ICAM
SAML 2.0 Web Browser SSO Profile [PDF]</a></li><li><a href="http://www.aniltj.com/blog/2010/10/11/FederationFlows3Authorization.aspx">Back
Channel ABAC flow</a> is supported by <a href="http://www.idmanagement.gov/awg/documents/BackendArchitectureInterfaceSpec.pdf">ICAM
Backend Attribute Exchange* (BAE) [PDF]</a><br /></li></ul><br /></li>
          <li>
            <strong>Payload</strong>
            <br />
What is carried on the wire? This typically involves attribute contracts that define
how a subject may be defined, the additional attributes needed in order to make access
control decisions etc.<br /><br />
Federal ICAM Support<br /><blockquote>ICAM remains agnostic to the payload and leaves it up to the organizations
and communities of interest that are utilizing the ICAM profiles to define their attribute
contracts. 
<br /><br />
In Appendix A of the <a href="http://www.idmanagement.gov/awg/documents/BackendArchitectureInterfaceSpec.pdf">ICAM
Backend Attribute Exchange* (BAE) [PDF]</a> there was an attempt made to define the
semantics of a Federal Government wide Attribute Contract but none of the attributes
are required. Currently there is a Data Attribute Tiger Team that has been stood up
under the ICAMSC Federation Interoperability Working Group which is working to define
multiple attribute contracts that can potentially be used as part of an Attribute
Exposure mechanism.</blockquote></li>
          <li>
            <strong>Policy</strong>
            <br />
The governance processes that are put into place to manage and operate a federation
as well as adjudicate issues that may come up. In the past I’ve referred to this as
“Governance” but thought that Policy may be much more appropriate.<br /><br />
Federal ICAM Support<br /><blockquote><ul><li>
Which protocol is supported by ICAM is governed by the <a href="http://www.idmanagement.gov/documents/IdentitySchemeAdoptionProcess.pdf">FICAM
Identity Scheme Adoption Process [PDF]</a>. Currently supported protocols include,
OpenID, IMI and SAML 2.0. 
</li><li>
FICAM, thru its <a href="http://www.idmanagement.gov/drilldown.cfm?action=openID_openGOV">Open
Identity Initiative</a>, has put into place a layer of abstraction regarding the certification
and accreditation of non Government Identity Providers allowed to issue credentials
that can be utilized to access Government resources. This layer is known as a Trust
Framework Provider. The Trust Framework Providers are responsible for assessing non
Government Identity Providers (IDPs). The process by which an Organization becomes
a Trust Framework Provider is known as the <a href="http://www.idmanagement.gov/documents/TrustFrameworkProviderAdoptionProcess.pdf">Trust
Framework Provider Adoption Process [PDF]</a>. Currently supported Trust Framework
Providers include OIX and Kantara.</li></ul></blockquote></li>
        </ol>
        <p>
          <strong>*</strong> The <a href="http://www.idmanagement.gov/awg/documents/BackendArchitectureInterfaceSpec.pdf">ICAM
Backend Attribute Exchange (BAE) v1.0 [PDF]</a> document that I am linking to here
is rather out of date. The Architecture components of this documents are still valid
but the technical profile pieces have been OBE (Overcome By Events) and are significantly
out of date. The ICAMSC Architecture Working Group is currently working on v2 of this
document incorporating the <a href="http://www.aniltj.com/blog/2010/08/04/FutureOfIdentityManagementIsNow.aspx">lessons
learned</a> from multiple pilots between Government Agencies/Departments as well as
implementation experience from COTS vendors such as <a href="http://www.layer7tech.com/">Layer
7</a>, <a href="http://www.vordel.com/">Vordel</a> and <a href="http://bitkoo.com/">BiTKOO</a> who
have implemented BAE support in their products. <a href="http://1id.com/contact/=anil.john">Ping
me directly</a> if you need further info.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:671b4dbe-d2f0-476b-bc09-d944ed6d22d0" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/ICAM" rel="tag">ICAM</a>,<a href="http://technorati.com/tags/ABAC" rel="tag">ABAC</a>,<a href="http://technorati.com/tags/Federation" rel="tag">Federation</a>,<a href="http://technorati.com/tags/BAE" rel="tag">BAE</a>,<a href="http://technorati.com/tags/SAML" rel="tag">SAML</a>,<a href="http://technorati.com/tags/IMI" rel="tag">IMI</a>,<a href="http://technorati.com/tags/PIV" rel="tag">PIV</a>,<a href="http://technorati.com/tags/PIV-I" rel="tag">PIV-I</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fc65f6e1-a1e1-4560-a880-5779e61e6349" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/ICAM" rel="tag">ICAM</a>,<a href="http://del.icio.us/popular/ABAC" rel="tag">ABAC</a>,<a href="http://del.icio.us/popular/Federation" rel="tag">Federation</a>,<a href="http://del.icio.us/popular/BAE" rel="tag">BAE</a>,<a href="http://del.icio.us/popular/SAML" rel="tag">SAML</a>,<a href="http://del.icio.us/popular/IMI" rel="tag">IMI</a>,<a href="http://del.icio.us/popular/PIV" rel="tag">PIV</a>,<a href="http://del.icio.us/popular/PIV-I" rel="tag">PIV-I</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=d40d936d-69b1-4561-8d58-054266a5059e" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Federal ICAM Support for Identity Federation Flows</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,d40d936d-69b1-4561-8d58-054266a5059e.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/10/22/FederalICAMSupportForIdentityFederationFlows.aspx</link>
      <pubDate>Fri, 22 Oct 2010 18:27:50 GMT</pubDate>
      <description>&lt;p&gt;
Information Sharing and Cybersecurity are hot button topics in the Government right
now and Identity, Credentialing and Access Management are a core component of both
those areas. As such, I thought it would be interesting to take a look at how the
US Federal Government’s Identity, Credentialing and Access Management (ICAM) efforts
around identity federation map into the &lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;Authentication&lt;/a&gt;, &lt;a href="http://www.aniltj.com/blog/2010/10/04/FederationFlows2AttributeExposure.aspx"&gt;Attribute
Exposure&lt;/a&gt; and &lt;a href="http://www.aniltj.com/blog/2010/10/11/FederationFlows3Authorization.aspx"&gt;Authorization&lt;/a&gt; flows
that I have blogged about previously.
&lt;/p&gt;
&lt;p&gt;
[&lt;em&gt;As I have noted before, the entries in my blog are solely my opinions and do
not represent the thoughts, intentions, plans or strategies of any third party, including
my employer, except where explicitly stated. As such, what I am about to say is simply
my informed opinion and may or may not be what the FICAM Gov't folks intent or believe&lt;/em&gt;]
&lt;/p&gt;
&lt;p&gt;
&lt;img style="border-right-width: 0px; margin: 0px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Fed_3Ps" border="0" alt="Fed_3Ps" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederalICAMSupportforIdentityFederationF_CB63/Fed_3Ps_1.jpg" width="240" height="242"&gt; When
I think of the components of Identity Federation, I tend to bucket them into the 3
P’s; Protocol, Payload and Policy:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Protocol&lt;/strong&gt;
&lt;br&gt;
What are the technical means agreed to by all parties in a federation by which information
is exchanged? This will typically involve decisions regarding choices and interoperability
profiles that relate to HTTP, SOAP, SAML, WS-Federation, OpenID, Information Cards
etc. In the past I’ve also referred to this as the “Plumbing”. ICAM calls these “Identity
Schemes”.&lt;br&gt;
&lt;br&gt;
Federal ICAM Support for Authentication Flows&lt;br&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;Brokered
I (Federated) and Brokered II (Federated) flows&lt;/a&gt; are supported at LOA 1, 2 and
Non-PKI 3 using the &lt;a href="http://www.idmanagement.gov/documents/ICAM_OpenID20Profile.pdf"&gt;ICAM
OpenID 2.0 Profile [PDF]&lt;/a&gt;, &lt;a href="http://www.idmanagement.gov/documents/ICAM_IMI_10_Profile.pdf"&gt;ICAM
IMI 1.0 Profile [PDF]&lt;/a&gt;, &lt;a href="http://kantarainitiative.org/confluence/download/attachments/42139929/LibertyAlliance_eGov_1.5_DraftE.pdf"&gt;Kantara
eGov 1.5 Profile [PDF]&lt;/a&gt; and the &lt;a href="http://www.idmanagement.gov/documents/SAML20_Web_SSO_Profile.pdf"&gt;ICAM
SAML 2.0 Web Browser SSO Profile [PDF]&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;Brokered
II (Federated) flow&lt;/a&gt; is supported at LOA 3 and LOA 4 by usage of the &lt;a href="http://www.idmanagement.gov/drilldown.cfm?action=fpki"&gt;Federal
PKI Bridge&lt;/a&gt; with PKI infrastructures issuing &lt;a href="http://www.idmanagement.gov/drilldown.cfm?action=hspd12_faqs"&gt;PIV
Cards&lt;/a&gt; for Federal Government entities and &lt;a href="http://www.idmanagement.gov/documents/PIV-I_FAQ.pdf"&gt;PIV-I
Cards [PDF]&lt;/a&gt; for Non-Federal and Commercial entities&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Federal ICAM Support for Attribute Exposure Flows
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.aniltj.com/blog/2010/10/04/FederationFlows2AttributeExposure.aspx"&gt;Organizational
Query and Single Point of Query 1 flows&lt;/a&gt; are supported by the &lt;a href="http://www.idmanagement.gov/documents/SAML20_Web_SSO_Profile.pdf"&gt;ICAM
SAML 2.0 Web Browser SSO Profile [PDF]&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.aniltj.com/blog/2010/10/04/FederationFlows2AttributeExposure.aspx"&gt;Organizational
Query, Single Point of Query 1, Single Point of Query 2 and Identity Oracle flows&lt;/a&gt; are
supported by the &lt;a href="http://www.idmanagement.gov/awg/documents/BackendArchitectureInterfaceSpec.pdf"&gt;ICAM
Backend Attribute Exchange (BAE)* [PDF]&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Federal ICAM Support for Authorization Flows
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.aniltj.com/blog/2010/10/11/FederationFlows3Authorization.aspx"&gt;Front
Channel Attribute Based Access Control (ABAC) flow&lt;/a&gt; is supported by the &lt;a href="http://www.idmanagement.gov/documents/ICAM_IMI_10_Profile.pdf"&gt;ICAM
IMI 1.0 Profile [PDF]&lt;/a&gt; and the &lt;a href="http://www.idmanagement.gov/documents/SAML20_Web_SSO_Profile.pdf"&gt;ICAM
SAML 2.0 Web Browser SSO Profile [PDF]&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.aniltj.com/blog/2010/10/11/FederationFlows3Authorization.aspx"&gt;Back
Channel ABAC flow&lt;/a&gt; is supported by &lt;a href="http://www.idmanagement.gov/awg/documents/BackendArchitectureInterfaceSpec.pdf"&gt;ICAM
Backend Attribute Exchange* (BAE) [PDF]&lt;/a&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;li&gt;
&lt;strong&gt;Payload&lt;/strong&gt;
&lt;br&gt;
What is carried on the wire? This typically involves attribute contracts that define
how a subject may be defined, the additional attributes needed in order to make access
control decisions etc.&lt;br&gt;
&lt;br&gt;
Federal ICAM Support&lt;br&gt;
&lt;blockquote&gt;ICAM remains agnostic to the payload and leaves it up to the organizations
and communities of interest that are utilizing the ICAM profiles to define their attribute
contracts. 
&lt;br&gt;
&lt;br&gt;
In Appendix A of the &lt;a href="http://www.idmanagement.gov/awg/documents/BackendArchitectureInterfaceSpec.pdf"&gt;ICAM
Backend Attribute Exchange* (BAE) [PDF]&lt;/a&gt; there was an attempt made to define the
semantics of a Federal Government wide Attribute Contract but none of the attributes
are required. Currently there is a Data Attribute Tiger Team that has been stood up
under the ICAMSC Federation Interoperability Working Group which is working to define
multiple attribute contracts that can potentially be used as part of an Attribute
Exposure mechanism.&lt;/blockquote&gt; 
&lt;li&gt;
&lt;strong&gt;Policy&lt;/strong&gt;
&lt;br&gt;
The governance processes that are put into place to manage and operate a federation
as well as adjudicate issues that may come up. In the past I’ve referred to this as
“Governance” but thought that Policy may be much more appropriate.&lt;br&gt;
&lt;br&gt;
Federal ICAM Support&lt;br&gt;
&lt;blockquote&gt; 
&lt;ul&gt;
&lt;li&gt;
Which protocol is supported by ICAM is governed by the &lt;a href="http://www.idmanagement.gov/documents/IdentitySchemeAdoptionProcess.pdf"&gt;FICAM
Identity Scheme Adoption Process [PDF]&lt;/a&gt;. Currently supported protocols include,
OpenID, IMI and SAML 2.0. 
&lt;li&gt;
FICAM, thru its &lt;a href="http://www.idmanagement.gov/drilldown.cfm?action=openID_openGOV"&gt;Open
Identity Initiative&lt;/a&gt;, has put into place a layer of abstraction regarding the certification
and accreditation of non Government Identity Providers allowed to issue credentials
that can be utilized to access Government resources. This layer is known as a Trust
Framework Provider. The Trust Framework Providers are responsible for assessing non
Government Identity Providers (IDPs). The process by which an Organization becomes
a Trust Framework Provider is known as the &lt;a href="http://www.idmanagement.gov/documents/TrustFrameworkProviderAdoptionProcess.pdf"&gt;Trust
Framework Provider Adoption Process [PDF]&lt;/a&gt;. Currently supported Trust Framework
Providers include OIX and Kantara.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;strong&gt;*&lt;/strong&gt; The &lt;a href="http://www.idmanagement.gov/awg/documents/BackendArchitectureInterfaceSpec.pdf"&gt;ICAM
Backend Attribute Exchange (BAE) v1.0 [PDF]&lt;/a&gt; document that I am linking to here
is rather out of date. The Architecture components of this documents are still valid
but the technical profile pieces have been OBE (Overcome By Events) and are significantly
out of date. The ICAMSC Architecture Working Group is currently working on v2 of this
document incorporating the &lt;a href="http://www.aniltj.com/blog/2010/08/04/FutureOfIdentityManagementIsNow.aspx"&gt;lessons
learned&lt;/a&gt; from multiple pilots between Government Agencies/Departments as well as
implementation experience from COTS vendors such as &lt;a href="http://www.layer7tech.com/"&gt;Layer
7&lt;/a&gt;, &lt;a href="http://www.vordel.com/"&gt;Vordel&lt;/a&gt; and &lt;a href="http://bitkoo.com/"&gt;BiTKOO&lt;/a&gt; who
have implemented BAE support in their products. &lt;a href="http://1id.com/contact/=anil.john"&gt;Ping
me directly&lt;/a&gt; if you need further info.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:671b4dbe-d2f0-476b-bc09-d944ed6d22d0" class="wlWriterEditableSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/ICAM" rel="tag"&gt;ICAM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ABAC" rel="tag"&gt;ABAC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BAE" rel="tag"&gt;BAE&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SAML" rel="tag"&gt;SAML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IMI" rel="tag"&gt;IMI&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PIV" rel="tag"&gt;PIV&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PIV-I" rel="tag"&gt;PIV-I&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fc65f6e1-a1e1-4560-a880-5779e61e6349" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/ICAM" rel="tag"&gt;ICAM&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/ABAC" rel="tag"&gt;ABAC&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/BAE" rel="tag"&gt;BAE&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/SAML" rel="tag"&gt;SAML&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/IMI" rel="tag"&gt;IMI&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/PIV" rel="tag"&gt;PIV&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/PIV-I" rel="tag"&gt;PIV-I&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=d40d936d-69b1-4561-8d58-054266a5059e" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,d40d936d-69b1-4561-8d58-054266a5059e.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=a799c526-27e4-4f17-adaf-7876d3a6d819</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,a799c526-27e4-4f17-adaf-7876d3a6d819.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,a799c526-27e4-4f17-adaf-7876d3a6d819.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a799c526-27e4-4f17-adaf-7876d3a6d819</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
After the blog posts on <a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">Authentication</a> and <a href="http://www.aniltj.com/blog/2010/10/04/FederationFlows2AttributeExposure.aspx">Attribute
Exposure</a> options in the federation of identities, this post is going to focus
on putting it all together for authorization.  The caveats noted in the earlier
posts apply here as well.
</p>
        <table border="0" cellspacing="0" cellpadding="2" width="100%">
          <tbody>
            <tr>
              <td valign="top">
                <p>
                  <strong>Authorization – Front Channel Attribute Based Access Control<br /><br /></strong>
                </p>
                <ul>
                  <li>
Clear separation of security boundaries 
</li>
                  <li>
Clear separation between Authentication and Authorization 
</li>
                  <li>
Resource B needs attributes of Subject A to make access control decision 
</li>
                  <li>
Resource B accepts Subject A mediating attribute delivery from authoritative sources
to Resource B 
</li>
                </ul>
                <p>
1) Subject A’s attributes are gathered as part of the cross-domain brokered authentication
Flows 
</p>
                <ul>
                  <li>
Supports both <a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">Brokered
I and Brokered II Authentication Flows</a></li>
                  <li>
Supports both <a href="http://www.aniltj.com/blog/2010/10/04/FederationFlows2AttributeExposure.aspx">Organizational
Query and Single Point of Query 1</a> Attribute Exposure Flows 
</li>
                </ul>
                <p>
2) Subject A’s attributes are presented as part of one of the cross-domain brokered
authentication flows 
</p>
                <p>
3) PDP B makes an access control decision based on attributes that have been gathered
and presented 
</p>
                <ul>
                  <li>
While Broker A and Attribute Service A are logically separate, physical implementation
may combine them. 
</li>
                  <li>
While PDP B is logically separate from Resource B, logical implementation may be as
an externalized PEP or Internalized Code</li>
                </ul>
                <p>
                  <em>An example of this is an IdP or SP initiated Web Browser SSO in which the subject
authenticates to an IdP in its own domain and is redirected to the SP. The redirect
session contains both an authentication assertion and an attribute assertion. The
SP validates the authentication assertion and a PEP/PDP integrated with the SP utilizes
the attributes in the attribute assertion to make an access control decision. This,
with minor variations, also supports user centric flows using information cards etc.</em>
                </p>
              </td>
              <td valign="top">
                <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="AuthZ_FC_small" border="0" alt="AuthZ_FC_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows3Authorization_12B05/AuthZ_FC_small_1.jpg" width="504" height="382" />
                <br />
  <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="AuthZ_FC_2_small" border="0" alt="AuthZ_FC_2_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows3Authorization_12B05/AuthZ_FC_2_small_3.jpg" width="404" height="94" /></td>
            </tr>
          </tbody>
        </table>
        <p>
 
</p>
        <table border="0" cellspacing="0" cellpadding="2" width="100%">
          <tbody>
            <tr>
              <td valign="top">
                <p>
                  <strong>Authorization – Back Channel Attribute Based Access Control</strong>
                </p>
                <ul>
                  <li>
Clear separation of security boundaries 
</li>
                  <li>
Clear separation between Authentication and Authorization 
</li>
                  <li>
Resource B needs attributes of Subject A to make access control decision 
</li>
                  <li>
Resource B is requires delivery of Subject A attributes directly from authoritative
sources 
</li>
                </ul>
                <p>
Subject A’s is authenticated using one of the cross-domain brokered authentication
Flows 
</p>
                <ul>
                  <li>
Supports both <a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">Brokered
I and Brokered II Authentication Flows</a></li>
                </ul>
                <p>
1) Subject A’s access control decision has been externalized to PDP B 
</p>
                <p>
2) PDP B makes pulls attributes directly from authoritative sources and an access
control decision based on attributes that have been gathered 
</p>
                <ul>
                  <li>
While Broker A and Attribute Service A are logically separate, physical implementation
may combine them. 
</li>
                  <li>
While PDP B is logically separate from Resource B, logical implementation may be as
an externalized PEP or Internalized Code</li>
                </ul>
                <p>
                  <em>An example of this flow is a Subject who authenticates in its own domain using
an IdP or SP initiated Web Browser SSO or a subject who authenticates using an X.509
based Smart Card to the Resource. Once the subject has been validated, the access
control decision is delegated to a PDP which pulls the attributes of the subject directly
from authoritative sources using one of the supported Attribute Exposure Flows.</em>
                </p>
              </td>
              <td valign="top">
                <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="AuthZ_BC_small" border="0" alt="AuthZ_BC_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows3Authorization_12B05/AuthZ_BC_small_1.jpg" width="504" height="382" />
                <br />
                <br />
                <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="AuthZ_BC_2_small" border="0" alt="AuthZ_BC_2_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows3Authorization_12B05/AuthZ_BC_2_small_1.jpg" width="404" height="93" />
              </td>
            </tr>
          </tbody>
        </table>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
Provided the infrastructure exists, there is nothing stopping you from using a combination
of both Front Channel and Back Channel mechanisms for ABAC. For example, you may want
to have the option of the Subject mediating privacy related attribute release via
the Front Channel and combine that with Enterprise or Community of Interest Type attributes
pulled via the Back Channel mechanisms.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:92597862-5201-4414-a9c7-db1b39ff2bf4" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Federation" rel="tag">Federation</a>,<a href="http://technorati.com/tags/Attributes" rel="tag">Attributes</a>,<a href="http://technorati.com/tags/Authorization" rel="tag">Authorization</a>,<a href="http://technorati.com/tags/ABAC" rel="tag">ABAC</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4bb588e9-7b19-4a7f-a412-7944e66010a5" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/Federation" rel="tag">Federation</a>,<a href="http://del.icio.us/popular/Attributes" rel="tag">Attributes</a>,<a href="http://del.icio.us/popular/Authorization" rel="tag">Authorization</a>,<a href="http://del.icio.us/popular/ABAC" rel="tag">ABAC</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=a799c526-27e4-4f17-adaf-7876d3a6d819" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Federation Flows 3 - Authorization</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,a799c526-27e4-4f17-adaf-7876d3a6d819.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/10/11/FederationFlows3Authorization.aspx</link>
      <pubDate>Mon, 11 Oct 2010 01:15:54 GMT</pubDate>
      <description>&lt;p&gt;
After the blog posts on &lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;Authentication&lt;/a&gt; and &lt;a href="http://www.aniltj.com/blog/2010/10/04/FederationFlows2AttributeExposure.aspx"&gt;Attribute
Exposure&lt;/a&gt; options in the federation of identities, this post is going to focus
on putting it all together for authorization.&amp;nbsp; The caveats noted in the earlier
posts apply here as well.
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;
&lt;strong&gt;Authorization – Front Channel Attribute Based Access Control&lt;br&gt;
&lt;br&gt;
&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Clear separation of security boundaries 
&lt;li&gt;
Clear separation between Authentication and Authorization 
&lt;li&gt;
Resource B needs attributes of Subject A to make access control decision 
&lt;li&gt;
Resource B accepts Subject A mediating attribute delivery from authoritative sources
to Resource B 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
1) Subject A’s attributes are gathered as part of the cross-domain brokered authentication
Flows 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Supports both &lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;Brokered
I and Brokered II Authentication Flows&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;
Supports both &lt;a href="http://www.aniltj.com/blog/2010/10/04/FederationFlows2AttributeExposure.aspx"&gt;Organizational
Query and Single Point of Query 1&lt;/a&gt; Attribute Exposure Flows 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
2) Subject A’s attributes are presented as part of one of the cross-domain brokered
authentication flows 
&lt;/p&gt;
&lt;p&gt;
3) PDP B makes an access control decision based on attributes that have been gathered
and presented 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
While Broker A and Attribute Service A are logically separate, physical implementation
may combine them. 
&lt;li&gt;
While PDP B is logically separate from Resource B, logical implementation may be as
an externalized PEP or Internalized Code&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;em&gt;An example of this is an IdP or SP initiated Web Browser SSO in which the subject
authenticates to an IdP in its own domain and is redirected to the SP. The redirect
session contains both an authentication assertion and an attribute assertion. The
SP validates the authentication assertion and a PEP/PDP integrated with the SP utilizes
the attributes in the attribute assertion to make an access control decision. This,
with minor variations, also supports user centric flows using information cards etc.&lt;/em&gt; 
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="AuthZ_FC_small" border="0" alt="AuthZ_FC_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows3Authorization_12B05/AuthZ_FC_small_1.jpg" width="504" height="382"&gt;
&lt;br&gt;
&amp;nbsp; &lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="AuthZ_FC_2_small" border="0" alt="AuthZ_FC_2_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows3Authorization_12B05/AuthZ_FC_2_small_3.jpg" width="404" height="94"&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;
&lt;strong&gt;Authorization – Back Channel Attribute Based Access Control&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Clear separation of security boundaries 
&lt;li&gt;
Clear separation between Authentication and Authorization 
&lt;li&gt;
Resource B needs attributes of Subject A to make access control decision 
&lt;li&gt;
Resource B is requires delivery of Subject A attributes directly from authoritative
sources 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Subject A’s is authenticated using one of the cross-domain brokered authentication
Flows 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Supports both &lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;Brokered
I and Brokered II Authentication Flows&lt;/a&gt; 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
1) Subject A’s access control decision has been externalized to PDP B 
&lt;/p&gt;
&lt;p&gt;
2) PDP B makes pulls attributes directly from authoritative sources and an access
control decision based on attributes that have been gathered 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
While Broker A and Attribute Service A are logically separate, physical implementation
may combine them. 
&lt;/li&gt;
&lt;li&gt;
While PDP B is logically separate from Resource B, logical implementation may be as
an externalized PEP or Internalized Code&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;em&gt;An example of this flow is a Subject who authenticates in its own domain using
an IdP or SP initiated Web Browser SSO or a subject who authenticates using an X.509
based Smart Card to the Resource. Once the subject has been validated, the access
control decision is delegated to a PDP which pulls the attributes of the subject directly
from authoritative sources using one of the supported Attribute Exposure Flows.&lt;/em&gt; 
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="AuthZ_BC_small" border="0" alt="AuthZ_BC_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows3Authorization_12B05/AuthZ_BC_small_1.jpg" width="504" height="382"&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="AuthZ_BC_2_small" border="0" alt="AuthZ_BC_2_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows3Authorization_12B05/AuthZ_BC_2_small_1.jpg" width="404" height="93"&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Provided the infrastructure exists, there is nothing stopping you from using a combination
of both Front Channel and Back Channel mechanisms for ABAC. For example, you may want
to have the option of the Subject mediating privacy related attribute release via
the Front Channel and combine that with Enterprise or Community of Interest Type attributes
pulled via the Back Channel mechanisms.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:92597862-5201-4414-a9c7-db1b39ff2bf4" class="wlWriterEditableSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Authorization" rel="tag"&gt;Authorization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ABAC" rel="tag"&gt;ABAC&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4bb588e9-7b19-4a7f-a412-7944e66010a5" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Authorization" rel="tag"&gt;Authorization&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/ABAC" rel="tag"&gt;ABAC&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=a799c526-27e4-4f17-adaf-7876d3a6d819" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,a799c526-27e4-4f17-adaf-7876d3a6d819.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=fe0f538e-7c24-4a7e-a2f7-7683a5f2999f</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,fe0f538e-7c24-4a7e-a2f7-7683a5f2999f.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,fe0f538e-7c24-4a7e-a2f7-7683a5f2999f.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=fe0f538e-7c24-4a7e-a2f7-7683a5f2999f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Continuing my series of blog posts on the options available in federating identities,
which I <a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">started
with Authentication</a>, I am going to try and map out some options that are available
when exposing attributes.
</p>
        <p>
As noted in my <a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">earlier
post on Authentication</a>, the following caveats apply:
</p>
        <ul>
          <li>
This is conceptual in nature 
</li>
          <li>
Implementation choices, whether they are architectural or technology, may drive the
separation or co-location of some of the conceptual entities noted in the pictures 
</li>
          <li>
Still a work in progress…</li>
        </ul>
        <table border="0" cellspacing="0" cellpadding="2" width="100%">
          <tbody>
            <tr>
              <td valign="top">
                <strong>Attribute Exposure – Organizational Query<br /></strong>
                <br />
                <ul>
                  <li>
Clear separation of security boundaries. 
</li>
                  <li>
One or more authoritative sources of attributes for the Subject exist in the same
Trust Domain 
</li>
                  <li>
Trust relationship between Resource B and Attribute Service A set up before-hand and
out-of-band 
</li>
                </ul>
                <p>
1) Subject A has been <a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">Authenticated
in Trust Domain B</a></p>
                <p>
2) Resource B recognizes Subject A as from outside its domain and utilizes attributes
from Attribute Service A 
</p>
              </td>
              <td valign="top">
                <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Attributes_1_small" border="0" alt="Attributes_1_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows2AttributeExposure_11E07/Attributes_1_small_1.jpg" width="504" height="380" />
              </td>
            </tr>
          </tbody>
        </table>
        <p>
        </p>
        <table border="0" cellspacing="0" cellpadding="2" width="100%">
          <tbody>
            <tr>
              <td valign="top">
                <strong>Attribute Exposure – Single Point of Query 1<br /></strong>
                <br />
                <ul>
                  <li>
Clear separation of security boundaries. 
</li>
                  <li>
One or more authoritative sources of attributes for the Subject exist in multiple
Trust Domains 
</li>
                  <li>
Trust relationship between Resource B and Attribute Aggregator A set up before-hand
and out-of-band 
</li>
                  <li>
Attribute Aggregator A has knowledge and trust relationships with attribute sources
both inside and outside its trust domain 
</li>
                </ul>
                <p>
1) Subject A has been <a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">Authenticated
in Trust Domain B</a></p>
                <p>
2) Resource B recognizes Subject A as from outside its domain and utilizes attributes
from Attribute Aggregator A
</p>
                <p>
3-4) Attribute Aggregator A aggregates Subject A attributes from multiple authoritative
sources, wherever they may reside
</p>
              </td>
              <td valign="top">
                <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Attributes-2_small" border="0" alt="Attributes-2_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows2AttributeExposure_11E07/Attributes-2_small_1.jpg" width="504" height="380" />
              </td>
            </tr>
          </tbody>
        </table>
        <p>
        </p>
        <table border="0" cellspacing="0" cellpadding="2" width="100%">
          <tbody>
            <tr>
              <td valign="top">
                <strong>Attribute Exposure – Single Point of Query 2</strong>
                <br />
                <br />
                <ul>
                  <li>
Clear separation of security boundaries 
</li>
                  <li>
One or more authoritative sources of attributes for the Subject exist in multiple
Trust Domains 
</li>
                  <li>
Resource B has outsourced attribute gathering to Attribute Aggregator B 
</li>
                  <li>
Attribute Aggregator B has knowledge and trust relationships with multiple attribute
sources 
</li>
                </ul>
                <p>
1) Subject A has been <a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">Authenticated
in Trust Domain B</a></p>
                <p>
2) Resource B recognizes Subject A as from outside its domain and utilizes attributes
from Attribute Aggregator B
</p>
                <p>
3-4) Attribute Aggregator B aggregates Subject A attributes from multiple authoritative
sources, wherever they may reside
</p>
                <p>
                  <em>I am most ambivalent regarding this flow because of the complexity of the moving
pieces involved:</em>
                </p>
                <ul>
                  <li>
                    <em>The multiple trust relationships that needs to be managed by the attribute aggregator</em>
                  </li>
                  <li>
                    <em>The attribute aggregator must “know” where all to go to get the attributes, but
given that the subject is from a separate domain and the aggregator may not have a
close enough relationship with the subject, would it really know where to go to get
the attributes?</em>
                  </li>
                </ul>
                <p>
                </p>
              </td>
              <td valign="top">
                <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Attributes-3_small" border="0" alt="Attributes-3_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows2AttributeExposure_11E07/Attributes-3_small_1.jpg" width="504" height="378" />
              </td>
            </tr>
          </tbody>
        </table>
        <p>
        </p>
        <table border="0" cellspacing="0" cellpadding="2" width="100%">
          <tbody>
            <tr>
              <td valign="top">
                <strong>Attribute Exposure – Identity Oracle</strong>
                <br />
                <ul>
                  <li>
Clear separation of security boundaries 
</li>
                  <li>
One or more authoritative sources of attributes for the Subject exist in multiple
Trust Domains 
</li>
                  <li>
Resource B has engaged the services of an Identity Oracle 
</li>
                  <li>
Identity Oracle has close relationship with multiple Authoritative Attribute Sources 
</li>
                </ul>
                <p>
1) Subject A has been <a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx">Authenticated
in Trust Domain B</a></p>
                <p>
2) Resource B recognizes Subject A as from outside its domain and asks appropriate
question of the Identity Oracle
</p>
                <p>
3-4) Identity Oracle obtains relevant Subject A attributes from multiple authoritative
sources and answers the question
</p>
                <br />
              </td>
              <td valign="top">
                <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Attributes-4_small" border="0" alt="Attributes-4_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows2AttributeExposure_11E07/Attributes-4_small_1.jpg" width="504" height="378" />
              </td>
            </tr>
          </tbody>
        </table>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
I am being very careful of word choices here because this is at the conceptual level
and not at the implementation level. For example, I am particular about using the
word “utilizes attributes from …” rather than “requests attributes from …” so that
the flows could accommodate both “front-channel” attribute passing as well as “back-channel”
attribute passing. For example in the “Organizational Query” flow, the physical implementation
could represent both a Federation Web SSO option that provided the attributes to the
Relying Party/Service Provider as a browser based SAML Attribute Assertion or attributes
requested by a PDP integrated with the Relying Party/Service Provider as a SOAP request
to the Attribute Service.
</p>
        <p>
Comments are welcome and would be very much appreciated.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:001e94fb-5f13-4111-b1c9-a7b0e395a7df" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Federation" rel="tag">Federation</a>,<a href="http://technorati.com/tags/Attributes" rel="tag">Attributes</a>,<a href="http://technorati.com/tags/Patterns" rel="tag">Patterns</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3e85d479-9445-44aa-bd87-c1403ce3c07d" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/Federation" rel="tag">Federation</a>,<a href="http://del.icio.us/popular/Attributes" rel="tag">Attributes</a>,<a href="http://del.icio.us/popular/Patterns" rel="tag">Patterns</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=fe0f538e-7c24-4a7e-a2f7-7683a5f2999f" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Federation Flows 2 – Attribute Exposure</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,fe0f538e-7c24-4a7e-a2f7-7683a5f2999f.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/10/04/FederationFlows2AttributeExposure.aspx</link>
      <pubDate>Mon, 04 Oct 2010 00:20:29 GMT</pubDate>
      <description>&lt;p&gt;
Continuing my series of blog posts on the options available in federating identities,
which I &lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;started
with Authentication&lt;/a&gt;, I am going to try and map out some options that are available
when exposing attributes.
&lt;/p&gt;
&lt;p&gt;
As noted in my &lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;earlier
post on Authentication&lt;/a&gt;, the following caveats apply:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
This is conceptual in nature 
&lt;li&gt;
Implementation choices, whether they are architectural or technology, may drive the
separation or co-location of some of the conceptual entities noted in the pictures 
&lt;li&gt;
Still a work in progress…&lt;/li&gt;
&lt;/ul&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;strong&gt;Attribute Exposure – Organizational Query&lt;br&gt;
&lt;/strong&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
Clear separation of security boundaries. 
&lt;li&gt;
One or more authoritative sources of attributes for the Subject exist in the same
Trust Domain 
&lt;li&gt;
Trust relationship between Resource B and Attribute Service A set up before-hand and
out-of-band 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
1) Subject A has been &lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;Authenticated
in Trust Domain B&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
2) Resource B recognizes Subject A as from outside its domain and utilizes attributes
from Attribute Service A 
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Attributes_1_small" border="0" alt="Attributes_1_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows2AttributeExposure_11E07/Attributes_1_small_1.jpg" width="504" height="380"&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;strong&gt;Attribute Exposure – Single Point of Query 1&lt;br&gt;
&lt;/strong&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
Clear separation of security boundaries. 
&lt;li&gt;
One or more authoritative sources of attributes for the Subject exist in multiple
Trust Domains 
&lt;li&gt;
Trust relationship between Resource B and Attribute Aggregator A set up before-hand
and out-of-band 
&lt;li&gt;
Attribute Aggregator A has knowledge and trust relationships with attribute sources
both inside and outside its trust domain 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
1) Subject A has been &lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;Authenticated
in Trust Domain B&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
2) Resource B recognizes Subject A as from outside its domain and utilizes attributes
from Attribute Aggregator A
&lt;/p&gt;
&lt;p&gt;
3-4) Attribute Aggregator A aggregates Subject A attributes from multiple authoritative
sources, wherever they may reside
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Attributes-2_small" border="0" alt="Attributes-2_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows2AttributeExposure_11E07/Attributes-2_small_1.jpg" width="504" height="380"&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;strong&gt;Attribute Exposure – Single Point of Query 2&lt;/strong&gt;
&lt;br&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
Clear separation of security boundaries 
&lt;li&gt;
One or more authoritative sources of attributes for the Subject exist in multiple
Trust Domains 
&lt;li&gt;
Resource B has outsourced attribute gathering to Attribute Aggregator B 
&lt;li&gt;
Attribute Aggregator B has knowledge and trust relationships with multiple attribute
sources 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
1) Subject A has been &lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;Authenticated
in Trust Domain B&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
2) Resource B recognizes Subject A as from outside its domain and utilizes attributes
from Attribute Aggregator B
&lt;/p&gt;
&lt;p&gt;
3-4) Attribute Aggregator B aggregates Subject A attributes from multiple authoritative
sources, wherever they may reside
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;I am most ambivalent regarding this flow because of the complexity of the moving
pieces involved:&lt;/em&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;The multiple trust relationships that needs to be managed by the attribute aggregator&lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;The attribute aggregator must “know” where all to go to get the attributes, but
given that the subject is from a separate domain and the aggregator may not have a
close enough relationship with the subject, would it really know where to go to get
the attributes?&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Attributes-3_small" border="0" alt="Attributes-3_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows2AttributeExposure_11E07/Attributes-3_small_1.jpg" width="504" height="378"&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;strong&gt;Attribute Exposure – Identity Oracle&lt;/strong&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
Clear separation of security boundaries 
&lt;li&gt;
One or more authoritative sources of attributes for the Subject exist in multiple
Trust Domains 
&lt;li&gt;
Resource B has engaged the services of an Identity Oracle 
&lt;li&gt;
Identity Oracle has close relationship with multiple Authoritative Attribute Sources 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
1) Subject A has been &lt;a href="http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx"&gt;Authenticated
in Trust Domain B&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
2) Resource B recognizes Subject A as from outside its domain and asks appropriate
question of the Identity Oracle
&lt;/p&gt;
&lt;p&gt;
3-4) Identity Oracle obtains relevant Subject A attributes from multiple authoritative
sources and answers the question
&lt;/p&gt;
&lt;br&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Attributes-4_small" border="0" alt="Attributes-4_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows2AttributeExposure_11E07/Attributes-4_small_1.jpg" width="504" height="378"&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
I am being very careful of word choices here because this is at the conceptual level
and not at the implementation level. For example, I am particular about using the
word “utilizes attributes from …” rather than “requests attributes from …” so that
the flows could accommodate both “front-channel” attribute passing as well as “back-channel”
attribute passing. For example in the “Organizational Query” flow, the physical implementation
could represent both a Federation Web SSO option that provided the attributes to the
Relying Party/Service Provider as a browser based SAML Attribute Assertion or attributes
requested by a PDP integrated with the Relying Party/Service Provider as a SOAP request
to the Attribute Service.
&lt;/p&gt;
&lt;p&gt;
Comments are welcome and would be very much appreciated.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:001e94fb-5f13-4111-b1c9-a7b0e395a7df" class="wlWriterEditableSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Patterns" rel="tag"&gt;Patterns&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3e85d479-9445-44aa-bd87-c1403ce3c07d" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Patterns" rel="tag"&gt;Patterns&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=fe0f538e-7c24-4a7e-a2f7-7683a5f2999f" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,fe0f538e-7c24-4a7e-a2f7-7683a5f2999f.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=40f03a54-64ce-45b0-b584-64a10db53046</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,40f03a54-64ce-45b0-b584-64a10db53046.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,40f03a54-64ce-45b0-b584-64a10db53046.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=40f03a54-64ce-45b0-b584-64a10db53046</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In some of the conversations I’ve had recently, there has occasionally been a sense
of confusion around around the options available in federating identities, the separation
of concerns between authentication and authorization as well as the choices in how
attributes can be passed to applications to make access control decisions. 
</p>
        <p>
I am in the process of putting together some material to convey the various options
available to us in the current state of technology.  I am starting with authentication.
Some caveats:
</p>
        <ul>
          <li>
This is conceptual in nature 
</li>
          <li>
Implementation choices, whether they are architectural or technology, may drive the
separation or co-location of some of the conceptual entities noted in the pictures 
</li>
          <li>
Still a work in progress…</li>
        </ul>
        <p>
First a definition:  A Domain is a realm of administrative autonomy, authority,
or control for subjects and objects in a computing environment.  For the purposes
of this discussion, a Trust Domain defines the environment in which a single authority
is trusted to validate the credentials presented during authentication. (<em>Thanks
Russ!</em>)
</p>
        <table border="0" cellspacing="0" cellpadding="2" width="100%">
          <tbody>
            <tr>
              <td valign="top">
                <p>
                  <strong>Authentication – Direct (Single Trust Domain)</strong>
                </p>
                <blockquote>
                  <p>
1) The Subject attempts to access the Resource and presents a credential 
</p>
                  <p>
2) The Resource, prior to authenticating the claimed identity presented in the credential,
checks the validity of the credential. This could include: (a) Is the credential issues
from a source I trust? (b) Has the credential expired? (c) Has the credential been
revoked?  Once the validity of the credential is satisfied, the resource authenticates
the Subject by verifying the Subject can prove association to the asserted identity
in the credential
</p>
                  <p>
Once Authenticated, the resource should then verify that the identity has authorized
access to the requested resource, based on existing security policy.
</p>
                </blockquote>
              </td>
              <td valign="top">
                <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AuthN_Direct_SD_small" border="0" alt="AuthN_Direct_SD_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows1Authentication_CCE3/AuthN_Direct_SD_small_4.jpg" width="504" height="379" />
              </td>
            </tr>
          </tbody>
        </table>
        <p>
 
</p>
        <table border="0" cellspacing="0" cellpadding="2" width="100%">
          <tbody>
            <tr>
              <td valign="top">
                <p>
                  <strong>Authentication – Brokered (Single Trust Domain)</strong>
                </p>
                <blockquote>
                  <p>
1 and 2) The Subject presents a credential to the Broker. The Broker, prior to authenticating
the claimed identity presented in the credential, checks the validity of the credential.
This could include: (a) Is the credential issues from a source I trust? (b) Has the
credential expired? (c) Has the credential been revoked?  Once the validity of
the credential is satisfied, the Broker authenticates the Subject by verifying the
Subject can prove association to the asserted identity in the credential. Once this
is done, the Subject receives a token with proof-of-authentication .
</p>
                  <p>
3) Subject attempts to access the Resource and presents the token from the Broker 
</p>
                  <p>
4) The Resource validates the Subject’s token 
</p>
                  <p>
Once validated, the resource should then verify that the identity has authorized access
to the requested resource, based on existing security policy.
</p>
                  <p>
Types of Security Tokens
</p>
                </blockquote>
                <ul>
                  <li>
SAML Assertion 
</li>
                  <li>
Kerberos ticket 
</li>
                  <li>
Username token 
</li>
                  <li>
X.509 token 
</li>
                  <li>
WAM Session Token 
</li>
                  <li>
Custom 
</li>
                </ul>
              </td>
              <td valign="top">
                <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AuthN_Brokered_SD_small" border="0" alt="AuthN_Brokered_SD_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows1Authentication_CCE3/AuthN_Brokered_SD_small_1.jpg" width="504" height="377" />
              </td>
            </tr>
          </tbody>
        </table>
        <p>
          <strong>Authentication – Direct (Cross-Domain/Federated)</strong>
        </p>
        <blockquote>
          <p>
This beastie does not exist!
</p>
        </blockquote>
        <table border="0" cellspacing="0" cellpadding="2" width="100%">
          <tbody>
            <tr>
              <td valign="top">
                <p>
                  <strong>Authentication – Brokered I (Cross-Domain/Federated)</strong>
                </p>
                <ul>
                  <li>
Clear separation of security boundaries. 
</li>
                  <li>
Resource B only accepts identity information vouched for by Broker B. 
</li>
                  <li>
Dependency between Subject A and Broker B; If Broker B requires X.509 Certificates
as a token, Subject A must have the ability to handle X.509 Certificates 
</li>
                  <li>
Trust between Broker A and Broker B is usually set up before-hand and out-of-band. 
</li>
                </ul>
                <blockquote>
                  <p>
1) Subject A presents a credential to the Broker A. Broker A, prior to authenticating
the claimed identity presented in the credential, checks the validity of the credential.
This could include: (a) Is the credential issues from a source I trust? (b) Has the
credential expired? (c) Has the credential been revoked?  Once the validity of
the credential is satisfied, the Broker authenticates the Subject by verifying the
Subject can prove association to the asserted identity in the credential. Once this
is done, Subject A receives a token with proof-of-authentication<br />
2) Subject A presents the token to Broker B; Given that Broker B trusts tokens issued
by Broker A, Broker B issues token to Subject A that is valid in Trust Domain B<br />
3) Subject A attempts to access the Resource B and presents the token from the Broker
B<br />
4) Resource B validates the Subject A’s token 
</p>
                  <p>
Once Authenticated, the resource should then verify the identity has authorized access
to the requested resource, based on existing security policy.
</p>
                </blockquote>
              </td>
              <td valign="top">
                <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AuthN_Brokered_I_CD_small" border="0" alt="AuthN_Brokered_I_CD_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows1Authentication_CCE3/AuthN_Brokered_I_CD_small_1.jpg" width="504" height="380" />
              </td>
            </tr>
          </tbody>
        </table>
        <p>
 
</p>
        <table border="0" cellspacing="0" cellpadding="2" width="100%">
          <tbody>
            <tr>
              <td valign="top">
                <p>
                  <strong>Authentication – Brokered II (Cross-Domain/Federated)</strong>
                </p>
                <ul>
                  <li>
Clear separation of security boundaries. 
</li>
                  <li>
Resource B accepts identity information from external sources but “outsources” the
actual authentication to Broker B. 
</li>
                  <li>
Trust between Broker B and Broker A is mediated by a third party (Bridge) which is
set up before-hand and out-of-band. 
</li>
                </ul>
                <blockquote>
                  <p>
1) Subject A presents a credential to the Broker A. Broker A, prior to authenticating
the claimed identity presented in the credential, checks the validity of the credential.
This could include: (a) Is the credential issues from a source I trust? (b) Has the
credential expired? (c) Has the credential been revoked?  Once the validity of
the credential is satisfied, the Broker authenticates the Subject by verifying the
Subject can prove association to the asserted identity in the credential. Once this
is done, Subject A receives a token with proof-of-authentication<br />
--- Variation: Subject A has been issued credentials<br />
2) Subject A attempts to access Resource B and presents the issued credentials (or
token from Broker A)<br />
3) Resource B externalizes the validation of Subject A’s credential or token to Broker
B<br />
4) Broker B validates credentials or token with the Bridge (Path Validation + Revocation
for PKI or other mechanism with a Federation Operator) 
</p>
                  <p>
Once Authenticated, the resource should then verify the identity has authorized access
to the requested resource, based on existing security policy.
</p>
                </blockquote>
              </td>
              <td valign="top">
                <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AuthN_Brokered_II_CD_small" border="0" alt="AuthN_Brokered_II_CD_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows1Authentication_CCE3/AuthN_Brokered_II_CD_small_1.jpg" width="504" height="379" />
              </td>
            </tr>
          </tbody>
        </table>
        <p>
As noted above, this is Authentication only. Comments are very welcome and would be
appreciated.
</p>
        <p>
UPDATE (10/16/2010): Updated post language based on comments and feedback from Russ
Reopell
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:312f6a5c-cce3-484c-a001-2053240c3204" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/Federation" rel="tag">Federation</a>,<a href="http://technorati.com/tags/Authentication" rel="tag">Authentication</a>,<a href="http://technorati.com/tags/Patterns" rel="tag">Patterns</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fe7b5293-a84b-4301-80fa-1083213e4598" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/Federation" rel="tag">Federation</a>,<a href="http://del.icio.us/popular/Authentication" rel="tag">Authentication</a>,<a href="http://del.icio.us/popular/Patterns" rel="tag">Patterns</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=40f03a54-64ce-45b0-b584-64a10db53046" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Federation Flows 1 - Authentication</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,40f03a54-64ce-45b0-b584-64a10db53046.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/09/19/FederationFlows1Authentication.aspx</link>
      <pubDate>Sun, 19 Sep 2010 19:16:35 GMT</pubDate>
      <description>&lt;p&gt;
In some of the conversations I’ve had recently, there has occasionally been a sense
of confusion around around the options available in federating identities, the separation
of concerns between authentication and authorization as well as the choices in how
attributes can be passed to applications to make access control decisions. 
&lt;/p&gt;
&lt;p&gt;
I am in the process of putting together some material to convey the various options
available to us in the current state of technology.&amp;nbsp; I am starting with authentication.
Some caveats:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
This is conceptual in nature 
&lt;li&gt;
Implementation choices, whether they are architectural or technology, may drive the
separation or co-location of some of the conceptual entities noted in the pictures 
&lt;li&gt;
Still a work in progress…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
First a definition:&amp;nbsp; A Domain is a realm of administrative autonomy, authority,
or control for subjects and objects in a computing environment.&amp;nbsp; For the purposes
of this discussion, a Trust Domain defines the environment in which a single authority
is trusted to validate the credentials presented during authentication. (&lt;em&gt;Thanks
Russ!&lt;/em&gt;)
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;
&lt;strong&gt;Authentication – Direct (Single Trust Domain)&lt;/strong&gt;
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
1) The Subject attempts to access the Resource and presents a credential 
&lt;/p&gt;
&lt;p&gt;
2) The Resource, prior to authenticating the claimed identity presented in the credential,
checks the validity of the credential. This could include: (a) Is the credential issues
from a source I trust? (b) Has the credential expired? (c) Has the credential been
revoked?&amp;nbsp; Once the validity of the credential is satisfied, the resource authenticates
the Subject by verifying the Subject can prove association to the asserted identity
in the credential
&lt;/p&gt;
&lt;p&gt;
Once Authenticated, the resource should then verify that the identity has authorized
access to the requested resource, based on existing security policy.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AuthN_Direct_SD_small" border="0" alt="AuthN_Direct_SD_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows1Authentication_CCE3/AuthN_Direct_SD_small_4.jpg" width="504" height="379"&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;
&lt;strong&gt;Authentication – Brokered (Single Trust Domain)&lt;/strong&gt; &lt;blockquote&gt; 
&lt;p&gt;
1 and 2) The Subject presents a credential to the Broker. The Broker, prior to authenticating
the claimed identity presented in the credential, checks the validity of the credential.
This could include: (a) Is the credential issues from a source I trust? (b) Has the
credential expired? (c) Has the credential been revoked?&amp;nbsp; Once the validity of
the credential is satisfied, the Broker authenticates the Subject by verifying the
Subject can prove association to the asserted identity in the credential. Once this
is done, the Subject receives a token with proof-of-authentication .
&lt;/p&gt;
&lt;p&gt;
3) Subject attempts to access the Resource and presents the token from the Broker 
&lt;/p&gt;
&lt;p&gt;
4) The Resource validates the Subject’s token 
&lt;/p&gt;
&lt;p&gt;
Once validated, the resource should then verify that the identity has authorized access
to the requested resource, based on existing security policy.
&lt;/p&gt;
&lt;p&gt;
Types of Security Tokens
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;ul&gt;
&lt;li&gt;
SAML Assertion 
&lt;li&gt;
Kerberos ticket 
&lt;li&gt;
Username token 
&lt;li&gt;
X.509 token 
&lt;li&gt;
WAM Session Token 
&lt;li&gt;
Custom 
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AuthN_Brokered_SD_small" border="0" alt="AuthN_Brokered_SD_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows1Authentication_CCE3/AuthN_Brokered_SD_small_1.jpg" width="504" height="377"&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;strong&gt;Authentication – Direct (Cross-Domain/Federated)&lt;/strong&gt; &lt;blockquote&gt; 
&lt;p&gt;
This beastie does not exist!
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;
&lt;strong&gt;Authentication – Brokered I (Cross-Domain/Federated)&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Clear separation of security boundaries. 
&lt;li&gt;
Resource B only accepts identity information vouched for by Broker B. 
&lt;li&gt;
Dependency between Subject A and Broker B; If Broker B requires X.509 Certificates
as a token, Subject A must have the ability to handle X.509 Certificates 
&lt;li&gt;
Trust between Broker A and Broker B is usually set up before-hand and out-of-band. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt; 
&lt;p&gt;
1) Subject A presents a credential to the Broker A. Broker A, prior to authenticating
the claimed identity presented in the credential, checks the validity of the credential.
This could include: (a) Is the credential issues from a source I trust? (b) Has the
credential expired? (c) Has the credential been revoked?&amp;nbsp; Once the validity of
the credential is satisfied, the Broker authenticates the Subject by verifying the
Subject can prove association to the asserted identity in the credential. Once this
is done, Subject A receives a token with proof-of-authentication&lt;br&gt;
2) Subject A presents the token to Broker B; Given that Broker B trusts tokens issued
by Broker A, Broker B issues token to Subject A that is valid in Trust Domain B&lt;br&gt;
3) Subject A attempts to access the Resource B and presents the token from the Broker
B&lt;br&gt;
4) Resource B validates the Subject A’s token 
&lt;/p&gt;
&lt;p&gt;
Once Authenticated, the resource should then verify the identity has authorized access
to the requested resource, based on existing security policy.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AuthN_Brokered_I_CD_small" border="0" alt="AuthN_Brokered_I_CD_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows1Authentication_CCE3/AuthN_Brokered_I_CD_small_1.jpg" width="504" height="380"&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;
&lt;strong&gt;Authentication – Brokered II (Cross-Domain/Federated)&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Clear separation of security boundaries. 
&lt;li&gt;
Resource B accepts identity information from external sources but “outsources” the
actual authentication to Broker B. 
&lt;li&gt;
Trust between Broker B and Broker A is mediated by a third party (Bridge) which is
set up before-hand and out-of-band. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt; 
&lt;p&gt;
1) Subject A presents a credential to the Broker A. Broker A, prior to authenticating
the claimed identity presented in the credential, checks the validity of the credential.
This could include: (a) Is the credential issues from a source I trust? (b) Has the
credential expired? (c) Has the credential been revoked?&amp;nbsp; Once the validity of
the credential is satisfied, the Broker authenticates the Subject by verifying the
Subject can prove association to the asserted identity in the credential. Once this
is done, Subject A receives a token with proof-of-authentication&lt;br&gt;
--- Variation: Subject A has been issued credentials&lt;br&gt;
2) Subject A attempts to access Resource B and presents the issued credentials (or
token from Broker A)&lt;br&gt;
3) Resource B externalizes the validation of Subject A’s credential or token to Broker
B&lt;br&gt;
4) Broker B validates credentials or token with the Bridge (Path Validation + Revocation
for PKI or other mechanism with a Federation Operator) 
&lt;/p&gt;
&lt;p&gt;
Once Authenticated, the resource should then verify the identity has authorized access
to the requested resource, based on existing security policy.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="AuthN_Brokered_II_CD_small" border="0" alt="AuthN_Brokered_II_CD_small" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FederationFlows1Authentication_CCE3/AuthN_Brokered_II_CD_small_1.jpg" width="504" height="379"&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
As noted above, this is Authentication only. Comments are very welcome and would be
appreciated.
&lt;/p&gt;
&lt;p&gt;
UPDATE (10/16/2010): Updated post language based on comments and feedback from Russ
Reopell
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:312f6a5c-cce3-484c-a001-2053240c3204" class="wlWriterEditableSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Authentication" rel="tag"&gt;Authentication&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Patterns" rel="tag"&gt;Patterns&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fe7b5293-a84b-4301-80fa-1083213e4598" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Authentication" rel="tag"&gt;Authentication&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Patterns" rel="tag"&gt;Patterns&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=40f03a54-64ce-45b0-b584-64a10db53046" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,40f03a54-64ce-45b0-b584-64a10db53046.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=d72af388-89b2-47cb-ae45-54dd2c99106f</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,d72af388-89b2-47cb-ae45-54dd2c99106f.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,d72af388-89b2-47cb-ae45-54dd2c99106f.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d72af388-89b2-47cb-ae45-54dd2c99106f</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
My proposal of this session at IIW East was driven by the following context: 
</p>
        <ul>
          <li>
We are moving into an environment where dynamic, contextual, policy driven mechanisms
are needed to make real time access control decisions at the moment of need</li>
          <li>
The input to these decisions are based on attributes/claims which reside in multiple
authoritative sources</li>
          <li>
The authoritative-ness/relevance of these attributes are based on the closeness of
a relationship that the keeper/data-steward of the source has with the subject. I
would highly recommend reading the Burton Group paper (FREE) by Bob Blakley on "<a href="http://www.burtongroup.com/Guest/Idps/RelationshipLayerWeb.aspx">A
Relationship Layer for the Web . . . and for Enterprises, Too</a>” which provides
very cogent and relevant reasoning as to why authoritativeness of attributes is driven
by the relationship between the subject and the attribute provider</li>
          <li>
There are a set of attributes that the Government maintains thorough its lifecycle,
on behalf of citizens, that have significant value in multiple transactions a citizen
conducts. As such, is there a need for these attributes to be provided by the government
for use and is there a market that could build value on top of what the government
can offer? 
</li>
        </ul>
        <p>
Some of the vocal folks at this session, in no particular order, included (my apologies
to folks I may have missed): 
</p>
        <ul>
          <li>
Dr. Peter Alterman, NIH</li>
          <li>
Ian Glazer, Gartner</li>
          <li>
Gerry Beuchelt, MITRE</li>
          <li>
Nishant Kaushik, Oracle</li>
          <li>
Laura Hunter, Microsoft</li>
          <li>
Pamela Dingle, Ping Identity</li>
          <li>
Mary Ruddy, Meristic</li>
          <li>
Me, Citizen :-) 
</li>
        </ul>
        <p>
We started out the session converging on (an aspect of) an Identity Oracle as something
that provides an answer to a question but not an attribute. The classic example of
this is someone who wishes to buy alcohol which is age restricted in the US. The question
that can be asked of an Oracle would be "Is this person old enough to buy alcohol?"
and the answer that comes back is "Yes/No" with the Oracle handling all of the heavy
lifting on the backend regarding state laws that may differ, preservation of Personally
Identifiable Information (PII) etc. Contrast this to an Attribute Provider to whom
you would be asking "What is this person's Birthday?" and which releases PII info. 
</p>
        <p>
It was noted that the Government (Federal/State/Local/Tribal) is authoritative for
only a finite number of attributes such as Passport #, Citizenship, Driver's License,
Social Security Number etc and that the issue at present is that there does not exist
an "Attribute Infrastructure" within the Government. The Federal ICAM Backend Attribute
Exchange (BAE) is seen as a mechanism that will move the Government along on this
path, but while there is clarity around the technical implementation, there are still
outstanding governance issues that need to be resolved. 
</p>
        <p>
There was significant discussion about Attribute Quality, Assurance Levels and Authoritativeness.
In my own mind, I split them up into Operational Issues and Governance Principles.
On the Operational Issue arena, existing experiences with attribute providers have
shown the challenges that exist around the quality of data and service level agreements
that need to be worked out and defined as part of a multi-party agreement rather than
bi-lateral agreements. On the Governance Principals side, there are potentially two
philosophies for how to deal with authoritativeness: 
</p>
        <ol>
          <li>
A source is designated as authoritative or not and what needs to be resolved from
the perspective of an attribute service is how to show the provenance of that data
as coming from the authoritative source</li>
          <li>
There are multiple sources of the same attribute and there needs to be the equivalent
of a Level of Assurance that can be associated with each attribute 
</li>
        </ol>
        <p>
At this point, I am very much in camp (1) but as pointed out at the session, this
does NOT preclude the existence of second party attribute services that add value
on top of the services provided by the authoritative sources. An example of this is
the desire of an organization to do due diligence checks on potential employees. As
part of this process, they may find value in contracting the services of service provider
that aggregates attributes from multiple sources (some gov't provided and others not)
that are provided by them in an "Attribute Contract" that satisfies their business
need. Contrast this to them having to build the infrastructure, capabilities and business
agreements with multiple attribute providers. The second party provider may offer
higher availability, a more targeted Attribute Contract, but with the caveat that
some of the attributes that they provide may be 12-18 hours out-of-date etc. Ultimately,
it was noted that all decisions are local and the decisions about factors such as
authoritativeness and freshness are driven by the policies of the organization. 
</p>
        <p>
In a lot of ways, in this discussion we got away from the perspective of the Government
as an Identity Oracle but focused on it more as an Attribute Provider. A path forward
seemed to be more around encouraging an eco-system that leveraged attribute providers
(Gov't and Others) to offer "Oracle Services" whether from the Cloud or not. As such
the Oracle on the one end has a business relationship with the Government which is
the authoritative source of attributes (because of its close relationship with the
citizen) and on the other end has a close contractual relationship which organizations,
such as financial service institutions, to leverage their services. This, I think,
makes the relationship one removed from what was originally envisioned as what is
meant by an Identity Oracle. This was something that Nishant brought up after the
session in a sidebar with Ian and Myself. I hope that there is further conversation
on this topic about this. 
</p>
        <p>
My take away from this session was that there is value and a business need in the
Government being an attribute provider, technical infrastructure is being put into
place that could enable this, and while many issues regarding governance and quality
of data still remains to be resolved, there is a marketplace and opportunity for Attribute
Aggregators/Oracles that would like to participate in this emerging identity eco-system. 
</p>
        <p>
          <a href="http://www.tuesdaynight.org/2010/09/10/notes-from-the-government-as-identity-oracle-session-at-iiw-east.html">Raw
notes from the session can be found here</a> courtesy of Ian Glazer. 
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b39ad2ec-6155-4657-ad8e-01bfc5489a65" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/%23iiw" rel="tag">#iiw</a>,<a href="http://technorati.com/tags/Attributes" rel="tag">Attributes</a>,<a href="http://technorati.com/tags/Claims" rel="tag">Claims</a>,<a href="http://technorati.com/tags/Identity+Oracle" rel="tag">Identity
Oracle</a>,<a href="http://technorati.com/tags/ICAM" rel="tag">ICAM</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1f88d428-3c74-43f4-a8b4-554a0bde40be" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/%23iiw" rel="tag">#iiw</a>,<a href="http://del.icio.us/popular/Attributes" rel="tag">Attributes</a>,<a href="http://del.icio.us/popular/Claims" rel="tag">Claims</a>,<a href="http://del.icio.us/popular/Identity+Oracle" rel="tag">Identity
Oracle</a>,<a href="http://del.icio.us/popular/ICAM" rel="tag">ICAM</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=d72af388-89b2-47cb-ae45-54dd2c99106f" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>IIW East Session on Role of Government as Identity Oracle (Attribute Provider)</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,d72af388-89b2-47cb-ae45-54dd2c99106f.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/09/12/IIWEastSessionOnRoleOfGovernmentAsIdentityOracleAttributeProvider.aspx</link>
      <pubDate>Sun, 12 Sep 2010 18:00:28 GMT</pubDate>
      <description>&lt;p&gt;
My proposal of this session at IIW East was driven by the following context: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
We are moving into an environment where dynamic, contextual, policy driven mechanisms
are needed to make real time access control decisions at the moment of need&lt;/li&gt;
&lt;li&gt;
The input to these decisions are based on attributes/claims which reside in multiple
authoritative sources&lt;/li&gt;
&lt;li&gt;
The authoritative-ness/relevance of these attributes are based on the closeness of
a relationship that the keeper/data-steward of the source has with the subject. I
would highly recommend reading the Burton Group paper (FREE) by Bob Blakley on "&lt;a href="http://www.burtongroup.com/Guest/Idps/RelationshipLayerWeb.aspx"&gt;A
Relationship Layer for the Web . . . and for Enterprises, Too&lt;/a&gt;” which provides
very cogent and relevant reasoning as to why authoritativeness of attributes is driven
by the relationship between the subject and the attribute provider&lt;/li&gt;
&lt;li&gt;
There are a set of attributes that the Government maintains thorough its lifecycle,
on behalf of citizens, that have significant value in multiple transactions a citizen
conducts. As such, is there a need for these attributes to be provided by the government
for use and is there a market that could build value on top of what the government
can offer? 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Some of the vocal folks at this session, in no particular order, included (my apologies
to folks I may have missed): 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Dr. Peter Alterman, NIH&lt;/li&gt;
&lt;li&gt;
Ian Glazer, Gartner&lt;/li&gt;
&lt;li&gt;
Gerry Beuchelt, MITRE&lt;/li&gt;
&lt;li&gt;
Nishant Kaushik, Oracle&lt;/li&gt;
&lt;li&gt;
Laura Hunter, Microsoft&lt;/li&gt;
&lt;li&gt;
Pamela Dingle, Ping Identity&lt;/li&gt;
&lt;li&gt;
Mary Ruddy, Meristic&lt;/li&gt;
&lt;li&gt;
Me, Citizen :-) 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
We started out the session converging on (an aspect of) an Identity Oracle as something
that provides an answer to a question but not an attribute. The classic example of
this is someone who wishes to buy alcohol which is age restricted in the US. The question
that can be asked of an Oracle would be "Is this person old enough to buy alcohol?"
and the answer that comes back is "Yes/No" with the Oracle handling all of the heavy
lifting on the backend regarding state laws that may differ, preservation of Personally
Identifiable Information (PII) etc. Contrast this to an Attribute Provider to whom
you would be asking "What is this person's Birthday?" and which releases PII info. 
&lt;p&gt;
It was noted that the Government (Federal/State/Local/Tribal) is authoritative for
only a finite number of attributes such as Passport #, Citizenship, Driver's License,
Social Security Number etc and that the issue at present is that there does not exist
an "Attribute Infrastructure" within the Government. The Federal ICAM Backend Attribute
Exchange (BAE) is seen as a mechanism that will move the Government along on this
path, but while there is clarity around the technical implementation, there are still
outstanding governance issues that need to be resolved. 
&lt;p&gt;
There was significant discussion about Attribute Quality, Assurance Levels and Authoritativeness.
In my own mind, I split them up into Operational Issues and Governance Principles.
On the Operational Issue arena, existing experiences with attribute providers have
shown the challenges that exist around the quality of data and service level agreements
that need to be worked out and defined as part of a multi-party agreement rather than
bi-lateral agreements. On the Governance Principals side, there are potentially two
philosophies for how to deal with authoritativeness: 
&lt;ol&gt;
&lt;li&gt;
A source is designated as authoritative or not and what needs to be resolved from
the perspective of an attribute service is how to show the provenance of that data
as coming from the authoritative source&lt;/li&gt;
&lt;li&gt;
There are multiple sources of the same attribute and there needs to be the equivalent
of a Level of Assurance that can be associated with each attribute 
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
At this point, I am very much in camp (1) but as pointed out at the session, this
does NOT preclude the existence of second party attribute services that add value
on top of the services provided by the authoritative sources. An example of this is
the desire of an organization to do due diligence checks on potential employees. As
part of this process, they may find value in contracting the services of service provider
that aggregates attributes from multiple sources (some gov't provided and others not)
that are provided by them in an "Attribute Contract" that satisfies their business
need. Contrast this to them having to build the infrastructure, capabilities and business
agreements with multiple attribute providers. The second party provider may offer
higher availability, a more targeted Attribute Contract, but with the caveat that
some of the attributes that they provide may be 12-18 hours out-of-date etc. Ultimately,
it was noted that all decisions are local and the decisions about factors such as
authoritativeness and freshness are driven by the policies of the organization. 
&lt;p&gt;
In a lot of ways, in this discussion we got away from the perspective of the Government
as an Identity Oracle but focused on it more as an Attribute Provider. A path forward
seemed to be more around encouraging an eco-system that leveraged attribute providers
(Gov't and Others) to offer "Oracle Services" whether from the Cloud or not. As such
the Oracle on the one end has a business relationship with the Government which is
the authoritative source of attributes (because of its close relationship with the
citizen) and on the other end has a close contractual relationship which organizations,
such as financial service institutions, to leverage their services. This, I think,
makes the relationship one removed from what was originally envisioned as what is
meant by an Identity Oracle. This was something that Nishant brought up after the
session in a sidebar with Ian and Myself. I hope that there is further conversation
on this topic about this. 
&lt;p&gt;
My take away from this session was that there is value and a business need in the
Government being an attribute provider, technical infrastructure is being put into
place that could enable this, and while many issues regarding governance and quality
of data still remains to be resolved, there is a marketplace and opportunity for Attribute
Aggregators/Oracles that would like to participate in this emerging identity eco-system. 
&lt;p&gt;
&lt;a href="http://www.tuesdaynight.org/2010/09/10/notes-from-the-government-as-identity-oracle-session-at-iiw-east.html"&gt;Raw
notes from the session can be found here&lt;/a&gt; courtesy of Ian Glazer. 
&lt;p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b39ad2ec-6155-4657-ad8e-01bfc5489a65" class="wlWriterEditableSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/%23iiw" rel="tag"&gt;#iiw&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Claims" rel="tag"&gt;Claims&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Identity+Oracle" rel="tag"&gt;Identity
Oracle&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ICAM" rel="tag"&gt;ICAM&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1f88d428-3c74-43f4-a8b4-554a0bde40be" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/%23iiw" rel="tag"&gt;#iiw&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Claims" rel="tag"&gt;Claims&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Identity+Oracle" rel="tag"&gt;Identity
Oracle&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/ICAM" rel="tag"&gt;ICAM&lt;/a&gt;
&lt;/div&gt;
&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=d72af388-89b2-47cb-ae45-54dd2c99106f" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,d72af388-89b2-47cb-ae45-54dd2c99106f.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=422bccd1-400f-46d4-8516-82f9907c5070</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,422bccd1-400f-46d4-8516-82f9907c5070.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,422bccd1-400f-46d4-8516-82f9907c5070.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=422bccd1-400f-46d4-8516-82f9907c5070</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
There has been a great deal of excitement about the US Federal Government's ICAM initiative
that provides for the development of Trust Frameworks, and providers of same, that
has resulted in the emergence of identity providers who can issue credentials to citizens
that can be used to gain access to Government websites/applications/relying parties.
In all of the discussions surrounding these efforts, the focus has been on leveraging
existing OpenID, Information Card or other types of credentials issued by commercial
or educational organizations to access Government resources.
</p>
        <p>
But, is that all we want from our Government?
</p>
        <p>
In this blog posting, I am going to consciously side-step the concept of the Government
as an Identity Provider. In the United States at least, much more thoughtful people
than I have discussed, debated and argued about the feasibility of this and I do not
believe that I can add much value here. The general consensus to date seems to be
that the value proposition around the concept of a "National Identity Card" has many
challenges to overcome before it is seen as something that is viable in the US. Whether
this is true or not, I leave to others to ponder.
</p>
        <p>
But what about the US Government vouching for the attributes/claims of a person that
they are already managing with our implicit or explicit permission?
</p>
        <p>
My last blog post "<a href="http://www.aniltj.com/blog/2010/08/04/FutureOfIdentityManagementIsNow.aspx">The
Future of Identity Management is...Now</a>" spoke to the pull-based future of identity
management:
</p>
        <ul>
          <li>
... 
</li>
          <li>
"The input to these decisions are based on information about the subject, information
about the resource, environmental/contextual information, and more, that are often
expressed as attributes/claims. 
</li>
          <li>
These attributes/claims can reside in multiple authoritative sources where the authoritative-ness/relevance
may be based on the closeness of a relationship that the keeper/data-steward of the
source has with the subject." 
</li>
          <li>
... 
</li>
        </ul>
        <p>
There are certainly attributes/claims for which the US Government has the closest
of relationship with its citizens and residents and as such remain the authoritative
source:
</p>
        <p>
        </p>
        <ul>
          <li>
Citizenship - State Department 
</li>
          <li>
Address Information - Postal Service 
</li>
          <li>
Eligibility to Work in the US - Department of Homeland Security 
</li>
          <li>
Eligibility to Drive - State Government DMVs 
</li>
          <li>
More... 
</li>
        </ul>
        <p>
I may be wrong about which agency is responsible for what, but I hope you see my point.
There are some fundamental attributes about a person, that in the US, that are managed
through its life-cyle by the Government, whether Federal or State.
</p>
        <p>
I firmly believe, as someone who has been involved in demonstrating the feasibility
of pull based identity architectures for delivering the right information to the right
person at the moment of need using current commercial technologies and standards,
that we have reached a point in time where the combination of the maturity of approaches
and technologies such as the Federal ICAM Backend Attribute Exchange or the Identity
Meta-system technologies and the willingness of the Government to engage with the
public in the area of identity, that it is time to have a discussion about this topic.
</p>
        <p>
The questions are definitely NOT technical in nature but are more around need and
interest, feasibility and value with a heavy infusion of privacy. Some initial questions
to start the conversation rolling would be:
</p>
        <p>
        </p>
        <ul>
          <li>
What are a core set of attributes that can serve as a starting point for discussion? 
</li>
          <li>
Who would find value in utilizing them? How is it any better than what they have in
place right now? 
</li>
          <li>
What are the privacy implications of specific attributes? How can they be mitigated
(e.g. Ask if this person is old enough to buy alcohol vs. What is your birthday/age? 
</li>
          <li>
Liability in case of mistakes 
</li>
          <li>
How would the Government recoup some of the costs? We pay for passport renewals, we
pay for driver's license renewals; don't expect this to come for free 
</li>
          <li>
Much, much more.... 
</li>
        </ul>
        <p>
I would be curious to find out if there is any interest in this topic and if so what
your reactions are. If there is interest, and given that the next Internet Identity
Workshop is for the first time going to be held on the East Coast (Washington DC)
on September 9-10 with a focus on <a href=" http://www.internetidentityworkshop.com/iiw-east-in-dc-open-identity-for-open-government/">"Open
Identity for Open Government"</a>, and given its un-conference nature, was going to
propose this as a topic of discussion.
</p>
        <p>
UPDATE: <a href="http://blogs.gartner.com/ian-glazer">Ian Glazer</a>, Research Director
for Identity and Privacy at Gartner has agreed to tag team with me on this topic at
IIW in DC. Ian's research and interests sit at the very important intersection of
Identity and Privacy, and I think he will bring that much needed perspective to this
conversation.
</p>
        <p>
He also thought that the topic should be more correctly termed "Government's role
as an Oracle" rather than as an Attribute Provider, and since I agree, that will more
than likely end up being the topic
</p>
        <p>
To see what is <a href="http://notabob.blogspot.com/2006/07/meta-identity-system.html">meant
by an Identity Oracle</a> and<a href="http://identityblog.burtongroup.com/bgidps/2007/10/what-the-identi.html"> what
it is NOT</a>, read <a href="http://notabob.blogspot.com/2006/07/meta-identity-system.html">this</a> and <a href="http://identityblog.burtongroup.com/bgidps/2007/10/what-the-identi.html">this</a> blog
posts by Bob Blakely
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=422bccd1-400f-46d4-8516-82f9907c5070" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Government's role as an Attribute Provider</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,422bccd1-400f-46d4-8516-82f9907c5070.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/08/12/GovernmentsRoleAsAnAttributeProvider.aspx</link>
      <pubDate>Thu, 12 Aug 2010 12:43:28 GMT</pubDate>
      <description>&lt;p&gt;
There has been a great deal of excitement about the US Federal Government's ICAM initiative
that provides for the development of Trust Frameworks, and providers of same, that
has resulted in the emergence of identity providers who can issue credentials to citizens
that can be used to gain access to Government websites/applications/relying parties.
In all of the discussions surrounding these efforts, the focus has been on leveraging
existing OpenID, Information Card or other types of credentials issued by commercial
or educational organizations to access Government resources.
&lt;/p&gt;
&lt;p&gt;
But, is that all we want from our Government?
&lt;/p&gt;
&lt;p&gt;
In this blog posting, I am going to consciously side-step the concept of the Government
as an Identity Provider. In the United States at least, much more thoughtful people
than I have discussed, debated and argued about the feasibility of this and I do not
believe that I can add much value here. The general consensus to date seems to be
that the value proposition around the concept of a "National Identity Card" has many
challenges to overcome before it is seen as something that is viable in the US. Whether
this is true or not, I leave to others to ponder.
&lt;/p&gt;
&lt;p&gt;
But what about the US Government vouching for the attributes/claims of a person that
they are already managing with our implicit or explicit permission?
&lt;/p&gt;
&lt;p&gt;
My last blog post "&lt;a href="http://www.aniltj.com/blog/2010/08/04/FutureOfIdentityManagementIsNow.aspx"&gt;The
Future of Identity Management is...Now&lt;/a&gt;" spoke to the pull-based future of identity
management:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
... 
&lt;li&gt;
"The input to these decisions are based on information about the subject, information
about the resource, environmental/contextual information, and more, that are often
expressed as attributes/claims. 
&lt;li&gt;
These attributes/claims can reside in multiple authoritative sources where the authoritative-ness/relevance
may be based on the closeness of a relationship that the keeper/data-steward of the
source has with the subject." 
&lt;li&gt;
... 
&lt;/ul&gt;
&lt;p&gt;
There are certainly attributes/claims for which the US Government has the closest
of relationship with its citizens and residents and as such remain the authoritative
source:&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;
Citizenship - State Department 
&lt;li&gt;
Address Information - Postal Service 
&lt;li&gt;
Eligibility to Work in the US - Department of Homeland Security 
&lt;li&gt;
Eligibility to Drive - State Government DMVs 
&lt;li&gt;
More... 
&lt;/ul&gt;
&lt;p&gt;
I may be wrong about which agency is responsible for what, but I hope you see my point.
There are some fundamental attributes about a person, that in the US, that are managed
through its life-cyle by the Government, whether Federal or State.
&lt;/p&gt;
&lt;p&gt;
I firmly believe, as someone who has been involved in demonstrating the feasibility
of pull based identity architectures for delivering the right information to the right
person at the moment of need using current commercial technologies and standards,
that we have reached a point in time where the combination of the maturity of approaches
and technologies such as the Federal ICAM Backend Attribute Exchange or the Identity
Meta-system technologies and the willingness of the Government to engage with the
public in the area of identity, that it is time to have a discussion about this topic.
&lt;/p&gt;
&lt;p&gt;
The questions are definitely NOT technical in nature but are more around need and
interest, feasibility and value with a heavy infusion of privacy. Some initial questions
to start the conversation rolling would be:&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;
What are a core set of attributes that can serve as a starting point for discussion? 
&lt;li&gt;
Who would find value in utilizing them? How is it any better than what they have in
place right now? 
&lt;li&gt;
What are the privacy implications of specific attributes? How can they be mitigated
(e.g. Ask if this person is old enough to buy alcohol vs. What is your birthday/age? 
&lt;li&gt;
Liability in case of mistakes 
&lt;li&gt;
How would the Government recoup some of the costs? We pay for passport renewals, we
pay for driver's license renewals; don't expect this to come for free 
&lt;li&gt;
Much, much more.... 
&lt;/ul&gt;
&lt;p&gt;
I would be curious to find out if there is any interest in this topic and if so what
your reactions are. If there is interest, and given that the next Internet Identity
Workshop is for the first time going to be held on the East Coast (Washington DC)
on September 9-10 with a focus on &lt;a href=" http://www.internetidentityworkshop.com/iiw-east-in-dc-open-identity-for-open-government/"&gt;"Open
Identity for Open Government"&lt;/a&gt;, and given its un-conference nature, was going to
propose this as a topic of discussion.
&lt;/p&gt;
&lt;p&gt;
UPDATE: &lt;a href="http://blogs.gartner.com/ian-glazer"&gt;Ian Glazer&lt;/a&gt;, Research Director
for Identity and Privacy at Gartner has agreed to tag team with me on this topic at
IIW in DC. Ian's research and interests sit at the very important intersection of
Identity and Privacy, and I think he will bring that much needed perspective to this
conversation.
&lt;/p&gt;
&lt;p&gt;
He also thought that the topic should be more correctly termed "Government's role
as an Oracle" rather than as an Attribute Provider, and since I agree, that will more
than likely end up being the topic
&lt;/p&gt;
&lt;p&gt;
To see what is &lt;a href= "http://notabob.blogspot.com/2006/07/meta-identity-system.html"&gt;meant
by an Identity Oracle&lt;/a&gt; and&lt;a href="http://identityblog.burtongroup.com/bgidps/2007/10/what-the-identi.html"&gt; what
it is NOT&lt;/a&gt;, read &lt;a href="http://notabob.blogspot.com/2006/07/meta-identity-system.html"&gt;this&lt;/a&gt; and &lt;a href="http://identityblog.burtongroup.com/bgidps/2007/10/what-the-identi.html"&gt;this&lt;/a&gt; blog
posts by Bob Blakely
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=422bccd1-400f-46d4-8516-82f9907c5070" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,422bccd1-400f-46d4-8516-82f9907c5070.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=efce9fc6-e007-45e4-b70a-ec8fd70cc482</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,efce9fc6-e007-45e4-b70a-ec8fd70cc482.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,efce9fc6-e007-45e4-b70a-ec8fd70cc482.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=efce9fc6-e007-45e4-b70a-ec8fd70cc482</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The Gartner/Burton Group conference has a very high signal to noise ratio and is one
that I was fortunate to present at this year. I spoke in my role as the Technical
Lead for DHS Science &amp; Technology Directorate's Identity Management Testbed about
how we are taking the Federal ICAM Backend Attribute Exchange Interface and Architecture
Specification from Profile to Usage. 
</p>
        <p>
The biggest buzz in the Identity Management track, where I spent most of my time,
was around the “pull” based architecture that Bob Blakley and the rest of the Burton
crew have been writing and speaking about for a while as being the future of Identity
Management. The key take-away’s for me on this topic are:
</p>
        <ul>
          <li>
We are moving to an era where dynamic, contextual, policy driven mechanisms are needed
to make real time access control decisions at the moment of need.</li>
          <li>
The policy driven nature of the decisions require that the decision making capability
be externalized from systems/applications/services and not be embedded within and
that policy be treated as a first class citizen.</li>
          <li>
The input to these decisions are based on information about the subject, information
about the resource, environmental/contextual information, and more, that are often
expressed as attributes/claims.</li>
          <li>
These attributes/claims can reside in multiple authoritative sources where the authoritative-ness/relevance
may be based on the closeness of a relationship that the keeper/data-steward of the
source has with the subject. 
</li>
          <li>
The relevant attributes are retrieved (“pulled”) from the variety of sources at the
moment when a subject needs to access a system and are not pre-provisioned into the
system.</li>
          <li>
Standards! Standards! Standards! All of the moving parts here (finding/correlating
attributes, movement of attributes across organizational boundaries, decision control
mechanisms etc.) needs to be using standards based interfaces and technologies.</li>
        </ul>
        <p>
Potential implementation technologies proposed include virtual directories as mechanisms
that can consolidate and correlate across multiple sources of attributes, standards
such as LDAP(S), SAML and SPML as the plumbing standards, and External Authorization
Mangers (“XACMLoids”) as decision engines.
</p>
        <p>
          <a href="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FutureofIdentityManagementisNow_14464/BAE-2_2.png">
            <img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="BAE-2" border="0" alt="BAE-2" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FutureofIdentityManagementisNow_14464/BAE-2_thumb.png" width="644" height="306" />
          </a> What
was interesting and relevant to me is the the US Federal Government via the ICAM effort
as well as the Homeland Security, Defense and other communities have embraced this
viewpoint for a while and are putting into place both the infrastructure to support
it at scale, and have working implementations in use. 
</p>
        <p>
In particular my presentation was about how we are working an information sharing
effort between two organizations who need to collaborate and share information in
the event of a natural or man-made disaster where there is no way we could pre-provision
users since we won’t know who those users are until they try to access systems. Our
end-to-end implementation architecture really reflects pretty much everything noted
in the Burton vision of the future. Relevant bits from the abstract:
</p>
        <blockquote>
          <p>
            <em>The Backend Attribute Exchange (BAE) Interface and Architecture Specifications
define capabilities that provide for both the real time exchange of user attributes
across federated domains using SAML and for the batch exchange of user attributes
using SPML. </em>
          </p>
          <p>
            <em>The DHS Science &amp; Technology (S&amp;T) Directorate in partnership with the
DOD Defense Manpower Data Center (DMDC), profiled SAML v2.0 as part of a iterative
proof of concept implementation. The lessons learned and the profiles were submitted
to the Federal CIO Council’s Identity, Credentialing and Access Management (ICAM)
Sub-Committee and are now part of the Federal Government's ICAM Roadmap as the standardized
mechanism for Attribute Exchange across Government Agencies […]</em>
          </p>
          <p>
            <em>This presentation will provide an overview of the BAE profiling effort, technical
details regarding the choices made, vendor implementations, usage scenarios and discuss
extensibility points that make this profile relevant to Commercial as well as Federal,
State, Local and Tribal Government entities.</em>
          </p>
        </blockquote>
        <p>
In our flow there is a clear separation of concerns between Authentication and Authorization
and in the language of my community, the subject that is attempting to access the
Relying Party application is an “Unanticipated User” i.e. a subject that is from outside
that organization who has NOT been provisioned in the RP Application. 
</p>
        <ol>
          <li>
There is a organizational access control policy that is externalized from the application
via the Externalized Authorization Manager (EAM) that is dynamic in nature (“Allow
access to user if user is from organization X, has attributes Y and Z and the current
environment status is Green”).</li>
          <li>
The subject is identified as being from outside the organization, is authenticated
and an account is created in the system. The subject has no roles, rights or privileges
within the system.</li>
          <li>
The EAM pulls the attributes that are needed from external (to organization) sources
to execute the access control policy and based on a permit decision grants access
to resources that are allowed by policy.</li>
        </ol>
        <p>
All of this, BTW, is taking place using existing standards such as SAML and XACML
and technologies such as Virtual Directories, XML Security Gateways, Externalized
Access Management solutions etc. This works now using existing technology and standards
and gets us away from the often proprietary, connector-driven, provisioning-dependent
architectures and moves us to something that works very well in a federated world. 
</p>
        <p>
To us this is not the future of Identity Management. This is Now! 
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2d7ed7ce-9c0b-4a84-8cc0-508ae1610b39" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/ABAC" rel="tag">ABAC</a>,<a href="http://del.icio.us/popular/BAE" rel="tag">BAE</a>,<a href="http://del.icio.us/popular/%23cat10" rel="tag">#cat10</a>,<a href="http://del.icio.us/popular/SAML" rel="tag">SAML</a>,<a href="http://del.icio.us/popular/XACML" rel="tag">XACML</a>,<a href="http://del.icio.us/popular/pull" rel="tag">pull</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:af17a4dc-7084-487e-9f47-70def3bd8b0b" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/ABAC" rel="tag">ABAC</a>,<a href="http://technorati.com/tags/BAE" rel="tag">BAE</a>,<a href="http://technorati.com/tags/%23cat10" rel="tag">#cat10</a>,<a href="http://technorati.com/tags/SAML" rel="tag">SAML</a>,<a href="http://technorati.com/tags/XACML" rel="tag">XACML</a>,<a href="http://technorati.com/tags/pull" rel="tag">pull</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=efce9fc6-e007-45e4-b70a-ec8fd70cc482" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Future of Identity Management is… Now!</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,efce9fc6-e007-45e4-b70a-ec8fd70cc482.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/08/04/FutureOfIdentityManagementIsNow.aspx</link>
      <pubDate>Wed, 04 Aug 2010 03:04:06 GMT</pubDate>
      <description>&lt;p&gt;
The Gartner/Burton Group conference has a very high signal to noise ratio and is one
that I was fortunate to present at this year. I spoke in my role as the Technical
Lead for DHS Science &amp;amp; Technology Directorate's Identity Management Testbed about
how we are taking the Federal ICAM Backend Attribute Exchange Interface and Architecture
Specification from Profile to Usage. 
&lt;/p&gt;
&lt;p&gt;
The biggest buzz in the Identity Management track, where I spent most of my time,
was around the “pull” based architecture that Bob Blakley and the rest of the Burton
crew have been writing and speaking about for a while as being the future of Identity
Management. The key take-away’s for me on this topic are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
We are moving to an era where dynamic, contextual, policy driven mechanisms are needed
to make real time access control decisions at the moment of need.&lt;/li&gt;
&lt;li&gt;
The policy driven nature of the decisions require that the decision making capability
be externalized from systems/applications/services and not be embedded within and
that policy be treated as a first class citizen.&lt;/li&gt;
&lt;li&gt;
The input to these decisions are based on information about the subject, information
about the resource, environmental/contextual information, and more, that are often
expressed as attributes/claims.&lt;/li&gt;
&lt;li&gt;
These attributes/claims can reside in multiple authoritative sources where the authoritative-ness/relevance
may be based on the closeness of a relationship that the keeper/data-steward of the
source has with the subject. 
&lt;/li&gt;
&lt;li&gt;
The relevant attributes are retrieved (“pulled”) from the variety of sources at the
moment when a subject needs to access a system and are not pre-provisioned into the
system.&lt;/li&gt;
&lt;li&gt;
Standards! Standards! Standards! All of the moving parts here (finding/correlating
attributes, movement of attributes across organizational boundaries, decision control
mechanisms etc.) needs to be using standards based interfaces and technologies.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Potential implementation technologies proposed include virtual directories as mechanisms
that can consolidate and correlate across multiple sources of attributes, standards
such as LDAP(S), SAML and SPML as the plumbing standards, and External Authorization
Mangers (“XACMLoids”) as decision engines.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FutureofIdentityManagementisNow_14464/BAE-2_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="BAE-2" border="0" alt="BAE-2" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/FutureofIdentityManagementisNow_14464/BAE-2_thumb.png" width="644" height="306"&gt;&lt;/a&gt; What
was interesting and relevant to me is the the US Federal Government via the ICAM effort
as well as the Homeland Security, Defense and other communities have embraced this
viewpoint for a while and are putting into place both the infrastructure to support
it at scale, and have working implementations in use. 
&lt;/p&gt;
&lt;p&gt;
In particular my presentation was about how we are working an information sharing
effort between two organizations who need to collaborate and share information in
the event of a natural or man-made disaster where there is no way we could pre-provision
users since we won’t know who those users are until they try to access systems. Our
end-to-end implementation architecture really reflects pretty much everything noted
in the Burton vision of the future. Relevant bits from the abstract:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;The Backend Attribute Exchange (BAE) Interface and Architecture Specifications
define capabilities that provide for both the real time exchange of user attributes
across federated domains using SAML and for the batch exchange of user attributes
using SPML. &lt;/em&gt; 
&lt;p&gt;
&lt;em&gt;The DHS Science &amp;amp; Technology (S&amp;amp;T) Directorate in partnership with the
DOD Defense Manpower Data Center (DMDC), profiled SAML v2.0 as part of a iterative
proof of concept implementation. The lessons learned and the profiles were submitted
to the Federal CIO Council’s Identity, Credentialing and Access Management (ICAM)
Sub-Committee and are now part of the Federal Government's ICAM Roadmap as the standardized
mechanism for Attribute Exchange across Government Agencies […]&lt;/em&gt; 
&lt;p&gt;
&lt;em&gt;This presentation will provide an overview of the BAE profiling effort, technical
details regarding the choices made, vendor implementations, usage scenarios and discuss
extensibility points that make this profile relevant to Commercial as well as Federal,
State, Local and Tribal Government entities.&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
In our flow there is a clear separation of concerns between Authentication and Authorization
and in the language of my community, the subject that is attempting to access the
Relying Party application is an “Unanticipated User” i.e. a subject that is from outside
that organization who has NOT been provisioned in the RP Application. 
&lt;ol&gt;
&lt;li&gt;
There is a organizational access control policy that is externalized from the application
via the Externalized Authorization Manager (EAM) that is dynamic in nature (“Allow
access to user if user is from organization X, has attributes Y and Z and the current
environment status is Green”).&lt;/li&gt;
&lt;li&gt;
The subject is identified as being from outside the organization, is authenticated
and an account is created in the system. The subject has no roles, rights or privileges
within the system.&lt;/li&gt;
&lt;li&gt;
The EAM pulls the attributes that are needed from external (to organization) sources
to execute the access control policy and based on a permit decision grants access
to resources that are allowed by policy.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
All of this, BTW, is taking place using existing standards such as SAML and XACML
and technologies such as Virtual Directories, XML Security Gateways, Externalized
Access Management solutions etc. This works now using existing technology and standards
and gets us away from the often proprietary, connector-driven, provisioning-dependent
architectures and moves us to something that works very well in a federated world. 
&lt;p&gt;
To us this is not the future of Identity Management. This is Now! 
&lt;p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2d7ed7ce-9c0b-4a84-8cc0-508ae1610b39" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/ABAC" rel="tag"&gt;ABAC&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/BAE" rel="tag"&gt;BAE&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/%23cat10" rel="tag"&gt;#cat10&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/SAML" rel="tag"&gt;SAML&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/XACML" rel="tag"&gt;XACML&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/pull" rel="tag"&gt;pull&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:af17a4dc-7084-487e-9f47-70def3bd8b0b" class="wlWriterEditableSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/ABAC" rel="tag"&gt;ABAC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BAE" rel="tag"&gt;BAE&lt;/a&gt;,&lt;a href="http://technorati.com/tags/%23cat10" rel="tag"&gt;#cat10&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SAML" rel="tag"&gt;SAML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XACML" rel="tag"&gt;XACML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/pull" rel="tag"&gt;pull&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=efce9fc6-e007-45e4-b70a-ec8fd70cc482" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,efce9fc6-e007-45e4-b70a-ec8fd70cc482.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=cbfd6a25-0a96-46cb-8610-a055643f76f3</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,cbfd6a25-0a96-46cb-8610-a055643f76f3.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,cbfd6a25-0a96-46cb-8610-a055643f76f3.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=cbfd6a25-0a96-46cb-8610-a055643f76f3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
At a meeting yesterday Judy Spencer, co-chair of the Federal CIO Council ICAMSC, briefed
that NIST had recently re-released <a href="http://csrc.nist.gov/publications/nistpubs/800-73-3/sp800-73-3_PART1_piv-card-applic-namespace-date-model-rep.pdf" target="_blank">Special
Publication 800-73 [PDF]</a> to account for PIV-I Card Issuance.  These would
be Smart Cards that can be issued by Non-Federal Issuer’s and can potentially be trusted
by US Government Relying Parties.
</p>
        <p>
The relevant bits are in Section 3.3 of NIST SP 800-73-3 (Quoting below so that I
can easily reference them in the future):
</p>
        <blockquote>
          <p>
            <em>3.3    Inclusion of Universally Unique IDentifiers (UUIDs) </em>
          </p>
          <p>
            <em>As defined in [10], the presence of a Universally Unique IDentifier (UUID) conformant
to the specification [11] is required in each identification card issued by Non-Federal
Issuers, referred to as  “PIV Interoperable” (PIV-I) or “PIV Compatible” (PIV-C)
cards.  The intent of [10] is to enable issuers to issue cards that are technically
interoperable with Federal PIV Card readers and applications, and that may be trusted
for particular purposes through a decision of the relying Federal Department or Agency. 
Because the goal is interoperability of PIV-I and PIV-C with the Federal PIV System,
the technical requirements for the inclusion of the UUID document are specified in
this document. To include a UUID identifier on a PIV-I, PIV-C, or PIV Card, a credential
issuer shall meet the following specifications for all relevant data objects present
on an issued identification card.</em>
          </p>
          <ol>
            <li>
              <em>If the card is a PIV-I or PIV-C card, the FASC-N in the CHUID shall have Agency
Code equal to 9999, System Code equal to 9999, and Credential Number equal to 999999,
indicating that a UUID is the primary credential identifier.  In this case, the
FASC-N shall be omitted from the certificates and CMS-signed data objects. If the
card is a PIV Card, the FASC-N in the CHUID shall be populated as described in Section
3.1.2, and the FASC-N shall be included in authentication certificates and CMS-signed
data objects as required by FIPS 201.</em>
            </li>
            <li>
              <em>The value of the GUID data element of the CHUID data object shall be a 16-byte
binary representation of a valid UUID[11]. The UUID should be version 1, 4, or 5,
as specified in [11], Section 4.1.3. </em>
            </li>
            <li>
              <em>The same 16-byte binary representation of the UUID value shall be present as the
value of an entryUUID attribute, as defined in [12], in any CMS-signed data object
that is required to contain a pivFASC-N attribute on a PIV Card, i.e., in the fingerprint
template and facial image data objects, if present. </em>
            </li>
            <li>
              <em>The string representation of the same UUID value shall be present in the PIV Authentication
Certificate and the Card Authentication Certificate, if present, in the subjectAltName
extension encoded as a URI, as specified by [11], Section 3.</em>
            </li>
          </ol>
          <p>
            <em>The option specified in this section supports the use of UUIDs by Non-Federal
Issuers.  It also allows, but does not require, the use of UUIDs as optional
data elements on PIV Cards.  PIV Cards must meet all requirements in FIPS 201
whether or not the UUID identifier option is used; in particular, the FASC-N identifier
must be present in all PIV data objects as specified by FIPS 201 and its normative
references.  PIV Cards that include UUIDs must include the UUIDs in all data
objects described in (2) through (4).</em>
          </p>
        </blockquote>
        <p>
At the IDManagement.gov site, you can also find a <a href="http://www.idmanagement.gov/drilldown.cfm?action=external_ssp" target="_blank">list
of Credential Service Providers, cross-certified with the US Federal Bridge CA at
Medium Hardware LOA</a> (i.e. Meets the requirement that FIPS 140 Level 2 validated
cryptographic modules are used for cryptographic operations as well as for the protection
of trusted public keys), who have the ability to issue PIV-I Credentials. 
</p>
        <p>
        </p>
        <div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:61dd71ca-c161-4d1d-8b26-b2581788cd20" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/PIV-I" rel="tag">PIV-I</a>,<a href="http://del.icio.us/popular/FBCA" rel="tag">FBCA</a>,<a href="http://del.icio.us/popular/CSP" rel="tag">CSP</a>,<a href="http://del.icio.us/popular/PIV" rel="tag">PIV</a>,<a href="http://del.icio.us/popular/FASC-N" rel="tag">FASC-N</a>,<a href="http://del.icio.us/popular/UUID" rel="tag">UUID</a></div>
        <br />
Technorati Tags: <a href="http://technorati.com/tags/PIV-I" rel="tag">PIV-I</a>,<a href="http://technorati.com/tags/FBCA" rel="tag">FBCA</a>,<a href="http://technorati.com/tags/CSP" rel="tag">CSP</a>,<a href="http://technorati.com/tags/PIV" rel="tag">PIV</a>,<a href="http://technorati.com/tags/FASC-N" rel="tag">FASC-N</a>,<a href="http://technorati.com/tags/UUID" rel="tag">UUID</a><p></p><img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=cbfd6a25-0a96-46cb-8610-a055643f76f3" /><br /><hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>NIST SP 800-73-3 and PIV-I</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,cbfd6a25-0a96-46cb-8610-a055643f76f3.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/03/13/NISTSP800733AndPIVI.aspx</link>
      <pubDate>Sat, 13 Mar 2010 21:15:33 GMT</pubDate>
      <description>&lt;p&gt;
At a meeting yesterday Judy Spencer, co-chair of the Federal CIO Council ICAMSC, briefed
that NIST had recently re-released &lt;a href="http://csrc.nist.gov/publications/nistpubs/800-73-3/sp800-73-3_PART1_piv-card-applic-namespace-date-model-rep.pdf" target="_blank"&gt;Special
Publication 800-73 [PDF]&lt;/a&gt; to account for PIV-I Card Issuance.&amp;nbsp; These would
be Smart Cards that can be issued by Non-Federal Issuer’s and can potentially be trusted
by US Government Relying Parties.
&lt;/p&gt;
&lt;p&gt;
The relevant bits are in Section 3.3 of NIST SP 800-73-3 (Quoting below so that I
can easily reference them in the future):
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;em&gt;3.3&amp;nbsp;&amp;nbsp;&amp;nbsp; Inclusion of Universally Unique IDentifiers (UUIDs) &lt;/em&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;As defined in [10], the presence of a Universally Unique IDentifier (UUID) conformant
to the specification [11] is required in each identification card issued by Non-Federal
Issuers, referred to as&amp;nbsp; “PIV Interoperable” (PIV-I) or “PIV Compatible” (PIV-C)
cards.&amp;nbsp; The intent of [10] is to enable issuers to issue cards that are technically
interoperable with Federal PIV Card readers and applications, and that may be trusted
for particular purposes through a decision of the relying Federal Department or Agency.&amp;nbsp;
Because the goal is interoperability of PIV-I and PIV-C with the Federal PIV System,
the technical requirements for the inclusion of the UUID document are specified in
this document. To include a UUID identifier on a PIV-I, PIV-C, or PIV Card, a credential
issuer shall meet the following specifications for all relevant data objects present
on an issued identification card.&lt;/em&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;If the card is a PIV-I or PIV-C card, the FASC-N in the CHUID shall have Agency
Code equal to 9999, System Code equal to 9999, and Credential Number equal to 999999,
indicating that a UUID is the primary credential identifier.&amp;nbsp; In this case, the
FASC-N shall be omitted from the certificates and CMS-signed data objects. If the
card is a PIV Card, the FASC-N in the CHUID shall be populated as described in Section
3.1.2, and the FASC-N shall be included in authentication certificates and CMS-signed
data objects as required by FIPS 201.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;The value of the GUID data element of the CHUID data object shall be a 16-byte
binary representation of a valid UUID[11]. The UUID should be version 1, 4, or 5,
as specified in [11], Section 4.1.3. &lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;The same 16-byte binary representation of the UUID value shall be present as the
value of an entryUUID attribute, as defined in [12], in any CMS-signed data object
that is required to contain a pivFASC-N attribute on a PIV Card, i.e., in the fingerprint
template and facial image data objects, if present. &lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;The string representation of the same UUID value shall be present in the PIV Authentication
Certificate and the Card Authentication Certificate, if present, in the subjectAltName
extension encoded as a URI, as specified by [11], Section 3.&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;em&gt;The option specified in this section supports the use of UUIDs by Non-Federal
Issuers.&amp;nbsp; It also allows, but does not require, the use of UUIDs as optional
data elements on PIV Cards.&amp;nbsp; PIV Cards must meet all requirements in FIPS 201
whether or not the UUID identifier option is used; in particular, the FASC-N identifier
must be present in all PIV data objects as specified by FIPS 201 and its normative
references.&amp;nbsp; PIV Cards that include UUIDs must include the UUIDs in all data
objects described in (2) through (4).&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
At the IDManagement.gov site, you can also find a &lt;a href="http://www.idmanagement.gov/drilldown.cfm?action=external_ssp" target="_blank"&gt;list
of Credential Service Providers, cross-certified with the US Federal Bridge CA at
Medium Hardware LOA&lt;/a&gt; (i.e. Meets the requirement that FIPS 140 Level 2 validated
cryptographic modules are used for cryptographic operations as well as for the protection
of trusted public keys), who have the ability to issue PIV-I Credentials. 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:61dd71ca-c161-4d1d-8b26-b2581788cd20" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/PIV-I" rel="tag"&gt;PIV-I&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/FBCA" rel="tag"&gt;FBCA&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/CSP" rel="tag"&gt;CSP&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/PIV" rel="tag"&gt;PIV&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/FASC-N" rel="tag"&gt;FASC-N&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/UUID" rel="tag"&gt;UUID&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
Technorati Tags: &lt;a href="http://technorati.com/tags/PIV-I" rel="tag"&gt;PIV-I&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FBCA" rel="tag"&gt;FBCA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CSP" rel="tag"&gt;CSP&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PIV" rel="tag"&gt;PIV&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FASC-N" rel="tag"&gt;FASC-N&lt;/a&gt;,&lt;a href="http://technorati.com/tags/UUID" rel="tag"&gt;UUID&lt;/a&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=cbfd6a25-0a96-46cb-8610-a055643f76f3" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,cbfd6a25-0a96-46cb-8610-a055643f76f3.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=78811206-7964-4031-8f21-8b2a54f0d827</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,78811206-7964-4031-8f21-8b2a54f0d827.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,78811206-7964-4031-8f21-8b2a54f0d827.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=78811206-7964-4031-8f21-8b2a54f0d827</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
To be conformant to SPML v2 means that the SPML interface (Provisioning Service Provider
/ PSP) MUST:
</p>
        <ul>
          <li>
Support the set of Core operations</li>
          <ul>
            <li>
a discovery operation {listTargets} on the provider</li>
            <li>
basic operations {add, lookup, modify, delete} that apply to objects on a target</li>
          </ul>
          <li>
Supports basic operations for every schema entity that a target supports</li>
          <li>
Supports modal mechanisms for asynchronous operations</li>
        </ul>
        <p>
          <img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="SPML" border="0" alt="SPML" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/SPMLUseCasesandProfilingChoices_EB57/SPML_3.jpg" width="510" height="383" />There
are additional “Standard” operations described in the <a href="http://www.oasis-open.org/committees/download.php/17708/pstc-spml-2.0-os.zip" target="_blank">OASIS
SPML v2 Specification [Zip]</a>. The clear thing to keep in mind is that each operations
adds a data management burden onto the provider, so the choice of whether or not to
implement them should be considered very carefully.
</p>
        <p>
From the perspective of deployment topologies, the PSP could be deployed separately
from the Target or could very well be integrated tightly with the Target e.g. an SPML
compliant web service interface on a target system.
</p>
        <p>
One of the frustrating items for me when enquiring about SPML support in products
has been the lack of clarity and visibility around exactly what has been implemented.
All too often, vendors seem to have cherry picked a chosen set of operations (whether
from the Core or from the Standard list) and used that to claim SPML support. I would
be very curious to see if anyone can claim full SPML v2 compliance.
</p>
        <p>
A particular use case for SPML that I am currently working on has to deal with the
“batch” movement of attributes from multiple systems to a central repository. The
typical flow is as follows:
</p>
        <ul>
          <li>
Per organizational policy &amp; relationship to user, attributes are assigned in their
home organization and/or business unit (Org A / Org B / …)</li>
          <li>
Org A must move those users and/or their attributes to a central repository (Repository
X) on a regular basis</li>
          <li>
Repository X acts as the authoritative source of attributes of users from multiple
organizations / business units and can provide those attributes to authenticated and
authorized entities in a real-time request/response and in a synch-take-offline-use
modes.</li>
        </ul>
        <p>
Some points to keep in mind are:
</p>
        <ul>
          <li>
Org A / B / … may have, and all too often do, have their own existing identity and
provisioning systems as well as associated governance processes in place.</li>
          <li>
The organizations and the repository may or may not be under the same sphere of control
and as such cannot mandate the use of the same piece of provisioning software and
associated connectors on both ends of the divide.</li>
          <li>
The systems where the organizations store the attributes of their users may not necessarily
be directory based systems.</li>
          <li>
The Repository may or may not be directory based system.</li>
          <li>
Identity / Trust / Security are, as you may imagine, rather important in these types
of transactions.</li>
        </ul>
        <p>
          <img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="SPML_Profile" border="0" alt="SPML_Profile" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/SPMLUseCasesandProfilingChoices_EB57/SPML_Profile_3.jpg" width="466" height="125" /> To
meet these needs, we are currently profiling SPML to support the Core SPML Operations
as well as the optional “BATCH” capability.  The “ASYNC” capability is something
that we are more than likely going to support as well as it provides a mechanism for
the provider to advertise support for asynchronous operations rather than have a request
for an asynch operation fail on a requester with an error “<em>status=’failed’</em>”
and “<em>error=’unsupportedExecutionMode’</em>”.
</p>
        <p>
Keep in mind that the end result will satisfy more than just the one use case that
I noted above. In fact, it satisfies many other use cases that we have that deal with
both LACS and PACS scenarios. In addition, the profile will also bring in the pieces
that are noted as out of scope in the SPML standard i.e. the Profiling of the Security
protocols that are used to assure the integrity, confidentiality and trust of these
exchanges. Fortunately, we can leverage <a href="http://www.aniltj.com/blog/2009/06/06/SAML2ProfilesForPIVSubjectsAndBackendAttributeExchange.aspx" target="_blank">some
of previous work we have done</a> in this space for that aspect.
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5ce0edf9-3092-484a-8775-94f83b0f3c0b" class="wlWriterEditableSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/SPML" rel="tag">SPML</a>,<a href="http://del.icio.us/popular/Federation" rel="tag">Federation</a>,<a href="http://del.icio.us/popular/IdM" rel="tag">IdM</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:56ea29cf-d882-4cf0-902b-6efac841ad4c" class="wlWriterEditableSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/SPML" rel="tag">SPML</a>,<a href="http://technorati.com/tags/Federation" rel="tag">Federation</a>,<a href="http://technorati.com/tags/IdM" rel="tag">IdM</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=78811206-7964-4031-8f21-8b2a54f0d827" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>SPML Use Cases and Profiling Choices</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,78811206-7964-4031-8f21-8b2a54f0d827.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/02/21/SPMLUseCasesAndProfilingChoices.aspx</link>
      <pubDate>Sun, 21 Feb 2010 21:44:10 GMT</pubDate>
      <description>&lt;p&gt;
To be conformant to SPML v2 means that the SPML interface (Provisioning Service Provider
/ PSP) MUST:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Support the set of Core operations&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
a discovery operation {listTargets} on the provider&lt;/li&gt;
&lt;li&gt;
basic operations {add, lookup, modify, delete} that apply to objects on a target&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Supports basic operations for every schema entity that a target supports&lt;/li&gt;
&lt;li&gt;
Supports modal mechanisms for asynchronous operations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="SPML" border="0" alt="SPML" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/SPMLUseCasesandProfilingChoices_EB57/SPML_3.jpg" width="510" height="383"&gt;There
are additional “Standard” operations described in the &lt;a href="http://www.oasis-open.org/committees/download.php/17708/pstc-spml-2.0-os.zip" target="_blank"&gt;OASIS
SPML v2 Specification [Zip]&lt;/a&gt;. The clear thing to keep in mind is that each operations
adds a data management burden onto the provider, so the choice of whether or not to
implement them should be considered very carefully.
&lt;/p&gt;
&lt;p&gt;
From the perspective of deployment topologies, the PSP could be deployed separately
from the Target or could very well be integrated tightly with the Target e.g. an SPML
compliant web service interface on a target system.
&lt;/p&gt;
&lt;p&gt;
One of the frustrating items for me when enquiring about SPML support in products
has been the lack of clarity and visibility around exactly what has been implemented.
All too often, vendors seem to have cherry picked a chosen set of operations (whether
from the Core or from the Standard list) and used that to claim SPML support. I would
be very curious to see if anyone can claim full SPML v2 compliance.
&lt;/p&gt;
&lt;p&gt;
A particular use case for SPML that I am currently working on has to deal with the
“batch” movement of attributes from multiple systems to a central repository. The
typical flow is as follows:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Per organizational policy &amp;amp; relationship to user, attributes are assigned in their
home organization and/or business unit (Org A / Org B / …)&lt;/li&gt;
&lt;li&gt;
Org A must move those users and/or their attributes to a central repository (Repository
X) on a regular basis&lt;/li&gt;
&lt;li&gt;
Repository X acts as the authoritative source of attributes of users from multiple
organizations / business units and can provide those attributes to authenticated and
authorized entities in a real-time request/response and in a synch-take-offline-use
modes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Some points to keep in mind are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Org A / B / … may have, and all too often do, have their own existing identity and
provisioning systems as well as associated governance processes in place.&lt;/li&gt;
&lt;li&gt;
The organizations and the repository may or may not be under the same sphere of control
and as such cannot mandate the use of the same piece of provisioning software and
associated connectors on both ends of the divide.&lt;/li&gt;
&lt;li&gt;
The systems where the organizations store the attributes of their users may not necessarily
be directory based systems.&lt;/li&gt;
&lt;li&gt;
The Repository may or may not be directory based system.&lt;/li&gt;
&lt;li&gt;
Identity / Trust / Security are, as you may imagine, rather important in these types
of transactions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px 10px; display: inline; border-top: 0px; border-right: 0px" title="SPML_Profile" border="0" alt="SPML_Profile" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/SPMLUseCasesandProfilingChoices_EB57/SPML_Profile_3.jpg" width="466" height="125"&gt; To
meet these needs, we are currently profiling SPML to support the Core SPML Operations
as well as the optional “BATCH” capability.&amp;nbsp; The “ASYNC” capability is something
that we are more than likely going to support as well as it provides a mechanism for
the provider to advertise support for asynchronous operations rather than have a request
for an asynch operation fail on a requester with an error “&lt;em&gt;status=’failed’&lt;/em&gt;”
and “&lt;em&gt;error=’unsupportedExecutionMode’&lt;/em&gt;”.
&lt;/p&gt;
&lt;p&gt;
Keep in mind that the end result will satisfy more than just the one use case that
I noted above. In fact, it satisfies many other use cases that we have that deal with
both LACS and PACS scenarios. In addition, the profile will also bring in the pieces
that are noted as out of scope in the SPML standard i.e. the Profiling of the Security
protocols that are used to assure the integrity, confidentiality and trust of these
exchanges. Fortunately, we can leverage &lt;a href="http://www.aniltj.com/blog/2009/06/06/SAML2ProfilesForPIVSubjectsAndBackendAttributeExchange.aspx" target="_blank"&gt;some
of previous work we have done&lt;/a&gt; in this space for that aspect.
&lt;/p&gt;
&lt;p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5ce0edf9-3092-484a-8775-94f83b0f3c0b" class="wlWriterEditableSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/SPML" rel="tag"&gt;SPML&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/IdM" rel="tag"&gt;IdM&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:56ea29cf-d882-4cf0-902b-6efac841ad4c" class="wlWriterEditableSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/SPML" rel="tag"&gt;SPML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IdM" rel="tag"&gt;IdM&lt;/a&gt;
&lt;/div&gt;
&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=78811206-7964-4031-8f21-8b2a54f0d827" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,78811206-7964-4031-8f21-8b2a54f0d827.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
      <category>Service Orientation</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=a3f2992e-37e5-4580-a1fa-292bdc2ed3a7</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,a3f2992e-37e5-4580-a1fa-292bdc2ed3a7.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,a3f2992e-37e5-4580-a1fa-292bdc2ed3a7.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a3f2992e-37e5-4580-a1fa-292bdc2ed3a7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Mark Diodati at the Burton Group kicked off this conversation in his blog post "<a href="http://identityblog.burtongroup.com/bgidps/2010/02/spml-is-on-life-support-.html" target="_blank">SPML
Is On Life Support...</a>" Other folks, notably Nishant Kaushik ("<a href="http://blog.talkingidentity.com/2010/02/spml-under-the-spotlight-again.html" target="_blank">SPML
Under the Spotlight Again?</a>"), Ingrid Melve ("<a href="http://identitynetworks.wordpress.com/2010/02/11/provisioning-will-spml-emerge/" target="_blank">Provisioning,
will SPML emerge?</a>") and Jeff Bohren ("<a href="http://idlogger.wordpress.com/2010/02/12/whither-spml-or-wither-spml/" target="_blank">Whither
SPML or wither SPML?"</a>) bring additional perspectives to this conversation. There
is also some <a href="http://twitter.com/#search?q=SPML" target="_blank">chatter in
the Twitter-verse</a> around this topic as well.
</p>
        <p>
As someone who has been involved in both the standards process as well as end user
implementation, I have a semi-jaded perspective to offer on what it takes for vendors
to implement interfaces that are standards based in their tooling/products. First
of all, let it be clearly understood that Standards are beautiful things (and there
are many of them) but <strong>a Standard without vendor tooling support is nothing
more than shelf-ware</strong>. So in the case of Standards Based Provisioning, in
order to get that tooling support, multiple things need to happen:
</p>
        <ul>
          <li>
            <strong>First and foremost, do NOT let a vendor drive your architecture!</strong> User
organizations need to break out the "vicious cycle" that exists by first realizing
that there are choices beyond the proprietary connectors that are being peddled by
vendors, and secondly by stepping up and <strong>defining provisioning architectures
in a manner that prioritizes open interfaces, minimizes custom connectors and promotes
diversity of vendor choice</strong>.  Map vendor technology into your architecture
and not the other way around, because if you start from what a vendor's product gives
you, you will always be limited by that vendor's vision, choices and motivations. 
</li>
          <li>
            <strong>Bring your use cases and pain points to the Standards development process</strong> and
invest the time and effort (Yes, this is often painful and time consuming!) to incorporate
your needs into the base standard itself. I am finding that often the Technical Committees
in Standards Organizations are proposed and driven by vendors and not end users. But
in cases where there is a good balance between end users and vendors, the Standard
reflects the needs of real people (The Security Services/SAML TC at OASIS often comes
to mind as a good example). 
</li>
          <li>
Organizations need to <strong>incorporate the need for open standards into their product
acquisition process</strong>. This needs to go beyond "Product X will support SPML"
to explicit use cases as to which portions of the standard are important and relevant.
Prototype what you need and be prepared to ask tough, detailed questions and ask for
conformance tests against a profile of the Standard. 
</li>
          <li>
Be prepared to <strong>actively work with vendors who treat you like an intelligent,
strategic partner</strong> and are willing to invest their time in understanding your
business needs and motivations. These are the <strong>folks who see the strategic
value and business opportunities in supporting open interfaces and standards</strong>,
realize they can turn and burn quicker than the competition, and compete on how fast
they can innovate and on customer satisfaction versus depending on product lock-in. 
They are out there, and it is incumbent upon organizations to drive the conversation
with those folks.</li>
        </ul>
        <p>
Moving on, let me reiterate the comments that I made on Mark's blog posting:
</p>
        <blockquote>
          <p>
"<em>The concern with exposing LDAP/AD across organizational boundaries is real and
may not be resolved at the technology level. Applying an existing cross-cutting security
infrastructure to a SOAP binding (to SPML) is a proven and understood mechanism which
is more acceptable to risk averse organizations.</em></p>
          <p>
            <em>I would also add two additional points:</em>
          </p>
          <ol>
            <li>
              <em>More support for the XSD portion of SPML vs. DSML in vendor tooling. There are
a LOT of authoritative sources of information that are simply NOT directories.</em>
            </li>
            <li>
              <em>There needs to be the the analog of SAML metadata in the SPML world (Or a profile
of SAML metadata that can be used with SPML) to bootstrap the discovery of capabilities.
The "listTargets" operation is simply not enough.</em>"</li>
          </ol>
        </blockquote>
        <p>
          <img style="border-width: 0px; margin: 0px 0px 10px 10px;" alt="Pull" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/StandardsBasedProvisioningandSPML_AA2B/Pull_3.jpg" align="right" border="0" height="212" width="476" /> While
I do resonate with the "pull" model interfaces noted by Mark in his posting, I do
believe that exposing LDAP(S)/AD Interfaces either directly of via Virtual Directories
outside organizational boundaries is a non-starter for many organizations. 
</p>
        <p>
At the same time I believe there exists options in the current state of technology
to provide a hybrid approach that can incorporate both the pull model as well as provide
the application of cross-cutting security infrastructure into the mix. The architecture
that we are currently using incorporates a combination of both Virtual/Meta Directory
capabilities as well as an XML Security Gateway to provide policy enforcement (security
and more) when exposed to the outside. 
</p>
        <p>
I will also reiterate that there needs to be more support for the XSD portion of SPML
vs. DSML. A lot of the authoritative sources of user information that I am dealing
with are simply not found in directory services but in other sources such as relational
databases, custom web services and sometimes proprietary formats in addition to LDAP/AD.
</p>
        <p>
I hope to post some the use cases for standards based provisioning as well as the
details of some of the profiling that we are doing on SPML to satisfy those use cases
in future blog posts. Looking forward to further conversations around this topic.
</p>
        <div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6f8b6857-55e2-4ce2-9692-88ecbf400e91" class="wlWriterSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/SPML" rel="tag">SPML</a>,<a href="http://del.icio.us/popular/Federation" rel="tag">Federation</a>,<a href="http://del.icio.us/popular/IdM" rel="tag">IdM</a>,<a href="http://del.icio.us/popular/BurtonGroup" rel="tag">BurtonGroup</a>,<a href="http://del.icio.us/popular/VirtualDirectory" rel="tag">VirtualDirectory</a>,<a href="http://del.icio.us/popular/Standards" rel="tag">Standards</a></div>
        <br />
        <div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:61b7fca8-8c3b-4de6-970f-5b8dbbc14169" class="wlWriterSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/SPML" rel="tag">SPML</a>,<a href="http://technorati.com/tags/Federation" rel="tag">Federation</a>,<a href="http://technorati.com/tags/IdM" rel="tag">IdM</a>,<a href="http://technorati.com/tags/BurtonGroup" rel="tag">BurtonGroup</a>,<a href="http://technorati.com/tags/VirtualDirectory" rel="tag">VirtualDirectory</a>,<a href="http://technorati.com/tags/Standards" rel="tag">Standards</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=a3f2992e-37e5-4580-a1fa-292bdc2ed3a7" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Standards Based Provisioning and SPML</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,a3f2992e-37e5-4580-a1fa-292bdc2ed3a7.aspx</guid>
      <link>http://www.aniltj.com/blog/2010/02/13/StandardsBasedProvisioningAndSPML.aspx</link>
      <pubDate>Sat, 13 Feb 2010 17:26:52 GMT</pubDate>
      <description>&lt;p&gt;
Mark Diodati at the Burton Group kicked off this conversation in his blog post "&lt;a href="http://identityblog.burtongroup.com/bgidps/2010/02/spml-is-on-life-support-.html" target="_blank"&gt;SPML
Is On Life Support...&lt;/a&gt;" Other folks, notably Nishant Kaushik ("&lt;a href="http://blog.talkingidentity.com/2010/02/spml-under-the-spotlight-again.html" target="_blank"&gt;SPML
Under the Spotlight Again?&lt;/a&gt;"), Ingrid Melve ("&lt;a href="http://identitynetworks.wordpress.com/2010/02/11/provisioning-will-spml-emerge/" target="_blank"&gt;Provisioning,
will SPML emerge?&lt;/a&gt;") and Jeff Bohren ("&lt;a href="http://idlogger.wordpress.com/2010/02/12/whither-spml-or-wither-spml/" target="_blank"&gt;Whither
SPML or wither SPML?"&lt;/a&gt;) bring additional perspectives to this conversation. There
is also some &lt;a href="http://twitter.com/#search?q=SPML" target="_blank"&gt;chatter in
the Twitter-verse&lt;/a&gt; around this topic as well.
&lt;/p&gt;
&lt;p&gt;
As someone who has been involved in both the standards process as well as end user
implementation, I have a semi-jaded perspective to offer on what it takes for vendors
to implement interfaces that are standards based in their tooling/products. First
of all, let it be clearly understood that Standards are beautiful things (and there
are many of them) but &lt;strong&gt;a Standard without vendor tooling support is nothing
more than shelf-ware&lt;/strong&gt;. So in the case of Standards Based Provisioning, in
order to get that tooling support, multiple things need to happen:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;First and foremost, do NOT let a vendor drive your architecture!&lt;/strong&gt; User
organizations need to break out the "vicious cycle" that exists by first realizing
that there are choices beyond the proprietary connectors that are being peddled by
vendors, and secondly by stepping up and &lt;strong&gt;defining provisioning architectures
in a manner that prioritizes open interfaces, minimizes custom connectors and promotes
diversity of vendor choice&lt;/strong&gt;.&amp;nbsp; Map vendor technology into your architecture
and not the other way around, because if you start from what a vendor's product gives
you, you will always be limited by that vendor's vision, choices and motivations. 
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bring your use cases and pain points to the Standards development process&lt;/strong&gt; and
invest the time and effort (Yes, this is often painful and time consuming!) to incorporate
your needs into the base standard itself. I am finding that often the Technical Committees
in Standards Organizations are proposed and driven by vendors and not end users. But
in cases where there is a good balance between end users and vendors, the Standard
reflects the needs of real people (The Security Services/SAML TC at OASIS often comes
to mind as a good example). 
&lt;/li&gt;
&lt;li&gt;
Organizations need to &lt;strong&gt;incorporate the need for open standards into their product
acquisition process&lt;/strong&gt;. This needs to go beyond "Product X will support SPML"
to explicit use cases as to which portions of the standard are important and relevant.
Prototype what you need and be prepared to ask tough, detailed questions and ask for
conformance tests against a profile of the Standard. 
&lt;/li&gt;
&lt;li&gt;
Be prepared to &lt;strong&gt;actively work with vendors who treat you like an intelligent,
strategic partner&lt;/strong&gt; and are willing to invest their time in understanding your
business needs and motivations. These are the &lt;strong&gt;folks who see the strategic
value and business opportunities in supporting open interfaces and standards&lt;/strong&gt;,
realize they can turn and burn quicker than the competition, and compete on how fast
they can innovate and on customer satisfaction versus depending on product lock-in.&amp;nbsp;
They are out there, and it is incumbent upon organizations to drive the conversation
with those folks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Moving on, let me reiterate the comments that I made on Mark's blog posting:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
"&lt;em&gt;The concern with exposing LDAP/AD across organizational boundaries is real and
may not be resolved at the technology level. Applying an existing cross-cutting security
infrastructure to a SOAP binding (to SPML) is a proven and understood mechanism which
is more acceptable to risk averse organizations.&lt;/em&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;I would also add two additional points:&lt;/em&gt; 
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;More support for the XSD portion of SPML vs. DSML in vendor tooling. There are
a LOT of authoritative sources of information that are simply NOT directories.&lt;/em&gt; 
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;There needs to be the the analog of SAML metadata in the SPML world (Or a profile
of SAML metadata that can be used with SPML) to bootstrap the discovery of capabilities.
The "listTargets" operation is simply not enough.&lt;/em&gt;"&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;img style="border-width: 0px; margin: 0px 0px 10px 10px;" alt="Pull" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/StandardsBasedProvisioningandSPML_AA2B/Pull_3.jpg" align="right" border="0" height="212" width="476"&gt; While
I do resonate with the "pull" model interfaces noted by Mark in his posting, I do
believe that exposing LDAP(S)/AD Interfaces either directly of via Virtual Directories
outside organizational boundaries is a non-starter for many organizations. 
&lt;/p&gt;
&lt;p&gt;
At the same time I believe there exists options in the current state of technology
to provide a hybrid approach that can incorporate both the pull model as well as provide
the application of cross-cutting security infrastructure into the mix. The architecture
that we are currently using incorporates a combination of both Virtual/Meta Directory
capabilities as well as an XML Security Gateway to provide policy enforcement (security
and more) when exposed to the outside. 
&lt;/p&gt;
&lt;p&gt;
I will also reiterate that there needs to be more support for the XSD portion of SPML
vs. DSML. A lot of the authoritative sources of user information that I am dealing
with are simply not found in directory services but in other sources such as relational
databases, custom web services and sometimes proprietary formats in addition to LDAP/AD.
&lt;/p&gt;
&lt;p&gt;
I hope to post some the use cases for standards based provisioning as well as the
details of some of the profiling that we are doing on SPML to satisfy those use cases
in future blog posts. Looking forward to further conversations around this topic.
&lt;/p&gt;
&lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6f8b6857-55e2-4ce2-9692-88ecbf400e91" class="wlWriterSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/SPML" rel="tag"&gt;SPML&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/IdM" rel="tag"&gt;IdM&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/BurtonGroup" rel="tag"&gt;BurtonGroup&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/VirtualDirectory" rel="tag"&gt;VirtualDirectory&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Standards" rel="tag"&gt;Standards&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:61b7fca8-8c3b-4de6-970f-5b8dbbc14169" class="wlWriterSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/SPML" rel="tag"&gt;SPML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Federation" rel="tag"&gt;Federation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IdM" rel="tag"&gt;IdM&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BurtonGroup" rel="tag"&gt;BurtonGroup&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VirtualDirectory" rel="tag"&gt;VirtualDirectory&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Standards" rel="tag"&gt;Standards&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=a3f2992e-37e5-4580-a1fa-292bdc2ed3a7" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,a3f2992e-37e5-4580-a1fa-292bdc2ed3a7.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
      <category>Service Orientation</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=f1add0ad-6b36-466a-8ca1-80158146df72</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,f1add0ad-6b36-466a-8ca1-80158146df72.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,f1add0ad-6b36-466a-8ca1-80158146df72.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=f1add0ad-6b36-466a-8ca1-80158146df72</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I had a great time at Burton Group's Catalyst Conference this year.  Spent my
time between the Identity Management, SOA and Cloud sessions. Also had an opportunity
to attend the Cloud Security &amp; Identity SIG session as well.
</p>
        <p>
As the fast-thinking, slow talking, and always insightful <a href="http://apsblog.burtongroup.com/2009/08/is-there-a-cloud-programming-model.html" target="_blank">Chris
Haddad notes on the Burton APS Blog</a> (Chris... enjoyed the lunch and the conversation)
"<em>Existing Cloud Computing's momentum is predominantly focused on hardware optimization
(IaaS) or delivery of entire applications (SaaS)</em>". 
</p>
        <p>
But the message that I often hear from Cloud vendors is:
</p>
        <ul>
          <li>
We want to be an extension of your Enterprise</li>
          <li>
We have deep expertise in certain competencies that are not core to your business,
and as such you should let us integrate what we bring to the table into your Enterprise</li>
        </ul>
        <p>
... and variations on this theme.
</p>
        <p>
But in order to do this, an Enterprise needs to have a deep understanding of its own
core competencies, have clearly articulated it's capabilities into distinct offerings,
and gone through some sort of a rationalization process for its existing application
portfolio.. In effect, have done a very good job of Service Orient-ing themselves!
</p>
        <p>
But we are also hearing at the same time that SOA has lost its bright and shiny appeal
and that most SOA efforts, with rare exceptions, have not been successful. For the
record, success in SOA to me is not about building out a web services infrastructure,
but about getting true value and clear and measurable ROI out of the effort. 
</p>
        <p>
So to me, it would appear that without an organization getting Service Orientation
right, any serious attempt they make on the cloud computing end will end up as nothing
more than an attempt at building a castle on quicksand. 
</p>
        <p>
The other point that I noted was that while there were discussions around Identity
and Security of Cloud offerings (they still need to mature a whole lot more, but the
discussion was still there), there was little to no discussion around visibility and
manageability of cloud offerings.  A point that I brought up in questions and
in conversations on this topic was that while people's appetite for risk vary, one
of the ways to evaluate and potentially mitigate risk was to provide more real time
visibility into cloud offerings.  If a cloud vendor's offerings are to be tightly
integrated into an Enterprise, and I now have a clear dependency on them, I would
very much want to have a clear awareness of how the cloud offerings were behaving.
</p>
        <p>
From a technical perspective, what I was proposing was something very similar in concept
to the monitoring (and not management) piece of what WS-Management &amp; WSDM brought
to the table on the WS-* front. In effect, a standardized interface that all cloud
vendors agree to implement that provides health and monitoring visibility to the organizations
that utilize their services. In short, I do not want to get an after-the-fact report
on your status sent to me by e-mail or pulled up on a web site, I want the real time
visibility into your services that my NOC can monitor. There was a response from some
vendors that they have this interface internally for their own monitoring. My response
back to them is to expose it to your customers, and work within the cloud community
to standardize it such that the same interface exits as I move from vendor to vendor.
</p>
        <div style="margin: 0px; padding: 0px; display: inline;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:96c8b93c-9412-4fef-aa12-99975e8d47be" class="wlWriterSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/SOA" rel="tag">SOA</a>,<a href="http://del.icio.us/popular/Cloud%20Computing" rel="tag">Cloud
Computing</a>,<a href="http://del.icio.us/popular/Security" rel="tag">Security</a>,<a href="http://del.icio.us/popular/Management" rel="tag">Management</a>,<a href="http://del.icio.us/popular/#Catalyst09" rel="tag">#Catalyst09</a></div>
        <br />
        <div style="margin: 0px; padding: 0px; display: inline;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f99638b3-f974-45ff-9b6f-f0401dbfd1d8" class="wlWriterSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/SOA" rel="tag">SOA</a>,<a href="http://technorati.com/tags/Cloud%20Computing" rel="tag">Cloud
Computing</a>,<a href="http://technorati.com/tags/Security" rel="tag">Security</a>,<a href="http://technorati.com/tags/Management" rel="tag">Management</a>,<a href="http://technorati.com/tags/#Catalyst09" rel="tag">#Catalyst09</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=f1add0ad-6b36-466a-8ca1-80158146df72" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Cloud Computing Thoughts from Catalyst09</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,f1add0ad-6b36-466a-8ca1-80158146df72.aspx</guid>
      <link>http://www.aniltj.com/blog/2009/08/14/CloudComputingThoughtsFromCatalyst09.aspx</link>
      <pubDate>Fri, 14 Aug 2009 13:59:16 GMT</pubDate>
      <description>&lt;p&gt;
I had a great time at Burton Group's Catalyst Conference this year.&amp;nbsp; Spent my
time between the Identity Management, SOA and Cloud sessions. Also had an opportunity
to attend the Cloud Security &amp;amp; Identity SIG session as well.
&lt;/p&gt;
&lt;p&gt;
As the fast-thinking, slow talking, and always insightful &lt;a href="http://apsblog.burtongroup.com/2009/08/is-there-a-cloud-programming-model.html" target="_blank"&gt;Chris
Haddad notes on the Burton APS Blog&lt;/a&gt; (Chris... enjoyed the lunch and the conversation)
"&lt;em&gt;Existing Cloud Computing's momentum is predominantly focused on hardware optimization
(IaaS) or delivery of entire applications (SaaS)&lt;/em&gt;". 
&lt;/p&gt;
&lt;p&gt;
But the message that I often hear from Cloud vendors is:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
We want to be an extension of your Enterprise&lt;/li&gt;
&lt;li&gt;
We have deep expertise in certain competencies that are not core to your business,
and as such you should let us integrate what we bring to the table into your Enterprise&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
... and variations on this theme.
&lt;/p&gt;
&lt;p&gt;
But in order to do this, an Enterprise needs to have a deep understanding of its own
core competencies, have clearly articulated it's capabilities into distinct offerings,
and gone through some sort of a rationalization process for its existing application
portfolio.. In effect, have done a very good job of Service Orient-ing themselves!
&lt;/p&gt;
&lt;p&gt;
But we are also hearing at the same time that SOA has lost its bright and shiny appeal
and that most SOA efforts, with rare exceptions, have not been successful. For the
record, success in SOA to me is not about building out a web services infrastructure,
but about getting true value and clear and measurable ROI out of the effort. 
&lt;/p&gt;
&lt;p&gt;
So to me, it would appear that without an organization getting Service Orientation
right, any serious attempt they make on the cloud computing end will end up as nothing
more than an attempt at building a castle on quicksand. 
&lt;/p&gt;
&lt;p&gt;
The other point that I noted was that while there were discussions around Identity
and Security of Cloud offerings (they still need to mature a whole lot more, but the
discussion was still there), there was little to no discussion around visibility and
manageability of cloud offerings.&amp;nbsp; A point that I brought up in questions and
in conversations on this topic was that while people's appetite for risk vary, one
of the ways to evaluate and potentially mitigate risk was to provide more real time
visibility into cloud offerings.&amp;nbsp; If a cloud vendor's offerings are to be tightly
integrated into an Enterprise, and I now have a clear dependency on them, I would
very much want to have a clear awareness of how the cloud offerings were behaving.
&lt;/p&gt;
&lt;p&gt;
From a technical perspective, what I was proposing was something very similar in concept
to the monitoring (and not management) piece of what WS-Management &amp;amp; WSDM brought
to the table on the WS-* front. In effect, a standardized interface that all cloud
vendors agree to implement that provides health and monitoring visibility to the organizations
that utilize their services. In short, I do not want to get an after-the-fact report
on your status sent to me by e-mail or pulled up on a web site, I want the real time
visibility into your services that my NOC can monitor. There was a response from some
vendors that they have this interface internally for their own monitoring. My response
back to them is to expose it to your customers, and work within the cloud community
to standardize it such that the same interface exits as I move from vendor to vendor.
&lt;/p&gt;
&lt;div style="margin: 0px; padding: 0px; display: inline;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:96c8b93c-9412-4fef-aa12-99975e8d47be" class="wlWriterSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/SOA" rel="tag"&gt;SOA&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Cloud%20Computing" rel="tag"&gt;Cloud
Computing&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Security" rel="tag"&gt;Security&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Management" rel="tag"&gt;Management&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/#Catalyst09" rel="tag"&gt;#Catalyst09&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="margin: 0px; padding: 0px; display: inline;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f99638b3-f974-45ff-9b6f-f0401dbfd1d8" class="wlWriterSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/SOA" rel="tag"&gt;SOA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cloud%20Computing" rel="tag"&gt;Cloud
Computing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Security" rel="tag"&gt;Security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Management" rel="tag"&gt;Management&lt;/a&gt;,&lt;a href="http://technorati.com/tags/#Catalyst09" rel="tag"&gt;#Catalyst09&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=f1add0ad-6b36-466a-8ca1-80158146df72" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,f1add0ad-6b36-466a-8ca1-80158146df72.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
      <category>Service Orientation</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=d4c8a8cc-edf3-4048-b7fc-be058e2d03bd</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,d4c8a8cc-edf3-4048-b7fc-be058e2d03bd.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,d4c8a8cc-edf3-4048-b7fc-be058e2d03bd.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d4c8a8cc-edf3-4048-b7fc-be058e2d03bd</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As part of the <a href="http://www.aniltj.com/blog/2009/06/06/SAML2ProfilesForPIVSubjectsAndBackendAttributeExchange.aspx" target="_blank">BAE
profiling and reference implementation</a>, we have a full test &amp; validation suite. 
Our desire has always been to make the barrier to entry for anyone using the test
suites to be the minimum it needs to be. As such we focused on creating our test suites
using open source tooling so that we could provide a test suite project that an implementer
could import into their open source testing tool, point it at their BAE implementation,
run it, and get immediate feedback on whether or not their implementation was conformant
to the profile.
</p>
        <p>
To that end, we have been using the popular and free <a href="http://www.soapui.org/" target="_blank">soapUI</a> testing
tool. Unfortunately, we are running into some limitations in the tool support for
SAML 2.0. It would appear that the current soapUI implementation is using the OpenSAML
1.1 implementation and not the current <a href="https://spaces.internet2.edu/display/OpenSAML/OSTwoUserManual" target="_blank">OpenSAML
2.0</a> which supports SAML v2. In particular, this means that the following functionality
that relates to the testing of SAML AttributeRequest/Response are not supported:
</p>
        <ul>
          <li>
Ability to digitally sign and validate attribute requests and responses using the
enveloped signature method</li>
          <li>
Ability to utilize the &lt;saml:EncryptedID&gt; as a means of carrying the encrypted
name identifier</li>
          <li>
Ability to decrypt the &lt;saml:EncryptedAssertion&gt; element sent by the Attribute
Authority which contains the encrypted contents of an assertion</li>
        </ul>
        <p>
This has required us to go thru some gyrations in how we are implementing the test
suites, which is making the user experience not as smooth as we would like. 
</p>
        <p>
Ideally we would love to continue using soapUI going forward, but we are also on the
lookout for other open source tooling that we could utilize for our testing. Suggestions
and recommendations from folks who have experienced this issue and have found a resolution
would be very much appreciated.
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a94cbef9-f95b-4287-8c18-a9f2d58864b0" class="wlWriterSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/SAML" rel="tag">SAML</a>,<a href="http://del.icio.us/popular/BAE" rel="tag">BAE</a>,<a href="http://del.icio.us/popular/Profile" rel="tag">Profile</a>,<a href="http://del.icio.us/popular/Testing" rel="tag">Testing</a>,<a href="http://del.icio.us/popular/soapUI" rel="tag">soapUI</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ada410fd-eca3-4fdf-92cb-26bce6880523" class="wlWriterSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/SAML" rel="tag">SAML</a>,<a href="http://technorati.com/tags/BAE" rel="tag">BAE</a>,<a href="http://technorati.com/tags/Profile" rel="tag">Profile</a>,<a href="http://technorati.com/tags/Testing" rel="tag">Testing</a>,<a href="http://technorati.com/tags/soapUI" rel="tag">soapUI</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=d4c8a8cc-edf3-4048-b7fc-be058e2d03bd" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>SAML v2 Testing and soapUI</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,d4c8a8cc-edf3-4048-b7fc-be058e2d03bd.aspx</guid>
      <link>http://www.aniltj.com/blog/2009/06/21/SAMLV2TestingAndSoapUI.aspx</link>
      <pubDate>Sun, 21 Jun 2009 00:40:19 GMT</pubDate>
      <description>&lt;p&gt;
As part of the &lt;a href="http://www.aniltj.com/blog/2009/06/06/SAML2ProfilesForPIVSubjectsAndBackendAttributeExchange.aspx" target="_blank"&gt;BAE
profiling and reference implementation&lt;/a&gt;, we have a full test &amp;amp; validation suite.&amp;nbsp;
Our desire has always been to make the barrier to entry for anyone using the test
suites to be the minimum it needs to be. As such we focused on creating our test suites
using open source tooling so that we could provide a test suite project that an implementer
could import into their open source testing tool, point it at their BAE implementation,
run it, and get immediate feedback on whether or not their implementation was conformant
to the profile.
&lt;/p&gt;
&lt;p&gt;
To that end, we have been using the popular and free &lt;a href="http://www.soapui.org/" target="_blank"&gt;soapUI&lt;/a&gt; testing
tool. Unfortunately, we are running into some limitations in the tool support for
SAML 2.0. It would appear that the current soapUI implementation is using the OpenSAML
1.1 implementation and not the current &lt;a href="https://spaces.internet2.edu/display/OpenSAML/OSTwoUserManual" target="_blank"&gt;OpenSAML
2.0&lt;/a&gt; which supports SAML v2. In particular, this means that the following functionality
that relates to the testing of SAML AttributeRequest/Response are not supported:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Ability to digitally sign and validate attribute requests and responses using the
enveloped signature method&lt;/li&gt;
&lt;li&gt;
Ability to utilize the &amp;lt;saml:EncryptedID&amp;gt; as a means of carrying the encrypted
name identifier&lt;/li&gt;
&lt;li&gt;
Ability to decrypt the &amp;lt;saml:EncryptedAssertion&amp;gt; element sent by the Attribute
Authority which contains the encrypted contents of an assertion&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
This has required us to go thru some gyrations in how we are implementing the test
suites, which is making the user experience not as smooth as we would like. 
&lt;/p&gt;
&lt;p&gt;
Ideally we would love to continue using soapUI going forward, but we are also on the
lookout for other open source tooling that we could utilize for our testing. Suggestions
and recommendations from folks who have experienced this issue and have found a resolution
would be very much appreciated.
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a94cbef9-f95b-4287-8c18-a9f2d58864b0" class="wlWriterSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/SAML" rel="tag"&gt;SAML&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/BAE" rel="tag"&gt;BAE&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Profile" rel="tag"&gt;Profile&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Testing" rel="tag"&gt;Testing&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/soapUI" rel="tag"&gt;soapUI&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ada410fd-eca3-4fdf-92cb-26bce6880523" class="wlWriterSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/SAML" rel="tag"&gt;SAML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BAE" rel="tag"&gt;BAE&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Profile" rel="tag"&gt;Profile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Testing" rel="tag"&gt;Testing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/soapUI" rel="tag"&gt;soapUI&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=d4c8a8cc-edf3-4048-b7fc-be058e2d03bd" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,d4c8a8cc-edf3-4048-b7fc-be058e2d03bd.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=b2bc2fde-1df9-4173-a711-046639062f19</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,b2bc2fde-1df9-4173-a711-046639062f19.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,b2bc2fde-1df9-4173-a711-046639062f19.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=b2bc2fde-1df9-4173-a711-046639062f19</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
FIPS 201 defines a US Government-wide interoperable identification credential for
controlling physical access to federal facilities and logical access to federal information
systems.  The FIPS 201 credential, known as the Personal Identity Verification
(PIV) Card, supports PIV Cardholder authentication using information securely stored
on the PIV Card. Some PIV Cardholder information is available on-card through PIV
Card external physical topology (i.e., card surface) and PIV Card internal data storage
(e.g.  Magnetic stripe, integrated circuit chip).  
</p>
        <p>
Other PIV Cardholder information is available off-card. Examples of off-card information,
say in the First Responder &amp; Emergency Response domain, could be certifications
that could be presented by a Doctor or EMT that could verify their claims and allow
physical and/or logical access to resources. 
</p>
        <p>
          <img style="border-right-width: 0px; margin: 0px 0px 10px 10px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="SAML2 BAE Profile" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/SAML2ProfilesforPIVSubjectsandBackendAtt_D2C5/BAE_Profile_3.png" width="372" height="118" /> Accordingly,
the federal government requires a standard mechanism for Relying Parties to obtain
PIV Cardholder information (User Attributes), which are available off-card, directly
from the authoritative source (Attribute Authority). The authoritative source is the
PIV Card Issuing Agency, which is the agency that issued the PIV Card to the PIV Cardholder. 
The exchange of these User Attributes between backend systems is known as “Backend
Attribute Exchange” (BAE). The architectural vision for the BAE can be found at IDManagement.gov
(Direct link to "<a href="http://www.smart.gov/awg/documents/BackendArchitectureInterfaceSpec.pdf" target="_blank">Backend
Attribute Exchange Architecture and Interface Specification</a>" - PDF). 
</p>
        <p>
I, and members of my team, have been part of a joint DHS and DOD team that have been
working on a proof of concept implementation of the BAE in order to validate the approach,
gain valuable implementation experience, and to provide feedback to the relevant governance
organizations within the US Federal Government. The results of our work are three-fold: 
</p>
        <ol>
          <li>
A SAML2 Profile of the BAE, with both normative and informative sections, that provide
concrete implementation guidance, lessons learned as well as recommendations for folks
seeking to support this profile 
</li>
          <li>
Reference implementations stood up within the T&amp;E environments of both DHS and
DOD for interoperability testing 
</li>
          <li>
Test suites that can be used by implementers to verify compliance with the profile</li>
        </ol>
        <p>
I am happy to report that the profile is currently at v1.0 (DRAFT) status, under external
review, and that we are scheduled to give a briefing on the work to a sub-committee
of the Federal CIO Council later this month. In addition, we have our reference implementations
up and running and are putting the finishing touches on the Test Suites. 
</p>
        <p>
As someone who has and is participating in industry standards efforts, I am fully
aware that one of the critical items for a standard to become successful is for incorporation
of the standard into vendor tooling. Some of the choices that we made, beyond satisfying
the needed functionality, was to make sure that it was as easy as possible to build
in profile support by: 
</p>
        <ul>
          <li>
Not reinventing the wheel; Leverage the conventions and standards established by some
of the fine work that has been done to date by the OASIS Security Services (SAML)
TC on Attribute Query Profiles 
</li>
          <li>
Keep the delta's as small as possible between the BAE Profile and existing profiles
such as the X.509 Attribute Sharing Profile (XASP) 
</li>
          <li>
Provide LOTS of informative guidance 
</li>
          <li>
Striking a balance between making sure that the profile was generic enough to be widely
used and deployable, but provided enough information in the message flow for implementers
to get full value. 
</li>
        </ul>
        <p>
The last item was something that we found to be critical and sometimes contentious
to balance. But, we would not be where we are right now, had we not been informed
by our actual proof-of-concept implementations. A pure paper effort would have left
too many holes to patch.
</p>
        <p>
We have also made an active effort to reach out to vendors, especially in the federation,
entitlement management and XML security arenas, and have been gratified by their response
in committing to support this profile in their tooling (In some cases, folks already
have beta support baked in!). We are fully expecting to highlight and point out those
folks during our out-brief later this month. If you are a vendor, want to find out
what it takes to support this profile, and are interested in receiving a copy of the
v1.0 DRAFT, please feel free to ping me at <em>anil dot john at jhuapl dot edu</em>. 
</p>
        <p>
This has been a pretty extensive, exciting and detailed effort and we are very grateful
for the senior level support from both Organizations for this effort.  Beyond
that, it has been a blast working with some very smart people from both DHS and DOD
to make this real. 
</p>
        <p>
        </p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0b978543-9603-4d42-a98e-37a2662ba084" class="wlWriterSmartContent">del.icio.us
Tags: <a href="http://del.icio.us/popular/SAML" rel="tag">SAML</a>,<a href="http://del.icio.us/popular/BAE" rel="tag">BAE</a>,<a href="http://del.icio.us/popular/Profile" rel="tag">Profile</a>,<a href="http://del.icio.us/popular/DOD" rel="tag">DOD</a>,<a href="http://del.icio.us/popular/DHS" rel="tag">DHS</a>,<a href="http://del.icio.us/popular/ABAC" rel="tag">ABAC</a>,<a href="http://del.icio.us/popular/Attributes" rel="tag">Attributes</a></div>
        <br />
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:489f5b8c-a0b4-46f1-a69e-eba95b297a34" class="wlWriterSmartContent">Technorati
Tags: <a href="http://technorati.com/tags/SAML" rel="tag">SAML</a>,<a href="http://technorati.com/tags/BAE" rel="tag">BAE</a>,<a href="http://technorati.com/tags/Profile" rel="tag">Profile</a>,<a href="http://technorati.com/tags/DOD" rel="tag">DOD</a>,<a href="http://technorati.com/tags/DHS" rel="tag">DHS</a>,<a href="http://technorati.com/tags/ABAC" rel="tag">ABAC</a>,<a href="http://technorati.com/tags/Attributes" rel="tag">Attributes</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=b2bc2fde-1df9-4173-a711-046639062f19" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>SAML2 Profiles for PIV Subjects and Backend Attribute Exchange</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,b2bc2fde-1df9-4173-a711-046639062f19.aspx</guid>
      <link>http://www.aniltj.com/blog/2009/06/06/SAML2ProfilesForPIVSubjectsAndBackendAttributeExchange.aspx</link>
      <pubDate>Sat, 06 Jun 2009 18:59:21 GMT</pubDate>
      <description>&lt;p&gt;
FIPS 201 defines a US Government-wide interoperable identification credential for
controlling physical access to federal facilities and logical access to federal information
systems.&amp;nbsp; The FIPS 201 credential, known as the Personal Identity Verification
(PIV) Card, supports PIV Cardholder authentication using information securely stored
on the PIV Card. Some PIV Cardholder information is available on-card through PIV
Card external physical topology (i.e., card surface) and PIV Card internal data storage
(e.g.&amp;nbsp; Magnetic stripe, integrated circuit chip).&amp;nbsp; 
&lt;p&gt;
Other PIV Cardholder information is available off-card. Examples of off-card information,
say in the First Responder &amp;amp; Emergency Response domain, could be certifications
that could be presented by a Doctor or EMT that could verify their claims and allow
physical and/or logical access to resources. 
&lt;p&gt;
&lt;img style="border-right-width: 0px; margin: 0px 0px 10px 10px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="SAML2 BAE Profile" align="right" src="http://www.aniltj.com/blog/content/binary/WindowsLiveWriter/SAML2ProfilesforPIVSubjectsandBackendAtt_D2C5/BAE_Profile_3.png" width="372" height="118"&gt; Accordingly,
the federal government requires a standard mechanism for Relying Parties to obtain
PIV Cardholder information (User Attributes), which are available off-card, directly
from the authoritative source (Attribute Authority). The authoritative source is the
PIV Card Issuing Agency, which is the agency that issued the PIV Card to the PIV Cardholder.&amp;nbsp;
The exchange of these User Attributes between backend systems is known as “Backend
Attribute Exchange” (BAE). The architectural vision for the BAE can be found at IDManagement.gov
(Direct link to "&lt;a href="http://www.smart.gov/awg/documents/BackendArchitectureInterfaceSpec.pdf" target="_blank"&gt;Backend
Attribute Exchange Architecture and Interface Specification&lt;/a&gt;" - PDF). 
&lt;p&gt;
I, and members of my team, have been part of a joint DHS and DOD team that have been
working on a proof of concept implementation of the BAE in order to validate the approach,
gain valuable implementation experience, and to provide feedback to the relevant governance
organizations within the US Federal Government. The results of our work are three-fold: 
&lt;ol&gt;
&lt;li&gt;
A SAML2 Profile of the BAE, with both normative and informative sections, that provide
concrete implementation guidance, lessons learned as well as recommendations for folks
seeking to support this profile 
&lt;li&gt;
Reference implementations stood up within the T&amp;amp;E environments of both DHS and
DOD for interoperability testing 
&lt;li&gt;
Test suites that can be used by implementers to verify compliance with the profile&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
I am happy to report that the profile is currently at v1.0 (DRAFT) status, under external
review, and that we are scheduled to give a briefing on the work to a sub-committee
of the Federal CIO Council later this month. In addition, we have our reference implementations
up and running and are putting the finishing touches on the Test Suites. 
&lt;p&gt;
As someone who has and is participating in industry standards efforts, I am fully
aware that one of the critical items for a standard to become successful is for incorporation
of the standard into vendor tooling. Some of the choices that we made, beyond satisfying
the needed functionality, was to make sure that it was as easy as possible to build
in profile support by: 
&lt;ul&gt;
&lt;li&gt;
Not reinventing the wheel; Leverage the conventions and standards established by some
of the fine work that has been done to date by the OASIS Security Services (SAML)
TC on Attribute Query Profiles 
&lt;li&gt;
Keep the delta's as small as possible between the BAE Profile and existing profiles
such as the X.509 Attribute Sharing Profile (XASP) 
&lt;li&gt;
Provide LOTS of informative guidance 
&lt;li&gt;
Striking a balance between making sure that the profile was generic enough to be widely
used and deployable, but provided enough information in the message flow for implementers
to get full value. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The last item was something that we found to be critical and sometimes contentious
to balance. But, we would not be where we are right now, had we not been informed
by our actual proof-of-concept implementations. A pure paper effort would have left
too many holes to patch.
&lt;/p&gt;
&lt;p&gt;
We have also made an active effort to reach out to vendors, especially in the federation,
entitlement management and XML security arenas, and have been gratified by their response
in committing to support this profile in their tooling (In some cases, folks already
have beta support baked in!). We are fully expecting to highlight and point out those
folks during our out-brief later this month. If you are a vendor, want to find out
what it takes to support this profile, and are interested in receiving a copy of the
v1.0 DRAFT, please feel free to ping me at &lt;em&gt;anil dot john at jhuapl dot edu&lt;/em&gt;. 
&lt;p&gt;
This has been a pretty extensive, exciting and detailed effort and we are very grateful
for the senior level support from both Organizations for this effort.&amp;nbsp; Beyond
that, it has been a blast working with some very smart people from both DHS and DOD
to make this real. 
&lt;p&gt;
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0b978543-9603-4d42-a98e-37a2662ba084" class="wlWriterSmartContent"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/SAML" rel="tag"&gt;SAML&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/BAE" rel="tag"&gt;BAE&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Profile" rel="tag"&gt;Profile&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/DOD" rel="tag"&gt;DOD&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/DHS" rel="tag"&gt;DHS&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/ABAC" rel="tag"&gt;ABAC&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:489f5b8c-a0b4-46f1-a69e-eba95b297a34" class="wlWriterSmartContent"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/SAML" rel="tag"&gt;SAML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BAE" rel="tag"&gt;BAE&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Profile" rel="tag"&gt;Profile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DOD" rel="tag"&gt;DOD&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DHS" rel="tag"&gt;DHS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ABAC" rel="tag"&gt;ABAC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Attributes" rel="tag"&gt;Attributes&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=b2bc2fde-1df9-4173-a711-046639062f19" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,b2bc2fde-1df9-4173-a711-046639062f19.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=31148f10-be9e-495f-82e7-6ed8bda2bbf3</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,31148f10-be9e-495f-82e7-6ed8bda2bbf3.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,31148f10-be9e-495f-82e7-6ed8bda2bbf3.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=31148f10-be9e-495f-82e7-6ed8bda2bbf3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Digital ID World 2008 is the first IdM conference that I've gone to as part of a team,
and given the <a href="http://public.cxo.com/conferences/print_agenda.html?conferenceID=24">variety
of breakout sessions</a> we decided early on to use the divide and conquer approach
based on our areas of interest and expertise. 
</p>
        <p>
The following are some highlights on some (not all) of the sessions that I attended
and found to be interesting. As with a lot of conferences, there were some sessions
that were pretty much disguised vendor pitches which I am not even going to bother
with a mention.
</p>
        <p>
          <b>Keynote - Identity Assurance: A Backbone For The Identity Marketplace</b>
          <br />
by Peter Alterman - GSA, Andrew Nash - PayPal, Frank Villavicencio - Citigroup
</p>
        <blockquote>
          <p>
In some ways this was rehash of the panel on the same topic that was moderated by
Mark Diodati at Burton Catalyst but with the addition of Peter Alterman of the GSA,
who tends to add a certain amount of ...ah... flair to the conversation :-)<br /><br />
The intent of the Liberty Identity Assurance Framework (IAF) is to develop a framework
that leverages the existing work that has been done by EAP, tScheme, US e-Auth etc.
to generate an identity assurance standard that is technology agnostic but provides
a consistent way of of defining identity credential policy and the process and policy
rule set etc.  The IAF consists of four parts (1) Assurance Levels (2) Assessment
Criteria (3) Accreditation and Certification Model and (4) Business Rules. You can
find out more about it on the <a href="http://www.projectliberty.org/liberty/strategic_initiatives/identity_assurance">IAF
Section of the Liberty Alliance Web Site</a>.<br /><br />
What interested me about the entire conversation was the leveraging of OMB M-04-04
and NIST 800-63 to define the assurance criteria but the drive to make a "Liberty
Alliance IAF Assurance Token" (if you will) that will be certified to mean the same
thing across federations. Mr. Alterman also noted, and I hope that I interpreted this
correctly, that the intent from the GSA side would be to not re-invent the wheel but
to adopt this IAF framework going forward. He spoke of current inter-federation work
he is involved in between NIH and the InCommon Federation that is leveraging this.<br /><br />
During the Q&amp;A session, I brought up the fact that this work is directly focused
on AuthN but in general, access to resources is granted based on a variety of factors,
only one of which is the strength and assurance of the authentication token. The response
is that the Liberty work is deliberately focusing on the AuthN and considers AuthZ
to be out-of-scope for their work.<br /><b></b></p>
        </blockquote>
        <p>
          <b>Keynote Presentation: State Of The Industry</b>
          <br />
by Jamie Lewis - Burton Group
</p>
        <blockquote>
          <p>
Enterprise IdM is the set of business processes, and a supporting infrastructure,
that provides identity-based <u>access control</u> to systems and resources in accordance
with established <u>policies</u>.
</p>
          <ul>
            <li>
Business trends are driving integration across processes and folks are being asked
to do more with less.</li>
            <li>
SaaS is gaining momentum</li>Many failures in IdM projects caused by a lack of doing
homework and a belief in the silver bullet product etc.<br /><li>
People manage risk, not products.</li><li>
IdM is a means and not an end; It is about enabling capabilities and not an end in
itself.</li><li>
The Identity Big Bang is around new ways of working, collaborating and communicating</li><li>
Make every project an installment on the Architecture and scope the goals to around
3 years.</li><li>
Always think about data linking and cleansing</li></ul>
          <p>
That was the first half of the keynote, but the second half was something I found
to be very fascinating and is based on work that Burton has been proposing around
the idea of a "Relationship Layer for the Web"
</p>
          <ul>
            <li>
AuthN and AuthZ are necessary but not sufficient</li>
            <li>
Centrism of any kind does NOT work</li>
            <li>
Lessons from social science on trust, reciprocity, reputation etc.</li>
            <li>
              <strong>The future of identity is relationships</strong>
            </li>
            <li>
Difference between close and distant relationships; Able to make many observations
in a close relationship, so able to get good identity information. Not so for distant
relationships</li>
            <li>
A good relationship provides value to all parties. And it is not just about rights
but also obligations</li>
            <li>
Values like privacy etc. require awareness of relationship context</li>
            <li>
Systems fail if they are not "relationship-aware"</li>
            <li>
Difference between Custodial, Contextual and Transactional identities.<br />
-- Custodial Identity is directly maintained by an org and a person has a direct relationship
with the org. 
<br />
-- Contextual identity is something you get from another party but there are rules
associated with how that identity can be used. 
<br />
-- Transactional identity is just the limited amount of info that an RP (?) gets to
complete a transaction e.g. Ability to buy alcohol requires a person to be over 18
(?) but in a transactional relationship, you would simply ask the question of "Is
this person old enough to buy alcohol?" and the answer would come back as "Yes/No".
Compare this to a question of "What is this person's age or birthday?" which releases
a lot more info.</li>
            <li>
The last type of identity in effect requires the existence of what Burton Calls an
"Identity Oracle" (See Bob Blakley's <a title="What the Identity Oracle Isn't" href="http://identityblog.burtongroup.com/bgidps/2007/10/what-the-identi.html">blog</a><a title="The Meta-Identity System" href="http://notabob.blogspot.com/2006/07/meta-identity-system.html">entries</a>)
that has a primary and trusted relationship with a user as well as with relying party
and can stand behind (from a legal and liability perspective) the transactional identity
statements that it makes.</li>
          </ul>
          <p>
I found this entire topic absolutely fascinating as this is so very relevant to a
lot of the work that I do around information sharing across organizations that may
or may not trust each other for a variety of (sometimes very valid) reasons. Will
be actively tracking this area on an ongoing basis.
</p>
        </blockquote>
        <p>
          <strong>The Plot To Kill Identity</strong>
          <br />
by Pamela Dingle - Nulli Secundus
</p>
        <blockquote>
          <p>
I really enjoyed this session by Pamela on the disconnect that currently exists between
the needs of the users, what is being asked of the application vendors and the lack
of a common vocabulary to express our needs such that there is a change in the same
old way of doing business.
</p>
          <ul>
            <li>
Need for an effort to be consistent all the way at the RFP/RFI time</li>
            <li>
Need a common vocabulary when requesting capability from vendors</li>
            <li>
Start with:  Provide <u>and</u> Rely support i.e. the ability to choose whether
or not a product relies on external identity services or provides its own.</li>
            <li>
Pamela also had a great starting set of RFI type questions one can use.. I am hoping
that she will post them on <a href="http://eternaloptimist.wordpress.com/2008/09/11/home-from-didw-08/">her
blog</a>.</li>
          </ul>
          <p>
One of the questions I brought up during the Q&amp;A session was that if I bought
in to the Kool-Aid of what she discussed during the presentation (and I do), what
would it take to scale the conversation to a larger audience? Bob Blakley, who was
also in the audience, chimed in and noted that if Pamela wrote up a white-paper on
the topic, he would help her get it published and widely distributed as well. 
</p>
          <p>
I would also be very interested in expanding the scope of the sample RFI questions
to be grouped by product/project category (and released under an open licence; Creative
Commons?) so that folks like me can use them in our RFP/RFIs as well.
</p>
        </blockquote>
        <p>
There were more sessions that I attended that were interesting such as the Concordia
Workshop on "<strong>Bootstrapping Identity Protocols: A Look At Integrating OpenID,
ID-WSF, WS-Trust And SAML</strong>", "<strong>Using An Identity Capable Platform To
Enhance Cardspace Interactions</strong>" and more..
</p>
        <p>
All in all, beyond the sessions themselves, the hall-way conversations and the connections
made to be as valuable (or even more so) than just the sessions themselves. I know
that I found and made connections with multiple folks who work in my community and
am very much looking forward to future collaborations with them and others. 
</p>
        <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2b7c9327-e7f1-469f-aab7-bf1b829c66c3" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">del.icio.us
Tags: <a href="http://del.icio.us/popular/Identity-Management" rel="tag">Identity-Management</a>,<a href="http://del.icio.us/popular/DIDW2008" rel="tag">DIDW2008</a></div>
        <br />
        <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:20f3ed6a-af9d-4deb-95eb-17d6ad2512cc" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati
Tags: <a href="http://technorati.com/tags/Identity-Management" rel="tag">Identity-Management</a>,<a href="http://technorati.com/tags/DIDW2008" rel="tag">DIDW2008</a></div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=31148f10-be9e-495f-82e7-6ed8bda2bbf3" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Digital Identity World 2008 Recap</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,31148f10-be9e-495f-82e7-6ed8bda2bbf3.aspx</guid>
      <link>http://www.aniltj.com/blog/2008/09/13/DigitalIdentityWorld2008Recap.aspx</link>
      <pubDate>Sat, 13 Sep 2008 20:43:32 GMT</pubDate>
      <description>&lt;p&gt;
Digital ID World 2008 is the first IdM conference that I've gone to as part of a team,
and given the &lt;a href="http://public.cxo.com/conferences/print_agenda.html?conferenceID=24"&gt;variety
of breakout sessions&lt;/a&gt; we decided early on to use the divide and conquer approach
based on our areas of interest and expertise. 
&lt;/p&gt;
&lt;p&gt;
The following are some highlights on some (not all) of the sessions that I attended
and found to be interesting. As with a lot of conferences, there were some sessions
that were pretty much disguised vendor pitches which I am not even going to bother
with a mention.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Keynote - Identity Assurance: A Backbone For The Identity Marketplace&lt;/b&gt;
&lt;br&gt;
by Peter Alterman - GSA, Andrew Nash - PayPal, Frank Villavicencio - Citigroup
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
In some ways this was rehash of the panel on the same topic that was moderated by
Mark Diodati at Burton Catalyst but with the addition of Peter Alterman of the GSA,
who tends to add a certain amount of ...ah... flair to the conversation :-)&lt;br&gt;
&lt;br&gt;
The intent of the Liberty Identity Assurance Framework (IAF) is to develop a framework
that leverages the existing work that has been done by EAP, tScheme, US e-Auth etc.
to generate an identity assurance standard that is technology agnostic but provides
a consistent way of of defining identity credential policy and the process and policy
rule set etc.&amp;nbsp; The IAF consists of four parts (1) Assurance Levels (2) Assessment
Criteria (3) Accreditation and Certification Model and (4) Business Rules. You can
find out more about it on the &lt;a href="http://www.projectliberty.org/liberty/strategic_initiatives/identity_assurance"&gt;IAF
Section of the Liberty Alliance Web Site&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
What interested me about the entire conversation was the leveraging of OMB M-04-04
and NIST 800-63 to define the assurance criteria but the drive to make a "Liberty
Alliance IAF Assurance Token" (if you will) that will be certified to mean the same
thing across federations. Mr. Alterman also noted, and I hope that I interpreted this
correctly, that the intent from the GSA side would be to not re-invent the wheel but
to adopt this IAF framework going forward. He spoke of current inter-federation work
he is involved in between NIH and the InCommon Federation that is leveraging this.&lt;br&gt;
&lt;br&gt;
During the Q&amp;amp;A session, I brought up the fact that this work is directly focused
on AuthN but in general, access to resources is granted based on a variety of factors,
only one of which is the strength and assurance of the authentication token. The response
is that the Liberty work is deliberately focusing on the AuthN and considers AuthZ
to be out-of-scope for their work.&lt;br&gt;
&lt;b&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;b&gt;Keynote Presentation: State Of The Industry&lt;/b&gt;
&lt;br&gt;
by Jamie Lewis - Burton Group
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
Enterprise IdM is the set of business processes, and a supporting infrastructure,
that provides identity-based &lt;u&gt;access control&lt;/u&gt; to systems and resources in accordance
with established &lt;u&gt;policies&lt;/u&gt;.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Business trends are driving integration across processes and folks are being asked
to do more with less.&lt;/li&gt;
&lt;li&gt;
SaaS is gaining momentum&lt;/li&gt;Many failures in IdM projects caused by a lack of doing
homework and a belief in the silver bullet product etc.&lt;br&gt;
&lt;li&gt;
People manage risk, not products.&lt;/li&gt;
&lt;li&gt;
IdM is a means and not an end; It is about enabling capabilities and not an end in
itself.&lt;/li&gt;
&lt;li&gt;
The Identity Big Bang is around new ways of working, collaborating and communicating&lt;/li&gt;
&lt;li&gt;
Make every project an installment on the Architecture and scope the goals to around
3 years.&lt;/li&gt;
&lt;li&gt;
Always think about data linking and cleansing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
That was the first half of the keynote, but the second half was something I found
to be very fascinating and is based on work that Burton has been proposing around
the idea of a "Relationship Layer for the Web"
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
AuthN and AuthZ are necessary but not sufficient&lt;/li&gt;
&lt;li&gt;
Centrism of any kind does NOT work&lt;/li&gt;
&lt;li&gt;
Lessons from social science on trust, reciprocity, reputation etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The future of identity is relationships&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
Difference between close and distant relationships; Able to make many observations
in a close relationship, so able to get good identity information. Not so for distant
relationships&lt;/li&gt;
&lt;li&gt;
A good relationship provides value to all parties. And it is not just about rights
but also obligations&lt;/li&gt;
&lt;li&gt;
Values like privacy etc. require awareness of relationship context&lt;/li&gt;
&lt;li&gt;
Systems fail if they are not "relationship-aware"&lt;/li&gt;
&lt;li&gt;
Difference between Custodial, Contextual and Transactional identities.&lt;br&gt;
-- Custodial Identity is directly maintained by an org and a person has a direct relationship
with the org. 
&lt;br&gt;
-- Contextual identity is something you get from another party but there are rules
associated with how that identity can be used. 
&lt;br&gt;
-- Transactional identity is just the limited amount of info that an RP (?) gets to
complete a transaction e.g. Ability to buy alcohol requires a person to be over 18
(?) but in a transactional relationship, you would simply ask the question of "Is
this person old enough to buy alcohol?" and the answer would come back as "Yes/No".
Compare this to a question of "What is this person's age or birthday?" which releases
a lot more info.&lt;/li&gt;
&lt;li&gt;
The last type of identity in effect requires the existence of what Burton Calls an
"Identity Oracle" (See Bob Blakley's &lt;a title="What the Identity Oracle Isn't" href="http://identityblog.burtongroup.com/bgidps/2007/10/what-the-identi.html"&gt;blog&lt;/a&gt; &lt;a title="The Meta-Identity System" href="http://notabob.blogspot.com/2006/07/meta-identity-system.html"&gt;entries&lt;/a&gt;)
that has a primary and trusted relationship with a user as well as with relying party
and can stand behind (from a legal and liability perspective) the transactional identity
statements that it makes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I found this entire topic absolutely fascinating as this is so very relevant to a
lot of the work that I do around information sharing across organizations that may
or may not trust each other for a variety of (sometimes very valid) reasons. Will
be actively tracking this area on an ongoing basis.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;strong&gt;The Plot To Kill Identity&lt;/strong&gt;
&lt;br&gt;
by Pamela Dingle - Nulli Secundus
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
I really enjoyed this session by Pamela on the disconnect that currently exists between
the needs of the users, what is being asked of the application vendors and the lack
of a common vocabulary to express our needs such that there is a change in the same
old way of doing business.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Need for an effort to be consistent all the way at the RFP/RFI time&lt;/li&gt;
&lt;li&gt;
Need a common vocabulary when requesting capability from vendors&lt;/li&gt;
&lt;li&gt;
Start with:&amp;nbsp; Provide &lt;u&gt;and&lt;/u&gt; Rely support i.e. the ability to choose whether
or not a product relies on external identity services or provides its own.&lt;/li&gt;
&lt;li&gt;
Pamela also had a great starting set of RFI type questions one can use.. I am hoping
that she will post them on &lt;a href="http://eternaloptimist.wordpress.com/2008/09/11/home-from-didw-08/"&gt;her
blog&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
One of the questions I brought up during the Q&amp;amp;A session was that if I bought
in to the Kool-Aid of what she discussed during the presentation (and I do), what
would it take to scale the conversation to a larger audience? Bob Blakley, who was
also in the audience, chimed in and noted that if Pamela wrote up a white-paper on
the topic, he would help her get it published and widely distributed as well. 
&lt;/p&gt;
&lt;p&gt;
I would also be very interested in expanding the scope of the sample RFI questions
to be grouped by product/project category (and released under an open licence; Creative
Commons?) so that folks like me can use them in our RFP/RFIs as well.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
There were more sessions that I attended that were interesting such as the Concordia
Workshop on "&lt;strong&gt;Bootstrapping Identity Protocols: A Look At Integrating OpenID,
ID-WSF, WS-Trust And SAML&lt;/strong&gt;", "&lt;strong&gt;Using An Identity Capable Platform To
Enhance Cardspace Interactions&lt;/strong&gt;" and more..
&lt;/p&gt;
&lt;p&gt;
All in all, beyond the sessions themselves, the hall-way conversations and the connections
made to be as valuable (or even more so) than just the sessions themselves. I know
that I found and made connections with multiple folks who work in my community and
am very much looking forward to future collaborations with them and others. 
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2b7c9327-e7f1-469f-aab7-bf1b829c66c3" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;del.icio.us
Tags: &lt;a href="http://del.icio.us/popular/Identity-Management" rel="tag"&gt;Identity-Management&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/DIDW2008" rel="tag"&gt;DIDW2008&lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:20f3ed6a-af9d-4deb-95eb-17d6ad2512cc" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati
Tags: &lt;a href="http://technorati.com/tags/Identity-Management" rel="tag"&gt;Identity-Management&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DIDW2008" rel="tag"&gt;DIDW2008&lt;/a&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=31148f10-be9e-495f-82e7-6ed8bda2bbf3" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,31148f10-be9e-495f-82e7-6ed8bda2bbf3.aspx</comments>
      <category>Architecture</category>
      <category>Security</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=91b49528-89da-45e3-a9ff-6f5208a38c03</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,91b49528-89da-45e3-a9ff-6f5208a38c03.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,91b49528-89da-45e3-a9ff-6f5208a38c03.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=91b49528-89da-45e3-a9ff-6f5208a38c03</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
For those of you in the Baltimore/Washington Area, this may be of interest.
</p>
        <p>
          <a href="http://aws.typepad.com/">Jeff Barr, the Web Services Evangelist for Amazon
Web Services</a>, is someone I know and invited out to <a href="http://www.jhuapl.edu/">Johns
Hopkins University - Applied Physics Laboratory (JHU/APL)</a> to give a presentation
on Amazon's experience in building out and managing their infrastructure. He was gracious
enough to accept and will be giving the presentation as part of the <a href="http://www.jhuapl.edu/colloquium/index.html">APL
Colloquium</a>.  Here are the particulars: 
</p>
        <blockquote>
          <p>
            <a href="http://www.jhuapl.edu/colloquium/topics/barr.html">
              <strong>Building a 'Web-Scale
Computing' Architecture</strong>
            </a>
            <br />
Wednesday June 6, 2007, 2:00 - 3:00 PM<br />
Parsons Auditorium, JHU/APL 
</p>
          <p>
Jeff Barr will provide the blueprint for 'Web-Scale Computing' - enabling businesses
to use Amazon Web Services to build an elastic architecture that can quickly respond
to demand. Jeff’s presentation will focus on Amazon Simple Storage Service (Amazon
S3), Amazon’s Simple Queue Service, and Amazon Elastic Compute Cloud (Amazon EC2)
and will include real-world examples of how these services are being used singly and
in combination. 
</p>
          <p>
Amazon.com spent 12 years and over $1 billion developing a world-class technology
and content platform that powers Amazon web sites for millions of customers every
day. Today, Amazon Web Services exposes this technology, through 10 open APIS, allowing
developers to build applications leveraging the same robust, scalable, and reliable
technology that powers Amazon's business. 
</p>
        </blockquote>
        <p>
The <a href="http://www.jhuapl.edu/colloquium/index.html">APL Colloquium</a> began
in 1947. Held weekly, it is one of the longest standing technical and scientific lecture
series in the Washington/Baltimore area. The goal of the Colloquium has been to bring
to the Laboratory scientific scholars, technical innovators, industry leaders, government
sponsors, and policy makers to inform, educate, and enlighten Laboratory staff on
what is currently exciting, relevant, and of value to the work of APL. 
</p>
        <p>
You are more than welcome to attend as the Colloquia are open to the public. <a href="http://www.jhuapl.edu/newscenter/visitor/">Visitor
Guide/Directions</a> can be found on the <a href="http://www.jhuapl.edu/colloquium/index.html">APL
Colloquium web site</a>. And if you found out about this event from this blog entry,
please don't forget to stop by and say hello :-)
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=91b49528-89da-45e3-a9ff-6f5208a38c03" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>JHU/APL Colloquium (June 6, 2007): Building a Web-Scale Computing Architecture by Amazon</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,91b49528-89da-45e3-a9ff-6f5208a38c03.aspx</guid>
      <link>http://www.aniltj.com/blog/2007/06/02/JHUAPLColloquiumJune62007BuildingAWebScaleComputingArchitectureByAmazon.aspx</link>
      <pubDate>Sat, 02 Jun 2007 14:49:30 GMT</pubDate>
      <description>&lt;p&gt;
For those of you in the Baltimore/Washington Area, this may be of interest.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://aws.typepad.com/"&gt;Jeff Barr, the Web Services Evangelist for Amazon
Web Services&lt;/a&gt;, is someone I know and invited out to &lt;a href="http://www.jhuapl.edu/"&gt;Johns
Hopkins University - Applied Physics Laboratory (JHU/APL)&lt;/a&gt; to give a presentation
on Amazon's experience in building out and managing their infrastructure. He was gracious
enough to accept and will be giving the presentation as part of the &lt;a href="http://www.jhuapl.edu/colloquium/index.html"&gt;APL
Colloquium&lt;/a&gt;.&amp;nbsp; Here are the particulars: 
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;a href="http://www.jhuapl.edu/colloquium/topics/barr.html"&gt;&lt;strong&gt;Building a 'Web-Scale
Computing' Architecture&lt;/strong&gt;&lt;/a&gt; 
&lt;br&gt;
Wednesday June 6, 2007, 2:00 - 3:00 PM&lt;br&gt;
Parsons Auditorium, JHU/APL 
&lt;/p&gt;
&lt;p&gt;
Jeff Barr will provide the blueprint for 'Web-Scale Computing' - enabling businesses
to use Amazon Web Services to build an elastic architecture that can quickly respond
to demand. Jeff’s presentation will focus on Amazon Simple Storage Service (Amazon
S3), Amazon’s Simple Queue Service, and Amazon Elastic Compute Cloud (Amazon EC2)
and will include real-world examples of how these services are being used singly and
in combination. 
&lt;/p&gt;
&lt;p&gt;
Amazon.com spent 12 years and over $1 billion developing a world-class technology
and content platform that powers Amazon web sites for millions of customers every
day. Today, Amazon Web Services exposes this technology, through 10 open APIS, allowing
developers to build applications leveraging the same robust, scalable, and reliable
technology that powers Amazon's business. 
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
The &lt;a href="http://www.jhuapl.edu/colloquium/index.html"&gt;APL Colloquium&lt;/a&gt; began
in 1947. Held weekly, it is one of the longest standing technical and scientific lecture
series in the Washington/Baltimore area. The goal of the Colloquium has been to bring
to the Laboratory scientific scholars, technical innovators, industry leaders, government
sponsors, and policy makers to inform, educate, and enlighten Laboratory staff on
what is currently exciting, relevant, and of value to the work of APL. 
&lt;/p&gt;
&lt;p&gt;
You are more than welcome to attend as the Colloquia&amp;nbsp;are open to the public.&amp;nbsp;&lt;a href="http://www.jhuapl.edu/newscenter/visitor/"&gt;Visitor
Guide/Directions&lt;/a&gt;&amp;nbsp;can be found on the &lt;a href="http://www.jhuapl.edu/colloquium/index.html"&gt;APL
Colloquium web site&lt;/a&gt;. And if you found out about this event from this blog entry,
please don't forget to stop by and say hello :-)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=91b49528-89da-45e3-a9ff-6f5208a38c03" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,91b49528-89da-45e3-a9ff-6f5208a38c03.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=1561ee43-095a-44a3-b2e2-9119bd6234ba</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,1561ee43-095a-44a3-b2e2-9119bd6234ba.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,1561ee43-095a-44a3-b2e2-9119bd6234ba.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=1561ee43-095a-44a3-b2e2-9119bd6234ba</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <blockquote>
          <p>
"<em>The hard problems in distributed computing are not the problems of how to get
things on and off the wire. The hard problems in distributed computing concern dealing
with partial failure and the lack of a central resource manager. The hard problems
in distributed computing concern insuring adequate performance and dealing with problems
of concurrency. The hard problems have to do with differences in memory access paradigms
between local and distributed entities. People attempting to write distributed applications
quickly discover that they are spending all of their efforts in these areas and not
on the communications protocol programming interface.</em>" <br />
- <a href="http://research.sun.com/techrep/1994/abstract-29.html">A Note on Distributed
Computing</a> by Samuel C. Kendall, Jim Waldo, Ann Wollrath and Geoff Wyant
</p>
        </blockquote>
        <p>
A very good read, and still relevant after 13 years! <a href="http://www.1060.org/blogxter/entry?publicid=674A4E044EA511886005CBCC95800388">Thanks
for the pointer</a>, Steve.
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=1561ee43-095a-44a3-b2e2-9119bd6234ba" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Hard Problems in Distributed Computing</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,1561ee43-095a-44a3-b2e2-9119bd6234ba.aspx</guid>
      <link>http://www.aniltj.com/blog/2007/04/16/HardProblemsInDistributedComputing.aspx</link>
      <pubDate>Mon, 16 Apr 2007 01:08:51 GMT</pubDate>
      <description>&lt;blockquote&gt; 
&lt;p&gt;
"&lt;em&gt;The hard problems in distributed computing are not the problems of how to get
things on and off the wire. The hard problems in distributed computing concern dealing
with partial failure and the lack of a central resource manager. The hard problems
in distributed computing concern insuring adequate performance and dealing with problems
of concurrency. The hard problems have to do with differences in memory access paradigms
between local and distributed entities. People attempting to write distributed applications
quickly discover that they are spending all of their efforts in these areas and not
on the communications protocol programming interface.&lt;/em&gt;"&amp;nbsp;&lt;br&gt;
- &lt;a href="http://research.sun.com/techrep/1994/abstract-29.html"&gt;A Note on Distributed
Computing&lt;/a&gt; by Samuel C. Kendall, Jim Waldo, Ann Wollrath and Geoff Wyant
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
A very good read, and still relevant after 13 years! &lt;a href="http://www.1060.org/blogxter/entry?publicid=674A4E044EA511886005CBCC95800388"&gt;Thanks
for the pointer&lt;/a&gt;, Steve.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=1561ee43-095a-44a3-b2e2-9119bd6234ba" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,1561ee43-095a-44a3-b2e2-9119bd6234ba.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=7bd06de6-9be0-483d-87ab-751dafa4a521</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,7bd06de6-9be0-483d-87ab-751dafa4a521.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,7bd06de6-9be0-483d-87ab-751dafa4a521.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=7bd06de6-9be0-483d-87ab-751dafa4a521</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Be the Software!
</p>
        <p>
J.D. has an entry on how, when working on some type of a R&amp;D project, you go about
shortening and getting more bang for the buck with testing user experience models.
Key advice is:
</p>
        <blockquote>
          <p>
... experimented with two techniques: 
</p>
          <ol>
            <li>
Build modular slideware for visual walkthroughs of task-based features. 
</li>
            <li>
Be the software.</li>
          </ol>
          <p>
This radically improved customer verification of the user experience and kept our
dev team building out the right experience. 
</p>
          <p>
Mocking up in slides is nothing new.  The trick was making it efficient and effective: 
</p>
          <ol>
            <li>
We prioritized scenarios that were the most risk for user experience. 
</li>
            <li>
We created modular slide decks.  Each deck focused on exactly one scenario-based
task (and scenarios were outcome based).  Modular slide decks are easier to build,
review and update.  Our average deck was around six slides. 
</li>
            <li>
Each slide in a deck was a single step in the task from the user's perspective. 
</li>
            <li>
Each slide had a visual mock up of what the user would see 
</li>
            <li>
To paint some of the bigger stories, we did larger wrapper decks, but only after getting
the more fine-grained scenarios right.  Our house was made of stone instead of
straw.  In practice, I see a lot of beautiful end-to-end scenarios decks that
are too big, too fragile and too make believe.</li>
          </ol>
        </blockquote>
        <p>
I've seen a couple of examples of this, but my issue with them was exactly what
he called out in (5) i.e. "..beautiful end-to-end scenarios decks that are too big,
too fragile and too make believe".  <a href="http://blogs.msdn.com/jmeier/archive/2006/12/01/be-the-software.aspx">Good
advice that is very useful. Check out the full entry</a>.
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=7bd06de6-9be0-483d-87ab-751dafa4a521" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Shortening the cycles around testing user experience models</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,7bd06de6-9be0-483d-87ab-751dafa4a521.aspx</guid>
      <link>http://www.aniltj.com/blog/2006/12/03/ShorteningTheCyclesAroundTestingUserExperienceModels.aspx</link>
      <pubDate>Sun, 03 Dec 2006 17:55:26 GMT</pubDate>
      <description>&lt;p&gt;
Be the Software!
&lt;/p&gt;
&lt;p&gt;
J.D. has an entry on how, when working on some type of a R&amp;amp;D project, you go about
shortening and getting more bang for the buck with testing user experience models.
Key advice is:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
... experimented with two techniques: 
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Build modular slideware for visual walkthroughs of task-based features. 
&lt;/li&gt;
&lt;li&gt;
Be the software.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
This radically improved customer verification of the user experience and kept our
dev team building out the right experience. 
&lt;/p&gt;
&lt;p&gt;
Mocking up in slides is nothing new.&amp;nbsp; The trick was making it efficient and effective: 
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
We prioritized scenarios that were the most risk for user experience. 
&lt;/li&gt;
&lt;li&gt;
We created modular slide decks.&amp;nbsp; Each deck focused on exactly one scenario-based
task (and scenarios were outcome based).&amp;nbsp; Modular slide decks are easier to build,
review and update.&amp;nbsp; Our average deck was around six slides. 
&lt;/li&gt;
&lt;li&gt;
Each slide in a deck was a single step in the task from the user's perspective. 
&lt;/li&gt;
&lt;li&gt;
Each slide had a visual mock up of what the user would see 
&lt;/li&gt;
&lt;li&gt;
To paint some of the bigger stories, we did larger wrapper decks, but only after getting
the more fine-grained scenarios right.&amp;nbsp; Our house was made of stone instead of
straw.&amp;nbsp; In practice, I see a lot of beautiful end-to-end scenarios decks that
are too big, too fragile and too make believe.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
I've seen a couple of&amp;nbsp;examples of this, but my issue with them was exactly what
he called out in (5) i.e. "..beautiful end-to-end scenarios decks that are too big,
too fragile and too make believe".&amp;nbsp; &lt;a href="http://blogs.msdn.com/jmeier/archive/2006/12/01/be-the-software.aspx"&gt;Good
advice that is very useful. Check out the full entry&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=7bd06de6-9be0-483d-87ab-751dafa4a521" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,7bd06de6-9be0-483d-87ab-751dafa4a521.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=5235175f-9457-4e5f-b443-fccb28b1db25</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,5235175f-9457-4e5f-b443-fccb28b1db25.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,5235175f-9457-4e5f-b443-fccb28b1db25.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=5235175f-9457-4e5f-b443-fccb28b1db25</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Performance in a SOA, especially in a SOA implemented using Web Services is very important,
but folks all too often do not have a common definition of what performance is. In
addition, in a majority of the cases, performance is not treated as something that
should be engineered into a solution from the ground up. 
</p>
        <p>
One of the first things that I do when folks start this particular conversation is
to point them to some work that has been done by <a href="http://blogs.msdn.com/jmeier/">J.D.
Meier</a> and his team over at Microsoft as part of their <a href="http://msdn.microsoft.com/perf">Perf
&amp; Scale work</a>. In particular I point them over to the following: 
</p>
        <ul>
          <li>
            <a href="http://msdn2.microsoft.com/en-us/library/ms998534.aspx">Fundamentals of Engineering
for Performance</a>
          </li>
          <li>
            <a href="http://msdn2.microsoft.com/en-us/library/ms998537.aspx">Performance Modeling</a>
          </li>
          <li>
            <a href="http://msdn2.microsoft.com/en-us/library/ms998541.aspx">Design Guidelines
for Application Performance</a>
          </li>
        </ul>
        <p>
I find the above work relevant, and highly recommended reading, whether or not you
are in the .NET/Microsoft, Java/J2EE, OSS or the Fluffy-Bunny camp.
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=5235175f-9457-4e5f-b443-fccb28b1db25" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Performance Engineering in a SOA</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,5235175f-9457-4e5f-b443-fccb28b1db25.aspx</guid>
      <link>http://www.aniltj.com/blog/2006/10/28/PerformanceEngineeringInASOA.aspx</link>
      <pubDate>Sat, 28 Oct 2006 19:20:42 GMT</pubDate>
      <description>&lt;p&gt;
Performance in a SOA, especially in a SOA implemented using Web Services is very important,
but folks all too often do not have a common definition of what performance is. In
addition, in a majority of the cases, performance is not treated as something that
should be engineered into a solution from the ground up. 
&lt;/p&gt;
&lt;p&gt;
One of the first things that I do when folks start this particular conversation is
to point them&amp;nbsp;to some work that has been done by &lt;a href="http://blogs.msdn.com/jmeier/"&gt;J.D.
Meier&lt;/a&gt; and his team over at Microsoft as part of their &lt;a href="http://msdn.microsoft.com/perf"&gt;Perf
&amp;amp; Scale work&lt;/a&gt;. In particular I point them over to the following: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://msdn2.microsoft.com/en-us/library/ms998534.aspx"&gt;Fundamentals of Engineering
for Performance&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://msdn2.microsoft.com/en-us/library/ms998537.aspx"&gt;Performance Modeling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://msdn2.microsoft.com/en-us/library/ms998541.aspx"&gt;Design Guidelines
for Application Performance&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I find the above work relevant, and highly recommended reading, whether or not you
are in the .NET/Microsoft, Java/J2EE, OSS&amp;nbsp;or the Fluffy-Bunny&amp;nbsp;camp.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=5235175f-9457-4e5f-b443-fccb28b1db25" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,5235175f-9457-4e5f-b443-fccb28b1db25.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=84b505b9-6402-4304-85ef-0fe108787642</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,84b505b9-6402-4304-85ef-0fe108787642.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,84b505b9-6402-4304-85ef-0fe108787642.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=84b505b9-6402-4304-85ef-0fe108787642</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
One of the things I like about the Patterns &amp; Practices Team at Microsoft and
especially <a title="J.D. Meier's Blog" href="http://blogs.msdn.com/jmeier/">J.D.
Meier</a> is that they/he really takes customer feedback into account. The last time
I was at Microsoft, I raised some issues that some of the guidance that they provide
was too high-level and that they did not break it up into actionable material.
</p>
        <p>
J.D. and his crew have released a new version of the Guidance Explorer that takes
into account this feedback. To paraphrase J.D.  "Guidance Explorer
let's you browse the online guidance store (caches locally) and you can create your
own views of the guidance (or edit the guidance or create your own using our templates
or make your own templates). If you don't like what we did, the source is in codeplex
so you can shape it to your own needs."
</p>
        <p>
Here are some links that talk in more detail about it:
</p>
        <ul>
          <li>
            <a href="http://blogs.msdn.com/jmeier/archive/2006/10/02/Guidance-Explorer-Beta-2-Release.aspx">J.D's
Beta 2 Release post</a>
          </li>
          <li>
            <a href="http://blogs.msdn.com/jmeier/archive/2006/10/05/Performance-Guideline_3A00_-Use-TryParse-Method-to-Avoid-Unnecessary-Exceptions.aspx">.NET
2.0 Performance Guideline (an example)</a>
          </li>
          <li>
            <a href="http://weblogs.asp.net/scottgu/archive/2006/09/27/Tip_2F00_Trick_3A00_-Patterns-and-Practices-Guidance-Explorer-for-.NET-and-ASP.NET.aspx">Scott
Guthrie's (ASP.NET Big Kahuna) post</a>
          </li>
          <li>
            <a href="http://www.guidancelibrary.com/GuidanceExplorerBeta">Guidance Explorer Web
Edition</a>
          </li>
        </ul>
        <p>
Very nice work!
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=84b505b9-6402-4304-85ef-0fe108787642" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Patterns &amp;amp; Practices Guidance Explorer Beta 2</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,84b505b9-6402-4304-85ef-0fe108787642.aspx</guid>
      <link>http://www.aniltj.com/blog/2006/10/06/PatternsAmpPracticesGuidanceExplorerBeta2.aspx</link>
      <pubDate>Fri, 06 Oct 2006 01:34:52 GMT</pubDate>
      <description>&lt;p&gt;
One of the things I like about the Patterns &amp;amp; Practices Team at Microsoft and
especially &lt;a title="J.D. Meier's Blog" href="http://blogs.msdn.com/jmeier/"&gt;J.D.
Meier&lt;/a&gt; is that they/he really takes customer feedback into account. The last time
I was at Microsoft, I raised some issues that some of the guidance that they provide
was too high-level and that&amp;nbsp;they did not break it up into actionable material.
&lt;/p&gt;
&lt;p&gt;
J.D. and his crew have released a new version of the Guidance Explorer that takes
into account this feedback.&amp;nbsp;To&amp;nbsp;paraphrase J.D.&amp;nbsp; "Guidance Explorer
let's you browse the online guidance store (caches locally) and you can create your
own views of the guidance (or edit the guidance or create your own using our templates
or make your own templates). If you don't like what we did, the source is in codeplex
so you can shape it to your own needs."
&lt;/p&gt;
&lt;p&gt;
Here are some links that talk in more detail about it:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://blogs.msdn.com/jmeier/archive/2006/10/02/Guidance-Explorer-Beta-2-Release.aspx"&gt;J.D's
Beta 2 Release post&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://blogs.msdn.com/jmeier/archive/2006/10/05/Performance-Guideline_3A00_-Use-TryParse-Method-to-Avoid-Unnecessary-Exceptions.aspx"&gt;.NET
2.0 Performance Guideline (an example)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://weblogs.asp.net/scottgu/archive/2006/09/27/Tip_2F00_Trick_3A00_-Patterns-and-Practices-Guidance-Explorer-for-.NET-and-ASP.NET.aspx"&gt;Scott
Guthrie's (ASP.NET Big Kahuna) post&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.guidancelibrary.com/GuidanceExplorerBeta"&gt;Guidance Explorer Web
Edition&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Very nice work!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=84b505b9-6402-4304-85ef-0fe108787642" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,84b505b9-6402-4304-85ef-0fe108787642.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=863f0465-097e-4a27-9185-63f049488fdd</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,863f0465-097e-4a27-9185-63f049488fdd.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,863f0465-097e-4a27-9185-63f049488fdd.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=863f0465-097e-4a27-9185-63f049488fdd</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Two books that I am currently reading are “<a href="http://www.amazon.com/o/ASIN/1590594851/kylasgroupllc">Expert
.NET Delivery using NAnt and CruiseControl.NET</a>” from Apress and “<a href="http://www.amazon.com/o/ASIN/0974514047/kylasgroupllc">Ship
It! A practical guide to successful software projects</a>”  from the Pragmatic
Programmer books series.
</p>
        <p>
I am enjoying both immensely.  I’ve already used the suggestions and recommendations
in “Expert .NET Delivery” to improve and fine tune my NAnt scripts and will be moving
on to CruiseControl.NET next.  “Ship It!” is in the style of the other Pragmatic
books and is an easy and focused read.  I finished it in two days and have already
gained a wealth of insight that I can apply immediately.  Highly recommended
if you want to streamline your software development life!
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=863f0465-097e-4a27-9185-63f049488fdd" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Build Processes and Shipping Software</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,863f0465-097e-4a27-9185-63f049488fdd.aspx</guid>
      <link>http://www.aniltj.com/blog/2005/06/26/BuildProcessesAndShippingSoftware.aspx</link>
      <pubDate>Sun, 26 Jun 2005 02:07:40 GMT</pubDate>
      <description>&lt;p&gt;
Two books that I am currently reading are “&lt;a href="http://www.amazon.com/o/ASIN/1590594851/kylasgroupllc"&gt;Expert
.NET Delivery using NAnt and CruiseControl.NET&lt;/a&gt;” from Apress and “&lt;a href="http://www.amazon.com/o/ASIN/0974514047/kylasgroupllc"&gt;Ship
It! A practical guide to successful software projects&lt;/a&gt;”&amp;nbsp; from the Pragmatic
Programmer books series.
&lt;/p&gt;
&lt;p&gt;
I am&amp;nbsp;enjoying both immensely.&amp;nbsp; I’ve already used the suggestions and recommendations
in “Expert .NET Delivery” to improve and fine tune my NAnt scripts and will be moving
on to CruiseControl.NET next.&amp;nbsp; “Ship It!” is in the style of the other Pragmatic
books and is an easy and focused read.&amp;nbsp; I finished it in two days and have already
gained a wealth of insight that I can apply immediately.&amp;nbsp; Highly recommended
if you want to streamline your software development life!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=863f0465-097e-4a27-9185-63f049488fdd" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,863f0465-097e-4a27-9185-63f049488fdd.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=78ff93b6-b868-4713-bd98-9939427a9bdc</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,78ff93b6-b868-4713-bd98-9939427a9bdc.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,78ff93b6-b868-4713-bd98-9939427a9bdc.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=78ff93b6-b868-4713-bd98-9939427a9bdc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ever since I read the Pragmatic Programmer series of books, I have been a fan of automation.
So the build process is one that I have tried to automate to the extent possible.
The tool of choice for me in this case has been NAnt. At a high level, my build
process consist of the following: 
</p>
        <ul>
          <li>
Clean up the existing directory structure 
</li>
          <li>
Prepare the directory structure 
</li>
          <li>
Get the source from my Source Control Provider 
</li>
          <li>
Build the solution 
</li>
          <li>
Run Unit Tests 
</li>
          <li>
and more... 
</li>
        </ul>
        <div>Since the NAnt configuration file has to be manually coded, one of the challenges
I was facing was to make sure that all of the details and dependencies of a multi-project
Visual Studio solution were taken into account when I did the build and compile of
the solution. In the past I've done the hand coding, or used Slingshot.
But recently I've been using the &lt;solution&gt; task in NAnt
and really like it. 
</div>
        <div>
        </div>
        <div>In short, this particular NAnt task reads a VS.NET solution file, figures out
all of the various project dependencies and does the build. Very nice. 
</div>
        <div>
        </div>
        <div>Here is an example: 
</div>
        <div>
          <font color="#0000ff">
            <br />
&lt;</font>
          <font color="#800000">target</font>
          <font color="#ff0000">name</font>
          <font color="#0000ff">="</font>build<font color="#0000ff">"</font><font color="#ff0000">description</font><font color="#0000ff">="</font>Build
the solution<font color="#0000ff">"</font><font color="#ff0000">depends</font><font color="#0000ff">="</font>init<font color="#0000ff">"&gt;<br /></font><font color="#0000ff">    &lt;</font><font color="#800000">solution</font><font color="#ff0000"> configuration</font><font color="#0000ff">="</font>${solution.config}<font color="#0000ff">"</font><font color="#ff0000"> <br />
              solutionfile</font><font color="#0000ff">="</font>${code.dir}\MySolution.sln<font color="#0000ff">"</font><font color="#ff0000"> <br />
              outputdir</font><font color="#0000ff">="</font>${stage.dir}\bin<font color="#0000ff">"&gt;<br />
        &lt;</font><font color="#800000">excludeprojects</font><font color="#0000ff">&gt;<br />
            &lt;</font><font color="#800000">include</font><font color="#ff0000">name</font><font color="#0000ff">="</font>${code.dir}\FirstProject\FirstProject.csproj"/&gt;<br />
            &lt;<font color="#800000">include</font><font color="#ff0000">name</font>="${code.dir}\AnotherProject\AnotherProject.csproj"/&gt;<br />
        &lt;/<font color="#800000">excludeprojects</font>&gt;<br />
        &lt;<font color="#800000">webmap</font>&gt;<br />
            &lt;<font color="#800000">map</font><font color="#ff0000">url</font>=http://localhost/AnotherProject/Another.csproj <br />
                 <font color="#ff0000">path</font>="${code.dir}\AnotherProject\AnotherProject.csproj"/&gt; 
</div>
        <div>
          <font color="#0000ff">        &lt;/</font>
          <font color="#800000">webmap</font>
          <font color="#0000ff">&gt;<br />
    &lt;/</font>
          <font color="#800000">solution</font>
          <font color="#0000ff">&gt;<br /></font>
          <font color="#0000ff">&lt;/</font>
          <font color="#800000">target</font>
          <font color="#0000ff">&gt;</font>
        </div>
        <div>
          <font color="#0000ff">
          </font>
        </div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=78ff93b6-b868-4713-bd98-9939427a9bdc" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Solution Task in NAnt - So Much Nicer!</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,78ff93b6-b868-4713-bd98-9939427a9bdc.aspx</guid>
      <link>http://www.aniltj.com/blog/2005/06/12/SolutionTaskInNAntSoMuchNicer.aspx</link>
      <pubDate>Sun, 12 Jun 2005 20:39:43 GMT</pubDate>
      <description>&lt;p&gt;
Ever since I read the Pragmatic Programmer series of books, I have been a fan of automation.
So the build process is one that I have tried to automate to the extent possible.
The tool of choice for me in this case has been NAnt. At a&amp;nbsp;high level, my build
process consist of the following: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Clean up the existing directory structure 
&lt;/li&gt;
&lt;li&gt;
Prepare the directory structure 
&lt;/li&gt;
&lt;li&gt;
Get the source from my Source Control Provider 
&lt;/li&gt;
&lt;li&gt;
Build the solution 
&lt;/li&gt;
&lt;li&gt;
Run Unit Tests 
&lt;/li&gt;
&lt;li&gt;
and more... 
&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;Since the NAnt configuration file has to be manually coded, one of the challenges
I was facing was to make sure that all of the details and dependencies of a multi-project
Visual Studio solution were taken into account when I did the build and compile of
the solution. In the past&amp;nbsp;I've done&amp;nbsp;the hand coding, or used Slingshot.
But recently I've been&amp;nbsp;using the&amp;nbsp;&amp;lt;solution&amp;gt;&amp;nbsp;task&amp;nbsp;in NAnt
and really like it. 
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;In short, this particular NAnt task reads a VS.NET solution file, figures out
all of the various project dependencies&amp;nbsp;and does the build. Very nice. 
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;Here is an example: 
&lt;/div&gt;
&lt;div&gt;&lt;font color="#0000ff"&gt;
&lt;br&gt;
&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;target&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;build&lt;font color="#0000ff"&gt;"&lt;/font&gt; &lt;font color="#ff0000"&gt;description&lt;/font&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;Build
the solution&lt;font color="#0000ff"&gt;"&lt;/font&gt; &lt;font color="#ff0000"&gt;depends&lt;/font&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;init&lt;font color="#0000ff"&gt;"&amp;gt;&lt;br&gt;
&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;solution&lt;/font&gt;&lt;font color="#ff0000"&gt;&amp;nbsp;configuration&lt;/font&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;${solution.config}&lt;font color="#0000ff"&gt;"&lt;/font&gt;&lt;font color="#ff0000"&gt;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;solutionfile&lt;/font&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;${code.dir}\MySolution.sln&lt;font color="#0000ff"&gt;"&lt;/font&gt;&lt;font color="#ff0000"&gt;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;outputdir&lt;/font&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;${stage.dir}\bin&lt;font color="#0000ff"&gt;"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;excludeprojects&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;include&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;${code.dir}\FirstProject\FirstProject.csproj"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;font color="#800000"&gt;include&lt;/font&gt; &lt;font color="#ff0000"&gt;name&lt;/font&gt;="${code.dir}\AnotherProject\AnotherProject.csproj"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;font color="#800000"&gt;excludeprojects&lt;/font&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;font color="#800000"&gt;webmap&lt;/font&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;font color="#800000"&gt;map&lt;/font&gt; &lt;font color="#ff0000"&gt;url&lt;/font&gt;=http://localhost/AnotherProject/Another.csproj&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#ff0000"&gt;path&lt;/font&gt;="${code.dir}\AnotherProject\AnotherProject.csproj"/&amp;gt; 
&lt;/div&gt;
&lt;div&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;webmap&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;solution&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;
&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;target&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; 
&lt;/div&gt;
&lt;div&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=78ff93b6-b868-4713-bd98-9939427a9bdc" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,78ff93b6-b868-4713-bd98-9939427a9bdc.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=72190644-6174-4515-b744-e7f8a5398dfd</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,72190644-6174-4515-b744-e7f8a5398dfd.aspx</pingback:target>
      <dc:creator>Anil John</dc:creator>
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,72190644-6174-4515-b744-e7f8a5398dfd.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=72190644-6174-4515-b744-e7f8a5398dfd</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I was fortunate enough to spend the last three days at the Patterns &amp; Practices
Summit which was held at the Microsoft Technology Center in Reston, VA. 
</p>
        <p>
In a word, Awesome!
</p>
        <p>
We had a great lineup of speakers such as:
</p>
        <ul>
          <li>
            <a href="http://blogs.msdn.com/jamesnewkirk/">Jim Newkirk</a> (Father of NUnit) on
Test Driven Development</li>
          <li>
            <a href="http://weblogs.asp.net/rjacobs">Ron Jacobs</a> (Shadowfax Guy) on Patterns
for SOA</li>
          <li>
            <a href="http://www.vergentsoftware.com/blogs/ckinsman/">Chris Kinsman</a> on Designing
for Security and Perf and Scalability</li>
          <li>
            <a href="http://www.solidqualitylearning.com/aboutUs.aspx">Fernando Guerrero</a> on
Data Access</li>
          <li>
            <a href="http://www.neward.net/ted/weblog/">Ted Neward</a> on Platform Interoperability
and Instrumenting Applications</li>
          <li>
            <a href="http://www.dotnetmasters.com/">Billy Hollis</a> on Smart Client Architecture</li>
          <li>
            <a href="http://www.lhotka.net/">Rocky Lhotka</a> on the Middle Tier</li>
          <li>
            <a href="http://www.gotdotnet.com/workspaces/workspace.aspx?id=295a464a-6072-4e25-94e2-91be63527327">Tom
Hollander on the upcoming Enterprise Library</a>
          </li>
          <li>
            <a href="http://weblogs.asp.net/kpleas/">Keith Pleas</a> on putting it all together.</li>
          <li>
            <a href="http://www.pnpsummit.com/east2004presenters.aspx">and more...</a>
          </li>
        </ul>
        <div>On top of all of those there were also various keynotes, the most memorable of
which was by <a href="http://blogs.msdn.com/sandyk/">Sandy Khaund</a> on where the <a title="" href="http://www.microsoft.com/resources/practices/" target="_blank">PAG</a> is
going.  I would also be remiss if I did not mention that the man who helped to
coordinate this from the local side was none other than our own <a href="http://blogs.msdn.com/gsnowman">Developer
Community Champion, Geoff Snowman</a>. Excellent job all around.
</div>
        <div> 
</div>
        <div>Beyond the pure technical knowledge that was imparted, it was also a chance
to connect in person with people who I had, in some cases, "met" only online. The
other great thing was the ability to leverage their knowledge. Chris Kinsman helped
me solve a configuration issue that I had been having with Log4Net and Jim Newkirk
was a great source of information on some things I am currently looking at regarding
Unit Testing, Daily Builds and more.  Tom Hollander as ever was patient in taking
some of the "feedback" I have regarding some of the deployment scenarios for the Enterprise
Library :-)
</div>
        <div> 
</div>
        <div>All in all, a great, great event and I have to give big kudos to both Sandy and
Keith for putting this together!
</div>
        <div> 
</div>
        <div> 
</div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=72190644-6174-4515-b744-e7f8a5398dfd" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Patterns and Practices Summit 2004 Report</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,72190644-6174-4515-b744-e7f8a5398dfd.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/10/08/PatternsAndPracticesSummit2004Report.aspx</link>
      <pubDate>Fri, 08 Oct 2004 23:08:00 GMT</pubDate>
      <description>&lt;p&gt;
I was fortunate enough to spend the last three days at the Patterns &amp;amp; Practices
Summit which was held at the Microsoft Technology Center in Reston, VA.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
In a word, Awesome!
&lt;/p&gt;
&lt;p&gt;
We had&amp;nbsp;a great lineup of speakers such as:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://blogs.msdn.com/jamesnewkirk/"&gt;Jim Newkirk&lt;/a&gt; (Father of NUnit) on
Test Driven Development&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://weblogs.asp.net/rjacobs"&gt;Ron Jacobs&lt;/a&gt; (Shadowfax Guy) on Patterns
for SOA&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.vergentsoftware.com/blogs/ckinsman/"&gt;Chris Kinsman&lt;/a&gt; on Designing
for Security and Perf and Scalability&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.solidqualitylearning.com/aboutUs.aspx"&gt;Fernando Guerrero&lt;/a&gt; on
Data Access&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.neward.net/ted/weblog/"&gt;Ted Neward&lt;/a&gt; on Platform Interoperability
and Instrumenting Applications&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.dotnetmasters.com/"&gt;Billy Hollis&lt;/a&gt; on Smart Client Architecture&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.lhotka.net/"&gt;Rocky Lhotka&lt;/a&gt; on the Middle Tier&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.gotdotnet.com/workspaces/workspace.aspx?id=295a464a-6072-4e25-94e2-91be63527327"&gt;Tom
Hollander on the upcoming Enterprise Library&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://weblogs.asp.net/kpleas/"&gt;Keith Pleas&lt;/a&gt; on putting it all together.&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.pnpsummit.com/east2004presenters.aspx"&gt;and more...&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;On top of all of those there were also various keynotes, the most memorable of
which was by &lt;a href="http://blogs.msdn.com/sandyk/"&gt;Sandy Khaund&lt;/a&gt; on where the &lt;a title="" href="http://www.microsoft.com/resources/practices/" target="_blank"&gt;PAG&lt;/a&gt; is
going.&amp;nbsp; I would also be remiss if I did not mention that the man who helped to
coordinate this from the local side was none other than our own &lt;a href="http://blogs.msdn.com/gsnowman"&gt;Developer
Community Champion, Geoff Snowman&lt;/a&gt;. Excellent job all around.
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;Beyond&amp;nbsp;the pure technical knowledge that was imparted, it was also a chance
to connect in person with people who I had, in some cases, "met" only online. The
other great thing was the ability to leverage their knowledge. Chris Kinsman helped
me solve a configuration issue that I had been having with Log4Net and Jim Newkirk
was a great source of information on some things I am currently looking at regarding
Unit Testing, Daily Builds and more.&amp;nbsp; Tom Hollander as ever was patient in taking
some of the "feedback" I have regarding some of the deployment scenarios for the Enterprise
Library :-)
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;All in all, a great, great event and I have to give big kudos to both Sandy and
Keith for putting this together!
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=72190644-6174-4515-b744-e7f8a5398dfd" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,72190644-6174-4515-b744-e7f8a5398dfd.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=91f6100f-4444-4525-a786-60b27602aad6</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,91f6100f-4444-4525-a786-60b27602aad6.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,91f6100f-4444-4525-a786-60b27602aad6.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=91f6100f-4444-4525-a786-60b27602aad6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
Building on the application patterns presented in <a title="" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/Esp.asp">Enterprise
Solution Patterns Using Microsoft .NET</a>, this guide applies patterns to solve integration
problems within the enterprise.
</p>
          <p>
The design concepts in this guide include implementations on the Microsoft platform
that use BizTalk Server 2004, Host Integration Server 2004, ASP.NET, Visual Studio,
Visio 2003 and the .NET Framework.
</p>
          <p>
The scenario is an online bill payment application in the banking industry. To meet
the needs of this scenario, the team used a pattern-based approach to build and validate
a baseline architecture. Because a well-designed architecture must be traceable to
the needs of the business, the guide also includes a set of artifacts that trace from
high-level business processes down to code.
</p>
        </blockquote>
        <p>
Online @<br /><a title="http://msdn.microsoft.com/architecture/patterns/default.aspx?pull=/library/en-us/dnpag/html/intpatt.asp" href="http://msdn.microsoft.com/architecture/patterns/default.aspx?pull=/library/en-us/dnpag/html/intpatt.asp">Integration
Patterns</a></p>
        <p>
Should be available for download as PDF soon.
</p>
        <p>
UPDATE: PDF is now available
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=91f6100f-4444-4525-a786-60b27602aad6" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Integration Patterns from the PAG</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,91f6100f-4444-4525-a786-60b27602aad6.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/07/08/IntegrationPatternsFromThePAG.aspx</link>
      <pubDate>Thu, 08 Jul 2004 02:41:00 GMT</pubDate>
      <description>&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
Building on the application patterns presented in &lt;a title="" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/Esp.asp" &gt;Enterprise
Solution Patterns Using Microsoft .NET&lt;/a&gt;, this guide applies patterns to solve integration
problems within the enterprise.
&lt;/p&gt;
&lt;p&gt;
The design concepts in this guide include implementations on the Microsoft platform
that use BizTalk Server 2004, Host Integration Server 2004, ASP.NET, Visual Studio,
Visio 2003 and the .NET Framework.
&lt;/p&gt;
&lt;p&gt;
The scenario is an online bill payment application in the banking industry. To meet
the needs of this scenario, the team used a pattern-based approach to build and validate
a baseline architecture. Because a well-designed architecture must be traceable to
the needs of the business, the guide also includes a set of artifacts that trace from
high-level business processes down to code.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Online @&lt;br /&gt;
&lt;a title="http://msdn.microsoft.com/architecture/patterns/default.aspx?pull=/library/en-us/dnpag/html/intpatt.asp" href="http://msdn.microsoft.com/architecture/patterns/default.aspx?pull=/library/en-us/dnpag/html/intpatt.asp"&gt;Integration
Patterns&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Should be available for download as PDF soon.
&lt;/p&gt;
&lt;p&gt;
UPDATE: PDF is now available
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=91f6100f-4444-4525-a786-60b27602aad6" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,91f6100f-4444-4525-a786-60b27602aad6.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=b3fde7eb-aaa9-48c9-8278-968625758b7a</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,b3fde7eb-aaa9-48c9-8278-968625758b7a.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,b3fde7eb-aaa9-48c9-8278-968625758b7a.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=b3fde7eb-aaa9-48c9-8278-968625758b7a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>patterns &amp; practices Live: Integration Patterns - Level 200</strong>
          <br />
          <a href="http://go.microsoft.com/fwlink/?LinkId=31149">http://go.microsoft.com/fwlink/?LinkId=31149</a>
          <br />
July 8, 2004, 11:00 AM - 12:30 PM Pacific Time<br />
Gregor Hohpe, Senior Architect, ThoughtWorks, Inc<br /><br />
Today's business applications rarely live in isolation. Users and customers expect
instant access to data and functions that may be spread across multiple independent
systems. Therefore, these disparate systems have to be integrated to allow a coordinated
flow of data and functionality across the enterprise. Despite advances in EAI and
Web Services tools, creating robust integration solutions is not without pitfalls.
For example, the asynchronous nature of most message-based integration solutions is
different from the synchronous world of application development and requires architects
and developers to adopt new design, development and testing strategies. This webcast
shows how design patterns can help developers build successful integration solutions.
The patterns have been harvested from years of actual integration projects using messaging,
Web Services and EAI tools.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=b3fde7eb-aaa9-48c9-8278-968625758b7a" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Architecture Webcasts for the week of July 6 2004</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,b3fde7eb-aaa9-48c9-8278-968625758b7a.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/07/07/ArchitectureWebcastsForTheWeekOfJuly62004.aspx</link>
      <pubDate>Wed, 07 Jul 2004 01:57:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;patterns &amp;amp; practices Live: Integration Patterns - Level 200&lt;/strong&gt;
&lt;br /&gt;
&lt;a href="http://go.microsoft.com/fwlink/?LinkId=31149"&gt;http://go.microsoft.com/fwlink/?LinkId=31149&lt;/a&gt;
&lt;br /&gt;
July 8, 2004, 11:00 AM - 12:30 PM Pacific Time&lt;br /&gt;
Gregor Hohpe, Senior Architect, ThoughtWorks, Inc&lt;br /&gt;
&lt;br /&gt;
Today's business applications rarely live in isolation. Users and customers expect
instant access to data and functions that may be spread across multiple independent
systems. Therefore, these disparate systems have to be integrated to allow a coordinated
flow of data and functionality across the enterprise. Despite advances in EAI and
Web Services tools, creating robust integration solutions is not without pitfalls.
For example, the asynchronous nature of most message-based integration solutions is
different from the synchronous world of application development and requires architects
and developers to adopt new design, development and testing strategies. This webcast
shows how design patterns can help developers build successful integration solutions.
The patterns have been harvested from years of actual integration projects using messaging,
Web Services and EAI tools.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=b3fde7eb-aaa9-48c9-8278-968625758b7a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,b3fde7eb-aaa9-48c9-8278-968625758b7a.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=5f77a71e-25ff-4074-b320-a06f856dfd1c</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,5f77a71e-25ff-4074-b320-a06f856dfd1c.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,5f77a71e-25ff-4074-b320-a06f856dfd1c.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=5f77a71e-25ff-4074-b320-a06f856dfd1c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Per Harry Pierson:
</p>
        <blockquote>
          <ol>
            <li>
              <a title="http://microsoft.sitestream.com/TechEd2004/ARC/arc307_files/" href="http://microsoft.sitestream.com/TechEd2004/ARC/arc307_files/">Realizing
SOA</a> by <a title="http://blogs.msdn.com/jdevados" href="http://blogs.msdn.com/jdevados">John
deVadoss</a> &amp; <a title="http://blogs.msdn.com/RJacobs/" href="http://blogs.msdn.com/RJacobs/">Ron
Jacobs</a></li>
            <li>
              <a title="http://microsoft.sitestream.com/TechEd2004/ARC/arc402_files/" href="http://microsoft.sitestream.com/TechEd2004/ARC/arc402_files/">Data
in SOA</a> by Harry Pierson</li>
            <li>
              <a title="http://microsoft.sitestream.com/TechEd2004/ARC/arc309_files/" href="http://microsoft.sitestream.com/TechEd2004/ARC/arc309_files/">Patterns
in the Enterprise</a> by <a title="http://www.enterpriseintegrationpatterns.com/ramblings.html" href="http://www.enterpriseintegrationpatterns.com/ramblings.html">Gregor
Hohpe</a></li>
            <li>
              <a title="http://microsoft.sitestream.com/TechEd2004/ARC/arc310_files/" href="http://microsoft.sitestream.com/TechEd2004/ARC/arc310_files/">Improving
Application Perf &amp; Scale</a> by <a title="http://www.vergentsoftware.com/blogs/ckinsman/" href="http://www.vergentsoftware.com/blogs/ckinsman/">Chris
Kinsman</a></li>
            <li>
              <a title="http://microsoft.sitestream.com/TechEd2004/ARC/arc306_files/" href="http://microsoft.sitestream.com/TechEd2004/ARC/arc306_files/">Building
Apps with P&amp;P App Blocks</a> by Wojtek Kozaczynsk</li>
          </ol>
          <div> 
</div>
        </blockquote>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=5f77a71e-25ff-4074-b320-a06f856dfd1c" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>TechEd Architecture Sessions Online</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,5f77a71e-25ff-4074-b320-a06f856dfd1c.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/06/26/TechEdArchitectureSessionsOnline.aspx</link>
      <pubDate>Sat, 26 Jun 2004 01:57:00 GMT</pubDate>
      <description>&lt;p&gt;
Per&amp;nbsp;Harry Pierson:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;ol&gt;
&lt;li&gt;
&lt;a title="http://microsoft.sitestream.com/TechEd2004/ARC/arc307_files/" href="http://microsoft.sitestream.com/TechEd2004/ARC/arc307_files/"&gt;Realizing
SOA&lt;/a&gt; by &lt;a title="http://blogs.msdn.com/jdevados" href="http://blogs.msdn.com/jdevados"&gt;John
deVadoss&lt;/a&gt; &amp;amp; &lt;a title="http://blogs.msdn.com/RJacobs/" href="http://blogs.msdn.com/RJacobs/"&gt;Ron
Jacobs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a title="http://microsoft.sitestream.com/TechEd2004/ARC/arc402_files/" href="http://microsoft.sitestream.com/TechEd2004/ARC/arc402_files/"&gt;Data
in SOA&lt;/a&gt; by Harry Pierson&lt;/li&gt;
&lt;li&gt;
&lt;a title="http://microsoft.sitestream.com/TechEd2004/ARC/arc309_files/" href="http://microsoft.sitestream.com/TechEd2004/ARC/arc309_files/"&gt;Patterns
in the Enterprise&lt;/a&gt; by &lt;a title="http://www.enterpriseintegrationpatterns.com/ramblings.html" href="http://www.enterpriseintegrationpatterns.com/ramblings.html"&gt;Gregor
Hohpe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a title="http://microsoft.sitestream.com/TechEd2004/ARC/arc310_files/" href="http://microsoft.sitestream.com/TechEd2004/ARC/arc310_files/"&gt;Improving
Application Perf &amp;amp; Scale&lt;/a&gt; by &lt;a title="http://www.vergentsoftware.com/blogs/ckinsman/" href="http://www.vergentsoftware.com/blogs/ckinsman/"&gt;Chris
Kinsman&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a title="http://microsoft.sitestream.com/TechEd2004/ARC/arc306_files/" href="http://microsoft.sitestream.com/TechEd2004/ARC/arc306_files/"&gt;Building
Apps with P&amp;amp;P App Blocks&lt;/a&gt; by Wojtek Kozaczynsk&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;/blockquote&gt;&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=5f77a71e-25ff-4074-b320-a06f856dfd1c" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,5f77a71e-25ff-4074-b320-a06f856dfd1c.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=cce5ea97-d9ba-4830-8408-c0d1fb93e1e1</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,cce5ea97-d9ba-4830-8408-c0d1fb93e1e1.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,cce5ea97-d9ba-4830-8408-c0d1fb93e1e1.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=cce5ea97-d9ba-4830-8408-c0d1fb93e1e1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Per <a href="http://blogs.msdn.com/dphill/archive/2004/06/14/155421.aspx ">David Hill</a>:
</p>
        <blockquote>
          <div>
            <p>
The Smart Client Architecture Guide is now live on MSDN
</p>
            <p>
              <a title="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scag.asp" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scag.asp">
                <font color="#0000ff">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scag.asp</font>
              </a>
            </p>
            <p>
              <font color="#000000">The performance chapter is being completed as we speak and
should be posted in a week or so. We decided to put the rest of the guide out there
since it has generated a lot of interest. Feedback welcome!</font>
            </p>
            <p>
 
</p>
          </div>
        </blockquote>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=cce5ea97-d9ba-4830-8408-c0d1fb93e1e1" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>PAG Smart Client Architecture Guide is now live</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,cce5ea97-d9ba-4830-8408-c0d1fb93e1e1.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/06/14/PAGSmartClientArchitectureGuideIsNowLive.aspx</link>
      <pubDate>Mon, 14 Jun 2004 17:55:00 GMT</pubDate>
      <description>&lt;p&gt;
Per &lt;a href="http://blogs.msdn.com/dphill/archive/2004/06/14/155421.aspx "&gt;David Hill&lt;/a&gt;:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;div&gt;
&lt;p&gt;
The Smart Client Architecture Guide is now live on MSDN
&lt;/p&gt;
&lt;p&gt;
&lt;a title=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scag.asp href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scag.asp"&gt;&lt;font color=#0000ff&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scag.asp&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;The performance chapter is being completed&amp;nbsp;as we speak&amp;nbsp;and
should be posted in a week or so. We decided to put the rest of the guide out there
since it has generated a lot of interest. Feedback welcome!&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/div&gt;
&lt;/blockquote&gt;&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=cce5ea97-d9ba-4830-8408-c0d1fb93e1e1" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,cce5ea97-d9ba-4830-8408-c0d1fb93e1e1.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=9dd40579-691d-410e-9925-41731956a6f5</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,9dd40579-691d-410e-9925-41731956a6f5.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,9dd40579-691d-410e-9925-41731956a6f5.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=9dd40579-691d-410e-9925-41731956a6f5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p align="left">
          <strong>Implement Presentation Workflow with the User Interface Process Application
Block – Level 400<br /></strong>
          <a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032252968&amp;Culture=en-US">http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032252968&amp;Culture=en-US</a>
          <br />
June 15, 2004, 1:00PM-2:30PM Pacific Time 
<br />
Brian Noyes, Principal Software Architect, IDesign, Inc
</p>
        <p>
          <span>The User Interface Process (UIP) application block provides a rich framework
for developing stateful, process-oriented user interfaces, either for Web or windows
applications. It allows you to decouple the views of your application using and implementation
of the Model-View-Controller pattern provided by the application block. Ideal for
applications such as shopping carts, registration, questionnaires, online quizzes,
and other single flow or multi-path information gathering applications, the UIP is
a complex framework that is very easy to use. This webcast will step through the architecture
and capabilities of the UIP application block and demonstrate when and how to employ
it for both web and windows applications.</span>
        </p>
        <p>
          <strong>patterns &amp; practices Live: Testing Blocks - Level 200</strong>
          <br />
          <a href="http://go.microsoft.com/fwlink/?linkid=29308">http://go.microsoft.com/fwlink/?linkid=29308</a>
          <br />
June 17, 2004, 11:00 AM - 12:30 PM Pacific Time<br />
Larry Brader, Test Lead, Microsoft Corporation<br /><br />
Blocks have been gaining momentum as their values to developers are realized, but
in reality development is only half the equation to shipping a product. The other
side is that of Test. In this Webcast we will drill down and examine how to test blocks.<br /><br />
[Editor's note:  Looks like someone is taking a shortcut in the description here..
I assume that the webcast is on how the Application Blocks are tested. <a href="http://blogs.msdn.com/sandyk/archive/2004/06/11/153581.aspx">Sandy
recently blogged</a> [1] about the new guidance that the <a title="" href="http://www.microsoft.com/resources/practices/" target="_blank">PAG</a> folks
are putting together on this and the related GotDotNet workspace..]
</p>
        <p align="left">
          <strong>patterns &amp; practices Live: Test Driven Development – Level 200<br /></strong>Ah, the <a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032254189&amp;Culture=en-US">on
demand version of this past webcast</a> by Jim Newkirk is now available! [2]<br /><br />
[1] <a href="http://blogs.msdn.com/sandyk/archive/2004/06/11/153581.aspx">http://blogs.msdn.com/sandyk/archive/2004/06/11/153581.aspx</a><br />
[2] <a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032254189&amp;Culture=en-US">http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032254189&amp;Culture=en-US</a></p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=9dd40579-691d-410e-9925-41731956a6f5" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Architecture Webcasts week of June 14, 2004</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,9dd40579-691d-410e-9925-41731956a6f5.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/06/13/ArchitectureWebcastsWeekOfJune142004.aspx</link>
      <pubDate>Sun, 13 Jun 2004 20:31:00 GMT</pubDate>
      <description>&lt;p align=left&gt;
&lt;strong&gt;Implement Presentation Workflow with the User Interface Process Application
Block &amp;#8211; Level 400&lt;br&gt;
&lt;/strong&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032252968&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032252968&amp;amp;Culture=en-US&lt;/a&gt;
&lt;br&gt;
June 15, 2004, 1:00PM-2:30PM Pacific Time 
&lt;br&gt;
Brian Noyes, Principal Software Architect, IDesign, Inc
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;The User Interface Process (UIP) application block provides a rich framework
for developing stateful, process-oriented user interfaces, either for Web or windows
applications. It allows you to decouple the views of your application using and implementation
of the Model-View-Controller pattern provided by the application block. Ideal for
applications such as shopping carts, registration, questionnaires, online quizzes,
and other single flow or multi-path information gathering applications, the UIP is
a complex framework that is very easy to use. This webcast will step through the architecture
and capabilities of the UIP application block and demonstrate when and how to employ
it for both web and windows applications.&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;patterns &amp;amp; practices Live: Testing Blocks - Level 200&lt;/strong&gt;
&lt;br&gt;
&lt;a href="http://go.microsoft.com/fwlink/?linkid=29308"&gt;http://go.microsoft.com/fwlink/?linkid=29308&lt;/a&gt;
&lt;br&gt;
June 17, 2004, 11:00 AM - 12:30 PM Pacific Time&lt;br&gt;
Larry Brader, Test Lead, Microsoft Corporation&lt;br&gt;
&lt;br&gt;
Blocks have been gaining momentum as their values to developers are realized, but
in reality development is only half the equation to shipping a product. The other
side is that of Test. In this Webcast we will drill down and examine how to test blocks.&lt;br&gt;
&lt;br&gt;
[Editor's note:&amp;nbsp; Looks like someone is taking a shortcut in the description here..
I assume that the webcast is on how the Application Blocks are tested. &lt;a href="http://blogs.msdn.com/sandyk/archive/2004/06/11/153581.aspx"&gt;Sandy
recently blogged&lt;/a&gt; [1] about the new guidance that the &lt;a title="" href="http://www.microsoft.com/resources/practices/" target=_blank&gt;PAG&lt;/a&gt; folks
are putting together on this&amp;nbsp;and the related GotDotNet workspace..]
&lt;/p&gt;
&lt;p align=left&gt;
&lt;strong&gt;patterns &amp;amp; practices Live: Test Driven Development &amp;#8211; Level 200&lt;br&gt;
&lt;/strong&gt;Ah, the &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032254189&amp;amp;Culture=en-US"&gt;on
demand version of this past webcast&lt;/a&gt; by Jim Newkirk is now available! [2]&lt;br&gt;
&lt;br&gt;
[1] &lt;a href="http://blogs.msdn.com/sandyk/archive/2004/06/11/153581.aspx"&gt;http://blogs.msdn.com/sandyk/archive/2004/06/11/153581.aspx&lt;/a&gt;
&lt;br&gt;
[2] &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032254189&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032254189&amp;amp;Culture=en-US&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=9dd40579-691d-410e-9925-41731956a6f5" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,9dd40579-691d-410e-9925-41731956a6f5.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=0bb3b518-1635-436b-911a-e2b1fc156367</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,0bb3b518-1635-436b-911a-e2b1fc156367.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,0bb3b518-1635-436b-911a-e2b1fc156367.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=0bb3b518-1635-436b-911a-e2b1fc156367</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>patterns &amp; practices Live: Enterprise Software Architects - Level 200<br /></strong>
          <a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032252958&amp;Culture=en-US">http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032252958&amp;Culture=en-US</a>
          <br />
June 10, 2004, 11:00 AM - 12:30 PM Pacific Time<br />
Craig Utley, Partner, Enterprise Software Architects<br /><br />
This webcast will focus on the patterns work going on at Microsoft designed to help
developers reap the benefits of pattern-based development. It will give you a sneak
peak at some third-party training resources that will help your development teams
adopt these proven techniques in your development organization.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=0bb3b518-1635-436b-911a-e2b1fc156367" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Architecture Webcasts week of June 7, 2004</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,0bb3b518-1635-436b-911a-e2b1fc156367.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/06/07/ArchitectureWebcastsWeekOfJune72004.aspx</link>
      <pubDate>Mon, 07 Jun 2004 04:00:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;patterns &amp;amp; practices Live: Enterprise Software Architects - Level 200&lt;br&gt;
&lt;/strong&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032252958&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032252958&amp;amp;Culture=en-US&lt;/a&gt;
&lt;br&gt;
June 10, 2004, 11:00 AM - 12:30 PM Pacific Time&lt;br&gt;
Craig Utley, Partner, Enterprise Software Architects&lt;br&gt;
&lt;br&gt;
This webcast will focus on the patterns work going on at Microsoft designed to help
developers reap the benefits of pattern-based development. It will give you a sneak
peak at some third-party training resources that will help your development teams
adopt these proven techniques in your development organization.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=0bb3b518-1635-436b-911a-e2b1fc156367" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,0bb3b518-1635-436b-911a-e2b1fc156367.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=c292c3ef-259c-4cc2-92eb-514b77e11515</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,c292c3ef-259c-4cc2-92eb-514b77e11515.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,c292c3ef-259c-4cc2-92eb-514b77e11515.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c292c3ef-259c-4cc2-92eb-514b77e11515</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p align="left">
Ah.. It is finally up! New site features include:
</p>
        <ul>
          <li>
            <div align="left">Redesign of site navigation allowing you to locate patterns &amp;
practices titles by viewpoint, guidance type, or audience, and the ability to locate
a title in the all releases list alphabetically.  
</div>
          </li>
          <li>
            <div align="left">Ability to search exclusively within the patterns &amp; practices
site. 
</div>
          </li>
          <li>
            <div align="left">Enhanced community page including a new GotDotNet workspaces page
with individual links to each of the patterns &amp; practices workspaces. 
</div>
          </li>
          <li>
            <div align="left">New Case Studies page for highlighting customers that are succeeding
with patterns &amp; practices. 
</div>
          </li>
          <li>
            <div align="left">New Events page showing upcoming events where patterns &amp; practices
will be participating, upcoming webcasts, as well as all archived webcasts.
</div>
          </li>
        </ul>
        <div align="left">And of course you can FINALLY and EASILY find all of the .NET Application
Blocks via a direct link from the home page. Direct link to them @ <a href="http://www.microsoft.com/resources/practices/code.mspx">http://www.microsoft.com/resources/practices/code.mspx</a><br /><br />
The main site can be found @ <a href="http://microsoft.com/practices">http://microsoft.com/practices</a></div>
        <div align="left"> 
</div>
        <div align="left">Check it out!
</div>
        <div> 
</div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=c292c3ef-259c-4cc2-92eb-514b77e11515" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Patterns &amp; Practices Site has a new look!</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,c292c3ef-259c-4cc2-92eb-514b77e11515.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/05/20/PatternsPracticesSiteHasANewLook.aspx</link>
      <pubDate>Thu, 20 May 2004 01:12:00 GMT</pubDate>
      <description>&lt;p align=left&gt;
Ah.. It is finally up! New site features include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align=left&gt;Redesign of site navigation allowing you to locate patterns &amp;amp;
practices titles by viewpoint, guidance type, or audience, and the ability to locate
a title in the all releases list alphabetically.&amp;nbsp; 
&lt;/div&gt;
&lt;li&gt;
&lt;div align=left&gt;Ability to search exclusively within the patterns &amp;amp; practices
site. 
&lt;/div&gt;
&lt;li&gt;
&lt;div align=left&gt;Enhanced community page including a new GotDotNet workspaces page
with individual links to each of the patterns &amp;amp; practices workspaces. 
&lt;/div&gt;
&lt;li&gt;
&lt;div align=left&gt;New Case Studies page for highlighting customers that are succeeding
with patterns &amp;amp; practices. 
&lt;/div&gt;
&lt;li&gt;
&lt;div align=left&gt;New Events page showing upcoming events where patterns &amp;amp; practices
will be participating, upcoming webcasts, as well as all archived webcasts.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div align=left&gt;And of course you can FINALLY and EASILY find all of the .NET Application
Blocks via a direct link from the home page. Direct link to them @ &lt;a href="http://www.microsoft.com/resources/practices/code.mspx"&gt;http://www.microsoft.com/resources/practices/code.mspx&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
The main site can be found @ &lt;a href="http://microsoft.com/practices"&gt;http://microsoft.com/practices&lt;/a&gt;
&lt;/div&gt;
&lt;div align=left&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div align=left&gt;Check it out!
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=c292c3ef-259c-4cc2-92eb-514b77e11515" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,c292c3ef-259c-4cc2-92eb-514b77e11515.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=e890d31b-2ea6-4860-919f-3e4839e5ecfe</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,e890d31b-2ea6-4860-919f-3e4839e5ecfe.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,e890d31b-2ea6-4860-919f-3e4839e5ecfe.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=e890d31b-2ea6-4860-919f-3e4839e5ecfe</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>Moving to SOA: Practical approaches in Healthcare Level 200</strong>
          <br />
          <a href="http://go.microsoft.com/fwlink/?linkid=24686">http://go.microsoft.com/fwlink/?linkid=24686</a>
          <br />
May 18, 2004, 11:00 AM - 12:30 PM Pacific Time<br />
Tim Gruver, Architect Evangelist, Microsoft Corporation<br /><br />
This webcast will focus on practical approaches for migrating to an SOA, while considering
the unique challenges of the healthcare industry and government standards.<br /><br />
  <br /><strong>patterns &amp; practices Live: User Interface Process Block Version 2 Level
200</strong><br /><a href="http://go.microsoft.com/fwlink/?linkid=27714">http://go.microsoft.com/fwlink/?linkid=27714</a><br />
May 20, 2004, 11:00 AM - 12:30 PM Pacific Time<br />
Scott Densmore, SDE, Microsoft Corporation<br /><br />
The User Interface Process (UIP) Application Block, version 2, provides an extensible
framework to simplify the process of separating business logic code from the user
interface. This webcast will examine using the block to write complex user interface
navigation and workflow processes that can be reused in multiple scenarios and extended
as your application evolves. UIP Version 2 provides support for both Web Forms and
Smart Clients.
</p>
        <div>
          <p>
[Now Playing: Yaara Yaara - Hum Tum]
</p>
        </div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=e890d31b-2ea6-4860-919f-3e4839e5ecfe" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Architecture Webcasts for week of May 17, 2004</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,e890d31b-2ea6-4860-919f-3e4839e5ecfe.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/05/15/ArchitectureWebcastsForWeekOfMay172004.aspx</link>
      <pubDate>Sat, 15 May 2004 17:16:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;Moving to SOA: Practical approaches in Healthcare Level 200&lt;/strong&gt;
&lt;br /&gt;
&lt;a href="http://go.microsoft.com/fwlink/?linkid=24686"&gt;http://go.microsoft.com/fwlink/?linkid=24686&lt;/a&gt;
&lt;br /&gt;
May 18, 2004, 11:00 AM - 12:30 PM Pacific Time&lt;br /&gt;
Tim Gruver, Architect Evangelist, Microsoft Corporation&lt;br /&gt;
&lt;br /&gt;
This webcast will focus on practical approaches for migrating to an SOA, while considering
the unique challenges of the healthcare industry and government standards.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;strong&gt;patterns &amp;amp; practices Live: User Interface Process Block Version 2 Level
200&lt;/strong&gt;
&lt;br /&gt;
&lt;a href="http://go.microsoft.com/fwlink/?linkid=27714"&gt;http://go.microsoft.com/fwlink/?linkid=27714&lt;/a&gt;
&lt;br /&gt;
May 20, 2004, 11:00 AM - 12:30 PM Pacific Time&lt;br /&gt;
Scott Densmore, SDE, Microsoft Corporation&lt;br /&gt;
&lt;br /&gt;
The User Interface Process (UIP) Application Block, version 2, provides an extensible
framework to simplify the process of separating business logic code from the user
interface. This webcast will examine using the block to write complex user interface
navigation and workflow processes that can be reused in multiple scenarios and extended
as your application evolves. UIP Version 2 provides support for both Web Forms and
Smart Clients.
&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;
[Now Playing: Yaara Yaara - Hum Tum]
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=e890d31b-2ea6-4860-919f-3e4839e5ecfe" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,e890d31b-2ea6-4860-919f-3e4839e5ecfe.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=8c310635-2f40-4619-b201-bbe432f7917b</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,8c310635-2f40-4619-b201-bbe432f7917b.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,8c310635-2f40-4619-b201-bbe432f7917b.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=8c310635-2f40-4619-b201-bbe432f7917b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This MSDN TV episode is related to the newest release from the patterns &amp;
practices team. The topics discussed are memory management, COM Interop
and the Dispose pattern.
</p>
        <p>
Check it out @<br /><a title="http://www.microsoft.com/downloads/details.aspx?familyid=9b973ffd-fa90-4ec4-ae05-20f004637e1c" href="http://www.microsoft.com/downloads/details.aspx?familyid=9b973ffd-fa90-4ec4-ae05-20f004637e1c">http://www.microsoft.com/downloads/details.aspx?familyid=9b973ffd-fa90-4ec4-ae05-20f004637e1c</a></p>
        <p>
BTW, you can find the online version and a PDF download @<br /><a href="http://msdn.microsoft.com/perf">http://msdn.microsoft.com/perf</a></p>
        <div>
          <p>
[Now Playing: The Medley - Mujhse Dosti Karoge]
</p>
        </div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=8c310635-2f40-4619-b201-bbe432f7917b" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>MSDN TV: Improving .NET Application Performance and Scalability</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,8c310635-2f40-4619-b201-bbe432f7917b.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/05/13/MSDNTVImprovingNETApplicationPerformanceAndScalability.aspx</link>
      <pubDate>Thu, 13 May 2004 19:44:00 GMT</pubDate>
      <description>&lt;p&gt;
This MSDN TV episode is related to the&amp;nbsp;newest release from the patterns &amp;amp;
practices team.&amp;nbsp;The topics discussed are&amp;nbsp;memory management, COM Interop
and the Dispose pattern.
&lt;/p&gt;
&lt;p&gt;
Check it out @&lt;br /&gt;
&lt;a title="http://www.microsoft.com/downloads/details.aspx?familyid=9b973ffd-fa90-4ec4-ae05-20f004637e1c" href="http://www.microsoft.com/downloads/details.aspx?familyid=9b973ffd-fa90-4ec4-ae05-20f004637e1c"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=9b973ffd-fa90-4ec4-ae05-20f004637e1c&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
BTW, you can find the online version and a&amp;nbsp;PDF download @&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/perf"&gt;http://msdn.microsoft.com/perf&lt;/a&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;
[Now Playing: The Medley - Mujhse Dosti Karoge]
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=8c310635-2f40-4619-b201-bbe432f7917b" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,8c310635-2f40-4619-b201-bbe432f7917b.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=4ccb52d2-ebbf-49b3-9ca7-0bbc8b8aa47a</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,4ccb52d2-ebbf-49b3-9ca7-0bbc8b8aa47a.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,4ccb52d2-ebbf-49b3-9ca7-0bbc8b8aa47a.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=4ccb52d2-ebbf-49b3-9ca7-0bbc8b8aa47a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <i>Integration Patterns</i> from the <a href="http://www.microsoft.com/resources/practices/">PAG</a> introduces
patterns in the context of the Global Bank integration scenario. This patterns catalog
is organized to help you locate the right combination of patterns to apply when solving
your integration problem. In addition, the guide introduces a visual model that describes
a language of patterns and their relationships.
</p>
        <div class="dtBlock">
          <b class="le">Note:</b> This preview release is an early look
at <i>Integration Patterns</i> to obtain your feedback on the content. This release
includes only the first four chapters and the 10 patterns that the chapters discuss.
Chapter 5 through Chapter 9 and the remaining patterns will be released within one
to two months.
</div>
        <div class="dtBlock"> 
</div>
        <div class="dtBlock">Check it out @<br /><a href="http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnpag/html/intpatt.asp">http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnpag/html/intpatt.asp</a></div>
        <div>
          <p>
[Now Playing: The Medley - Mujhse Dosti Karoge]
</p>
        </div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=4ccb52d2-ebbf-49b3-9ca7-0bbc8b8aa47a" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>PAG Integration Patterns (Preview Release)</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,4ccb52d2-ebbf-49b3-9ca7-0bbc8b8aa47a.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/05/06/PAGIntegrationPatternsPreviewRelease.aspx</link>
      <pubDate>Thu, 06 May 2004 13:29:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;i&gt;Integration Patterns&lt;/i&gt; from the &lt;a href="http://www.microsoft.com/resources/practices/"&gt;PAG&lt;/a&gt; introduces
patterns in the context of the Global Bank integration scenario. This patterns catalog
is organized to help you locate the right combination of patterns to apply when solving
your integration problem. In addition, the guide introduces a visual model that describes
a language of patterns and their relationships.
&lt;/p&gt;
&lt;div class=dtBlock&gt;&lt;b class=le&gt;Note:&lt;/b&gt; This preview release is an early look at &lt;i&gt;Integration
Patterns&lt;/i&gt; to obtain your feedback on the content. This release includes only the
first four chapters and the 10 patterns that the chapters discuss. Chapter 5 through
Chapter 9 and the remaining patterns will be released within one to two months.
&lt;/div&gt;
&lt;div class=dtBlock&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div class=dtBlock&gt;Check it out @&lt;br&gt;
&lt;a href="http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnpag/html/intpatt.asp"&gt;http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnpag/html/intpatt.asp&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;
[Now Playing: The Medley - Mujhse Dosti Karoge]
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=4ccb52d2-ebbf-49b3-9ca7-0bbc8b8aa47a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,4ccb52d2-ebbf-49b3-9ca7-0bbc8b8aa47a.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=63c01fe4-76c4-462d-a33b-a0b14c363c24</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,63c01fe4-76c4-462d-a33b-a0b14c363c24.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,63c01fe4-76c4-462d-a33b-a0b14c363c24.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=63c01fe4-76c4-462d-a33b-a0b14c363c24</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a title="" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenet.asp">Improving
.NET Application Performance and Scalability</a> from the <a title="" href="http://www.microsoft.com/resources/practices/" target="_blank">PAG</a> 
is now available as a PDF download.
</p>
        <p>
Go get it NOW @<br /><a title="http://www.microsoft.com/downloads/details.aspx?familyid=8a2e454d-f30e-4e72-b531-75384a0f1c47" href="http://www.microsoft.com/downloads/details.aspx?familyid=8a2e454d-f30e-4e72-b531-75384a0f1c47">http://www.microsoft.com/downloads/details.aspx?familyid=8a2e454d-f30e-4e72-b531-75384a0f1c47</a></p>
        <p>
          <strong>UPDATE:</strong> Online version can be found @ <a href="http://msdn.microsoft.com/perf">http://msdn.microsoft.com/perf</a> 
</p>
        <p>
[Now Playing: Laila Laila - Samay]
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=63c01fe4-76c4-462d-a33b-a0b14c363c24" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Improving .NET Application Performance and Scalability - PDF Download!</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,63c01fe4-76c4-462d-a33b-a0b14c363c24.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/05/05/ImprovingNETApplicationPerformanceAndScalabilityPDFDownload.aspx</link>
      <pubDate>Wed, 05 May 2004 16:21:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a title="" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenet.asp"&gt;Improving
.NET Application Performance and Scalability&lt;/a&gt;&amp;nbsp;from the &lt;a title="" href="http://www.microsoft.com/resources/practices/" target=_blank&gt;PAG&lt;/a&gt;&amp;nbsp;
is now available as a PDF download.
&lt;/p&gt;
&lt;p&gt;
Go get it NOW @&lt;br&gt;
&lt;a title=http://www.microsoft.com/downloads/details.aspx?familyid=8a2e454d-f30e-4e72-b531-75384a0f1c47 href="http://www.microsoft.com/downloads/details.aspx?familyid=8a2e454d-f30e-4e72-b531-75384a0f1c47"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=8a2e454d-f30e-4e72-b531-75384a0f1c47&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;UPDATE:&lt;/strong&gt; Online version can be found @ &lt;a href="http://msdn.microsoft.com/perf"&gt;http://msdn.microsoft.com/perf&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
[Now Playing: Laila Laila - Samay]
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=63c01fe4-76c4-462d-a33b-a0b14c363c24" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,63c01fe4-76c4-462d-a33b-a0b14c363c24.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=f7b85223-0c06-4dfa-aca1-5dda06ca5aee</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,f7b85223-0c06-4dfa-aca1-5dda06ca5aee.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,f7b85223-0c06-4dfa-aca1-5dda06ca5aee.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=f7b85223-0c06-4dfa-aca1-5dda06ca5aee</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>Architecting and Building Smart Client Solutions: The Future of Application
Development Level 200</strong>
          <br />
          <a href="http://go.microsoft.com/fwlink/?linkid=27649">http://go.microsoft.com/fwlink/?linkid=27649</a>
          <br />
May 04, 2004, 11:00 AM - 12:30 PM Pacific Time 
<br />
Tim Huckaby, CEO, InterKnowlolgy 
</p>
        <p>
In Spring of 2003, Tim Huckaby was tasked by Microsoft Norway to develop and deliver
a keynote-level "Architecting and Building Smart Client Applications" presentation
for the Visual Studio .NET 2003 launch in Oslo. In performing the research to put
together the content and demos necessary for a great presentation, Tim discovered
multiple instances of inconsistent messaging in smart client application development
that still exist today. Even today, Microsoft has multiple conflicting definitions
of what a smart client application is, and there are still some very distinct and
differing "siloed" opinions of smart client applications within the Microsoft Product
Groups. Developers won't want to miss this webcast's demonstrations, which will help
demystify these inconsistencies and narrow the definition of a smart client application. 
<br /></p>
        <p>
          <a title="" href="http://www.microsoft.com/resources/practices/" target="_blank">
            <strong>Patterns
&amp; Practices</strong>
          </a>
          <strong> Live: .Net Enterprise Solution Patterns Level
200</strong>
          <br />
          <a href="http://go.microsoft.com/fwlink/?linkid=27657">http://go.microsoft.com/fwlink/?linkid=27657</a>
          <br />
May 06, 2004, 11:00 AM - 12:30 PM Pacific Time 
<br />
Robert C. Martin, President, Object Mentor Inc 
</p>
        <p>
This webcast presents an overview of the .Net Enterprise Solution Patterns. The concept
of patterns will be introduced, and a selected group of patterns will be discussed
in depth.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=f7b85223-0c06-4dfa-aca1-5dda06ca5aee" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Architecture Webcasts for Week of May 3</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,f7b85223-0c06-4dfa-aca1-5dda06ca5aee.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/05/03/ArchitectureWebcastsForWeekOfMay3.aspx</link>
      <pubDate>Mon, 03 May 2004 04:19:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;Architecting and Building Smart Client Solutions: The Future of Application
Development Level 200&lt;/strong&gt; 
&lt;br&gt;
&lt;a href="http://go.microsoft.com/fwlink/?linkid=27649"&gt;http://go.microsoft.com/fwlink/?linkid=27649&lt;/a&gt; 
&lt;br&gt;
May 04, 2004, 11:00 AM - 12:30 PM Pacific Time 
&lt;br&gt;
Tim Huckaby, CEO, InterKnowlolgy 
&lt;/p&gt;
&lt;p&gt;
In Spring of 2003, Tim Huckaby was tasked by Microsoft Norway to develop and deliver
a keynote-level "Architecting and Building Smart Client Applications" presentation
for the Visual Studio .NET 2003 launch in Oslo. In performing the research to put
together the content and demos necessary for a great presentation, Tim discovered
multiple instances of inconsistent messaging in smart client application development
that still exist today. Even today, Microsoft has multiple conflicting definitions
of what a smart client application is, and there are still some very distinct and
differing "siloed" opinions of smart client applications within the Microsoft Product
Groups. Developers won't want to miss this webcast's demonstrations, which will help
demystify these inconsistencies and narrow the definition of a smart client application. 
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a title="" href="http://www.microsoft.com/resources/practices/" target=_blank&gt;&lt;strong&gt;Patterns
&amp;amp; Practices&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; Live: .Net Enterprise Solution Patterns Level
200&lt;/strong&gt; 
&lt;br&gt;
&lt;a href="http://go.microsoft.com/fwlink/?linkid=27657"&gt;http://go.microsoft.com/fwlink/?linkid=27657&lt;/a&gt; 
&lt;br&gt;
May 06, 2004, 11:00 AM - 12:30 PM Pacific Time 
&lt;br&gt;
Robert C. Martin, President, Object Mentor Inc 
&lt;/p&gt;
&lt;p&gt;
This webcast presents an overview of the .Net Enterprise Solution Patterns. The concept
of patterns will be introduced, and a selected group of patterns will be discussed
in depth.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=f7b85223-0c06-4dfa-aca1-5dda06ca5aee" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,f7b85223-0c06-4dfa-aca1-5dda06ca5aee.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=a1041046-fbda-4f3a-bf23-1537dc15bba7</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,a1041046-fbda-4f3a-bf23-1537dc15bba7.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,a1041046-fbda-4f3a-bf23-1537dc15bba7.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a1041046-fbda-4f3a-bf23-1537dc15bba7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Issue 3 is out @<br /><a href="http://msdn.microsoft.com/architecture/community/newsletter/default.aspx">http://msdn.microsoft.com/architecture/community/newsletter/default.aspx</a></p>
        <p>
"... this newsletter will keep you informed of all that's new on the <span style="COLOR: black">MSDN
Architecture Center</span> as well as upcoming events. We'll continue to bring you
features and profiles from Microsoft architecture community, plus a new feature added
this issue called "Contemplating Architecture." This feature offers opinions and perspectives
from Microsoft architects and members of the Microsoft Architecture Advisory board."
</p>
        <div>
          <p>
[Now Playing: Ruk Ja O Dil Deewane - Dilwale Dulhania Le Jayenge]
</p>
        </div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=a1041046-fbda-4f3a-bf23-1537dc15bba7" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Microsoft Architecture Center Update Newsletter - Issue 3</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,a1041046-fbda-4f3a-bf23-1537dc15bba7.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/05/01/MicrosoftArchitectureCenterUpdateNewsletterIssue3.aspx</link>
      <pubDate>Sat, 01 May 2004 02:05:00 GMT</pubDate>
      <description>&lt;p&gt;
Issue 3 is out @&lt;br&gt;
&lt;a href="http://msdn.microsoft.com/architecture/community/newsletter/default.aspx"&gt;http://msdn.microsoft.com/architecture/community/newsletter/default.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
"... this newsletter will keep you informed of all that's new on the &lt;span style="COLOR: black"&gt;MSDN
Architecture Center&lt;/span&gt; as well as upcoming events. We'll continue to bring you
features and profiles from Microsoft architecture community, plus a new feature added
this issue called "Contemplating Architecture." This feature offers opinions and perspectives
from Microsoft architects and members of the Microsoft Architecture Advisory board."
&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;
[Now Playing: Ruk Ja O Dil Deewane - Dilwale Dulhania Le Jayenge]
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=a1041046-fbda-4f3a-bf23-1537dc15bba7" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,a1041046-fbda-4f3a-bf23-1537dc15bba7.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=6cc4aed6-b37f-42c0-9128-b239fcde8a44</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,6cc4aed6-b37f-42c0-9128-b239fcde8a44.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,6cc4aed6-b37f-42c0-9128-b239fcde8a44.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=6cc4aed6-b37f-42c0-9128-b239fcde8a44</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.microsoft.com/resources/practices/">Patterns &amp; Practices</a> Guide
on "Improving .NET Application Performance and Scalability" is now LIVE!
</p>
        <p>
This guide provides end-to-end guidance for managing performance and scalability throughout
your application life cycle to reduce risk and lower total cost of ownership. It provides
a framework that organizes performance into a handful of prioritized categories where
your choices heavily impact performance and scalability success. The logical units
of the framework help integrate performance throughout your application life cycle.
Information is segmented by roles, including architects, developers, testers, and
administrators, to make it more relevant and actionable. This guide provides processes
and actionable steps for modeling performance, measuring, testing, and tuning your
applications. Expert guidance is also provided for improving the performance of managed
code, ASP.NET, Enterprise Services, Web services, Remoting, ADO.NET, XML, and SQL
Server.
</p>
        <p>
Check it out @<br /><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenet.asp"><u><font color="#0000ff">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenet.asp</font></u></a></p>
        <p>
Congrats to J.D. Meier, Srinath Vasireddy, Ashish Babbar, and Alex Mackman as
well as all of the Microsoft and external reviewers who contributed to this guide!
</p>
        <p>
Do I even need to mention that this amazing tome is put out by the <a href="http://www.microsoft.com/resources/practices/">MS
PAG</a>? *
</p>
        <p>
* Promote the PAG week continues .... :-)
</p>
        <div>
          <p>
[Now Playing: Humko Humise Chura Lo - Mohabbatein]
</p>
        </div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=6cc4aed6-b37f-42c0-9128-b239fcde8a44" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Improving .NET Application Performance and Scalability - Live!</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,6cc4aed6-b37f-42c0-9128-b239fcde8a44.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/04/29/ImprovingNETApplicationPerformanceAndScalabilityLive.aspx</link>
      <pubDate>Thu, 29 Apr 2004 03:08:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.microsoft.com/resources/practices/"&gt;Patterns &amp;amp; Practices&lt;/a&gt; Guide
on "Improving .NET Application Performance and Scalability" is now LIVE!
&lt;/p&gt;
&lt;p&gt;
This guide provides end-to-end guidance for managing performance and scalability throughout
your application life cycle to reduce risk and lower total cost of ownership. It provides
a framework that organizes performance into a handful of prioritized categories where
your choices heavily impact performance and scalability success. The logical units
of the framework help integrate performance throughout your application life cycle.
Information is segmented by roles, including architects, developers, testers, and
administrators, to make it more relevant and actionable. This guide provides processes
and actionable steps for modeling performance, measuring, testing, and tuning your
applications. Expert guidance is also provided for improving the performance of managed
code, ASP.NET, Enterprise Services, Web services, Remoting, ADO.NET, XML, and SQL
Server.
&lt;/p&gt;
&lt;p&gt;
Check it out @&lt;br&gt;
&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenet.asp"&gt;&lt;u&gt;&lt;font color=#0000ff&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenet.asp&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Congrats&amp;nbsp;to J.D. Meier, Srinath Vasireddy, Ashish Babbar, and Alex Mackman as
well as all of the Microsoft and external&amp;nbsp;reviewers who contributed to this guide!
&lt;/p&gt;
&lt;p&gt;
Do I even need to mention that this&amp;nbsp;amazing tome&amp;nbsp;is put out by the &lt;a href="http://www.microsoft.com/resources/practices/"&gt;MS
PAG&lt;/a&gt;? *
&lt;/p&gt;
&lt;p&gt;
* Promote the PAG week continues .... :-)
&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;
[Now Playing: Humko Humise Chura Lo - Mohabbatein]
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=6cc4aed6-b37f-42c0-9128-b239fcde8a44" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,6cc4aed6-b37f-42c0-9128-b239fcde8a44.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=ffa8c795-36b0-489d-b22c-2f1f8a853708</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,ffa8c795-36b0-489d-b22c-2f1f8a853708.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,ffa8c795-36b0-489d-b22c-2f1f8a853708.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=ffa8c795-36b0-489d-b22c-2f1f8a853708</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
[NOTE: For my non-US readers, Tylenol is a very popular medicine that is taken for
headache and fever relief in the US]
</p>
        <p>
I am an unabashed fan of the PAG!
</p>
        <p>
For those who do not know the acronym, the PAG is the Platform Architecture Guidance
Group at Microsoft. They are the folks who put out the Patterns &amp; Practices series
of books as well the .NET Application Blocks among other things. In a sentence, these
are the folks who provide you with the tools and information that demonstrate and
document the best practices for implementing the current shipping technology.
</p>
        <p>
          <b>Best Practices for Current, Shipping Technology</b>. This is an important distinction.
</p>
        <p>
In a lot of ways the Product Teams at Microsoft live a Rev ahead. They are
already working on the next generation (and the one after) of the current technology.
When speaking with them the focus often is on what is coming and not on what is currently
here. While that is very cool and exciting, it does not address the working
concerns of the current technology implementers.
</p>
        <p>
Pop open the latest issue of MSDN Magazine or any of the other .NET trade rags. What
do you find these days? Coverage of Visual Studio .NET 2005! Generics in C# 2.0! The
magic and the wonder that is Longhorn! Yet these technologies are at best more than
a year out. Are you deploying PRODUCTION apps on this technology? Is any Enterprise
(other than ones that Microsoft directly supports via its Early Adopter Programs)
implementing this technology NOW? The answer is NO! The pain points and the headaches
that Enterprises are experiencing are with the current shipping 1.0 or 1.1 .NET Technologies…
Heck, many folks are only now thinking of moving to .NET (More on this later..). They
have little to no interest in alpha/beta technologies. They have issues that need
to be addressed now.
</p>
        <p>
This is where the PAG comes in. They produce the prescription that solves the headaches
that Enterprises have RIGHT NOW! They produce the best practices and architecture
guidelines that showcase Microsoft technology as being seriously Enterprise ready.
Here is a sampling:
</p>
        <ul>
          <li>
Application Architecture for .NET 
</li>
          <li>
Building Secure ASP.NET Applications 
</li>
          <li>
Enterprise Solution Patterns for .NET 
</li>
          <li>
Improving Web Application Security 
</li>
          <li>
Microsoft Exchange 2000 Server Operations Guide 
</li>
          <li>
.NET Application Blocks 
</li>
          <li>
Microsoft SQL Server 2000 High Availability Series 
</li>
          <li>
Shadowfax SOA Reference Application 
</li>
          <li>
and more…. @ <a href="http://www.microsoft.com/resources/practices/"><u><font color="#0000ff">http://www.microsoft.com/resources/practices/</font></u></a></li>
        </ul>
        <p>
I personally don't think that they get the credit or visibility they truly deserve.
The reason of course is that they are not out in front talking about and playing with
cool tools and sexy technologies. They are the people who provide the basic blocking
and tackling that allows the Quarterback to be a shining star. They do what they do
so OTHERS can get the work done. And in that goal, they are immensely successful.
</p>
        <p>
I've been meaning to write about this for some time, but this came up front and center
for me very recently. I am currently in the midst of an Architecture consulting gig
with a firm that is moving to .NET. I've done this sort of thing before (first time
about 2 years ago), when I was the Architect/Technical Lead tasked with implementing
.NET for the Fortune 500 Enterprise I was then working at. At that time, a lot of
the practices that were implemented were a direct result of my personal knowledge
of .NET from working with it from the early beta phases and knowing the right people
to ping at Microsoft to get advice on particular issues that I needed help with. What
is different now is the breath and depth of material I can tap into from the PAG that
make mine and my client's life so much easier. I don't think a day has gone by when
we have not reviewed some best practice or implemented something that came out of
the PAG. The resources the PAG has provided has allowed my client to have the comfort
factor that we are doing the right things with .NET Technologies.
</p>
        <p>
So <b>Kudos and Thank You</b> to Sandy, Shaun, JD, Tom, Ron, Ed, David and the many
more folks at PAG.
</p>
        <p>
If you take away one thing from this entry, it is that when you run into issues or
need guidance on current technologies, do go over to the PAG site @ <a href="http://www.microsoft.com/resources/practices/"><u><font color="#0000ff">http://www.microsoft.com/resources/practices/</font></u></a> and
browse over their offerings. I would not be surprised if you come away with answers
or pointers to answers that heal YOUR pain!
</p>
        <div>
          <p>
[Now Playing: Ek Pal Ka Jeena - Kaho Naa Pyar Hai]
</p>
        </div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=ffa8c795-36b0-489d-b22c-2f1f8a853708" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Microsoft PAG == Tylenol  for the Enterprise</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,ffa8c795-36b0-489d-b22c-2f1f8a853708.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/04/26/MicrosoftPAGTylenolForTheEnterprise.aspx</link>
      <pubDate>Mon, 26 Apr 2004 03:13:00 GMT</pubDate>
      <description>&lt;p&gt;
[NOTE: For my non-US readers, Tylenol is a very popular medicine that is taken for
headache and fever relief in the US]
&lt;/p&gt;
&lt;p&gt;
I am an unabashed fan of the PAG!
&lt;/p&gt;
&lt;p&gt;
For those who do not know the acronym, the PAG is the Platform Architecture Guidance
Group at Microsoft. They are the folks who put out the Patterns &amp;amp; Practices series
of books as well the .NET Application Blocks among other things. In a sentence, these
are the folks who provide you with the tools and information that demonstrate and
document the best practices for implementing the current shipping technology.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Best Practices for Current, Shipping Technology&lt;/b&gt;. This is an important distinction.
&lt;/p&gt;
&lt;p&gt;
In a lot of ways the Product Teams at Microsoft&amp;nbsp;live a&amp;nbsp;Rev ahead. They are
already working on the next generation (and the one after) of the current technology.
When speaking with them the focus often is on what is coming and not on what is currently
here. While that is very cool and&amp;nbsp;exciting, it does not address the&amp;nbsp;working
concerns of the current technology implementers.
&lt;/p&gt;
&lt;p&gt;
Pop open the latest issue of MSDN Magazine or any of the other .NET trade rags. What
do you find these days? Coverage of Visual Studio .NET 2005! Generics in C# 2.0! The
magic and the wonder that is Longhorn! Yet these technologies are at best more than
a year out. Are you deploying PRODUCTION apps on this technology? Is any Enterprise
(other than ones that Microsoft directly supports via its Early Adopter Programs)
implementing this technology NOW? The answer is NO! The pain points and the headaches
that Enterprises are experiencing are with the current shipping 1.0 or 1.1 .NET Technologies&amp;#8230;
Heck, many folks are only now thinking of moving to .NET (More on this later..). They
have little to no interest in alpha/beta technologies. They have issues that need
to be addressed now.
&lt;/p&gt;
&lt;p&gt;
This is where the PAG comes in. They produce the prescription that solves the headaches
that Enterprises have RIGHT NOW! They produce the best practices and architecture
guidelines that showcase Microsoft technology as being seriously Enterprise ready.
Here is a sampling:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Application Architecture for .NET 
&lt;li&gt;
Building Secure ASP.NET Applications 
&lt;li&gt;
Enterprise Solution Patterns for .NET 
&lt;li&gt;
Improving Web Application Security 
&lt;li&gt;
Microsoft Exchange 2000 Server Operations Guide 
&lt;li&gt;
.NET Application Blocks 
&lt;li&gt;
Microsoft SQL Server 2000 High Availability Series 
&lt;li&gt;
Shadowfax SOA Reference Application 
&lt;li&gt;
and more&amp;#8230;. @ &lt;a href="http://www.microsoft.com/resources/practices/"&gt;&lt;u&gt;&lt;font color=#0000ff&gt;http://www.microsoft.com/resources/practices/&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I personally don't think that they get the credit or visibility they truly deserve.
The reason of course is that they are not out in front talking about and playing with
cool tools and sexy technologies. They are the people who provide the basic blocking
and tackling that allows the Quarterback to be a shining star. They do what they do
so OTHERS can get the work done. And in that goal, they are immensely successful.
&lt;/p&gt;
&lt;p&gt;
I've been meaning to write about this for some time, but this came up front and center
for me very recently. I am currently in the midst of an Architecture consulting gig
with a firm that is moving to .NET. I've done this sort of thing before (first time
about 2 years ago), when I was the Architect/Technical Lead tasked with implementing
.NET for the Fortune 500 Enterprise I was then working at. At that time, a lot of
the practices that were implemented were a direct result of my personal knowledge
of .NET from working with it from the early beta phases and knowing the right people
to ping at Microsoft to get advice on particular issues that I needed help with. What
is different now is the breath and depth of material I can tap into from the PAG that
make mine and my client's life so much easier. I don't think a day has gone by when
we have not reviewed some best practice or implemented something that came out of
the PAG. The resources the PAG has provided has allowed my client to have the comfort
factor that we are doing the right things with .NET Technologies.
&lt;/p&gt;
&lt;p&gt;
So &lt;b&gt;Kudos and Thank You&lt;/b&gt; to Sandy, Shaun, JD, Tom, Ron, Ed, David and the many
more folks at PAG.
&lt;/p&gt;
&lt;p&gt;
If you take away one thing from this entry, it is that when you run into issues or
need guidance on current technologies, do go over to the PAG site @ &lt;a href="http://www.microsoft.com/resources/practices/"&gt;&lt;u&gt;&lt;font color=#0000ff&gt;http://www.microsoft.com/resources/practices/&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; and
browse over their offerings. I would not be surprised if you come away with answers
or pointers to answers that heal YOUR pain!
&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;
[Now Playing: Ek Pal Ka Jeena - Kaho Naa Pyar Hai]
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=ffa8c795-36b0-489d-b22c-2f1f8a853708" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,ffa8c795-36b0-489d-b22c-2f1f8a853708.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=13f1053f-ab69-44ff-9d4a-9979cbb6e895</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,13f1053f-ab69-44ff-9d4a-9979cbb6e895.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,13f1053f-ab69-44ff-9d4a-9979cbb6e895.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=13f1053f-ab69-44ff-9d4a-9979cbb6e895</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
[Changed my mind just this once, about Longhorn stuff. Only because it is from my
favorite people @ the PAG]
</p>
        <p>
The <em>Developer Guide to Migration and Interoperability in "Longhorn"</em> is a <a href="http://www.microsoft.com/resources/practices/">patterns
&amp; practices</a> "Emerging Practice" that provides developers with a roadmap for
how to start preparing for Longhorn today. It addresses these issues from two main
vantage points. First, from an architectural perspective, it looks at considerations
and decisions that are optimal for establishing an infrastructure for Longhorn applications. Second,
from a development perspective, it delves into low-level coding recommendations for
when and how to interoperate and/or migrate existing code. These recommendations
include new best practices around managed/unmanaged code integration that are relevant
to all mixed mode development. The recommendations also include deep discussion
on the presentation layer, in terms of migration and interoperability, of Win32, ActiveX,
and Windows Forms with the new presentation capabilities in Longhorn. 
</p>
        <p>
Check it out @<br /><a href="http://msdn.microsoft.com/longhorn/understanding/books/migrationguide/">http://msdn.microsoft.com/longhorn/understanding/books/migrationguide/</a></p>
        <div>
          <p>
[Now Playing: Tujhe Yaad Na Meri Aayee - Kuch Kuch Hota Hai]
</p>
        </div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=13f1053f-ab69-44ff-9d4a-9979cbb6e895" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Developer Guide to Migration and Interoperability in "Longhorn"</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,13f1053f-ab69-44ff-9d4a-9979cbb6e895.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/04/26/DeveloperGuideToMigrationAndInteroperabilityInLonghorn.aspx</link>
      <pubDate>Mon, 26 Apr 2004 02:54:00 GMT</pubDate>
      <description>&lt;p&gt;
[Changed my mind just this once, about Longhorn stuff. Only because it is from my
favorite people @ the PAG]
&lt;/p&gt;
&lt;p&gt;
The &lt;em&gt;Developer Guide to Migration and Interoperability in "Longhorn"&lt;/em&gt; is a &lt;a href="http://www.microsoft.com/resources/practices/"&gt;patterns
&amp;amp; practices&lt;/a&gt; "Emerging Practice" that provides developers with a roadmap for
how to start preparing for Longhorn today. It addresses these issues from two main
vantage points.&amp;nbsp;First, from an architectural perspective, it looks at considerations
and decisions that are optimal for establishing an infrastructure for Longhorn applications.&amp;nbsp;Second,
from a development perspective, it delves into low-level coding recommendations for
when and how to interoperate and/or migrate existing code.&amp;nbsp;These recommendations
include new best practices around managed/unmanaged code integration that are relevant
to all mixed mode development.&amp;nbsp;The recommendations also include deep discussion
on the presentation layer, in terms of migration and interoperability, of Win32, ActiveX,
and Windows Forms with the new presentation capabilities in Longhorn.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Check it out @&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/longhorn/understanding/books/migrationguide/"&gt;http://msdn.microsoft.com/longhorn/understanding/books/migrationguide/&lt;/a&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;
[Now Playing: Tujhe Yaad Na Meri Aayee - Kuch Kuch Hota Hai]
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=13f1053f-ab69-44ff-9d4a-9979cbb6e895" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,13f1053f-ab69-44ff-9d4a-9979cbb6e895.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=9b3fe1e1-50cb-4c30-a904-2fe6db70021f</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,9b3fe1e1-50cb-4c30-a904-2fe6db70021f.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,9b3fe1e1-50cb-4c30-a904-2fe6db70021f.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=9b3fe1e1-50cb-4c30-a904-2fe6db70021f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>
            <a href="http://go.microsoft.com/fwlink/?linkid=25881">Architecting and Building
Smart Client Solutions: The Future of Application Development - Level 200</a>
          </strong> [1]<br />
April 22, 2004, 9:00 AM - 10:30 AM Pacific Time<br />
Tim Huckaby, CEO, InterKnowlolgy<br /><br />
In Spring of 2003, Tim Huckaby was tasked by Microsoft® Norway to develop and
deliver a keynote level "Architecting and Building Smart Client Applications" presentation
for the Microsoft® Visual Studio® .NET 2003 launch in Oslo. In performing
the research to put together the content and demos necessary for a great presentation,
Tim discovered multiple instances of inconsistent messaging in smart client application
development that still exists today. Even today, Microsoft has multiple conflicting
definitions of what a smart client application is and there are still some very distinct
and differing "siloed" opinions of smart client applications within the Microsoft
Product Groups. Developers won't want to miss this webcasts demonstrations that will
help demystify these inconsistencies and narrow the definition of what a smart client
application is.<br /><br />
  <br /><a href="http://go.microsoft.com/fwlink/?linkid=25880"><strong>Patterns &amp; Practices
Live: P&amp;P Update - Level 200</strong></a><strong> </strong>[2]<br />
April 22, 2004, 11:00 AM - 12:30 PM Pacific Time<br /><a href="http://blogs.msdn.com/sandyk/">Sandy Khaund, Group Product Manager</a>, Microsoft
Corporation<br /><br />
This webcast will be a patterns &amp; practices Spring 2004 Update. This is a follow-up
to the October 2003 webcast about patterns &amp; practices, the library of guidance
and code to help build sound solutions for the .NET Framework. In this webcast, we
will provide an overview of the upcoming deliverables provided by patterns &amp; practices
(Shadowfax, Performance &amp; Scalability, Integration Patterns) and give you a preview
of other activities that the team will be pursuing in the months ahead.
</p>
        <p>
[1] <a href="http://go.microsoft.com/fwlink/?linkid=25881">http://go.microsoft.com/fwlink/?linkid=25881</a><br />
[2] <a href="http://go.microsoft.com/fwlink/?linkid=25880">http://go.microsoft.com/fwlink/?linkid=25880</a><br /></p>
        <div>
          <p>
[Now Playing: O Haseena Zulfon Wali - Dil Vil Pyar Vyar]
</p>
        </div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=9b3fe1e1-50cb-4c30-a904-2fe6db70021f" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Architecture Webcasts  for the week of April 19, 2004</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,9b3fe1e1-50cb-4c30-a904-2fe6db70021f.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/04/19/ArchitectureWebcastsForTheWeekOfApril192004.aspx</link>
      <pubDate>Mon, 19 Apr 2004 03:46:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;&lt;a href="http://go.microsoft.com/fwlink/?linkid=25881"&gt;Architecting and Building
Smart Client Solutions: The Future of Application Development - Level 200&lt;/a&gt;&lt;/strong&gt; [1]&lt;br&gt;
April 22, 2004, 9:00 AM - 10:30 AM Pacific Time&lt;br&gt;
Tim Huckaby, CEO, InterKnowlolgy&lt;br&gt;
&lt;br&gt;
In Spring of 2003, Tim Huckaby was tasked by Microsoft&amp;#174; Norway to develop and
deliver a keynote level "Architecting and Building Smart Client Applications" presentation
for the Microsoft&amp;#174; Visual Studio&amp;#174; .NET 2003 launch in Oslo. In performing
the research to put together the content and demos necessary for a great presentation,
Tim discovered multiple instances of inconsistent messaging in smart client application
development that still exists today. Even today, Microsoft has multiple conflicting
definitions of what a smart client application is and there are still some very distinct
and differing "siloed" opinions of smart client applications within the Microsoft
Product Groups. Developers won't want to miss this webcasts demonstrations that will
help demystify these inconsistencies and narrow the definition of what a smart client
application is.&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&lt;br&gt;
&lt;a href="http://go.microsoft.com/fwlink/?linkid=25880"&gt;&lt;strong&gt;Patterns &amp;amp; Practices
Live: P&amp;amp;P Update - Level 200&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;[2]&lt;br&gt;
April 22, 2004, 11:00 AM - 12:30 PM Pacific Time&lt;br&gt;
&lt;a href="http://blogs.msdn.com/sandyk/"&gt;Sandy Khaund, Group Product Manager&lt;/a&gt;, Microsoft
Corporation&lt;br&gt;
&lt;br&gt;
This webcast will be a patterns &amp;amp; practices Spring 2004 Update. This is a follow-up
to the October 2003 webcast about patterns &amp;amp; practices, the library of guidance
and code to help build sound solutions for the .NET Framework. In this webcast, we
will provide an overview of the upcoming deliverables provided by patterns &amp;amp; practices
(Shadowfax, Performance &amp;amp; Scalability, Integration Patterns) and give you a preview
of other activities that the team will be pursuing in the months ahead.
&lt;/p&gt;
&lt;p&gt;
[1] &lt;a href="http://go.microsoft.com/fwlink/?linkid=25881"&gt;http://go.microsoft.com/fwlink/?linkid=25881&lt;/a&gt;
&lt;br&gt;
[2] &lt;a href="http://go.microsoft.com/fwlink/?linkid=25880"&gt;http://go.microsoft.com/fwlink/?linkid=25880&lt;/a&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;
[Now Playing: O Haseena Zulfon Wali - Dil Vil Pyar Vyar]
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=9b3fe1e1-50cb-4c30-a904-2fe6db70021f" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,9b3fe1e1-50cb-4c30-a904-2fe6db70021f.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=c05e2ba1-0a14-4733-a7c9-be8087694d58</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,c05e2ba1-0a14-4733-a7c9-be8087694d58.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,c05e2ba1-0a14-4733-a7c9-be8087694d58.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c05e2ba1-0a14-4733-a7c9-be8087694d58</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p align="left">
I am in the process of architecting a thick client distributed application that also
has application integration business requirements. Looking through the various
Distributed Systems Patterns in the Patterns &amp; Practices "Enterprise Solution
Patterns using Microsoft .NET v 2.0", the Data Transfer Object (DTO) Pattern maps
very well into the path that we have chosen (WinForms &lt;--&gt; WS &lt;--&gt; Biz/Data).
</p>
        <p align="left">
While I was initially looking at implementing the DTO using a typed DataSet,
I am concerned with the potential performance hit (Instantiation/ Filling/ Serialization/
Deserialization) when using a DataSet. Also, in this particular use case, the interaction
is with a single table. The recommended alternative for better performance in
this case is to use a DataReader with strongly typed objects. The implementation
of which is supposedly documented in "Implementing DTO in .NET with Serialized
Objects". 
</p>
        <p align="left">
But while this is referenced multiple times as a Related Pattern, I can't seem
to find it in the book. Is this missing or is it in some other corner of the book
that I have not perused as of yet?
</p>
        <p>
[Now Playing: Jaage Jaage - Mere Yaar Ki Shaadi Hai]
</p>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=c05e2ba1-0a14-4733-a7c9-be8087694d58" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Enterprise Solution Patterns 2.0: Implementing DTO in .NET with Serialized Objects - Missing?</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,c05e2ba1-0a14-4733-a7c9-be8087694d58.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/04/19/EnterpriseSolutionPatterns20ImplementingDTOInNETWithSerializedObjectsMissing.aspx</link>
      <pubDate>Mon, 19 Apr 2004 00:33:00 GMT</pubDate>
      <description>&lt;p align=left&gt;
I am in the process of architecting a thick client distributed application that also
has application integration business requirements. Looking&amp;nbsp;through the&amp;nbsp;various
Distributed Systems Patterns in&amp;nbsp;the Patterns &amp;amp; Practices "Enterprise Solution
Patterns using Microsoft .NET v 2.0", the&amp;nbsp;Data Transfer Object (DTO)&amp;nbsp;Pattern&amp;nbsp;maps
very well into the path that we have chosen (WinForms &amp;lt;--&amp;gt; WS &amp;lt;--&amp;gt; Biz/Data).
&lt;/p&gt;
&lt;p align=left&gt;
While I was initially looking at implementing the DTO using a&amp;nbsp;typed DataSet,
I am concerned with the potential performance hit (Instantiation/ Filling/ Serialization/
Deserialization) when using a DataSet. Also, in this particular use case, the interaction
is with a single table. The recommended alternative&amp;nbsp;for better performance in
this case is&amp;nbsp;to use&amp;nbsp;a DataReader with strongly typed objects. The implementation
of which is&amp;nbsp;supposedly documented in "Implementing DTO in .NET with Serialized
Objects".&amp;nbsp;
&lt;/p&gt;
&lt;p align=left&gt;
But while&amp;nbsp;this is referenced multiple times as a Related Pattern, I can't seem
to find it in the book. Is this missing or is it in some other corner of the book
that I have not perused as of yet?
&lt;/p&gt;
&lt;p&gt;
[Now Playing: Jaage Jaage - Mere Yaar Ki Shaadi Hai]
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=c05e2ba1-0a14-4733-a7c9-be8087694d58" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,c05e2ba1-0a14-4733-a7c9-be8087694d58.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=76eb1b96-7602-49d7-a651-459cb800c0e6</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,76eb1b96-7602-49d7-a651-459cb800c0e6.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,76eb1b96-7602-49d7-a651-459cb800c0e6.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=76eb1b96-7602-49d7-a651-459cb800c0e6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://weblogs.asp.net/kpleas/archive/2004/04/15/113996.aspx">Keith Pleas
just blogged</a> that the Microsoft Architecture Center has an RSS feed. Subscribed! 
You can find it @ <a href="http://msdn.microsoft.com/architecture/rss.xml">http://msdn.microsoft.com/architecture/rss.xml</a><br /><br />
BTW, Keith is one of the main people on the GAPP (Guidance About Patterns &amp; Practices) Team,
a team of third-party subject matter experts that work closely with the PAG (Prescriptive
Architecture Guidance) team to create material that promotes and enhances PAG’s
Patterns &amp; Practices titles. He is also the guy putting together the <a href="http://www.pnpsummit.com/">Patterns
&amp; Practices Summit</a>.<br /><br />
You can find out more about the GAPP in the following On Demand Webcast @<br /><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032249518&amp;Culture=en-US">http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032249518&amp;Culture=en-US</a><br /><br />
More info on the Patterns &amp; Practices Summit @<br /><a href="http://www.pnpsummit.com/">http://www.pnpsummit.com/</a><br /><br />
Keith's blog can be found @ <a href="http://weblogs.asp.net/kpleas/">http://weblogs.asp.net/kpleas/</a></p>
        <div>
          <p>
[Now Playing: Pehle Kabhi Na Mera Haal - Baghban]
</p>
        </div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=76eb1b96-7602-49d7-a651-459cb800c0e6" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Microsoft Architecture Center RSS Feed / GAPP</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,76eb1b96-7602-49d7-a651-459cb800c0e6.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/04/16/MicrosoftArchitectureCenterRSSFeedGAPP.aspx</link>
      <pubDate>Fri, 16 Apr 2004 02:41:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://weblogs.asp.net/kpleas/archive/2004/04/15/113996.aspx"&gt;Keith Pleas
just blogged&lt;/a&gt; that the Microsoft Architecture Center has an RSS feed. Subscribed!&amp;nbsp;
You can find it @ &lt;a href="http://msdn.microsoft.com/architecture/rss.xml"&gt;http://msdn.microsoft.com/architecture/rss.xml&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
BTW, Keith is one of the main people on the GAPP (Guidance About Patterns &amp;amp; Practices)&amp;nbsp;Team,
a team of third-party subject matter experts that&amp;nbsp;work closely with the PAG (Prescriptive
Architecture Guidance) team to create material that promotes and enhances PAG&amp;#8217;s
Patterns &amp;amp; Practices titles. He is also the guy putting together the &lt;a href="http://www.pnpsummit.com/"&gt;Patterns
&amp;amp; Practices Summit&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
You can find out more about the GAPP in the following On Demand Webcast @&lt;br&gt;
&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032249518&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032249518&amp;amp;Culture=en-US&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
More info on the Patterns &amp;amp; Practices Summit @&lt;br&gt;
&lt;a href="http://www.pnpsummit.com/"&gt;http://www.pnpsummit.com/&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Keith's blog can be found @ &lt;a href="http://weblogs.asp.net/kpleas/"&gt;http://weblogs.asp.net/kpleas/&lt;/a&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;
[Now Playing: Pehle Kabhi Na Mera Haal - Baghban]
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=76eb1b96-7602-49d7-a651-459cb800c0e6" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,76eb1b96-7602-49d7-a651-459cb800c0e6.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=ca996a1e-2814-44b2-9701-5ef9fb89c24a</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,ca996a1e-2814-44b2-9701-5ef9fb89c24a.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,ca996a1e-2814-44b2-9701-5ef9fb89c24a.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=ca996a1e-2814-44b2-9701-5ef9fb89c24a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>Design and Architecture for .NET Applications - Level 300</strong>
          <br />
          <a href="http://go.microsoft.com/fwlink/?linkid=25743">http://go.microsoft.com/fwlink/?linkid=25743</a>
          <br />
April 13, 2004, 11:00 AM - 12:30 PM Pacific Time 
<br />
Rockford Lhotka, Technology Evangelist and CEO, Magenic Technologies 
</p>
        <p>
There are many ways to architect a .NET application. Based on Magenic's architecture
experience with .NET at numerous clients, learn which ways work best for Web and Microsoft
Windows development. Discover when to use object-oriented designs, and when to use
data-centric designs. Find out when to use and not to use Enterprise Services, Remoting,
Web services, and other key .NET technologies. 
</p>
        <p>
          <strong>Patterns &amp; Practices Live: Powered by LogicLibrary Logidex - Level
200</strong>
          <a href="http://go.microsoft.com/fwlink/?linkid=25875">
            <br />
http://go.microsoft.com/fwlink/?linkid=25875</a>
          <br />
April 15, 2004, 11:00 AM - 12:30 PM Pacific Time 
<br />
Brent Carlson, Vice President of Technology and Co-founder, LogicLibrary 
</p>
        <p>
Patterns offer proven solutions to recurring application architecture, design, and
implementation problems within a particular context. The Microsoft(r) Platform Architectural
Guidance (PAG) Group has developed a number of patterns and best practices for use
by architects and developers as they design and build enterprise solutions. The MSDN
Logidex .NET Library, powered by LogicLibrary Logidex, provides fast, easy access
to the PAG patterns and practices on MSDN. This webcast will use the .NET PetShop
reference application to introduce participants to the text and model-based search
capabilities of Logidex and to the content of the Logidex .NET Library, showing how
the various components of this application are related to PAG-provided patterns and
application blocks and to core .NET Framework capabilities. 
</p>
        <div>
          <p>
[Now Playing: Saanwali Si Ek Ladki - Mujhse Dosti Karoge]<br /></p>
        </div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=ca996a1e-2814-44b2-9701-5ef9fb89c24a" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>Architecture Webcasts for the week of April 12, 2004</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,ca996a1e-2814-44b2-9701-5ef9fb89c24a.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/04/10/ArchitectureWebcastsForTheWeekOfApril122004.aspx</link>
      <pubDate>Sat, 10 Apr 2004 19:40:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;Design and Architecture for .NET Applications - Level 300&lt;/strong&gt; 
&lt;br&gt;
&lt;a href="http://go.microsoft.com/fwlink/?linkid=25743"&gt;http://go.microsoft.com/fwlink/?linkid=25743&lt;/a&gt; 
&lt;br&gt;
April 13, 2004, 11:00 AM - 12:30 PM Pacific Time 
&lt;br&gt;
Rockford Lhotka, Technology Evangelist and CEO, Magenic Technologies 
&lt;/p&gt;
&lt;p&gt;
There are many ways to architect a .NET application. Based on Magenic's architecture
experience with .NET at numerous clients, learn which ways work best for Web and Microsoft
Windows development. Discover when to use object-oriented designs, and when to use
data-centric designs. Find out when to use and not to use Enterprise Services, Remoting,
Web services, and other key .NET technologies. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Patterns &amp;amp; Practices Live:&amp;nbsp;Powered by LogicLibrary Logidex - Level
200&lt;/strong&gt; &lt;a href="http://go.microsoft.com/fwlink/?linkid=25875"&gt;
&lt;br&gt;
http://go.microsoft.com/fwlink/?linkid=25875&lt;/a&gt; 
&lt;br&gt;
April 15, 2004, 11:00 AM - 12:30 PM Pacific Time 
&lt;br&gt;
Brent Carlson, Vice President of Technology and Co-founder, LogicLibrary 
&lt;/p&gt;
&lt;p&gt;
Patterns offer proven solutions to recurring application architecture, design, and
implementation problems within a particular context. The Microsoft(r) Platform Architectural
Guidance (PAG) Group has developed a number of patterns and best practices for use
by architects and developers as they design and build enterprise solutions. The MSDN
Logidex .NET Library, powered by LogicLibrary Logidex, provides fast, easy access
to the PAG patterns and practices on MSDN. This webcast will use the .NET PetShop
reference application to introduce participants to the text and model-based search
capabilities of Logidex and to the content of the Logidex .NET Library, showing how
the various components of this application are related to PAG-provided patterns and
application blocks and to core .NET Framework capabilities. 
&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;
[Now Playing: Saanwali Si Ek Ladki - Mujhse Dosti Karoge]&lt;br&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=ca996a1e-2814-44b2-9701-5ef9fb89c24a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,ca996a1e-2814-44b2-9701-5ef9fb89c24a.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=a91db26f-1496-4992-9534-00e261012ade</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,a91db26f-1496-4992-9534-00e261012ade.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,a91db26f-1496-4992-9534-00e261012ade.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a91db26f-1496-4992-9534-00e261012ade</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The Microsoft Patterns &amp; Practices Group has released Version 2.0 of the User
Interface Process Application Block.<br /><br /><strong>Overview<br /></strong><br />
The User Interface Process Block V2 or UIP V2 is the next version of one of the most
popular application blocks. This block is a reusable code component that builds on
the capabilities of the Microsoft .NET Framework to help you separate your business
logic code from the user interface. The UIP Application Block is based on the model-view-controller
(MVC) pattern. You can use the block to write complex user interface navigation and
workflow processes that can be reused in multiple scenarios and extended as your application
evolves.<br /><br />
The following features are in the first version of UIP and continue to be part of
UIP version 2. 
</p>
        <ul>
          <li>
Web session resume 
</li>
          <li>
Web session transfer 
</li>
          <li>
Reuse of code between application types 
</li>
          <li>
Development of discrete tasks 
</li>
          <li>
Storage of state in state persistence providers 
<br /></li>
        </ul>
        <p>
The following features are new to UIP version 2:
</p>
        <ul>
          <li>
Expanded navigation management 
</li>
          <li>
Additional state persistence providers 
</li>
          <li>
Layout managers 
</li>
          <li>
Enable back-button support 
</li>
          <li>
Usability enhancements 
</li>
          <li>
Support for Smart Client Applications, including state persistence using isolated
storage 
</li>
          <li>
New views supported: hosted controls, wizards, and floating windows 
</li>
          <li>
A number of fixes and enhancements to V1.</li>
        </ul>
        <div>Information @<br /><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/uipab.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/uipab.asp</a></div>
        <div> 
</div>
        <div>Download @<br /><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=98C6CC9D-88E1-4490-8BD6-78092A0F084E&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyId=98C6CC9D-88E1-4490-8BD6-78092A0F084E&amp;displaylang=en</a></div>
        <div> 
</div>
        <div>I have updated my complete list of Application Blocks @<br /><a href="http://cyberforge.com/weblog/aniltj/articles/217.aspx">http://cyberforge.com/weblog/aniltj/articles/217.aspx</a></div>
        <div> 
</div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=a91db26f-1496-4992-9534-00e261012ade" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>PAG releases User Interface Process Application Block - Version 2.0</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,a91db26f-1496-4992-9534-00e261012ade.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/04/09/PAGReleasesUserInterfaceProcessApplicationBlockVersion20.aspx</link>
      <pubDate>Fri, 09 Apr 2004 23:10:00 GMT</pubDate>
      <description>&lt;p&gt;
The Microsoft Patterns &amp;amp; Practices Group has released Version 2.0 of the User
Interface Process Application Block.&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Overview&lt;br&gt;
&lt;/strong&gt;
&lt;br&gt;
The User Interface Process Block V2 or UIP V2 is the next version of one of the most
popular application blocks. This block is a reusable code component that builds on
the capabilities of the Microsoft .NET Framework to help you separate your business
logic code from the user interface. The UIP Application Block is based on the model-view-controller
(MVC) pattern. You can use the block to write complex user interface navigation and
workflow processes that can be reused in multiple scenarios and extended as your application
evolves.&lt;br&gt;
&lt;br&gt;
The following features are in the first version of UIP and continue to be part of
UIP version 2. 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Web session resume 
&lt;li&gt;
Web session transfer 
&lt;li&gt;
Reuse of code between application types 
&lt;li&gt;
Development of discrete tasks 
&lt;li&gt;
Storage of state in state persistence providers 
&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The following features are new to UIP version 2:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Expanded navigation management 
&lt;li&gt;
Additional state persistence providers 
&lt;li&gt;
Layout managers 
&lt;li&gt;
Enable back-button support 
&lt;li&gt;
Usability enhancements 
&lt;li&gt;
Support for Smart Client Applications, including state persistence using isolated
storage 
&lt;li&gt;
New views supported: hosted controls, wizards, and floating windows 
&lt;li&gt;
A number of fixes and enhancements to V1.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;Information @&lt;br&gt;
&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/uipab.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/uipab.asp&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;Download @&lt;br&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=98C6CC9D-88E1-4490-8BD6-78092A0F084E&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=98C6CC9D-88E1-4490-8BD6-78092A0F084E&amp;amp;displaylang=en&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;I have updated my complete list of Application Blocks @&lt;br&gt;
&lt;a href="http://cyberforge.com/weblog/aniltj/articles/217.aspx"&gt;http://cyberforge.com/weblog/aniltj/articles/217.aspx&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=a91db26f-1496-4992-9534-00e261012ade" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,a91db26f-1496-4992-9534-00e261012ade.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=c5d7e42e-c6db-4076-a69b-9568ede17d72</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,c5d7e42e-c6db-4076-a69b-9568ede17d72.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,c5d7e42e-c6db-4076-a69b-9568ede17d72.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c5d7e42e-c6db-4076-a69b-9568ede17d72</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Per <a href="http://blogs.msdn.com/srinathv/archive/2004/04/06/108327.aspx">Srinath</a>,
the Microsoft Patterns &amp; Practices Group has released three chapters (pre-alpha)
of the Smart Client Architecture Guide [1]
</p>
        <p>
The chapters are:
</p>
        <ol>
          <li>
Introduction 
</li>
          <li>
Offline 
</li>
          <li>
Multithreading</li>
        </ol>
        <div>This is an opportunity to review and provide input into this guide. Take advantage
of it.
</div>
        <div> 
</div>
        <div align="left">[1] <a title="http://www.gotdotnet.com/community/workspaces/viewuploads.aspx?id=60dd1bb9-0d1e-45e0-975a-a7f398697344" href="http://www.gotdotnet.com/community/workspaces/viewuploads.aspx?id=60dd1bb9-0d1e-45e0-975a-a7f398697344">http://www.gotdotnet.com/community/workspaces/viewuploads.aspx?id=60dd1bb9-0d1e-45e0-975a-a7f398697344</a></div>
        <div align="left"> 
</div>
        <div align="left"> 
</div>
        <img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=c5d7e42e-c6db-4076-a69b-9568ede17d72" />
        <br />
        <hr />
These are solely my opinions and do not represent the thoughts, intentions, plans
or strategies of any third party, including my employer, except where explicitly stated.
This work is licensed under a Creative Commons 3.0 License.</body>
      <title>PAG Smart Client Architecture Guide (pre-alpha) - Seeking community input.</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,c5d7e42e-c6db-4076-a69b-9568ede17d72.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/04/07/PAGSmartClientArchitectureGuidePrealphaSeekingCommunityInput.aspx</link>
      <pubDate>Wed, 07 Apr 2004 02:39:00 GMT</pubDate>
      <description>&lt;p&gt;
Per &lt;a href="http://blogs.msdn.com/srinathv/archive/2004/04/06/108327.aspx"&gt;Srinath&lt;/a&gt;,
the Microsoft&amp;nbsp;Patterns &amp;amp; Practices Group has released three chapters (pre-alpha)
of the Smart Client Architecture Guide [1]
&lt;/p&gt;
&lt;p&gt;
The chapters are:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Introduction 
&lt;li&gt;
Offline 
&lt;li&gt;
Multithreading&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;This is an opportunity to review and provide input into this guide. Take advantage
of it.
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div align=left&gt;[1] &lt;a title=http://www.gotdotnet.com/community/workspaces/viewuploads.aspx?id=60dd1bb9-0d1e-45e0-975a-a7f398697344 href="http://www.gotdotnet.com/community/workspaces/viewuploads.aspx?id=60dd1bb9-0d1e-45e0-975a-a7f398697344"&gt;http://www.gotdotnet.com/community/workspaces/viewuploads.aspx?id=60dd1bb9-0d1e-45e0-975a-a7f398697344&lt;/a&gt;
&lt;/div&gt;
&lt;div align=left&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div align=left&gt;&amp;nbsp;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=c5d7e42e-c6db-4076-a69b-9568ede17d72" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,c5d7e42e-c6db-4076-a69b-9568ede17d72.aspx</comments>
      <category>Architecture</category>
    </item>
    <item>
      <trackback:ping>http://www.aniltj.com/blog/Trackback.aspx?guid=a8a31848-b7cc-4a2d-af08-ae5281d06fef</trackback:ping>
      <pingback:server>http://www.aniltj.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.aniltj.com/blog/PermaLink,guid,a8a31848-b7cc-4a2d-af08-ae5281d06fef.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.aniltj.com/blog/CommentView,guid,a8a31848-b7cc-4a2d-af08-ae5281d06fef.aspx</wfw:comment>
      <wfw:commentRss>http://www.aniltj.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a8a31848-b7cc-4a2d-af08-ae5281d06fef</wfw:commentRss>
      <title>MSDN Architecture Webcast to present Test Driven Development</title>
      <guid isPermaLink="false">http://www.aniltj.com/blog/PermaLink,guid,a8a31848-b7cc-4a2d-af08-ae5281d06fef.aspx</guid>
      <link>http://www.aniltj.com/blog/2004/03/23/MSDNArchitectureWebcastToPresentTestDrivenDevelopment.aspx</link>
      <pubDate>Tue, 23 Mar 2004 00:02:00 GMT</pubDate>
      <description>&lt;p&gt;
The Webcast will be held on April 8, 2004, from 11:00 AM to 12:30 PM Pacific Time
(GMT-8, US &amp;amp; Canada). It will be led by Jim Newkirk, Development Lead at Microsoft
Corporation and co-author of the book Test Driven Development in .NET.&lt;br /&gt;
[&lt;a class="ngquotelink" title="http://www.testdriven.com/modules/news/article.php?storyid=83" href="BLOCKED::http://www.testdriven.com/modules/news/article.php?storyid=83"&gt;testdriven.com&lt;/a&gt;]
&lt;/p&gt;
&lt;p&gt;
Here is the official blurb:
&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;In Kent Beck's book titled "Test-Driven Development, By Example" he defines
Test-Driven Development (TDD) as driving software development with automated tests.
He goes further by stating that TDD is governed by two simple rules: Write new code
only if an automated test has failed and eliminate duplication. The implications of
these two simple rules can proffer a profound change to the way that software is written.
Most of the literature to date has bundled TDD along with Extreme Programming (XP).
However, the benefits of using TDD are not limited to XP, and can be realized in any
programming methodology. This webcast will provide an introduction into TDD, demonstrating
how it works and what benefits it provides when used with Microsoft&amp;reg; .NET. The
examples shown will use Visual C#&amp;reg; and NUnit.&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
This is a&amp;nbsp;Patterns &amp;amp; Practices Group&amp;nbsp;Level&amp;nbsp;400 Webcast. The link
to register can be found @ &lt;a title="http://go.microsoft.com/fwlink/?LinkId=25871" href="http://go.microsoft.com/fwlink/?LinkId=25871"&gt;http://go.microsoft.com/fwlink/?LinkId=25871&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.aniltj.com/blog/aggbug.ashx?id=a8a31848-b7cc-4a2d-af08-ae5281d06fef" /&gt;
&lt;br /&gt;
&lt;hr /&gt;These are solely my opinions and do not represent the thoughts, intentions, plans or strategies of any third party, including my employer, except where explicitly stated. This work is licensed under a Creative Commons 3.0 License.</description>
      <comments>http://www.aniltj.com/blog/CommentView,guid,a8a31848-b7cc-4a2d-af08-ae5281d06fef.aspx</comments>
      <category>Architecture</category>
    </item>
  </channel>
</rss>