New bridge broadens Java and .NET interoperability

Much of the work that we have collaborated on in the past several months has been centered around PHP, but rest assured we have been focused on other technologies as well. Take Java, for example. A big congratulations goes out this week to Noelios Technologies, which just released a new bridge for Java and .NET.

Reslet-org Noelios Technologies is shipping a new version of 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.

Microsoft collaborated with the France-based consulting services firm and provided funding to build this extension to the Restlet Framework. It’s always very exciting for me, as a French citizen living in the United States, to witness French companies like Noelios collaborating with Microsoft to develop new scenarios and bridges between different technologies. Noelios specializes in Web technologies like RESTful Web, Mobile Web, cloud computing, and Semantic Web, and offers commercial licenses and technical support plans for the Restlet Framework to customers around the world.

Read the full post on the Interoperability @Microosoft team blog: New bridge broadens Java and .NET interoperability

Viewing public government data with Windows Azure and PHP: a cloud interoperability scenario using REST

This week Microsoft is participating in the first Gov 2.0 Summit produced by O'Reilly Media, Inc. and TechWeb in Washington D.C., to explore how technology can enable transparency, collaboration and efficiency in government. Today, we're pleased to present a cloud interoperability scenario which takes advantage of the recently announced Toolkit for PHP with ADO.NET Data Services to view public government data with Windows Azure and PHP.

As you may recall, few weeks ago, Microsoft announced the Toolkit for PHP with ADO.NET Data Services, a new bridge enabling PHP developers to connect to .NET using a RESTful architecture. Today, we've published a cloud interoperability scenario where a Windows Azure application exposes data in a standard way (XML / Atom) and how you can simply “consume” this data from a PHP web application. This scenario takes advantage of the Open Government Data Initiative (OGDI), another piece of Microsoft's Open Government effort, built on the foundation of transparency, choice and interoperability.

Read the full post here: Viewing public government data with Windows Azure and PHP: a cloud interoperability scenario using REST

Posted 14 September 09 02:26 by jccim | 0 Comments   
Filed under ,
Identity Interoperability scenario with PHP and Geneva Server, Windows CardSpace, Information Cards

At the RSA Conference 2009 in April, Microsoft’s Scott Charney included a video from a project for the Lake Washington School District in his keynote. The project features a very interesting identity interoperability scenario between the Lake Washington School District’s internal Active Directory and Intand’s Tandem for Schools SaaS application. The key challenges were to manage effectively identities while preserving the security of the users and the system.

The project combines Microsoft code name “Geneva” (the “Geneva” Server and Windows CardSpace “Geneva”) and Intand’s PHP-based Tandem for Schools application that uses the Zend Framework’s information card support for interoperability.

The project is based on upon the use of Microsoft code name Geneva Server, Windows CardSpace Geneva and Intand’s PHP application using the Zend Framework’s information card support for interoperability.

To get deeper and learn more about this exciting project, watch these videos:

Finally I wanted to point out other open source interoperability work our team has been contributing to around information cards for heterogeneous web applications. This includes information card support for Java , Ruby on Rails and a generic C module

Also posted on our team blog: http://blogs.msdn.com/interoperability/archive/2009/06/01/identity-interoperability-scenario-with-php-and-geneva-server-windows-cardspace-information-cards.aspx 

Kerberos Interoperability Testing Workshop hosted by Microsoft

A few weeks ago Microsoft’s Kerberos team participated in the Kerberos Interop Workshop organized by the MIT Kerberos Consortium, being hosted here at the Microsoft campus here in Redmond. I had a chance to spend some time with the Microsoft folks (Michiko Short, Jeremy Viegas, Larry Zhu and Yi Zeng from the Microsoft’s Kerberos team) who participated in the event to discuss what happened. We thought it would be interesting to share a quick summary.

This sort of interoperability workshop is an effort to gather developers together in a single location, to actually plug them into a network environment together and help each other work through the interoperability challenges associated with their current development efforts. In attendance were representatives from Cornell University, Centrify, Microsoft, MIT, Safe Mashups, and Sun Microsystems.

A bit of background…

For those of you that aren’t familiar with Kerberos, it is a network authentication protocol developed by MIT as part of a joint project with Digital Equipment Corporation and IBM designed to produce a campus wide distributed computing environment in 1983. Kerberos provides a mutual authentication system, and a high level of encryption, both designed to ensure network and data security. Kerberos was accepted by the Internet Engineering Task Force (IETF) as a standard in 1993. Since its creation Kerberos has become the most widely deployed system for authentication and authorization in modern computing networks.

In September of 2007, MIT founded the MIT Kerberos Consortium to help establish Kerberos as the universal authentication platform for the world’s computer networks and many organizations joined since then (full list here). The consortium hopes that by opening up ongoing development of Kerberos to other interested parties, it will be possible to expand the scope of work being performed, enhance the evolution of Kerberos, and to help engage potential adopters.
The MIT Kerberos has also a group on Facebook.
KerberosOnFacebook

Microsoft’s collaborative efforts regarding MIT and the Kerberos Consortium are nothing new. Microsoft was one of the original sponsors, and is represented on the board of directors by Microsoft’s Director of Development Slava Kavsan. To help standardize the testing processes for Kerberos developers, Microsoft contributed the GSS Monger interoperability testing framework to the consortium. It is now available on Codeplex using MS_PL, as an ongoing open source project.
gssmonger

You may not know, but Microsoft has been using Kerberos as the default authentication package since Windows 2000. You may actually be using Kerberos authentication today in your solutions without even realizing it since it is part of negotiated authentication.

Back to the interoperability plug fest…

How does an interoperability plug fest like this work? Each participant prepares a desired test plan based on their own current projects and challenges, but beyond that the lab is very ad-hoc. All of the participants bring systems with their code/applications to the event; then everybody hooks up to the network and starts testing out scenarios against each other’s applications using MIT realms or Microsoft domains. This collaborative environment allows participants with different implementations of the same standard to test their interoperability in a real world environment, helping to identify and solve the road blocks that might otherwise cause them problems.

One of the scenarios for the plug fest consisted of MIT & Microsoft collaborating on testing efforts for their next release. MIT has developed an implementation of a new Kerberos RFC (jointly defined by MS/MIT, and the IETF standards body). Since it was the first implementation there were no other implementations to be tested against. So, the Microsoft team developed a second implementation for the event for validation/comparison/interoperability testing.

Cornell University came prepared with two scenarios to investigate. The network environment that both scenarios operate under consists of a mixed MIT realm with an Active Directory domain. This results in certain complications when it comes to integrating a Single Sign-on solution. The first of their scenarios was built around integrating CUWebAuth, the open source, Kerberos based, web authentication application they have built, with key IIS services that are connected to a central Active Directory. This integrates single sign-on for Microsoft applications such as Outlook Web Access with other campus web services that require a login. The second of their scenarios centered on integrating WebDav with the Kerberos based login across their network. Complicating matters, the systems used across this network are very diverse and heterogeneous, including desktops running Windows, Linux, and Mac. The Cornell University team has had trouble implementing Kerberos with WebDav on Windows machines that are not part of a domain. Initially, they were uncertain that support for the desired functionality was even possible for Windows based systems. The Microsoft developers attending the plug-fest were able to provide the necessary insights regarding how the problem could be solved on Windows Vista and higher machines.

Peter Bosanko of Cornell University had this to say about the event:

“At the KC Interop we worked side by side with an impressive group of Kerberos experts from MIT and Microsoft. This was extremely fortunate for us because our interoperability issues were all about tying together Microsoft systems with an MIT KDC. By the end of our first day we had already accomplished more than we expected to accomplish over the three day Interop.”

What’s in it for Microsoft and other participants?

Interoperability is a key pillar for the Kerberos team. Knowing that many customers are going to have a heterogeneous environment, ensuring that Microsoft’s implementation of Kerberos works with other implementations is considered a key to success. By getting all the people together at events like this gives developers an opportunity to really dig into how we work together in an efficient way, solving problems in real time. Also it allows us to see how our applications interoperate with all sorts of other systems and applications that we normally don’t get the opportunity to see. Finally, it allows us to help explore, expand on, and develop standards while learning from a diverse group of experts.

We were delighted to see the turnout for this event, and wanted to extend a thank you to the MIT Kerberos Consortium for putting this together, and to the Kerberos team here at Microsoft for sharing it with us. With any luck the collaborative efforts of the participants will enable the ongoing development work on the various Kerberos implementations to proceed unhindered.

[Entry aslo posted on the Interoperability @ Microsoft team blog]

Posted 27 May 09 12:16 by jccim | 1 Comments   
Interoperability at MIX09, let's recap!

Well, it came as no surprise that interoperability was a big part of the discussion at MIX09… at the keynote, in the breakouts, on the blogs, on Twitter, etc. Of course interoperability is a key consideration any time that you talk about cloud computing. Let’s be clear: Interoperability between the services platforms, the identity providers, the mashable services, the social networks and so on is now an integral part of the landscape.

MIX is a very special annual conference where Microsoft attempts to bridge the worlds of technology, design, entrepreneurship and business. Zooming into technology, we could draw much more interrelated circles, but my point is not to give a holistic view. Instead, I’ve highlighted a few sessions for you that are going deep into interoperability scenarios.

clip_image002[4]

I’ll start with Vijay Rajagopalan’s session
Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!” where he presented:

  • Microsoft’s approach to Interoperability: 6-7 minutes that really helps to explain how and why Microsoft is going this direction!
  • Silverlight interoperability with the Eclipse Tools for Silverlight project, with the new Mac support (see my post Eclipse Tools for Silverlight (Eclipse4SL): now for Mac developers) and a sample integration of Silverlight and PHP
  • Azure Services Platform Interoperability and .NET Services, where Vijay demos the Java SDK for .NET Services (Jdotnetservices) and the Ruby SDK for .NET services (check also John Shewchuk’s session below for more on .NET Services/Interoperability)
    • Slide 38 at approx 31':
      clip_image004[4]
  • A prototype of PHP Tooling from Eclipse for Windows Azure, enabling developers to browse the Windows Azure Storage, and publish a PHP application that would leverage the FastCGI support in Azure (see Using 3rd Party Programming Languages via FastCGI).
    • The Azure Storage Explorer in Eclipse at approx 46' 
      clip_image006[4]

Speaking about Azure, from the moment we kicked off our cloud computing effort, openness and interoperability stood at the forefront, we spelled it out clearly with Azure (see http://www.microsoft.com/azure screenshot below), and we mean it as this post illustrates.

clip_image008[4]

clip_image010[4]

The next session I’d recommend is Shaun Hirschman & Michael Joffe’s
Running PHP on Microsoft Servers and Services: Windows + PHP, explore the possible
clip_image012[4]

As Michael states in the opening, everybody is aware that PHP runs on Windows, but you don’t necessarily know all the legwork the Microsoft has been doing to enhance PHP on Windows, as well as all the interoperability touch points between PHP and Microsoft’s technologies. So in this session you’ll get the big picture. In particular don’t miss these demos:

  • Web Platform Installer: getting all you need to build your web applications in one simple and customizable installer, including popular web applications like WordPress.
  • Live Services + PHP: extend PHP applications (WordPress in the demo) by adding your Live Contacts and syncing blog content with Live Mesh

clip_image014[4]Finally, I invite you to check out John Shewchuk’s session A Lap around Microsoft .NET Services, where he is doing “something a little wacky” as he said!

John demonstrates interoperability scenarios with .NET Services (which is part of the overall Azure Services platform) combined with different languages and platforms. John’s demos show how to leverage the Access Control Service & the Service Bus, with an application built using Python+JQuery running on the GoogleApp engine and using Yahoo as the OpenId provider. These are great scenarios involving notifications and federated identity across firewalls boundaries and heterogeneous systems.

clip_image016[4]

Further down the talk, I also really liked the Facebook (PHP)/CinemaMIX (ASP.NET) application allowing users to invite friends to share (view/edit) your Netflix video queue. That’s cloud interoperability in action

This is only a short selection of the sessions tackling Interoperability. There are many other interesting sessions to discover, so get lost at http://videos.visitmix.com/MIX09 and have fun!

Eclipse Tools for Silverlight (Eclipse4SL): now for Mac developers

One more step for the Eclipse Tools for Silverlight (Eclipse4SL) project: the Customer Technology Preview (CTP) of Eclipse4SL with support for Macintosh is being delivered at MIX09, Microsoft’s conference for Web developers, designers, business and digital marketing professionals. With this plug-in, Mac developers using Eclipse can develop Rich Internet Applications (RIAs) using the Silverlight platform (read the announcement).

If you’re new to Eclipse4SL, here’s a quick recap: “The Eclipse tools for Silverlight project, aka eclipse4SL, is an Eclipse plug-in that enables developers to use the Eclipse IDE to create applications that run on the Microsoft Silverlight runtime platform. Announced in October of last year, the project is led by Soyatec, an IT solutions provider based in France & China, and also an Eclipse Foundation member (Yves Yang, Soyatec President). Microsoft provides funding and architectural guidance (in particular my colleagues Vijay Rajagopalan and Stève Sfartz)” (read the full introduction at Eclipse and Silverlight, another interoperability journey has begun)

The CTP not only enables support for the development experience on a Mac but it also includes many new features also available for the Windows version. To get the plug-in go to http://www.eclipse4sl.org/download/.

  • Watch the demo for a quick walkthrough:

The demo is also posted on Youtube and MSN Video.

If you are attending MIX09, I encourage you to go to Vijay Rajagopalan’s session “Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP!” (Friday, March 20, 10:45 AM-12:00 PM).

Vijay will give an overview of how Microsoft has delivered multiple technologies that focus on interoperability with non-Microsoft and open source technologies.

And of course he will also show the Eclipse Tools for Silverlight along with other interoperability scenarios, like combinations of Java, Ruby and PHP with the Azure Services Platform and the use of claims-based identity in support of heterogeneous identity systems.

Going back to the Eclipse4SL plug-in, let me share a few screenshots showing the new features:

  • Eclipse4SL on Mac, overview: the Project explorer, the Silverlight rendering surface, the advanced XAML code editor, the Controls Palette
    1
  • Code completion in the XAML editor
    2
  • Code generation from the XAML editor, to generate the C# event handlers
    3
  • Code generation in the C# editor
    4 

Finally, while the Eclipse4SL plug-in brings Silverlight development capability to Eclipse, it also preserves the project structure to retain compatibility with other Microsoft tools (Visual Studio and Expression Blend) enabling collaboration between Eclipse developers (Java, PHP, etc…), .NET developers, and designers:

5

Finally, if you have feedback, join the conversation at http://www.eclipse4sl.org/community/

{Eclipse4sl on Mac}Tweet it
Eclipse and Silverlight, another interoperability journey has begun

Silverlight is a cross-platform browser plug-in that enables rich media experiences and .NET-based Rich Internet Applications (RIAs) within the browser. While Microsoft creates developer and designers tools, interoperability scenarios using other tools makes sense simply because in many situations there are development teams working in heterogeneous environments. Searching for ways to assist these teams is how Eclipse tools for Silverlight came to life!

The Eclipse tools for Silverlight project, aka eclipse4SL, is an eclipse plug-in that enables Eclipse developers to use the Eclipse IDE to create applications that run on the Microsoft Silverlight runtime platform. Announced in October of last year, the project is led by Soyatec, an IT solutions provider based in France & China, and also an Eclipse Foundation member (Yves Yang, Soyatec President). Microsoft provides funding and architectural guidance (in particular my colleagues Vijay Rajagopalan and Stève Sfartz).

Since the release of a new beta version in December, additional technical content for Java developers has been published on the project site, giving guidance on key interoperability scenario sought by developers: facilitate interoperability between Silverlight clients and REST and SOAP (JAX-WS/CXF) Java web services.

Even though the V1 of the project is not yet complete, Soyatec has done a great job of building the early pieces of this bridge between Eclipse and Silverlight. The interoperability scenarios this project enables are very interesting, as it provides more choices to Java/Eclipse developers and opens up new opportunities for Silverlight adoption.

So if you haven’t had a chance to see the Eclipse tools for Silverlight in action, take a look at this demo. It gives an overview of the developer experience of creating a basic Silverlight application in Eclipse, shows how collaborating with a designer could work, and finally you’ll see a sample Silverlight application talking to a Java web service:

Pick the version you prefer:

  • From Silverlight streaming service

If you want to try it for yourself it’s very easy, just follow the step-by-step installation guide on http://www.eclipse4sl.org/download/. The eclipse4SL plug-in can be installed directly from the internet with the Eclipse software update wizard (see screenshot below):

clip_image002

Then you can explore the Hello, world and DataGrid tutorials that my colleague Stève Sfartz has prepared for you. Also you might want to check this tutorial that has just been posted on Devx: Getting Started with Silverlight for Eclipse.

I don’t write a lot of code these days, but from a developer point of view I think it is cool to deliver interoperability at this level, and to extend the Silverlight development experience to Eclipse developers. For a nascent project, the eclipse4SL has been well received by the community and is currently in the top 10 “Top Rated” on www.eclipseplugincentral.com (a portal that helps developers find Eclipse plug-ins):

(Screenshot taken on 02/03/2009)

Interop BloggsThe Eclipse tools for Silverlight project aka eclipse4SL is an eclipse plug

Of course, if you have feedback, feel free to join the conversation.

Back to online life

My name is Jean-Christophe Cimetiere, Senior Technical Evangelist, and I’m part of the Interoperability Technical Strategy team lead by Jean Paoli. My focus is on technical interoperability topics/issues between Microsoft products/technologies and others (competitors, partners, open source, etc). Prior to that job (just started summer 2007) I spent 4 years at Microsoft France driving marketing efforts for the .NET Framework, Visual Studio, and Silverlight. Before that I spent 10 years in the development/consulting/analyst domains.  It’s been a while since I have been doing any writing and  have missed it (although I’ve been doing quite a few videos). So here we go, I’m back online!

Search

This Blog

Syndication

Page view tracker