Interoperability and Open Source efforts at Microsoft

September 30th, 2009 Leave a comment Go to comments

I’ve been sitting on a blog post about Microsoft’s participation in Open Source development and release of some interoperability toolkits. What’s happened in the short time I’ve had this idea in my queue, Microsoft up and releases something new or announces some news about additional efforts. With that, I’m going to try and summarize what’s happened in the last month or so regarding Microsoft’s participation and contribution to the Open Source world…

CodePlex Foundation

Arguably the biggest news of the past few weeks was the announcement that Microsoft was establishing the CodePlex Foundation.

The CodePlex Foundation, a non-profit foundation formed with the mission of enabling the exchange of code and understanding among software companies and open source communities.

Although initial funding has come from Microsoft, this isn’t a Microsoft-only organization. Already board members include Miguel de Icaza (Mono) and Shaun Walker (DotNetNuke) with the expectation that many more will join. From Microsoft’s end, we have some of the top advocates for Open Source internal to Microsoft including Sara Ford, John Lam, Jim Newkirk, Phil Haack and Scott Hanselman. There are ways for you to participate as well.

Many of the questions you may have regarding the CodePlex Foundation can be answered on the foundation’s FAQ page.

This is certainly something I’m going to keep my eye on and look for ways that I can participate as well.


PHP Toolkits, API’s and Collaborations

I recently interviewed Claudio Caldato from the Microsoft Interoperability team for the Thirsty Developer. Claudio and his team have been some busy little beavers over the past few weeks. Let’s see if I can break it down for you…

  • It may come as a surprise to some but Microsoft has been working feverishly over the past couple of years to make Windows the best platform to run PHP applications. On the Thirsty Developer episode, Caludio discussed the recently released PHP Toolkit for ADO.NET Data Services. ADO.NET Data Services shipped as part of .NET 3.5 SP1 and provides a RESTful interface into your data services and provides an efficient way to surface your data to the web. From their the data is easily consumable as it is served up in JSON or plain old XML (POX). The PHP Toolkit for ADO.NET Data Services is an Open Source project that provides a set of utilities and libraries for PHP developers to easily take advantage of these ADO.NET Data Services. Claudio does a better job of explaining the toolkit than I can from this Channel9 video. This toolkit was recently highlighted at the Gov 2.0 Summit in Washington D.C.
  • Another Open Source project supported by the Interoperability team at Microsoft is the PHP SDK for Windows Azure. This SDK provides a programming model to take advantage of the Windows Azure Platform services. Features include:
    • PHP classes for Windows Azure Blobs, Tables & Queues (for CRUD operations)
    • Helper Classes for HTTP transport, AuthN/AuthZ, REST & Error Management
    • Manageability, Instrumentation & Logging support
    • Support for storing PHP sessions in Azure Table Storage

    The Windows Azure Platform can also host your PHP applications as it has built-in FastCGI support.

  • For PHP developer’s utilizing the Zend Framework, there was a recent announcement regarding a partnership around the Simple Cloud API project. The Simple Cloud API’s effort is to provide one interface to interact with a variety of cloud application services including the Windows Azure Platform. This is an open source project initially funded by Zend, IBM, Microsoft, Nirvanix, Rackspace and GoGrid. The first deliverables for the Simple Cloud API project are features relating to file storage in the cloud, document database and simple queue services. Initial implementations will be available for users of the Zend Framework, however the project for contributors to translate the API’s to other object oriented technologies.
  • While we’re on a PHP kick, the SQL Server Driver for PHP 1.1 CTP (August 2009) was recently released. This driver provides a direct connection to your SQL Server database from your PHP applications. Not to confuse you, but the PHP Toolkit for ADO.NET Data Services allows PHP applications to connect to data services exposed over the web through ADO.NET Data Services. The SQL Driver for PHP is a PHP extension that provides direct connection to your SQL Server 2005 or SQL Server 2008 database.
  • Switching gears… the interoperability team hasn’t focused all of their attention on PHP. The Microsoft Interoperability team collaborated with Noelios Technologies out of France to build the Restlet open source project, a lightweight REST framework for Java that includes the Restlet Extension for ADO.NET Data Services. The extension makes it easier for Java developers to take advantage of ADO.NET Data Services as well.

I think its safe to say that the Microsoft Interoperability has been quite busy in supply solutions and interfaces to Microsoft application and data services for non-Microsoft developer technologies. What else would you like to see?

IIS Team Releases Windows Cache Extension for PHP

The Interoperability team isn’t the only team at Microsoft that has provided some great solutions to the PHP community. The IIS team recently shipped the beta of the Windows Cache Extension for PHP. The Windows Cache Extension for PHP is a PHP accelerator that is used to increase the speed of PHP applications running on the Windows operating systems. Any PHP application can take advantage of the functionality provided by the Windows Cache Extension for PHP without any code modifications. All that is required is that the extension is enabled and loaded by the PHP engine on IIS. Features include:

  • PHP 5.2 and PHP 5.3 support
  • Configurable file cache
  • Configurable PHP opcode cache
  • Relative file path cache
  • PHP functions to obtain information about the cache status

You can submit questions, report bugs and provide feature suggestions at the Windows Cache Extension for PHP Forum.


These examples and many others showcase the efforts that Microsoft is providing in integrating their solutions with the rest of the world. As a representative for Microsoft, I am extremely pleased at the progress and look forward to where these efforts take us.

You can find more information on these efforts and many more over on Port25. You can also keep tabs on the announcements around Microsoft interoperability by following the twitter stream, @OpenAtMicrosoft.