I’m Paul Cotton, Group Manager, Web Services Standards and Partners, in the Interoperability Strategy Team. I’m in charge of a team that works on web services standards and interoperability. My team is involved in W3C, OASIS, WS-I, Apache and ISO/IEC JTC1 and cooperates with the vendor and user communities to advance interoperability of the WS-* specifications. In addition, I am co-chair of the W3C HTML Working Group that is developing the next version of HTML.
The Web has grown significantly over the last decade based largely on the interoperability of the W3C HTML4 Recommendation. HTML forms the backbone of interoperability on the Web and the specification is being evolved at the W3C as part of the HTML5 effort. Along with many other companies and individuals, Microsoft is contributing significant resources and expertise to work with the W3C to ensure the success of the HTML5 efforts (see this blog post [http://blogs.msdn.com/ie/archive/2010/03/09/Working-with-the-HTML5-Community.aspx]).
I had a chance to sit down last week with Philippe Le Hégaret who’s a staff member of the W3C, to discuss Microsoft’s view on HTML5 interoperability and our work in the HTML WG. Please read the minutes of the interview on the W3C blog: “Interview: Paul Cotton on Microsoft Participation in the W3C HTML Working Group
Today we are announcing a new version of the OData SDK for PHP (previously called Toolkit for PHP with ADO.NET/WCF Data Services). This version includes new features like the capability of handling large result sets of data using an automated paging mechanism and a new sample built on top of an OData feed exposing the Netflix catalog, which we are covering in detail in this blog post. Link for more detail on the OData SDK for PHP.
We also announced today the new OData SDK for Objective C which facilitates the development of applications for iPhone and Mac OS X connecting with OData services. This early version is a Community Technology Preview (CTP) and it supports read operations only and it has been tested on a limited set of scenarios. The download includes a sample iPhone application to browse the new NetFlix OData service hosted in Azure.
Link for more details on the OData SDK for Ojective C Community Technology Preview (CTP)
Finally, Noelios has just updated the Restlet Extension for OData – a set of tools and libraries for Java. Read Jerome Louvel’s post Restlet supports OData, the Open Data Protocol for more details. Noelios has also released a new detailed tutorial for developers who want to access OData services in Java.
The list of OData SDKs is available at http://www.odata.org/developers/odata-sdk.
About Open Data protocol - oData
In essence, the purpose of the OData is to feed the web with more consumable data and give the developers and entrepreneur more power to create new scenarios.
OData enables data integration across a broad range of clients, servers, services, and tools. OData builds on a few conventions, popularized by AtomPub, to using REST-based data services. These services allow resources, identified using Uniform Resource Identifiers (URIs) and defined in an abstract data model, to be read and edited by web clients using simple HTTP messages. For more details, consult the protocol documentation on the OData site where you will also find a list of services and products that are already using OData.Read "Open Data for the Open Web" by
Doug Purdy for more perspective on OData.
The Netflix demo scenario
The demo starts with a search form with multiple pull-down menus you can use to narrow the search for titles in the catalog. To keep the demo simple, we limited on purpose the set of the fields that could be used to build an advanced search on the OData service. We actually use only the “Genre” and “Language” options which are prepopulated with values coming from the Netflix OData feed and the “Name” (movie title):
Once the user has selected his criteria and hit search, the PHP application calls the Netflix OData feed through a simple method call, highlighted below:
And then a list of corresponding titles is returned by the Netflix oData feed. The result set is filtered and sorted by the Netflix service; you just have to display the data in a pretty HTML page:
Netflix’s OData backend runs on Windows Azure and SQL Azure to produce the OData feeds. OData being an open specification, there are many ways to build a “data producer”. Here are a few applications and services exposing OData feeds:
The complete list of currently available solutions is here: http://www.odata.org/producers. We clearly expect to see more OData producers coming for various platforms and languages.
How did we build the sample application?
You can watch the following Channel9 video with Claudio Caldato demoing and explaining the PHP sample. Claudio has been instrumental in driving the development of cross platform OData SDKs and building the OData community with Microsoft partners.
Using the oData SDK for PHP to consume an OData feed is really quick and easy. You have to consider two main steps:
1. Generating the proxy classes: the SDK includes a tool that will read the definition of the OData Service and create the corresponding PHP proxy classes. It will create one class per collection that is exposed by the service. You can see here all the collection available in the Netflix service:
2. The next step is to write the code for application logic. Your code will call the PHP proxy classes so that you can easily program against the OData.
Join the conversation
We’ve been working hard to get OData support on as many platforms as we can so a developer on any platform can both consume and produce these feeds. It’s only the beginning of the journey, and you can expect more to come. Of course, feedback is welcome!
To join the conversation, please visit www.odata.org.
Additional information to bookmark, two MIX10 sessions:
-- Jean-Christophe Cimetiere, Sr. Technical Evangelist
I’ve just finished my MIX10 session (“Building PHP Applications using the Windows Azure Platform”) where I announced the new Windows Azure Command-line Tools for PHP Community Technology Preview (CTP). The tools are available under an open source BSD license and can be downloaded at: http://azurephptools.codeplex.com/
In a nutshell, these tools enable developers to easily package and deploy PHP applications to Windows Azure using a simple command-line tool without any Integrated Development Environment (IDE). This project is actually the result of feedback we received from many PHP developers who are using various IDEs (or none), who told us that a command-line tool would be a great addition to the Windows Azure Tools for Eclipse project.
The tools assist with creating new applications or converting existing PHP applications to Windows Azure and by creating the deployment package (.cspkg) and Configuration file (.cscfg). They will let developers deploy to the local Development Fabric or the Windows Azure Cloud for production.
The tools offer a simple command-line interface with a few parameters to customize your deployment:
From the developer point of view this is an easy three step process:
Your PHP application is ready to run on Windows Azure!
To see the tools in action, watch this Channel9 video where I demo how to convert and deploy a simple PHP application to Windows Azure.
As always, if you have feedback, questions, or wishes, please join us on the project site: http://azurephptools.codeplex.com/.
Sumit Chawla, Technical PM/Architect, Microsoft Interoperability Strategy Team
Microsoft was once again at the Open Source Business Conference (OSBC) held at the Palace Hotel in San Francisco on March 17-18, 2010. As Platinum Sponsors, there was good presence by quite a few softies at the event, as attendees and delivering sessions.
Stuart McKee, Microsoft's National Technology Officer for the United States, delivered a keynote address to attendees titled "Open Source at Microsoft: Meeting customer, developer and partner needs through a diversified ecosystem". McKee talked about the opportunities for open source applications interoperating with Microsoft platforms. From Windows, to SharePoint to Azure, and how increased flexibility and choice for the consumers of these technologies is good for everyone involved. McKee shared how internally Microsoft is changing and responding to a call from customers who demand a diverse ecosystem that includes open source. McKee gave examples of software from Apache, the MySQL database, and PHP all running on Microsoft's Windows Azure cloud platform. Microsoft in recent years has been endorsing open source via efforts such as sponsoring the Apache Foundation. The Microsoft-backed CodePlex Foundation, meanwhile, was set up last year as an effort to enable collaboration between open source communities and software companies. “More than ever, we are continuing to improve interoperability with open source products and platforms in addition to working with customers looking to optimize their mixed IT environments. Interoperability is important not only for the business world, but also for state and local governments. That's because the business of government is really about outcomes, regardless of how solutions are created," McKee said.
Brian Goldfarb, the Director of Developer Platforms at Microsoft, participated on a panel titled "The Web Is the Platform," along with Dion Almaer from Palm and Dave Mcallister at Adobe. Mark Driver from Gartner moderated. It was an interesting discussion with most parties agreeing on the web as a platform that provides opportunity for companies to build business models, use different approaches and how open source plays a very strong part in that vision. Goldfarb shared how the Microsoft /web site for the Microsoft Web platform, features 23 open source applications out of a total of 25 applications. They include software from popular open source companies such as Acquia Drupal, Wordpress, Joomla, Umbraco, DotNetNuke, You can find them and more listed in the gallery.
It was also great to see the folks at Geeknet at the Bird-of-a-Feather (BOF) talking about how Open Source on Windows is steadily climbing. 82% about 350,000 projects are Windows compatible and that is not a small number and fabulous news for those of us working with diverse languages and in mixed environments. These guys know something about the community considering they run sites like SourceForge, Slashdot, ThinkGeek, Ohloh, and freshmeat with over 40 million geeks visiting them.
Other notable presentations …
Tim O’Reilly, who is always fun to listen to, in a thought provoking session title “The Real Open Source Opportunity”, talked about how the future is about data and open access to it. It will be interesting on seeing how all the systems share and make sense of all the signal from the noise. I feel the work we are doing with OData.org and the cloud can play a big role on helping make this happen.
Justin Erenkrantz, the President of the Apache Software Foundation, which we are working on a few things on, gave a presentation on “Writing and Distributing Software "the Apache Way" which should make it’s way up on his talks links soon.
Matt Aslett, Analyst at The 451 Group presented “From Support Services to Software Services – The Evolution of Open Source Business Strategies” around research regarding the best ways to make money from open source software and combining commercial and community interests.Matt, if you’re reading this, it was nice chatting with you at lunch!
Jono Bacon's session 'Unwrapping The Community Manager Talk" was one to catch and I’m looking forward to getting his slides too. At the same time as Jono’s session Matt Asay had a panel session too, and there was some nice rivalry on who would fill their rooms first :) btw Who won? Jono, where are your slides?
It was great to also see partners from the Interop Vendor Alliance, WS02 (nice to see you Jonathan and Devaka!) and Red Hat too!
Tweets about OSBC provide interesting commentary!
I’m looking forward to EclipseCon in Santa Clara next week, where we’ll share some more news around interoperability with open source projects. Maybe I’ll catch you there?
Jas Sandhu , @jassand
I’m writing this from EclipseCon in San Jose, where Shawn Minto, from Tasktop Technologies and I presented the first results of efforts to enhance Eclipse on Windows 7. We are very excited to see this contribution being part of the next release (3.6) of the Eclipse Integrated Development Tool (IDE).
This project was jointly initiated by Microsoft and Tasktop Technologies and announced last October at the Eclipse Summit in Germany. Microsoft is providing funding, technical & architectural assistance and Tasktop is implementing and contributing code. The goal is to improve Eclipse to take advantage of new features in Windows 7. This will empower eclipse developers to be productive and have a compelling experience developing applications using Eclipse on Windows 7. For this first phase, we have been focusing on the user interface components to allow Eclipse developers to take advantage of the new user interface features offered by Windows 7, directly from the Eclipse IDE and from any desktop applications built on top of the Eclipse platform.
For more details, watch this video where Shawn Minto and I discuss the project and show a demo of the results.
New features in next release of Eclipse
In order to include the improvements in the Eclipse development cycle, the features were introduced in the Eclipse Bugzilla as follows:
Let’s take look at some screenshots showing the final results:
Taskbar Jump Lists: in this screenshot, the Mylyn plug-in for Eclipse exposes frequently used features:
Taskbar Progress integration: the new Windows 7 progress bar is integrated in various part of the Eclipse IDE (the progress bar is also part of the application icon in the taskbar and shows progress horizontally across the icon):
Note that these enhancements are made at the Standard Widget Toolkit (SWT) level, which means that developers will see the enhancements in the Eclipse IDE, but they can also take advantage of them in any desktop applications built on top of the Eclipse Rich Client Platform (RCP).
As always, feedback from the developer community about “most wanted” features is very important to us. So if you have ideas, don’t be shy about speaking up—we would love to hear them.
The broader Microsoft and Eclipse picture
The collaboration between Microsoft, the Eclipse Foundation, and the Eclipse community may seem unusual for some people. But let’s be pragmatic, our mutual customers, partners and developers want greater choice and opportunities. We do believe that improving interoperability between our technologies is actually helping all parties. I encourage you to check Mike Milinkovich’s opinion on this as well.
To close, I’d like to give you a quick update on other Eclipse related projects, which we are working on with Soyatec:
--Vijay Rajagopalan, Principal Architect
We have just published a new Lab on InteropVendorAlliance.org titled Remote Desktop Interoperability Lab.
This lab explores scenarios for establishing Remote Desktop connections between Macintosh and Windows based machines.
It gives me the opportunity to welcome Aqua Connect to the Interop Vendor Alliance (IVA). Aqua Connect is a leading solution provider of connectivity between Windows and Macintosh. They have been a great partner to work with, and we are excited to show the results of our partnershiop in this lab. A big thank you to Ronnie Exley and the Aqua Connect team for their participation.
The lab demonstrates how to establish remote desktop connections between Macintosh and Windows based machines:
As part of its development of a Mac terminal server, Aqua Connect obtained a license from Microsoft for the Remote Desktop Protocol (RDP, more detail here) and integrated the protocol into their solution. Using the protocol documentation that Microsoft had made publicly available, on its developer website (msdn.microsoft.com), Aqua Connect took advantage of the access Microsoft provided to its Interoperability Lab facilities, as well as key Microsoft RDP engineers, to develop a bridge between Windows and Macintosh systems. The result is that any Windows machine can now connect (with the Remote Desktop Connection client) to a Mac with the Aqua Connect Mac Remote Desktop installed.
Further details on the lab are available on the www.InteropVendorAlliance.org site:
Jas Sandhu, Interoperability Vendor Alliance Manager