PHP developers get an SDK for the Windows Azure platform AppFabric
I’m pleased to announce a new software development kit (SDK) that helps PHP developers easily leverage the Windows Azure platform AppFabric (formerly called .NET Services). This SDK is the third in a series, the first of which was released a year ago. Equivalent SDKs for Java and Ruby are also available and they have been updated to reflect the latest version of the AppFabric.
The AppFabric SDK for PHP is an open source project developed by Persistent Systems Ltd. and is available today on Codeplex: http://dotnetservicesphp.codeplex.com/. Microsoft is providing funding and architectural guidance for this project.
About the AppFabric
As part of the Windows Azure platform, the AppFabric includes the Service Bus and Access Control services. They are both web-based services that provide infrastructure in the cloud to connect applications. The Service Bus acts as an intermediary between applications and services. For example, developers can use it to bridge on-premise and off-premise applications or create composite applications. The Access Control service enables external users to connect to cloud resources using their external identities. It also enables developers to create user accounts that federate a customer's existing identity management system that uses the Active Directory service, other directory systems, or any standards-based infrastructure. You can learn more on the http://www.microsoft.com/windowsazure/dotnetservices/ pages. I suggest that you start with the video:
“What are the Access Control Service and the Service Bus? ”
Understanding the function of the SDK
Before I delve any deeper into the technology behind the SDK, I want to address a question that we on the Interoperability Team are often asked:
“Why would I need a SDK to use the services offered by the Window Azure platform when the platform has been built from the ground up with interoperability in mind ? ”
Let me be clear: the Windows Azure platform natively supports multiple Internet protocols and standards (such as HTTP, XML, SOAP, REST, and ATOM, to name a few). So it does not require an SDK to build applications. However, the SDKs can boost developers’ productivity and provide guidance on how to use the platform. Think of SDKs as speed-dials to the Windows Azure platform!
Watch the video
To find out more about this project, watch the video with Sumit Chawla, Technical Product Manager/Architect from the Microsoft Interoperability Team. Sumit explains the SDK architecture, provides sample scenarios, and demonstrates the SDK in action with a sample PHP application.
[This video is posted on channel9 as well]
A typical scenario
Let me try to summarize in a diagram a typical scenario using the AppFabric SDK for PHP.
Imagine you want to provide access to an application or service living within the boundary of your enterprise, but you cannot (or don’t want to) open a direct communication to your application. You can use the Service Bus to act as the intermediary and communicate with third parties via buffers of messages. The Access Control service makes it easier to deal with the identities of your users and the associated level of authorization.
In the scenario represented by the diagram below, the PHP application that lives behind an enterprise firewall can share specific services with other applications—whether they run on Windows Azure or on other cloud infrastructures, and using a mix of technologies.
For more details on the SDK, feel free to visit the project site at http://www.dotnetservicesphp.com/, which includes tutorials, sample code, and a demo application that can help you better understand how to use the services in your own application.
Enjoy.
—Jean-Christophe Cimetiere - Sr. Technical Evangelist
Comments
- Anonymous
November 24, 2009
This is cool, but I'm curious as to why there is not a similar SDK for Mono (open source .NET implementation)? It really makes sense to me. .NET development shops occasionally need to deploy an application to Linux or the iPhone or other places that Microsoft's .NET cannot reach. In those cases, we'd like to leverage our C# coding skills and (at least some of) our existing C# code assets.