Scot Gellock’s Blog

.NET Services

Update on the Next Microsoft .NET Services CTP

with 2 comments

Our marketing team published a release today that enumerates some of the things that have changed and will be coming in our October CTP release.  Here is the text of that announcement:

 

It’s been a while since our last update on this blog, hopefully everyone enjoyed a warm, sunny summer break while we continued the march toward the commercial release of Microsoft .NET Services.

For those that are new to the conversation .NET Services make it easier to connect applications and services in the cloud and on premises. .NET Services includes access control to help create secure connections between your applications and services, as well as a service bus for communicating across network and organizational boundaries.  In the same way that Microsoft® .NET Framework provides higher-level libraries to make developers more productive, .NET Services help developers focus on their application logic rather than deploying and managing their own cloud-based infrastructure

The next Community Technology Preview (CTP) of .NET Services and the supporting Software Development Kit (SDK) is due out in October, and will closely resemble what is planned for our commercial launch. So, what does this mean for capabilities that will comprise of .NET Services when we reach commercial availability? The Microsoft® .NET Service Bus remains largely the same compared to the current CTP, while the Microsoft® .NET Access Control Service will undergo changes in order to bring us closer to locking down the .NET Services launch features.

So, let’s dig into it!

What We’ve Heard and Observed Regarding Microsoft .NET Services

What’s become a core area of focus for the team, and also a point of discussing during the customer feedback process, is that REST web services are clearly increasing in popularity with both Web and enterprise developers. What is also apparent is a significant gap has emerged in the market place for REST-based identity and access control technologies.

Today, developers of REST web services lack an easy, accessible means to secure their services. At MIX09, we exposed some of our thinking about taking a first step toward radically simplifying the REST developer experience, and used this as an opportunity to gauge customer interest and feedback. Your response was overwhelming, positive and confirmed our priorities as we approach the commercial availability of .NET Services.

Developers face a lack of consistency and common patterns for managing identity and access control in a way that is compatible with REST.  As developers move towards REST in the enterprise, they will have an increasing need for robust security. They will be required to address the more systematic security concerns of enterprise customers as well as the more complex identity management scenarios that enterprises present. They will need a way to address these requirements in a simple way that integrates well with REST.

In speaking with the community in the past several months, it became clear that we all need a better way to control access to REST web services.  We believe that the .NET Access Control Service will address this need and compliment other Microsoft technologies for security and identity management.  The combination of simplicity and support for key enterprise integration scenarios will ensure that .NET Services are useful to enterprise developers as well as the broader developer audience.

What to Expect from Microsoft .NET Services Access Control Services in the October CTP

The.NET Access Control Service provides an easy way to control access to web applications and services while integrating with standards-based identity providers, including enterprise directories and web identity systems such as Windows Live ID. Authorization decisions can be pulled out of the application and put into a set of declarative rules that can transform incoming securing claims into claims that applications understand.

October CTP –  .NET Access Control Service Capabilities

  • Simple Web Trust – Authorization for REST Web Services and the .NET Service Bus
    • Two token-exchange endpoints: REST with symmetric key and REST with SAML Extension
      • REST with symmetric key: Makes it easy for developers on any platform to package claims for the .NET Access Control Service
      • REST with SAML Extension will work with tokens issued by ADFS V2
      • Both endpoints will be addressable using standard HTTPs POST requests
    • Claims Transformation Engine: Transform input claims to output claims using configurable rules
    • Security Token Service: Package and transit output claims using REST tokens

While we believe – and have heard clearly – that the changes to the .NET Access Control Service outlined above will bring tremendous benefit to our customers in the near-term, we also recognize these changes will significantly impact any code you are writing today.

In concrete terms, this means the WS-* integration features currently supported today will be temporarily unavailable while we focus on delivering a robust infrastructure for REST web services authorization. Once this infrastructure is in place, we will work on future version features of .NET Services, like web single sign-on and rich WS-* support. In future releases, we will reinstate full support for the WS-* protocols, web Single Sign On, and round out the .NET Access Control Service offering in a way that spans the REST/SOAP spectrum. We’ll talk more about these future features at a later date.

What to Expect from Microsoft .NET Services Bus in the October CTP

The .NET Service Bus makes it easy to connect applications together over the Internet. Services that register on the Bus can easily be discovered and accessed, across any network topology. The Service Bus provides the familiar Enterprise Service Bus application pattern, while helping to solve some of the hard issues that arise when implementing this pattern across network, security, and organizational boundaries, at Internet-scale.

As we work with you to gather feedback on implementations, and work on our future product planning cycles, it is clear developers see great promise for a cloud-based service bus and desire expanded functionality beyond what is available in today’s version .NET Service Bus. Here is what you can expect on this front, from our next CTP…

October CTP – .NET Service Bus Capabilities

  • Services Naming System and Registry
    • Enable tree hierarchical based service naming system
    • Service Naming Registry enables opt-in service public discoverability
  • Messaging
    • Enable one way, request/response and peer-to-peer messaging through NAT and firewall
    • NET Service Bus endpoint is secured by .NET Access Control Service
  • Message Buffer
    • Provide a FIFO data structure within .NET Services namespace and exist independent of any presence of active listeners.

In order to facilitate expanded functionality in coming releases and as we approach commercial availability, you will see several key changes relative to the Service Bus available for download today. Specifically, we are making core changes to Routers, Queues, WSHttpRelay Binding, and External Endpoint Registration, as outlined below.

  • Routers – We are temporarily removing Routers beginning with the next CTP. For developers who architected applications relying on the Router functionality, we will provide a sample to demonstrate a method for implementing Router-like functionality – including multicast, anycast, and push-style message operations – using existing Service Bus features.
  • Queues — Queues will be replaced with a simpler offering called Message Buffers. In future releases we will add message buffer durability, delivery guarantees, and other enhanced message delivery semantics.
  • WSHttpRelay Binding – The WSHttpRelay Binding will no longer be available beginning in the October CTP release.  Customers who were using the WSHttpRelay Binding are advised to consider migrating to the WS2007Relay Binding, which provides support for the updated versions of the Security, ReliableSession, and TransactionFlow binding elements.
  • External Endpoint Registration – Beginning with the October CTP release, it will no longer be possible to register external (non-Service Bus) endpoints in the Service Registry.  We expect to re-instate this functionality in a post-PDC release.

Wow, that was a mouthful of an update! We, like many of you, are excited by the fast approaching commercial availability of .NET Services. Continue to let us know what you think about the product, what you are building with the Windows Azure platform, and how we can continue to deliver product improvements that simplify your projects and please our joint customers!

Written by Scot Gellock

September 18, 2009 at 8:57 pm

Posted in .NET Services

WCF Adoption in Silverlight

leave a comment »

The WCF team just published some interesting data on the adoption of WCF technologies with Silverlight 2.  You can find that data here.

Written by Scot Gellock

July 9, 2009 at 11:32 pm

Microsoft SQL Services is now Microsoft SQL Azure

with one comment

Microsoft is updating the branding for SQL Services and SQL Data Services. Effective immediately, SQL Services will be called Microsoft SQL Azure, and SQL Data Services will be Microsoft SQL Azure Database.  This name change doesn’t reflect a change in the products themselves; we will still be providing a powerful relational database foundation to the Azure Services Platform.  By standardizing our naming conventions, we’re demonstrating the tight integration between the components of the services platform.  More intuitive names also help to reinforce the relationships between our on-premises and cloud solutions. Ultimately, the goal is to drive simplicity and clarity for customers as they consider on-premises and cloud computing approaches for solving their IT needs. 

There will be more news and updates related to our Software + Services strategy next week at Microsoft’s Worldwide Partner Conference in New Orleans.  For those of you not attending in person, all the news and information can be found at:  http://www.digitalwpc.com/ .  Check back often starting next Monday, July 13, for daily updates.

Written by Scot Gellock

July 8, 2009 at 5:07 pm

Posted in .NET Services

.NET Services July 2009 CTP Release Announcement

leave a comment »

We pushed new bits, our July CTP, out into the data centers today.  Here is the official announcement:

The .NET Services Team is excited to announce the release of the .NET Services July 2009 CTP.  This release focuses on improving platform support, the get started developer experience as well as services reliability. 

The .NET Services July 2009 CTP New Features

1. The .NET Services now support Windows 7 RC in addition to Windows 2008, Windows 2008 R2 and Windows Vista.  The .NET Services SDK can be installed on a Windows 7 machine.

2. There are multiple improvements with the get started developer experience:  A one click integrated installer for both the .NET Services SDK and Client Redistributable.  The .NET Services SDK installer now provides support for build to build upgrades.

Next Steps

1. Download and Install the .NET Services SDK

2. Read the .NET Services July 2009 CTP release notes carefully for any breaking changes and known issues

3. Visit the .NET Services Developer Center to access .NET Services forums, videos, blogs, documentations and more

Written by Scot Gellock

July 7, 2009 at 11:29 pm

Running Windows Azure Development Fabric With SQL Server (not SQL Express)

with one comment

The Windows Azure SDK installs with the expectation that you have SQL Express running on your development machine.  The local Development Storage and supporting SDK tooling assume this.  If you happen to be running the full-blown or developer version of SQL Server (2005 or 2008) then you’ll find that the local Development Storage and supporting SDK tooling won’t work.  They expect SQL Express.

There are two approaches to solving this problem.  One approach requires you to modify *.config files for certain Windows Azure command-line tools.  With the “modify .config” file approach, you have to remember to modify these files after every new install of the Windows Azure SDK.  If you are interested in this approach, which I’ll call the “modify .config solution”, you can find more data here

For me, given the fact that the WA Team is pushing new SDKs out with regular frequency, I’ve found the “modify .config solution” to be suboptimal.  The approach I’ve decided to go with uses a SQL Alias.  It’s really simple to do and is resilient to Windows Azure SDK updates.  I’m running SQL Server 2005, but this should also work for 2008.

 

Launch the SQL Server Configuration Manager

From the Windows Start menu click:

All Programs > Microsoft SQL Server 2005 > Configuration Tools > SQL Server Configuration Manager

SQL Server Configuration Manager

 

Configure SQL Server to use TCP/IP

From the SQL Server Configuration Manager click:

Sql Server 2005 Network Configuration > Protocols for MSMQLSERVER

If TCP/IP is not enabled, select it, then right click to bring up it’s properties menu an change it to enable.

SQL Server Configuration Manager (2)

 

Create an Alias

From the SQL Server Configuration Manager click:

Sql Server Native Client Configuration > Aliases

Right click on the Alias node and select New Alias.

Enter the following data for your Alias (note that the Server value is a an actual period “.”)

Click OK

.SQLEXPRESS Properties (2)

 

Verify We’re All Good

I then use DSInit to test out if everything works.  To do this:

Launch a Windows Azure SDK Command Prompt:

Start menu > All Programs > Windows Azure SDK (May 2009) CTP > Windows Azure SDK Command Prompt

Change into the bin directory and run DSInit.exe

If everything is configured correctly, you should see similar data to the following (obviously your account data will be different):

 Development Storage Initialization

 

Now, whenever the WA Team releases new SDKs, you will be able to install them without the need to tweak config for your local development storage.

Hope this helps.

Written by Scot Gellock

May 31, 2009 at 3:31 pm

Posted in .NET Services

Updated Microsoft .NET Services Whitepapers (March 2009 CTP)

leave a comment »

Last night the team published updated whitepapers that cover the following topics:

An Introduction to Microsoft .NET Services for Developers. This overview paper introduces Microsoft® .NET Services, each of its building block services, and how they fit together.
A Developer’s Guide to the Microsoft® .NET Access Control Service. This whitepaper shows developers how to use a claims-based identity model and the Microsoft® .NET Access Control Service – part of the Microsoft® .NET Services family – to implement single sign-on, federated identity, and role based access control in Web applications and services.
A Developer’s Guide to the Microsoft® .NET Service Bus. This whitepaper shows developers how to use the .NET Service Bus – part of the Microsoft® .NET Services family – to provide a secure, standards-based messaging fabric to connect applications across the Internet.
A Developer’s Guide to the Microsoft® .NET Workflow Service. This whitepaper provides details about the Microsoft® .NET Workflow Service, its relation to Windows Workflow Foundation, and what developers need to know to begin building workflows for the cloud. It not only explains the current tools and capabilities but also outlines the vision for future releases.

You can find the updated content out on our download center.

These updates take into account our latest bits (our March 2009 CTP).

Written by Scot Gellock

May 9, 2009 at 2:48 pm

Azure Services Platform: Developer Contest

leave a comment »

Contest Description

clip_image001clip_image003clip_image005clip_image002

new CloudApp() is a US-based developer challenge (www.newcloudapp.com) to promote the new opportunities and innovative ideas developers are creating with cloud computing on the Azure Services Platform.

Write an application running on Windows Azure and the Azure Services Platform.  .NET and PHP category applications will be judged by industry leaders, Om Malik and Michael Cote.  Entries will be evaluated based on user experience and user interface, innovation and creativity of the application, applicability to cloud computing, and real-world applicability of the application.  The overall Community winner will be decided by public voting.

For more information, visit www.newcloudapp.com, and Steven Martin’s blog at: http://blogs.msdn.com/stevemar/.  You can also find out more real-time on Twitter by searching for the “#newCloudApp” hashtag.

Microsoft employees are not eligible to participate in this contest.   

Contest Dates

· Monday, May 4: Contest Open

· Thursday, June 18:  Submission deadline

· Friday, June 19:  Community voting starts

· Thursday, June 25: .NET & PHP category winners announced at Structure 09

· Monday, June 29:  Community voting ends

· Tuesday, June 30:  Community winner announced

What do Contestants Win?

Winning submissions will:   

· Be featured on www.azure.com as well as at major Microsoft events

· Be featured in a video interview on Channel 9 with the application author

· Winners will be announced at Structure 09

· Receive cash ($):

o NET Applications Category winner: $5,000 Visa gift card

o PHP Applications Category winner: $5,000 Visa gift card

o Community winner: $2,500 Visa gift card

Contestants can choose to submit one entry into either the .NET or the PHP applications category.  Azure applications that have already been built can be submitted for the contest.  Valid submissions are limited to residents 18 years and older of the 50 United States and District of Columbia

Written by Scot Gellock

May 7, 2009 at 3:26 pm

Windows Azure SDK (March 2009 CTP) and WCF Samples

leave a comment »

If you pull down the March 2009 CTP of the Windows Azure SDK you won’t find any samples that show how to write a WCF service hosting on the WA fabric.  Unfortunately, the WCF team just missed the SDK deadline to get their samples into the SDK.  The great news thought is that the WCF Team has published their Windows Azure samples here

There are 6 samples that show how to host WCF services and Silverlight clients in the Windows Azure fabric.  They are as following:

  • Service using BasicHttpBinding and .Net client
  • Service using binary HTTP binding and Silverlight client
  • Service using WebHttpBinding binding and ASP.NET AJAX client
  • Service using binary HTTP binding with transport security and message credentials and Silverlight client
  • Chat service which can push data to Silverlight clients
  • Service using the AtomPub protocol and a .Net client

    Hope you find these helpful.

  • Written by Scot Gellock

    April 12, 2009 at 9:23 pm

    Posted in .NET Services

    Videos of .NET Services Presentations from MIX 09

    leave a comment »

    The team presented 3 sessions at the MIX 09 conference last week.  Here are the links to the videos from talks that John, Justin, and Clemens did.

    Speaker Session Talk Description
    John Shewchuk A Lap around Microsoft .NET Services This is a great talk by John.  It shows a Google App Engine hosted application using a Yahoo! ID and the .NET Services Access Control Service to control access, the .NET Services Service Bus Service to send events from GAE to other clients, plus a whole bunch of other great stuff. 
    Justin Smith Simplifying Distributed Access Control with Microsoft .NET Services Justin gives a compelling pitch for the identify issues faced on the net and to discuss our approach to distributed authorization.
    Clemens Vasters Connecting Applications across Networks with Microsoft .NET Services Clemens walks through the latest set of Service Bus features.

    Enjoy.  There’s some really great .NET Services material in these presentations.

    Written by Scot Gellock

    March 24, 2009 at 8:39 pm

    Mary-Jo Foley – Azure: One big, happy platform?

    leave a comment »

    Mary-Jo wrote an article that has quotes from John and Abhay about the initial history of the Azure Services platform.  If you like history, you may like to read this. 

    Written by Scot Gellock

    March 1, 2009 at 8:16 pm

    Posted in .NET Services