November, 2013

  • Interoperability @ Microsoft

    Showcasing Open Source Community Contributors to Entity Framework, ASP.NET and Web API for Visual Studio


    Microsoft Open Technologies, Inc.’s Hub engineering program continues to be a great place for community contributors to work and collaborate on key MS OpenTech projects. We’re thrilled to see so many non-Microsoft contributors. Thank you!

    In this post we’re showcasing (and thanking!) some of the open source developers who independently contribute code to improve key MS OpenTech open source projects: ASP.NET MVC, Web API, and Web Pages, SignalR and the Entity Framework.  Microsoft Corp. regularly takes great code contributions from these projects and builds them into the products that our customers know and love: they’re shipped with Visual Studio, in the Visual Studio Gallery and even sometimes in the core product. Working with community authors has earned us some wonderful community relationships in the process

    Entity Framework (EF)

    Entity Framework continues to benefit from input from a strong open source community since MS Open Tech announced it was open source about a year ago.

    Here’s a great intro to EF and EF concepts for newbies.

    Scott Guthrie did a great job of describing the latest and greatest features in this blog post. Back in May we highlighted a few developers and their open source contributions, and today we’d like to introduce you to some of them and dive a little deeper into their contributions.

    Independent Developer Profile – Erik Ejlskov Jensen

    Erik Ejlskov Jensen
    Erik Ejlskov Jensen

    In May we mentioned community contributions by Erik Ejlskov Jensen (ErikEJ), specifically ESqlCeFunctions, that provide a SQL Compact equivalent to SqlFunctions. I caught up with Erik on a quick call from his home in Denmark to share some information and answer a few questions about his contributions and experience so far. Erik has been working with Entity Framework since before it was a CodePlex project, originally working with ADO.

    Erik is coordinator for several projects on CodePlex and follows dozens of projects as well. One of his most notable contributions is the open source SQL Server Compact Toolbox, available as a Visual Studio add-in or a standalone app. Erik describes the toolbox in great detail in this Channel 9 video.

    Erik uses many other CodePlex projects in his own projects, so giving back to the community by providing tools to help others seems like a natural response to all the support and assistance he’s received from community members and tools in his development career.

    On his motivations for sharing enhancements for the Entity Framework, Erik says “The Entity Framework team has been very open towards contributors, you really feel that your contributions are appreciated and they take your contributions seriously”.

    Independent Developer Profile – Unai Zorilla Castro

    Unai Zorrilla Castro
    Unai Zorrilla Castro

    Unai Zorrilla Castro (UnaiZorrilla) also has been an independent open source contributor to EF since before it was EF – he was the author of several popular ADO books. He’s always been interested in the data access layer. Unai had the chance to meet with Daniel Simmons and Diego Vega on the EF team, who helped him understand the full capabilities of EF.

    Unai had several ideas for features that he thought could be interesting for the product. He’s contributed more than 10 open source additions to the product so far, some minor like changes to the code generated by migrations, and some more complex, like the creation of a pluralization service as a public and configurable service from DbConfiguration. He’s also contributed some interesting methods such as AddFromAssembly in ConfigurationRegistrar that enables entity mapping loading without having to specify entities in ModelBuilder, and AddRange and RemoveRange in DbSet that provides an optimized method to include or remove a set of entities.

    Unai believes that contributing has been more beneficial for himself than for the community, team or the product. Being able to work with the core EF team members is one of the best ways he has been able to learn and improve as a professional developer. Contributors must follow the same process as internal Microsoft developers, which provide a great source of important feedback.

    Unai also independently contributes to other Microsoft open source projects for the Microsoft team in Spain. Currently he’s involved in EF6.Contrib, a repository for draft contributions to EF 6 which for various reasons cannot be included in the core product code.

    As far as tips for other community members who want to contribute to the community, Unai says “don’t be afraid of having your code reviewed, feedback is always positive no matter what. We should dare to do these kind of things. Maybe they will work out or not, but if we don’t try we are sure to fail.”


    Our ASP.NET and Web API for Visual Studio are also blockbuster Hub projects, with unprecedented interest and downloads of ASP.NET MVC, Web API, and Web Pages source code. Visit to find official installers, documentation, tutorials, samples, and videos.

    Independent Developer Profile - Brock Allen - CORS in the ASP.NET Web API

    Brock Allen
    Brock Allen

    The recently introduced CORS runtime configuration inside the ASP.NET Web API could not have been possible without the help of CORS developer Brock Allen (brockallen) . Brock video-conferenced in remotely to help show CORS Support for the ASP.NET Web API in this great video on Channel 9, also featuring Dan Roth and Yao Huang Lin of Microsoft’s ASP.NET Web API team.


    Independent Developer Profile - Tim McCall – Attribute Routing in MVC and Web API 2

    Tim McCall (mccalltd – CodePlex, NuGet) was integral in building the original open source project that eventually became the new Attribute Routing feature in ASP Web API 2, which gives you more control over the URIs in your web API. For more information, have a look at the tutorial: Create a REST API with Attribute Routing in Web API 2.

    Tim got involved as a contributor earlier this year when he saw Dan Roth talking about his project, MVC Attribute Routing on Microsoft’s Channel 9, and invited the author to get in touch with him to talk about the project “if he sees this video.” Tim was inspired by the Ruby-based Sinatra Framework, and wanted to make something as easy to use in ASP.NET. He created a NuGet package that really helped the solution take off and generated a lot of positive responses on Twitter as well. The NuGet and Twitter attention also helped his solution climb to the top of results in popular search results, generating even more attention.

    His advice to developers who want to contribute: “If you see code or features that you don’t like, and you have a way to make it better, make the change and contribute the change so others can see it. Get some open source code out there even if it’s not perfect, but works, and appreciate and respond to community members who take the time to provide feedback. Also, make sure to package your projects using a good open source package manager like NuGet, npm, or RubyGems to get extra exposure for your projects.”


    We again thank all the contributors who have participated so far in improving MS Open Tech Hub projects via community contributions. If you have a contribution that we should be highlighting, please contact us by leaving a comment below, as you can see from our developer profiles in this post we are glad to help promote your contributions in any way we can!

    And if you’re new to the MS Open Tech Hub projects and want to get started, get the latest instructions on installing the Visual Studio 2013 Preview, release notes, documentation and tutorials here. Also, source code contributions to ASP.NET MVC, Web API, and Web Pages source code can be made by starting here, and Entity Framework contributors can get started here.

  • Interoperability @ Microsoft

    ActorFx Updates – New features, improved performance and a new plugin to ease deployment to Windows Azure


    From the ActorFx team:

    Claudio Caldato, Principal Program Manager Lead, Microsoft Open Technologies, Inc.
    Brian Grunkemeyer, Senior Software Engineer, Microsoft Open Technologies Hub

    Today Microsoft Open Technologies, Inc, would like to share the news of a new version of ActorFx, V0.7.

    ActorFx provides an open source, non-prescriptive, language-independent model of dynamic distributed objects for building highly available objects, including data structure objects, via a standardized framework and infrastructure. ActorFx is based on the idea of the mathematical Actor Model for cloud computing.

    With this release, developers now have a more stable code base (based on the Windows Azure SDK 2.0, a new prerequisite) onto which we will build new features that will make ActorFX a more solid framework for building highly distributed applications.

    The new release is based on an improved version of the Actor Runtime’s replication support, and contains improvements in several areas:

    • A new AddOnce method for our List actor.
    • Embraced async methods more fully.  Look at GetActorProxyAsync for a good example.
    • Delay-loaded our JavaScript and IronPython language packs.

    We also improved reliability and fixed some issues within the networking layer:

    • Continuations on IActorPromises work better.
    • Significantly better error handling for network problems, including adjusted timeouts & retry logic.
    • Better error handling on the server side for a number of scenarios.

    On the deployment side, we now have a way to deploy an ActorFX app on Windows Azure using a new plug-in to streamline the deployment process. The instructions are here.

    Note that the 0.7 release also requires that the Windows Azure SDK 2.0 be installed before you download the code from the CodePlex site.

    Be sure to subscribe to the CodePlex feed and our Blog to be kept current on the latest developments.

    If you are using ActorFx in implementations, we’d like to hear more about how you’re using it, how it’s useful to you and how it can be improved. We are looking forward to your comments/suggestions, and stay tuned for even more cool stuff coming in our next release!

  • Interoperability @ Microsoft

    AMQP 1.0 is one step closer to being recognized as an ISO/IEC International Standard


    From Ram Jeyaraman, Senior Standards Professional, Microsoft Open Technologies, Inc. and co-Chair of the OASIS AMQP Technical Committee

    Microsoft Open Technologies is excited to share the news from OASIS that the formal approval process is now underway to transform the AMQP 1.0 OASIS Standard to an ISO/IEC International Standard.

    The Advanced Message Queuing Protocol (AMQP) specification enables interoperability between compliant clients and brokers. With AMQP, applications can achieve full-fidelity message exchange between components built using different languages and frameworks and running on different operating systems. As an inherently efficient application layer binary protocol, AMQP enables new possibilities in messaging that scale from the device to the cloud.

    Submission for approval as an ISO/IEC International Standard builds on AMQP’s successes over the last 12 months, including AMQP 1.0 approval as an OASIS Standard in October 2012 and the ongoing development of extensions that greatly enhance the AMQP ecosystem.

    The ISO/IEC JTC 1 international standardization process is iterative, and consensus-driven. Its goal is to deliver a technically complete standard that can be broadly adopted by nations around the world.

    Throughout the remainder of this process, which may take close to a year, the MS Open Tech standards team will continue to represent Microsoft and work with OASIS to advance the specification.

    You can learn more about AMQP and get an understanding of AMQP’s business value here. You can also find a list of related vendor-supported products, open source projects, and details regarding customer usage and success on the AMQP website:

    If you’re a developer getting started with AMQP, we recommend that you read this overview. For even more detail and guidance here’s a Service Bus AMQP Developer's Guide, which will help you get started with AMQP for the Windows Azure Service Bus using .NET, Java, PHP, or Python. Also, have a look at this recent blog post from Scott Guthrie, called Walkthrough of How to Build a Pub/Sub Solution using AMQP.

    Whether you’re a novice user or an active contributor the community, we’d like to hear from you! Let us know how your experience with AMQP has been so far by leaving comments here. As well, we invite you to connect with the community and join the conversation on LinkedIn, Twitter, and Stack Overflow.

Page 1 of 1 (3 items)