Microsoft has made one step forward with its interoperability efforts, namely the bridging of PHP and .NET, with the release of the PHP Toolkit for ADO.NET Data Services at the end of the past week. The PHP Toolkit for ADO.NET Data Services is currently available as an open-source project on CodePlex and, although it was funded by Microsoft, it was developed by Persistent Systems. The end goal of the Toolkit is to enable developers leveraging PHP to be able to also take advantage of the .NET Framework’s ADO.NET Data Services, formerly codenamed Project Astoria. The PHP Toolkit for ADO .NET Data Services is available for download under a BSD license.
“ADO.NET Data Services offer a simple way to expose any sort of data in a RESTful way,” revealed Claudio Caldato, senior program manager, Interoperability Technical Strategy team. “ADO.NET Data Services (formerly known as Project “Astoria”) is a technology used to expose a wide range of data sources through a RESTful service interface. Data sources can be relational databases, XML files, and so on. ADO.NET Data Services defines a flexible addressing and query interface using a URL convention, as well as the usual resource manipulation methods on data sources (it supports the full range of Create/Read/Update/Delete operations).”
Microsoft has already tweaked its development platform in order to accommodate Astoria. In this regard, devs will find that ADO.NET Data Services is fully supported not only in the first service pack for Visual Studio 2008 SP1 but also in the next iteration of VS, namely Visual Studio 2010. In this regard, the software giant underlined the fact that Visual Studio 2010 brings to the table direct support for creating as well as consuming data services. VS 2010 developers will be able to leverage Astoria support right from the development environment.
“You should consider two aspects of the PHP Toolkit: At design time: the PHP Toolkit generates proxy classes based on the metadata exposed by the ADO.NET Data Services (built with Visual Studio, including Express editions),” Caldato added. “At run time: you call from your code the PHP proxy classes, so that you can easily program against the ADO.NET Data Service using a set of local PHP classes that represent the structure of the remote data. Using RESTful services over HTTP, the communication between the PHP application and ADO.NET Data Services is taken care of by the PHP proxy classes and the Toolkit libraries, but of course you can look at (or edit) this code.”