Many architects and developers are integrating services into their strategies and projects. There are two main delivery mechanisms with services (from a mainstream, standards perspective). You can use SOAP, or you can use REST.

There have been wars for a long time around which is better, easier to use, and has less impact on the global environment. This post isn’t about that. My answer as to which one you should use is ‘It Depends.’

SOAP has all of the enterprisey-goo that we typically need at the core of our systems. Transactions, Strong Typing, Routing, Security, Extensibility, etc. These are all planned out with WS-* standards for platform interoperability. REST, on the other hand, is simple, lightweight, easy to use, and very straightforward.

I think most organizations will end up with a measure of both in their environments. I think SOAP will be more prevalent at the core of your enterprise, with REST at the edges that touch other enterprises and the public at large.

When we shipped WCF 3.0 (a long time ago it seems), we shipped complete support for all of stable and adopted WS-* protocols, so that enterprises could start building really great services in their infrastructure.

Then REST hit. REST is one of those overnight successes that take ten years to happen. Everyone has had a REST based application on their desktop for at least ten years, if not longer. It’s called your web browser.

Did we have to develop a new platform and framework for REST on .NET? No. WCF isn’t a WS-* stack, it’s a communications framework, that was built to handle changes in how we format and send messages. So adding REST to WCF wasn’t all that hard. There was some basic support in WCF 3.5.

But there is always room for more support, and customers are always looking to us for best practices, and other guidance. In order to support this need, we have launched the REST Developer Center, and the WCF REST Starter Kit on CodePlex.

The starter kit has been released as a preview. We have put it on CodePlex so our customers can use the bits, and give us feedback on how to improve it before it ships.

From the site:

The WCF REST Starter Kit Codeplex Preview 1 release provides new features that enable or simplify various aspects of using the http capabilities in WCF, such as caching, security, error handling, help page support, conditional PUT, push style streaming, type based dispatch and semi-structured XML support. The WCF REST Starter Kit also provides Visual Studio templates for creating REST style services such as an Atom feed service, a REST-RPC hybrid service, Resource singleton and collection services and an Atom Publishing Protocol service. In addition, there are samples, documentation and other guidance that help to use these new capabilities.

A friend of mine, Jesus Rodriguez, who is about as all knowing about services as you can get (and who has a bad habit of trying to sabotage me at conferences the night before I speak) is going to start a series on the WCF REST Starter Kit. So go read his first post on how to add caching to REST.

You have likely heard about Windows Azure by now. We made a very big announcement at the PDC today about it. Windows Azure is our Cloud OS. It will allow you to run .NET code in the sky, in a dynamic, scalable, and manageable way. We have also announced Live Services, .NET Services, and SQL Services. These services sort of stack on each other. Think of Azure as your Server OS. SQL provides data related services, etc.

Azure will support web facing, interactive, stateless applications. These applications run in an instance called a ‘Web Role.’ You can also host code that just performs asynchronous work, called a ‘Worker Role.’ The Worker Role might host a WCF service fed by a queue for example.

You will be able to develop and test locally using the Azure Fabric locally, and then only deploy to the cloud when you are ready.

David Chappell wrote a great whitepaper on our new services platform, and explains some expected customer scenarios. It walks through our services platform very nicely. Check it out the whitepaper on Azure Services Platform.

The Renaissance was a period of rebirth in Europe during the 14th to 17th centuries. It was hundreds of years of revolution in the arts and in culture. The social patterns, thinking and technology that allowed this to happen took thousands of years to develop. It sparked a new passion in learning, new techniques and styles of painting, and widespread reform. This lead to an amazing leap in science and technology and the definition of the scientific method, heralding the ‘Modern Age’. This ultimately led to a change in human society so grand, that we still talk about it today.

Many of the world’s best achievements and treasures come form this period of time.

I think the past few years, and the technologies coming out today, represent the leading edge of Renaissance 2.0. And since we are all geeks, we will of course shorten it to Ren2.0.

Today, with cloud services, Azure, software plus services patterns, modern testing, SOAP/REST, Geneva, platforms like Mesh, and everything else, leads us to the point where we can build applications we have NEVER dreamed of before, just like what happened in Ren1.0. Think of the applications and services you use today, that could not have existing at all a few months or years ago. Think of all of the new experimentation and advances that will build on these early steps. The core internet really enabled this all. The easy access to information, and to communications has multiplied the amount of innovation and free thinking needed for such an explosion.

Thousand of years from now, there will be college students studying Twitter, and the times we are in today.

This is the time to take your idea, and just DO IT! The economy may look to be in shambles, but that shouldn’t stop you. Now is the time for you do build that game changing idea, perhaps in your spare time, or perhaps with some angel funding.

* I wrote this post almost six months ago, but wanted to hold it off until our announcements at PDC today. I thought people would be more likely to understand what I was saying if they had seen those announcements.

Mike Wood, James Bender, and Chris Woodruff saw a gap in the community. They saw that there was a strong community and a great deal of support for all types of developers. They also noticed that there isn’t a lot out there to help architects and aspiring architects come together, learn, and become better at what they do.

So they got together, scrabbled together some cash (Microsoft is proud to be a sponsor), and launched www.nPlus1.org. The team is organized into two groups. Senior Editors run the organization, and coordinate the original content that is submitted for publishing. Then there is a larger group of Editors. Editors focus on submitting links and summaries of content found elsewhere on the Internet (known as TidBits on the site). They are actively looking for more Editors, so ping them if you are interested. This two pronged approach brings both new content from local authors, and a simple way to find all of the great architecture related content scattered all over the place.

The site is specifically geared for all types of architecture, and related interests. It is a v1.0 of the site, so please submit any feedback on how to make it better to the Senior Editors on the site.

My teammate Jennifer Marsman has planned a tour with Mark Mydland through Michigan, Ohio, Kentucky, and Tennessee. Mark is the Principal Group Manager over Visual Studio Team System Test Edition.

Mark’s team will be making some huge announcements around what the next version of VSTS:Test can do, and you don’t want to miss this. It’s really incredible.

Mark will be presenting at most user groups as he tours, and here is his schedule. Don’t miss it. Jennifer specifically scheduled Mark’s tour after the PDC so he can show you all of the new features. Come ask him your testing questions. We will also be provided dinner at all of the user group meetings, so come on out, and see it all in action.

The SOA & Business Process Conference 2009 is put on by Microsoft, and is held on campus in Redmond. I have been to it many times as a partner and customer, and it is one of my favorite events.

The event always gives you great access, directly, to the teams building our strategies and products around SOA and BPM. This is a great chance to learn a great deal, and provide feedback on our roadmap. The conference is also loaded with thought leaders, and leading companies in the SOA/BPM space.

The event has grown so large over the years, that in order to keep it on campus, they had to break it into two parts. The first part is for partners in the SOA/BPM space, and runs January 26-27, 2009, and will cost $599. The second part will be for customers, and runs January 28-30, 2009, and will cost $599 if you register before December 1st, 2008.

There is also a great reception held on the evening of January 27th for all of the incoming customer attendees.

The theme for this year is “Real World SOA Here and Now!" The focus will be on solutions that are out and running today, and the ROI and related benefits from those solutions. There will also be a focus on best practices.

You can register here for the partner half (use the code soabppart), and here for the customer half. Contact me if you would like a more detailed invitation.

I have been working with some friends that are on our Enterprise team to put together an event. We decided to call it the Dog Food Developer Conference. About half of the speakers are local community leaders, and the other half are Microsofties.

DF will be held on November 20th, 2008, and starts at 8:00am.

We will have three tracks throughout the day, covering a wide range of topics. The schedule is listed below. The last part of the afternoon is left for open discussion with the speakers. We have reserved plenty of small rooms, so you can snag a speaker, and sneak off to have a private conversation. You can, of course, have your conversation out in the open if you want.

The event is free, and there are only a few seats left, so register quickly. Lunch will be provided.

I am just now recovering from a great tip up to AA. The event went very well, and the organizers did a great job. It is really cool to see leaders from five different user groups get together to put on such a smoothly run event.

The speakers and content they lined up were just great. I ended up in the big amphitheatre room again, as the last session of the day, just like last year. But I am not complaining. I actually like that. It allows me to tie some of the things I have seen during the day together, and weave them into my talk.

I spoke on ‘How to be an architect.’ This was the first instance of this talk, and I think, with that being said, it went pretty well. I definitely found ways to smooth the delivery, and increase the connectedness of some of the value flow. I will work to make these improvements before the next time I deliver it.

0. Someone asked, if you wear many hats at work (architect, developer, support guy, etc.), where can you find the time to do the continuous learning. I responded that you should just get a divorce. This actually showed up on Twitter, and I want to make it clear.

I was JUST KIDDING.

Here are some thoughts though:

a. Learning IS part of your job as a dev or an architect. So set aside an hour or two a week to do just that.

b. Keep a stack of trade magazines next to your desk, and read them during the fragments of free time we have scattered throughout the day. For example, while you are waiting for your machine to boot, or for something to download.

c. Don’t forget to ‘Eat like a bird.’

d. Keep magazines and books in the office bathroom.

e. Learn to scan headlines, and speed read. I can read a whole magazine in minutes by doing this. Also keep in mind that most journalists follow a standard pattern to their writing. The article usually has three parts: Summarize what you are going to say (this pulls you in), provide the details, and then close with summarizing what you said. When I am skimming, I just read the headline, and the first ‘part.’ I only read the detail section if the article is very germane or interesting.

1. I was describing what some of the concerns an architect should have. Someone then piped up and asked why I hadn’t mentioned ‘design.’ I immediately responded that Information and UX architecture are important too. In hindsight, the person might have been asking about the technical design that some architects do. It is an old notion that the architect on a project provides all or most of the detailed technical design. This is ok, if that is how your organization works, but I try not to play that role. As an architect, I try to layout the high level concepts of the design. This is the outline that the details will fit in. Then I work with the developers to define the detailed technical design as needed.

This accomplishes several things. First, it fits in really well in in agile process. Second, it moves some of the design to some often underused assets, your developers. They know how to write this code, and they know the frameworks very well. Let them help you define these details. They can bring that experience, while you represent the higher level concerns (business, user, project needs, etc.). This also answers another common concern of developers, in that they want to be more involved in the design, and have impact on what they are building.

The PDC is next week, and it is going to be huge. The amount and scale of the announcements are, in my view, the biggest of any PDC in the past (can’t say for future PDCs).

Two of the keynotes by Ray Ozzie will be streamed live. The other keynotes will be available online shortly after they are completed. Since the PDC is on the west coast, this puts the keynotes during lunchtime in the EST time zone.

The keynotes will contain all of the big announcements, and the great demos. They will give you an idea for the flavor of what the sessions are going to deep dive into.

So here is how to throw a PDC viewing party.

0. Reserve a conference room of some sort. You will need a projector, speakers, and a computer to stream from. The speakers are optional, if everyone in your part can read lips.

1. Invite everyone you know. Invite people you don’t know. Tweet about it. Try not to break any stalking laws though.

2. Either convince your boss to pay for pizza for everyone, or tell the attendees to bring their own lunch. Giant bowls of popcorn sound good right now too. You could just steal food from the office kitchen refrigerator, but you never know how old that food is. Pitch this to the boss as a training event, and a heads up on the new technologies MS is releasing. It is important that you can work our plans for the next few years into your own plans.

3. Settle in, and watch. Keep the wow-ing and ahh-ing down. You don’t want to make your officemates jealous that you are a developer, and they are stuck with some ‘other’ career.

4. Don’t forget to poop like an elephant, and think like an architect. After the shock and awe feeling wears off, and your vision returns, start to talk about the tech, and how you could use it to make your jobs better. How you could use it to increase your value to your customers. Perhaps that new thing will allow you to roll out more features faster, or connect with the customer in a new way. Share what you learn with the gophers who don’t show up to your party.

5. Start a buzzword bingo game, and give out prizes. Words to track would be ‘super’, ‘excited’, ‘cloud’, ‘plus’, and ‘whack-a-doo-whack-a-doo’, ‘mac’, ‘apple’, ‘virtual’, and ‘mobile.’

If you can’t get your own party together, you either need to just huddle in your cube, and pretend you are working on code, or traipse on over to someone else’s viewing party.

When you are done, and want to talk about any of the topics in detail, please let me know. We can schedule a visit.

If you know of a public viewing party, let me know, and I will list it here, or post it as a comment.

Everyone is excited about PDC2008. Go register if you haven’t yet. See your local user group leader for a $200 off discount code!

The biggest announcement so far is that each attendee will receive a 160 GB USB hard drive, with all the bits on it, include a pre-beta release of Windows 7! We will also be revealing our cloud platform, as well as details on .NET 4 and Visual Studio 2010.

To celebrate, Channel8 just published this video, of the marketing team putting together some promos for PDC. Watch to the end to see the twist.