<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Adam Wiener's Thoughts and Comments</title><subtitle type="html">A place to share ideas on developments in the software industry related to interoperability, new technology, and clever innovation.</subtitle><id>http://blogs.msdn.com/adamw/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/adamw/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2007-05-30T00:46:00Z</updated><entry><title>Microsoft &amp; Open Source</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/08/03/microsoft-open-source.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/08/03/microsoft-open-source.aspx</id><published>2007-08-03T21:05:15Z</published><updated>2007-08-03T21:05:15Z</updated><content type="html">&lt;p&gt;Following on from some of my recent posts on &lt;a href="http://blogs.msdn.com/adamw/archive/2007/06/29/tom-hanrahan-novell-linspire-xandros-interoperability.aspx"&gt;interoperability with open source&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/adamw/archive/2007/07/24/ironruby-dlr-giving-developers-more-language-choice-in-net.aspx"&gt;choice + community engagement&lt;/a&gt;, I wanted to give a quick up on Bill Hilf's recent announcement at &lt;a href="http://conferences.oreillynet.com/os2007/"&gt;OSCON&lt;/a&gt; unveiling a new &lt;a href="http://www.microsoft.com/opensource/default.mspx"&gt;web site&lt;/a&gt; giving some new insight into Microsoft's open source strategy.  Bill followed the announcement up with a blog &lt;a href="http://port25.technet.com/archive/2007/07/26/open-source-at-microsoft.aspx"&gt;post&lt;/a&gt; on Port 25.  Bill also announced our plans to submit the Microsoft Permissive License (MS-PL) and Microsoft Community License (MS-CL) to the OSI.
&lt;/p&gt;&lt;p&gt;One of the things that stuck out for me on the new site was "Participating in a world of Choice" – This is a theme that you can see running broadly across the company to allow customers to select the right tools and technologies to suit their needs.  Just check out my post linked above on choice for some interesting examples in the developer space.  The other key message was how we are partnering to build bridges with the open source community.  Beyond the &lt;a href="http://www.microsoft.com/sharedsource/"&gt;Shared source&lt;/a&gt; programs and our commitment to the &lt;a href="http://www.microsoft.com/interop/osp"&gt;Open Specification Promise&lt;/a&gt;, there are some specific examples of interoperability achievements on the site such as improving the PHP experience on Windows with &lt;a href="http://www.zend.com/company/zend_news/press_releases/2006/10/microsoft_and_zend_technologies_announce_technical_collaboration_to_improve_interoperability_of_php_on_the_windows_server_platform"&gt;Zend&lt;/a&gt; or improving the &lt;a href="https://www.sugarcrm.com/crm/about/press-releases/20060214-microsoft.html"&gt;SugarCRM&lt;/a&gt; experience running with IIS and SQL Server.  SugarCRM is also one of a number of open source members of the &lt;a href="http://www.interopvendoralliance.com/"&gt;interoperability vendor alliance&lt;/a&gt;, created as a forum for Microsoft partners to come together and demonstrate real-world interoperability in customer-centric scenarios.
&lt;/p&gt;&lt;p&gt;So check out the new open source site and see some of the great new partnerships we've created with the open source community.
&lt;/p&gt;&lt;p&gt;Thanks,
&lt;/p&gt;&lt;p&gt;Adam&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4209561" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author><category term="Interoperability" scheme="http://blogs.msdn.com/adamw/archive/tags/Interoperability/default.aspx" /><category term="Open Source" scheme="http://blogs.msdn.com/adamw/archive/tags/Open+Source/default.aspx" /><category term="Open Specification Promise (OSP)" scheme="http://blogs.msdn.com/adamw/archive/tags/Open+Specification+Promise+_2800_OSP_2900_/default.aspx" /></entry><entry><title>[MORE] Active Directory Federation Services (ADFS) Interoperability with Oracle Identity Federation</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/08/01/more-active-directory-federation-services-adfs-interoperability-with-oracle-identity-federation.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/08/01/more-active-directory-federation-services-adfs-interoperability-with-oracle-identity-federation.aspx</id><published>2007-08-02T00:24:55Z</published><updated>2007-08-02T00:24:55Z</updated><content type="html">&lt;p&gt;A new step-by-step interoperability &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=dd59a2d2-eefc-481c-8e39-7f8242e2b44b&amp;amp;displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=dd59a2d2-eefc-481c-8e39-7f8242e2b44b&amp;amp;displaylang=en"&gt;guide&lt;/a&gt; detailing configuration for ADFS federation with Oracle's Identity Federation has been published.  This is the third step-by-step guide in the series including CA's Siteminder and IBM's Tivoli product.  All the guides can be found in the ADFS Technet &lt;a href="http://technet2.microsoft.com/windowsserver/en/technologies/featured/adfs/default.mspx"&gt;homepage&lt;/a&gt;.  This is a great demonstration of some of the real world federation interoperability that is possible based on the WS-Federation protocol supported by ADFS and other industry vendors.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4176065" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author><category term="Interoperability" scheme="http://blogs.msdn.com/adamw/archive/tags/Interoperability/default.aspx" /><category term="Identity" scheme="http://blogs.msdn.com/adamw/archive/tags/Identity/default.aspx" /><category term="Web Services" scheme="http://blogs.msdn.com/adamw/archive/tags/Web+Services/default.aspx" /><category term="Protocols" scheme="http://blogs.msdn.com/adamw/archive/tags/Protocols/default.aspx" /></entry><entry><title>IronRuby &amp; DLR – Giving Developers more Language Choice in .Net</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/07/24/ironruby-dlr-giving-developers-more-language-choice-in-net.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/07/24/ironruby-dlr-giving-developers-more-language-choice-in-net.aspx</id><published>2007-07-24T21:53:24Z</published><updated>2007-07-24T21:53:24Z</updated><content type="html">&lt;p&gt;I know when I think about .Net programming languages the first thing that pops into my head is "C#" followed very closely by "VB.Net" and "managed C++" but now the number of languages I'm going to have to keep fresh in my mind is climbing.  eWeek ran a &lt;a href="http://www.eweek.com/article2/0%2c1895%2c2161752%2c00.asp"&gt;story&lt;/a&gt; today on the availability of the first source drop for the new "IronRuby" language for .Net giving Ruby fans a new opportunity to use their favorite tool in their programmer's toolbelt to integrate Ruby with other .Net languages.  Support for IronRuby was first announced back at MIX during Scott Guthrie's keynote – if you missed it you can actually go back and &lt;a href="http://sessions.visitmix.com/"&gt;re-watch&lt;/a&gt; from your computer – but just yesterday, John Lam &lt;a href="http://www.iunknown.com/2007/07/a-first-look-at.html"&gt;announced&lt;/a&gt; the very first pre-alpha sneak.  The code right now is just a .zip download from a link off of John's blog but the plan is to get it posted onto Rubyforge later this summer and begin taking contributions from the community.
&lt;/p&gt;&lt;p&gt;Support for IronRuby is actually the second dynamic scripting language to be supported in .Net after &lt;a href="http://codeplex.com/ironpython"&gt;IronPython&lt;/a&gt; was released last &lt;a href="http://blogs.msdn.com/hugunin/archive/2006/09/05/741605.aspx"&gt;September&lt;/a&gt;.  This amazing step forward was enabled by the Dynamic Language Runtime (DLR), driven by Jim Hugunin, which adds new capabilities on top of the CLR to support dynamic languages.  This investment in the DLR makes language innovation simpler since a lot of the plumbing is already taken care of.  It makes it easier for language designers to innovate around the specific language features they are building.  One of the quotes from Scott Guthrie's keynote at MIX that really stuck in my head was his statement that he has a hope that someday we can build such a robust language runtime that it will be possible to build a prototype language from scratch during a keynote demo.  Now maybe that's stretching a bit but I do think it really shows Scott's commitment to language innovation and giving developers the powerful tools they are asking for to do their work.
&lt;/p&gt;&lt;p&gt;The amount of buzz and positivity that these announcements seem to be generating is really impressive – Jim posted the &lt;a href="http://blogs.msdn.com/hugunin/archive/2007/04/30/a-dynamic-language-runtime-dlr.aspx"&gt;availability of the DLR&lt;/a&gt; as well as the plans for new language support for JavaScript (EcmaScript 3.0), and VB in addition to Ruby and Python in the Silverlight 1.1 release and people seem very excited.  Out of the 97, mostly positive, comments on Jim's post, my favorite was "Quick, where's my drool bucket?"
&lt;/p&gt;&lt;p&gt;Perhaps that's not the most enticing visual but I think this is really a significant step forward – it's an amazing technical achievement, it gives developers more choice on language usage, it marks a high level of community engagement by taking contributions back from the developers who use the language, and provides seamless integration / interoperability with existing .Net apps built in the more "traditional" .Net languages.
&lt;/p&gt;&lt;p&gt;Awesome!
&lt;/p&gt;&lt;p&gt;Thanks for reading,
&lt;/p&gt;&lt;p&gt;Adam&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4032397" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author></entry><entry><title>Active Directory Federation Services (ADFS) Interoperability</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/07/23/active-directory-federation-services-adfs-interoperability.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/07/23/active-directory-federation-services-adfs-interoperability.aspx</id><published>2007-07-23T21:10:55Z</published><updated>2007-07-23T21:10:55Z</updated><content type="html">&lt;p&gt;Just a quick note to let everyone know there's a new &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c6f6d212-5625-4922-896f-6b6a3921dfd4&amp;amp;displaylang=en"&gt;step-by-step guide&lt;/a&gt; available detailing how to achieve interoperability between ADFS and IBM's Tivoli Federated Identity Manager.  From the download page:
&lt;/p&gt;&lt;p&gt;    &lt;span style="font-size:9pt"&gt;&lt;em&gt;"Through its support for the WS-Federation Passive Requestor Profile (WS-F PRP), Microsoft® Active Directory® Federation Services (ADFS) provides cross-domain Web single sign-on (SSO) interoperability with non-Microsoft federation solutions. IBM® Tivoli® Federated Identity Manager (TFIM)—which extends the SSO capabilities of IBM Tivoli Access Manager for ebusiness (TAM)—also supports WS-F PRP."
&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;This is the second paper in the growing library of step-by-step ADFS interoperability guides – The ADFS – CA SiteMinder Federation Security Services &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=921379CA-BBB0-4E9A-A0D4-495D620832F6&amp;amp;displaylang=en"&gt;paper&lt;/a&gt; has also been published.
&lt;/p&gt;&lt;p&gt;ADFS can federate identity with any federation service that supports the WS-Federation protocol.  The WS-Federation specification was written by Microsoft and IBM and is covered by the Microsoft's &lt;a href="http://www.microsoft.com/interop/osp"&gt;Open Specification Promise&lt;/a&gt;.  The current version of the specification as of this post is 1.2 - Check out the WS-Federation OASIS technical committee &lt;a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsfed"&gt;page&lt;/a&gt; for updates on WS-Federation participation and standards status.
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Thanks for reading,
&lt;/p&gt;&lt;p&gt;Adam&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4012343" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author><category term="Interoperability" scheme="http://blogs.msdn.com/adamw/archive/tags/Interoperability/default.aspx" /><category term="Identity" scheme="http://blogs.msdn.com/adamw/archive/tags/Identity/default.aspx" /><category term="Web Services" scheme="http://blogs.msdn.com/adamw/archive/tags/Web+Services/default.aspx" /></entry><entry><title>Tom Hanrahan, Novell, Linspire, Xandros &amp; Interoperability</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/06/29/tom-hanrahan-novell-linspire-xandros-interoperability.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/06/29/tom-hanrahan-novell-linspire-xandros-interoperability.aspx</id><published>2007-06-30T00:28:20Z</published><updated>2007-06-30T00:28:20Z</updated><content type="html">&lt;p&gt;So for those of you who read &lt;a href="http://port25.technet.com/"&gt;Port 25&lt;/a&gt;, this is &lt;a href="http://port25.technet.com/archive/2007/06/08/tom-hanrahan-director-of-linux-interoperability.aspx"&gt;old news&lt;/a&gt;.  However I just wanted to echo Sam Ramji's welcome for Tom Hanrahan as our new Director of Linux Interoperability.  Clearly Tom will have lots to do with our continuing work with &lt;a href="http://www.microsoft.com/interop/msnovellcollab/default.mspx"&gt;Novell&lt;/a&gt; as well as our recent announcements for collaboration and interop with &lt;a href="http://www.microsoft.com/presspass/press/2007/jun07/06-13LinspirePR.mspx"&gt;Linspire&lt;/a&gt; and &lt;a href="http://www.microsoft.com/presspass/press/2007/jun07/06-04XandrosPR.mspx"&gt;Xandros&lt;/a&gt;.  As a side note, I just read Linspire CEO, Kevin Carmony's, &lt;a href="http://www.linspire.com/linspire_letter_archives.php?id=49"&gt;letter&lt;/a&gt; regarding the community reaction to the Microsoft – Linspire deal and I was extremely impressed.  Carmony, in my opinion, takes a realistic and pragmatic view around open source and commercial software working together highlighting the need to enable customer choice, regardless of whether that choice comes from the commercial software or open source software world.  The reality is that both are out there, and both will continue to be out there for the foreseeable future.  IT departments around the world need to manage diverse heterogeneous systems.  So the better those systems interoperate, the more utility (and lower cost) the overall collection of systems has for its administrators and users.  Right on, Kevin.  
&lt;/p&gt;&lt;p&gt;One thing from Tom's welcome that really hit home for me was the depth of experience he has "developing in the open" as Sam said.  Having just finished my first milestone on the OpenLDAP adapter (see my posts tagged OpenLDAP) I'm still adjusting to the differences of running a project in front of the firewall but I look forward to learning more from the folks over at Port 25.  It's funny when I think back a few years at how far we've come here at Microsoft in terms of transparency with our customers and willingness to engage the community early and often in the development process.  
&lt;/p&gt;&lt;p&gt;5 or 6 years ago we were arguing about blogs… was it OK for employees to blog about what they were working on?  Turns out customers loved it!  I remember only 3 or 4 years ago we were arguing on my team about a project codenamed "ladybug" and whether or not we should participate.  Fortunately for us, and for our customers, cooler heads prevailed on those discussions and "ladybug" lived on.  The "ladybug" project has morphed and evolved over the last few years to become Microsoft &lt;a href="http://connect.microsoft.com/"&gt;Connect&lt;/a&gt;.  This is a fantastic tool that gives customers web access to our bug tracking system to submit and track issues and suggestions they've got through using our products.    When I was back on the XML team we got tons of great feedback during the Visual Studio 2005 and SQL Server 2005 Beta/CTP cycles through ladybug and fixed a bunch of bugs we might not have found on our own.  After Connect, we invented &lt;a href="http://channel9.msdn.com/"&gt;Channel 9&lt;/a&gt; (and its offspring), started &lt;a href="http://codeplex.com/"&gt;Codeplex&lt;/a&gt;, and began rewarding engineers for customer engagements online in the &lt;a href="http://forums.msdn.com"&gt;forums&lt;/a&gt; as well as in person, user groups, and at conferences.
&lt;/p&gt;&lt;p&gt;All of these things are little steps, but I think it's important to look at the evolution of the culture and mindset to get some indication of where it's going.  Creating Port 25, hiring Tom, building up the &lt;a href="http://interopvendoralliance.com"&gt;IVA&lt;/a&gt; (more on the IVA in a future post), creating the &lt;a href="http://www.microsoft.com/presspass/press/2006/jun06/06-13CustInteropCouncilPR.mspx"&gt;Interoperability Executive Council&lt;/a&gt; and our commitment to &lt;a href="http://www.microsoft.com/interop/"&gt;interoperability by design&lt;/a&gt; are part of the new generation of initiatives in a shift that started many years ago towards transparency, customer connection, and customer choice.  I'm really looking forward to what's coming up – stay tuned.
&lt;/p&gt;&lt;p&gt;Thanks for reading,
&lt;/p&gt;&lt;p&gt;Adam&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3610481" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author><category term="Interoperability" scheme="http://blogs.msdn.com/adamw/archive/tags/Interoperability/default.aspx" /><category term="Open Source" scheme="http://blogs.msdn.com/adamw/archive/tags/Open+Source/default.aspx" /><category term="Linux" scheme="http://blogs.msdn.com/adamw/archive/tags/Linux/default.aspx" /></entry><entry><title>OpenLDAP – Milestone 1 Release Scheduled for 6/29/07</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/06/27/openldap-milestone-1-release-scheduled-for-6-29-07.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/06/27/openldap-milestone-1-release-scheduled-for-6-29-07.aspx</id><published>2007-06-27T23:40:17Z</published><updated>2007-06-27T23:40:17Z</updated><content type="html">&lt;p&gt;We're in the home stretch getting the OpenLDAP &lt;a href="http://openldap-xma.sourceforge.net/"&gt;Management Agent&lt;/a&gt; prepped and ready for our Milestone 1 release this Friday.  The release should contain an installable MSI (remember you need to have MIIS/ILM installed on the same machine) and a zip with the project documentation.  Of course if you want to build the project we've already got an &lt;a href="https://sourceforge.net/svn/?group_id=196847"&gt;SVN repository&lt;/a&gt; with the source and the docs checked in so give it a whirl.  I personally like &lt;a href="http://sourceforge.net/projects/tortoisesvn/"&gt;Tortoise SVN&lt;/a&gt; as my client for keeping code in sync.  
&lt;/p&gt;&lt;p&gt;We're in full test mode this week and we've found a few &lt;a href="https://sourceforge.net/tracker/?atid=959098&amp;amp;group_id=196847&amp;amp;func=browse"&gt;bugs&lt;/a&gt; so far but the more testers the better.
&lt;/p&gt;&lt;p&gt;In terms of features you can expect on Friday we're supporting the following:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div&gt;FullImport from OpenLDAP (IMAExtensibleFileImport)
&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Ability to skip DSML generation for improved performance
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;DeltaImport from OpenLDAP (IMAExtensibleFileImport)
&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Based on attribute tracking
&lt;/li&gt;&lt;li&gt;Based on changelogs (this is to support additional directories but hasn't been tested thoroughly)
&lt;/li&gt;&lt;li&gt;Ability to skip deletes for improved performance
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Call-based export to OpenLDAP (IMAExtensibleCallExport)
&lt;/li&gt;&lt;li&gt;Password Management (IMAPasswordManagement)
&lt;/li&gt;&lt;li&gt;Support for multiple naming contexts
&lt;/li&gt;&lt;li&gt;Paged Searches (if supported by target directory)
&lt;/li&gt;&lt;li&gt;Support for SSL
&lt;/li&gt;&lt;li&gt;Support for multiple authentication types (Basic, Digest, and Kerberos)*
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;*Our goal is to support SASL's EXTERNAL mechanism as well however we ran into some difficulty with the underlying support in System.DirectoryServices.Protocols in .Net 2.0 and have alerted the team at Microsoft to the issue.  In the meantime, we've commented out the code in the project for EXTERNAL support however one of the developers on the project did come up with a little workaround by calling into the underlying native wldap.dll directly (thanks, Franck!).  We haven't tested this so use at your own risk, but I thought it was clever so I thought I would share it here.  If the lack of support for EXTERNAL impacts your ability to use the adapter send me a note and let me know – I'm interested to hear about your scenarios.  I will certainly keep you up to date as we move forward in coming to a resolution.
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;&lt;span style="color:blue"&gt;public&lt;/span&gt;
			&lt;span style="color:blue"&gt;class&lt;/span&gt; Class1
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;    [DllImport(&lt;span style="color:#a31515"&gt;"wldap32.dll"&lt;/span&gt;, EntryPoint = &lt;span style="color:#a31515"&gt;"ldap_bind_sW"&lt;/span&gt;, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)]
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;    &lt;span style="color:blue"&gt;public&lt;/span&gt;
			&lt;span style="color:blue"&gt;static&lt;/span&gt;
			&lt;span style="color:blue"&gt;extern&lt;/span&gt;
			&lt;span style="color:blue"&gt;int&lt;/span&gt; ldap_bind_s(&lt;span style="color:#2b91af"&gt;IntPtr&lt;/span&gt; ldapHandle, &lt;span style="color:blue"&gt;string&lt;/span&gt; dn, &lt;span style="color:blue"&gt;string&lt;/span&gt; credentials, &lt;span style="color:blue"&gt;uint&lt;/span&gt; method);
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;    &lt;span style="color:blue"&gt;static&lt;/span&gt;
			&lt;span style="color:blue"&gt;void&lt;/span&gt; Main(&lt;span style="color:blue"&gt;string&lt;/span&gt;[] args)
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;    {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;        LdapConnection cxn = &lt;span style="color:blue"&gt;new&lt;/span&gt; LdapConnection(&lt;span style="color:#a31515"&gt;"ServerName:636"&lt;/span&gt;); &lt;span style="color:green"&gt;//SSL port
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;        &lt;span style="color:blue"&gt;try
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;        {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            cxn.AuthType = AuthType.External;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            cxn.Timeout = System.&lt;span style="color:#2b91af"&gt;TimeSpan&lt;/span&gt;.FromHours(1000);
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            cxn.SessionOptions.ProtocolVersion = 3;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            cxn.SessionOptions.SecureSocketLayer = &lt;span style="color:blue"&gt;true&lt;/span&gt;;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            FieldInfo fildaphandle = cxn.GetType().GetField(&lt;span style="color:#a31515"&gt;"ldapHandle"&lt;/span&gt;, BindingFlags.Instance | BindingFlags.NonPublic);
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            &lt;span style="color:#2b91af"&gt;IntPtr&lt;/span&gt; ldaphandle = (&lt;span style="color:#2b91af"&gt;IntPtr&lt;/span&gt;)fildaphandle.GetValue(cxn);
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            &lt;span style="color:blue"&gt;uint&lt;/span&gt; LDAP_AUTH_EXTERNAL = 0xa6;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            &lt;span style="color:blue"&gt;int&lt;/span&gt; res = ldap_bind_s(ldaphandle, &lt;span style="color:blue"&gt;null&lt;/span&gt;, &lt;span style="color:blue"&gt;null&lt;/span&gt;, LDAP_AUTH_EXTERNAL);
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            &lt;span style="color:blue"&gt;if&lt;/span&gt; (res == 0)
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            {
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 72pt"&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;FieldInfo ficonnected = cxn.GetType().GetField(&lt;span style="color:#a31515"&gt;"connected"&lt;/span&gt;, BindingFlags.Instance | BindingFlags.NonPublic);
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;FieldInfo fibounded = cxn.GetType().GetField(&lt;span style="color:#a31515"&gt;"bounded"&lt;/span&gt;, BindingFlags.Instance | BindingFlags.NonPublic);
&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 72pt"&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;FieldInfo fineedRebind = cxn.GetType().GetField(&lt;span style="color:#a31515"&gt;"needRebind"&lt;/span&gt;, vBindingFlags.Instance | BindingFlags.NonPublic);
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;                ficonnected.SetValue(cxn, &lt;span style="color:blue"&gt;true&lt;/span&gt;);
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;                fibounded.SetValue(cxn, &lt;span style="color:blue"&gt;true&lt;/span&gt;);
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;                fineedRebind.SetValue(cxn, &lt;span style="color:blue"&gt;false&lt;/span&gt;);
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            &lt;span style="color:blue"&gt;else
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;                &lt;span style="color:blue"&gt;throw&lt;/span&gt;
			&lt;span style="color:blue"&gt;new&lt;/span&gt; LdapException(res, &lt;span style="color:blue"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#a31515"&gt;"External bind failed with error code {0}"&lt;/span&gt;, res));
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;        }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;        &lt;span style="color:blue"&gt;catch&lt;/span&gt; (&lt;span style="color:#2b91af"&gt;Exception&lt;/span&gt; e)
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;        {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;            &lt;span style="color:blue"&gt;throw&lt;/span&gt; e;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;        }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;    }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:8pt"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3569870" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author><category term="Interoperability" scheme="http://blogs.msdn.com/adamw/archive/tags/Interoperability/default.aspx" /><category term="Identity" scheme="http://blogs.msdn.com/adamw/archive/tags/Identity/default.aspx" /><category term="Protocols" scheme="http://blogs.msdn.com/adamw/archive/tags/Protocols/default.aspx" /><category term="OpenLDAP" scheme="http://blogs.msdn.com/adamw/archive/tags/OpenLDAP/default.aspx" /></entry><entry><title>Interoperability Summary</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/06/21/interoperability-summary.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/06/21/interoperability-summary.aspx</id><published>2007-06-21T21:10:00Z</published><updated>2007-06-21T21:10:00Z</updated><content type="html">&lt;P&gt;Dan'l Lewin recently authored a post at AlwaysOn that I thought was an interesting &lt;A class="" href="http://alwayson.goingon.com/permalink/post/14874" mce_href="http://alwayson.goingon.com/permalink/post/14874"&gt;read&lt;/A&gt; - it summarized Microsoft's history of interoperability and cross-platform support, and broke down our existing investments in interoperability into the 4 primary buckets we use to enable interoperability by design: Products, Community, Access, and Standards.&amp;nbsp; You can read more about the overall interoperability mission at &lt;A href="http://microsoft.com/interop"&gt;http://microsoft.com/interop&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;One other thing I picked up here that I found extremely interesting was reference&amp;nbsp;to&amp;nbsp;Sun's &lt;A class="" href="http://java.sun.com/developer/technicalArticles/glassfish/ProjectTango/" mce_href="http://java.sun.com/developer/technicalArticles/glassfish/ProjectTango/"&gt;Project Tango&lt;/A&gt;&amp;nbsp;designed to improve interoperability between Sun's Java Web Services implementation and the Windows Communication Framework.&amp;nbsp; It's great to see this kind of effort to enable interoperability between to heavily used web service stacks.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3446515" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author><category term="Interoperability" scheme="http://blogs.msdn.com/adamw/archive/tags/Interoperability/default.aspx" /><category term="Web Services" scheme="http://blogs.msdn.com/adamw/archive/tags/Web+Services/default.aspx" /></entry><entry><title>OpenXML – the inertia is building</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/06/20/openxml-the-inertia-is-building.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/06/20/openxml-the-inertia-is-building.aspx</id><published>2007-06-21T00:24:31Z</published><updated>2007-06-21T00:24:31Z</updated><content type="html">&lt;p&gt;HP just announced their support for the OpenXML file format as a standard in a &lt;a href="http://h71028.www7.hp.com/enterprise/cache/514506-0-0-0-121.html"&gt;position statement&lt;/a&gt; on their website.  The thing that really caught my attention was HP's position that both OpenXML and ODF can "co-exist interoperably" and "customer's should have the opportunity to select the standards which best fit their needs."
&lt;/p&gt;&lt;p&gt;We've already demonstrated interoperability between the two file formats (ODF and OpenXML) through the &lt;a href="http://odf-converter.sourceforge.net/"&gt;OpenXML/ODF Translator project&lt;/a&gt;.  Brian Jones has &lt;a href="http://blogs.msdn.com/brian_jones/archive/2007/03/02/openoffice-support-for-the-openxml-formats.aspx"&gt;blogged&lt;/a&gt; about support for OpenXML and ODF translation in OpenOffice, as well.
&lt;/p&gt;&lt;p&gt;Check out &lt;a href="http://openxmlcommunity.org/learnmore.aspx"&gt;http://openxmlcommunity.org/learnmore.aspx&lt;/a&gt; about the benefits of standardization, why standardization is important, and co-existence of formats.  If you're intrigued, show your &lt;a href="http://openxmlcommunity.org/joincommunity.aspx"&gt;support&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;Thanks for reading!
&lt;/p&gt;&lt;p&gt;Adam&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3431369" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author><category term="Interoperability" scheme="http://blogs.msdn.com/adamw/archive/tags/Interoperability/default.aspx" /><category term="OpenXML" scheme="http://blogs.msdn.com/adamw/archive/tags/OpenXML/default.aspx" /></entry><entry><title>Orthogonal Interoperability – Kerberos and DNS</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/06/08/orthogonal-interoperability-kerberos-and-dns.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/06/08/orthogonal-interoperability-kerberos-and-dns.aspx</id><published>2007-06-09T01:14:57Z</published><updated>2007-06-09T01:14:57Z</updated><content type="html">&lt;p&gt;OK, maybe I'm way behind the ball here but I thought I'd share a funny story from implementing the OpenLDAP management agent &lt;a href="http://openldap-xma.sourceforge.net/"&gt;project&lt;/a&gt;.  The OpenLDAP interaction is based on the LDAP support in System.DirectoryServices.Protocols in the .Net Framework (version 2.0 and higher).  So, the dev team was adding support for SASL binding over Kerberos and the code looked really simple (check out Wikipedia for a good overview of &lt;a href="http://en.wikipedia.org/wiki/Kerberos_%28protocol%29"&gt;Kerberos&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer"&gt;SASL&lt;/a&gt;), but for some reason the bind operation from the management agent to the OpenLDAP server was always failing.  It looked like our MIT KDC (Kerberos server) was issuing a session ticket to authenticate against the OpenLDAP server, but OpenLDAP just kept mocking us with the elusive "wrong principal name" error.  The team was stumped.  They tried modifying the code, checking, double checking, and triple checking the setup of the KDC, the host registration in the KDC database, everything.  No luck.  
&lt;/p&gt;&lt;p&gt;Finally, they started sniffing the network traffic between the management agent, the KDC and the OpenLDAP server.  And suddenly it was all clear – the OpenLDAP server had a mixed-case hostname, which was properly registered as mixed-case in the KDC's &lt;strong&gt;case-sensitive &lt;/strong&gt;host registration database.  However, during the protocol conversation between the three processes, the Kerberos client in System.DirectoryServices.Protocols was doing a DNS reverse lookup to get the fully qualified domain name of the OpenLDAP server, and the DNS service was returning it in all lower case.  So when we went to send our ticket off to the OpenLDAP server the ticket intended for a mixed-case host didn't match the resolved domain name of the lower-case target (even though it really was the same machine).  
&lt;/p&gt;&lt;p&gt;So we changed the servername and the registration in the KDC database to all lower-case and, automagically, the code started working as we expected.  Voila!  So on the upside, the Kerberos code was simple and it was already checked into the sourceforge project…we just didn't know it yet!
&lt;/p&gt;&lt;p&gt;Of course, as soon as the culprit was known I went groveling around the web and found a handful of &lt;a href="http://www.supercluster.org/pipermail/torqueusers/2004-November/000993.html"&gt;posts&lt;/a&gt; talking about the same basic issue…if only foresight was also 20/20…
&lt;/p&gt;&lt;p&gt;It is interesting that when working across platforms the interoperability challenge here wasn't related to platform A's support of Kerberos being different from platform B… in fact the team tried to use Active Directory as the KDC as well and got exactly the same "wrong principal name" error as our Linux-based MIT KDC.  Instead it was the relationship to an orthogonal technology that the team stumbled over, because they didn't know this little convention of lower case host names.
&lt;/p&gt;&lt;p&gt;As a side note I came across a couple of great resources for programming with System.DirectoryServices.Protocols while I was researching this issue:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/bb332056.aspx"&gt;Introduction to System.DirectoryServices.Protocols (S.DS.P)&lt;/a&gt;&lt;span style="color:black"&gt;
			&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.joekaplan.net/"&gt;NET. LDAP. Geekery&lt;/a&gt;&lt;span style="color:#0a6cce"&gt; (Joe Kaplan's blog)&lt;/span&gt;&lt;span style="color:black"&gt;
			&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a name="sdspintro"/&gt;Thanks for reading!
&lt;/p&gt;&lt;p&gt;Adam&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3169839" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author><category term="Interoperability" scheme="http://blogs.msdn.com/adamw/archive/tags/Interoperability/default.aspx" /><category term="Protocols" scheme="http://blogs.msdn.com/adamw/archive/tags/Protocols/default.aspx" /><category term="OpenLDAP" scheme="http://blogs.msdn.com/adamw/archive/tags/OpenLDAP/default.aspx" /></entry><entry><title>OpenXML Developer Tools Growing</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/06/05/openxml-developer-tools-growing.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/06/05/openxml-developer-tools-growing.aspx</id><published>2007-06-05T04:26:53Z</published><updated>2007-06-05T04:26:53Z</updated><content type="html">&lt;p&gt;I was reading Brian Jones' post this morning on the &lt;a href="http://blogs.msdn.com/brian_jones/archive/2007/06/04/open-xml-api-tech-preview.aspx"&gt;Open XML SDK tech preview&lt;/a&gt; which is a new managed .Net API for programming against the Open XML formats that was announced today at TechEd.  There is also a channel 9 &lt;a href="http://channel9.msdn.com/showpost.aspx?postid=313246"&gt;interview&lt;/a&gt; on the OpenXML formats and the availability of the .Net API.  The preview is available for download from the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&amp;amp;displaylang=en"&gt;Microsoft Download Center&lt;/a&gt;.  One thing that caught my attention in the post was that there is a Java SDK as well for programming against the Open XML formats – check out the project &lt;a href="http://www.openxml4j.org/"&gt;website&lt;/a&gt; and Brian's &lt;a href="http://blogs.msdn.com/brian_jones/archive/2007/06/01/open-xml-java-library.aspx"&gt;post&lt;/a&gt; on the topic.  
&lt;/p&gt;&lt;p&gt;It looks like Altova is also adding support for OpenXML in the new version of XMLSpy – here's the &lt;a href="http://www.altova.com/v2007r3_053007.html"&gt;press release&lt;/a&gt; from Altova and a quick rundown on the &lt;a href="http://www.altova.com/features_office_2007.html"&gt;features&lt;/a&gt;. 
&lt;/p&gt;&lt;p&gt;If Open XML development is something you're interested in – check out &lt;a href="http://openxmldeveloper.org/"&gt;http://openxmldeveloper.org/&lt;/a&gt; and get engaged with the community.
&lt;/p&gt;&lt;p&gt;Thanks for reading!
&lt;/p&gt;&lt;p&gt;Adam&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3088946" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author><category term="Interoperability" scheme="http://blogs.msdn.com/adamw/archive/tags/Interoperability/default.aspx" /><category term="OpenXML" scheme="http://blogs.msdn.com/adamw/archive/tags/OpenXML/default.aspx" /></entry><entry><title>Identity Interoperability Update</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/06/05/identity-interoperability-update.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/06/05/identity-interoperability-update.aspx</id><published>2007-06-05T03:29:29Z</published><updated>2007-06-05T03:29:29Z</updated><content type="html">&lt;p&gt;A couple of interesting updates from around the Identity interoperability world: 
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div&gt;&lt;strong&gt;Positive Response to our Identity Announcements!  &lt;/strong&gt;I posted &lt;a href="http://blogs.msdn.com/adamw/archive/2007/05/30/interop-las-vegas-style-the-openldap-xma-for-identity-lifecycle-manager-2007.aspx"&gt;last week&lt;/a&gt; on Microsoft's Identity interoperability announcements at the Interop Las Vegas conference and overall response has been very positive.  Check out the post from &lt;a href="http://www.mwdadvisors.com/blog/2007/05/realising-identity-metasystem.html"&gt;Neil &lt;span style="font-family:Arial; font-size:10pt"&gt;Macehiter&lt;/span&gt;&lt;/a&gt; on his blog, digging into the details of the interoperability announcement.
&lt;/div&gt;&lt;p&gt;
 &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;strong&gt;OpenLDAP Management Agent (Adapted) for ILM 2007 is moving along - &lt;/strong&gt;The OpenLDAP sourceforge &lt;a href="http://openldap-xma.sourceforge.net/"&gt;project&lt;/a&gt; is also coming along – we uploaded our first version of the code to the site a couple of days ahead of schedule.  The management agent is still in its early stages and there's lots of work left to do, but it implements the IMAExtensibleFileImport and IMAExtensibleCallExport &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mmsdev/mms/mms_rules_extensions_interfaces.asp"&gt;interfaces&lt;/a&gt; described by ILM/MIIS.  The goal is to add support for the IMAPasswordManagement interface as well, and a number of new connection options, improved robustness, performance enhancements (we need to do some benchmarking first), and more.  Documentation should be coming online over the next weeks leading up to our first milestone on June 29&lt;sup&gt;th&lt;/sup&gt;.  Stay tuned for more details.
&lt;/div&gt;&lt;p&gt;
 &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;OASIS WS-Federation Technical Committee (TC) to Convene - &lt;/strong&gt;Don Schmidt, one of the program managers here at Microsoft working on Federated Identity alerted me via his &lt;a href="http://identity-des.com/2007/06/01/standing-on-the-shoulders-of-giants/"&gt;blog&lt;/a&gt; that the &lt;a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsfed"&gt;OASIS WSFED TC &lt;/a&gt;will be held on June 6-7.  From the OASIS website the &lt;a href="http://www.oasis-open.org/committees/wsfed/charter.php"&gt;charter&lt;/a&gt; of the TC &lt;em&gt;"The purpose of the Web Services Federation (WSFED) Technical Committee (TC) is to extend the basic federation capabilities enabled by Web service Security specifications (WS-Security &lt;a href="http://www.oasis-open.org/committees/wsfed/charter.php"&gt;[2&lt;/a&gt;, &lt;a href="http://www.oasis-open.org/committees/wsfed/charter.php"&gt;7]&lt;/a&gt;, WS-SecureConversation &lt;a href="http://www.oasis-open.org/committees/wsfed/charter.php"&gt;[3]&lt;/a&gt;, WS-Trust &lt;a href="http://www.oasis-open.org/committees/wsfed/charter.php"&gt;[4]&lt;/a&gt; WS- SecurityPolicy &lt;a href="http://www.oasis-open.org/committees/wsfed/charter.php"&gt;[5]&lt;/a&gt;) to provide advanced federation capabilities."&lt;/em&gt;  The work of the TC will be based on an input document published in December 2006, by BEA Systems Inc., BMC Software, CA Inc., IBM Corporation, Layer 7 Technologies, Microsoft Corporation, Novell Inc., and VeriSign Inc.  If you're new to the federation space, Don has a couple of good posts explaining the federated identity &lt;a href="http://identity-des.com/2007/05/01/what-is-federated-identity/"&gt;basics&lt;/a&gt;, the &lt;a href="http://identity-des.com/2007/05/02/ws-fed-completes-stack/"&gt;relationship&lt;/a&gt; of WS-Federation 1.1 to the rest of the WS-* specifications, and the &lt;a href="http://identity-des.com/2007/05/02/ws-fed-and-saml/"&gt;relationship&lt;/a&gt; of WS-Federation 1.1 to SAML 2.0.  There's also a new &lt;a href="http://msdn2.microsoft.com/en-us/library/bb498017.aspx"&gt;whitepaper&lt;/a&gt; on MSDN on understanding WS-Federation.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Thanks for reading!
&lt;/p&gt;&lt;p&gt;Adam
&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3088266" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author><category term="Interoperability" scheme="http://blogs.msdn.com/adamw/archive/tags/Interoperability/default.aspx" /><category term="Identity" scheme="http://blogs.msdn.com/adamw/archive/tags/Identity/default.aspx" /><category term="Web Services" scheme="http://blogs.msdn.com/adamw/archive/tags/Web+Services/default.aspx" /><category term="OpenLDAP" scheme="http://blogs.msdn.com/adamw/archive/tags/OpenLDAP/default.aspx" /></entry><entry><title>Interop, Las Vegas-style &amp;amp; The OpenLDAP XMA for Identity Lifecycle Manager 2007</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/05/30/interop-las-vegas-style-the-openldap-xma-for-identity-lifecycle-manager-2007.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/05/30/interop-las-vegas-style-the-openldap-xma-for-identity-lifecycle-manager-2007.aspx</id><published>2007-05-30T03:21:00Z</published><updated>2007-05-30T03:21:00Z</updated><content type="html">&lt;P&gt;Last week was the Interop Las Vegas show - I didn't make it but check out Craig Kitterman's &lt;A class="" href="http://blogs.msdn.com/craig/archive/2007/05/24/update-from-interop-las-vegas.aspx" target=_blank mce_href="http://blogs.msdn.com/craig/archive/2007/05/24/update-from-interop-las-vegas.aspx"&gt;blog&lt;/A&gt; for interesting details and tidbits from the show.&amp;nbsp; In particular, Microsoft made a number of interesting announcements around &lt;A class="" href="http://www.microsoft.com/presspass/press/2007/may07/05-23MetasystemPR.mspx" mce_href="http://www.microsoft.com/presspass/press/2007/may07/05-23MetasystemPR.mspx"&gt;identity management&lt;/A&gt;&amp;nbsp;furthering its commitment to deliver interoperability by design.&amp;nbsp; One of the announcements to "&lt;STRONG&gt;Extend Identity Management in the Enterprise&lt;/STRONG&gt;" is the development of an OpenLDAP eXtensible Management Agent (XMA) for Identity Lifecycle Manager (ILM) 2007 that allows bi-directional synchronization of identity information between the OpenLDAP directory and ILM 2007.&amp;nbsp; The adapter will work against ILM's predecessor, Microsoft Identity Integration Server (MIIS) 2003 SP2 as well and will be built on top of the LDAP support in System.DirectoryServices.Protocols.&lt;/P&gt;
&lt;P&gt;I will be working with our partners, &lt;A class="" href="http://blogs.msdn.com/ControlPanel/Blogs/www.kernel-networks.fr" mce_href="http://blogs.msdn.com/ControlPanel/Blogs/www.kernel-networks.fr"&gt;KERNEL Networks&lt;/A&gt; and &lt;A class="" href="http://www.oxfordcomputergroup.com/" mce_href="http://www.oxfordcomputergroup.com/"&gt;Oxford Computer Group&lt;/A&gt;&amp;nbsp;as they develop the XMA so if you're interested I'll be discussing the project as it&amp;nbsp;moves along.&amp;nbsp; If you're familiar with the space you probably know Craig Martin over in the &lt;A class="" href="http://miisexperts.org/craigm/" mce_href="http://miisexperts.org/craigm/"&gt;Identity Trench&lt;/A&gt;, and he'll probably be blogging on the project from time to time as well.&amp;nbsp; The project is hosted on Sourceforge at &lt;A href="http://openldap-xma.sourceforge.net/"&gt;http://openldap-xma.sourceforge.net&lt;/A&gt; - it's just getting going right now so please be patient but you should see changes start to roll in over the next few weeks.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2977844" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author><category term="Interoperability" scheme="http://blogs.msdn.com/adamw/archive/tags/Interoperability/default.aspx" /><category term="OpenLDAP" scheme="http://blogs.msdn.com/adamw/archive/tags/OpenLDAP/default.aspx" /></entry><entry><title>Hello, World!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/adamw/archive/2007/05/30/hello-world.aspx" /><id>http://blogs.msdn.com/adamw/archive/2007/05/30/hello-world.aspx</id><published>2007-05-30T02:46:00Z</published><updated>2007-05-30T02:46:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;As of right now my new blog is open for business.&amp;nbsp; I recently joined Microsoft’s Developer &amp;amp; Platform Evangelism team focusing on interoperability – connecting people, data, and diverse systems - by design.&amp;nbsp; In my previous life I was the lead program manager for the &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/xmlteam"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;XML Technologies&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; team in the &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/data"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;Data Programmability&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; organization.&amp;nbsp; We’re the folks that brought you MSXML, System.Xml, and the Xml Editor and XSLT debugger in Visual Studio.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;When I joined the XML team 5 years ago, it was because of XML’s potential to transform our computing experience by unlocking data and allowing new levels of collaboration and interoperability between systems.&amp;nbsp; The loose coupling that XML enabled gave developers and businesses freedom to choose the tools and technologies that best suited their needs, and that&amp;nbsp;ability resonated with me.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;I was at XML 2006, back in Boston this past December on the "10th anniversary" of XML.&amp;nbsp; Aside from being a great time, it was an opportunity to reflect on what's happened in the XML community and ponder on where it might be going.&amp;nbsp; XML, in my opinion, for all of it's "gotchas" has been an enormous success.&amp;nbsp; In many respects XML itself has disappeared into the infrastructure.&amp;nbsp; XML support is ubiquitous.&amp;nbsp; When you look around at many of the new technologies targeted at improving collaboration, unlocking data, and creating new interoperability opportunities XML is at the core.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;However, there is more to interoperability than XML as I am rapidly learning as I broaden my perspective on the world.&amp;nbsp; &lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;So that’s what I hope you’ll find here – just my observations and ideas on what’s going on in technology around interoperability, as well as musing on other&amp;nbsp;cool new technology and clever innovations.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;Thanks for reading this far.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2977233" width="1" height="1"&gt;</content><author><name>AdamW</name><uri>http://blogs.msdn.com/members/AdamW.aspx</uri></author></entry></feed>