The Oslo team released the May 2009 CTP yesterday. For those that are interested in Oslo in general, and System.Identity in particular, then effort to get the new CTP up and running is well worth it. From the perspective of System.Identity, the new Oslo CTP represents an important leap forward in terms of design and capability. Because of this new System.Identity goodness I will be moving to the Oslo May 2009 CTP for future posts on System.Identity.
The good news is that previous blog postings on System.Identity are not invalidated by the latest rev of the System.Identity schema – the underlying principles of System.Identity’s Party Model implementation still hold true. However, there are a few noteworthy changes in the new System.Identity schema that do affect some of our previous understandings of System.Identity. The up side of this is, since we’ve only looked at a subset of the extents in the previous System.Identity schema, we don’t need to spend a lot of effort getting up to speed on the new schema.
In this post I will outline these changes so that folks who have been tracking my explorations of System.Identity can map the new schema to the previous version. I also have added a new UML model to my SkyDrive so that folks can look at the new System.Identity schema in it’s entirety. The link to the .ZIP is located at the bottom of this post.
Relevant Changes in the New System.Identity Schema
One of the most obvious changes (and improvements, IMHO) to System.Identity is the renaming of the TaxonomyEntry extent to the more intuitive Kinds extent. Correspondingly, the TaxonomyRelationship extent has been renamed KindRelationship. As can be seen in the UML below, the structures of these extents is essentially the same – which arguably represents the overall equality of Kind to TaxonomyEntry:
The next obvious change is the renaming of the PartyToPartyType extent to be the PartyToPartyRelationship extent. In addition to the name change, the new PartyToPartyRelationship extent has additional functionality embodied as new relationships to the IdentityKey extent (which I have not blogged about, but is actually very intuitive). These relationship provide the option of allowing a PartyToPartyRelationship instance to specify the particular Identity mechanism used for each Party that participates in the relationship. The following UML diagram illustrates the new and improved PartyToPartyRelationship extent:
For the purposes of the previous posts, that’s about it!
Notable Additions to the New System.Identity Schema Version
As I mentioned in Part 3 of the System.Identity series, a very powerful capability of a Party Model implementation like System.Identity is the ability to support complex relationships that may have access control implications. Part 4 of the System.Identity series will address this exact topic. Lucky for us that the new System.Identity schema adds some extents critical for supporting these scenarios.
The UML diagram below illustrates some of the most important additions to System.Identity that I will be covering in Part 4:
As can be seen, the latest rev of System.Identity adds the concept of Resource and Policy, and how Parties relate to Resources and Policies, to the schema.
Very exciting, and powerful, stuff.