July, 2011

  • Interoperability @ Microsoft

    Neo4j, the open source Java graph database, and Windows Azure


    clip_image003[4]clip_image005[4] Recently I was travelling in Europe. I alwasy find it a pleasure to see a mixture of varied things nicely co-mingling together. Old and new, design and technology, function and form all blend so well together and there is no better place to see this than in Malmö Sweden at the offices of Diversify Inc., situated in a building built in the 1500’s with a new savvy workstyle. This also echoed at the office of Neo Technology in a slick and fancy incubator, Minc, situated next to the famous Turning Torso building and Malmö University in the new modern development of the city.

    My new good friends, Diversify's Magnus Mårtensson, Micael Carlstedt, Björn Ekengren, Martin Stenlund and Neo Technology's Peter Neubauer hosted my colleague Anders Wendt from Microsoft Sweden, and me. The topic of this meeting was about Neo Technology’s Neo4j, open source graph database, and Windows Azure. Neo4j is written in Java, but also has a RESTful API and supports multiple languages. The database works as an object-oriented, flexible network structure rather than as strict and static tables. Neo4j is also based on graph theory and it has the ability to digest and work with lots of data and scale is well suited to the cloud. Diversify has been doing some great work getting Java to work with Windows Azure and has given us on the Interoperability team a lot of great feedback on the tools Microsoft is building for Java. They have also been working with some live customers and have released a new case study published in Swedish and an English version made available by Diversify on their blog.

    I took the opportunity to take a video where we discuss the project, getting up on the cloud with Windows Azure and what's coming up on InteropBridges.tv,

    Video Interview on Channel9: Neo4j the Open Source Java graph database and Windows Azure

    Related to this effort and getting Java on Windows Azure there are a few more goodies to check out …

    Video of the presentation (skip ahead to ~12 mins) by Magnus (blog post) and Björn (blog post) at the Norwegian Developer Conference (NDC) on hosting a Java application on Windows Azure and their experiences using them together.


    Magnus and Björn also got to do a radio interview on  .NET Rocks (mp3)  on Windows Azure and Java.


    I want to thank the guys for taking the time to do the interview, meet with customers, getting some business out of the way and also being fabulous hosts and showing me around town. I am grateful for your Swedish hospitality!





    Jas Sandhu, Technical Evangelist, @jassand @openatmicrosoft

  • Interoperability @ Microsoft

    Microsoft @ OSCON 2011: We have become more open, let’s work together!


    Gianugo Rabellino, Microsoft’s Senior Director for Open Source Communities, just finished delivering his keynote at OSCON in Portland.
    As Gianugo is now wandering around the OSCON session and expo floor, I thought it would we useful to give you a quick recap of what he just presented.

    During his keynote, Gianugo discussed how both the world and Microsoft are changing, saying that “at Microsoft we continue to evolve our focus to meet the challenging needs on the industry: we are open, more open than you may think.”

    Gianugo explained that the frontiers between open source, proprietary and commercial software are becoming more and more of a blur. The point is not about whether you run your IT on an Open Source stack or a commercial stack, the important thing is how you can assemble software components and build solutions on top of them using APIs, protocols and standards.  And the reality is that most IT systems are using heterogeneous components, he said.

    Looking at the cloud, the blur is even more opaque. What does Open Source or Commercial mean in the cloud?

    Gianugo put it this way: “In the cloud, we see just a continuous, uninterrupted shade of grey, which makes me believe it's probably time to upgrade our vision gear. If we do that, we may understand that we have a challenge ahead of us, and it's a big one: we need to define the new cornerstones of openness in the cloud. And we actually gave it a shot on this very same stage one year ago, when we came up with four interoperability elements of a cloud platform: data portability, standards, ease of migration & deployment, and developer choice.”

    Finally, Gianugo talked about how Microsoft’s participation in Open Source communities is real, and he used his keynote as an opportunity to announce a few new projects and updates.

    Gianugo Rabellino

    One way we interact with open source software is by building technical bridges, Gianugo said, giving an example on the virtualization front: announcing support for the Red Hat Enterprise Linux 6.0 and CentOS 6.0 guest operating systems on Windows Server Hyper-V (which follows this Linux Interoperability  announcement at OSBC a few weeks ago. )

    On the cloud development front, we are continuing to improve support for open source languages and runtimes, Gianugo said, announcing the availability of a new version of the Windows Azure SDK for PHP, an open source project which is led by Maarten Balliauw from RealDolmen, where Microsoft is providing funding and technical assistance.

    Maarten has all the details on the new features and link to the open source code of the SDK. This announcement also includes a set of cloud rules for the popular PHP_CodeSniffer tool that Microsoft has developed to facilitate the transition of existing PHP applications to Windows Azure. The new set of rules is available on Github.

    An on demand Webcast of Gianugo’s keynote will soon be available, and I’ll post the link to it here.


  • Interoperability @ Microsoft

    Try the June CTP of Windows Azure AppFabric Service Bus REST API from Java, PHP


    Good news for all the PHP and Java developers out there: today we are publishing some Windows Azure AppFabric Service Bus samples just for you.

    Since the AppFabric Service Bus REST API can be used from almost all programming languages and operating systems, it makes it very easy for applications written on any platform to interoperate with each another through Windows Azure.

    To illustrate the point, we took the chat application that is already available as part of the Silverlight samples and made sample clients in PHP and Java that can all work seamlessly together.

    You can download the new PHP and Java samples, as well as all others for all other supported environments, from CodePlex.

    The Java application is implemented as a stand-alone client application and these are the steps you need to follow to build it:

    1. Edit the src\config\appfabric.properties file and add your Service Namespace, Issuer Name and Issuer Secret Key (obtained here).
    2. Compile the source using Apache Ant: navigate to the application directory in a command prompt and run “ant”.
    3. Once the build is complete, cd to the new “dist” directory and run the jar file: “java –jar AppFabricChat.jar”.

    To use the PHP app, you need to:

    1. Add your Service Namespace, Issuer Name and Issuer Secret Key to application\configs\appfabric.ini (obtained here). 
    2. Then point your webserver at the “public” directory and browse to the site.

    To set up a new site in IIS:

    1. Open “Internet Information Services (IIS) Manager”
    2. Click “View Sites”, then “Add Web Site…”
    3. Give the site a name such as AppFabricChat and point “Physical path” to the “public” directory of the PHP application.
    4. Pick port and hostname information, and click OK.
    5. Click the link under “Browse Web Site” to see the application.

    Note: If PHP isn’t enabled on your web server, use WebPI to install it.

    We would really like to get your feedback on these Java and PHP samples, so please feel free to ask questions and provide feedback on this at the Windows Azure AppFabric CTP Forum.


    Alessandro Catorcini
    Principal Group Program Manager
    Interoperability Strategy Team

Page 1 of 1 (3 items)