It's not quite the end of January, but there's already alot of "new" in my new year. There's a new car, some new gadgets, and on the work front a new project and a new team.
As you may have heard, Charles Fitzgerald, left Microsoft to head to a startup. Charles was the GM that my old team, platform incubation, reported into. Charles set the mission for that team, and was the major stakeholder for Tafiti and several other internal facing projects that I worked on. Charles was a great GM, and while this is a loss for MS, I'm confident we haven't heard the last of him.
With Charles' departure, Scott and I will be moving to different roles in the company. I am happy to report that I am now officially part of Simon Guest's team.
One of the few negatives about my last role in incubation was that it was inherently secretive, as parts of the work could be patented. As a result, after delivering my book on CardSpace I mostly dropped off the public scene, save for promoting Tafiti. With Simon's team having a key focus on talking about architecture with the broader community, this is something that will change, and you'll see me engaging more publicly on architecture related subjects. Simon's team has a big focus on Software+Services, which if you've read the blog for awhile know is something I've been looking at for some time in and outside of Microsoft. Expect to see me blogging more, podcasting/screencasting more, and writing the odd article or two. (No more books for awhile, though. Having written or co-written 3 books in 2 years, I've committed to my wife not to start another one until 2009)
I also mentioned there's a new project. I'll be carrying over a project with me from incubation to Simon's team as well. Nothing I can share at the moment, other than it will be public focused and it's going to be a key focus for me for a good portion of 2008.
While this project is big, there's another project I'll be working on that's even bigger. This is a longer term project, estimated to last decades with a budget estimated to be in the seven figures. Oh, and it has nothing to do with software. My wife and I are expected our first child, a son, to literally arrive any day now. While there's alot of great 'new's in 2008 already, this will surely be the best.
Here's hoping your 2008 is going well, and I look forward to engaging with the community more broadly once again. If there's anything you'd like to see me engage on - be it in blog, article, or podcast, let me know. As always, I can be reached at mmercuri@microsoft.com
In case you missed it, Microsoft just released some great new downloads, specifically new versions of VS 2008, Silverlight, and Expression Blend.
As someone who started writing what are now called AJAX apps since 2000, I *really* appreciate how Silverlight and Blend make RIAs much easier to develop.
Links to all the bits-
When I wrote my new book, Beginning Information Cards and CardSpace: From Novice to Professional, I wanted the reader to go beyond building just 'Hello World' applications that just focused on learning features. Instead, I wanted to have the readers build practical, usable code.
In an effort to let you see what you'll be getting when you buy the book, I thought I'd do some screencasts to highlight what you'll build out.
I'm going to start with Chapter 13, which focuses on automating the issuance of managed cards with Workflow Foundation.
In that chapter, you'll create a number of Workflow Foundation custom activities that can help you automate the issuance of managed cards, complete with email delivery.
Also included is a sample application will calls the workflow and generates a card based on data provided.
Click on the image below to see the video:

Speaking of folks that I got to work with last year, I had the opportunity to work with Alberto Arias on a major WF project in the UK (the first Fortune 500 WF project in production, I believe). Earlier this fiscal year, Alberto crossed the pond and took a job over in the Connected Systems Division.
He's been working on activities for BPEL (Business Process Execution Language) for awhile now, and while chatting with him tonight, he told me that with today's announcement on Paul Andrews blog, it was now cool to talk about the BPEL support externally. He and I then booted up Meeting Space in Vista (if you've not used it, check it out, it's quite cool), and he stepped me through how it works.
Having spent alot of time with customers and partners last year, I regularly heard requests for BPEL support. The implementation is very clean, very straightforward, with capabilities to import and export BPEL. BPEL 1.1 wil be supported in the March CTP, and 2.0 will be supported after it is ratified by OASIS. I think people are going to be happy with it, it's very cool stuff - hats off to Alberto and team!
Just about a year or so ago, I was down in Tulsa working with the good folks at Dollar Thrifty Auto Group, who were doing some great stuff with WF and WCF. If it sounds familiar, I chatted about what they were doing in an ARCast wit Ron Jacobs, and Ron also did an interview with them from Tulsa. (both recordings are available over on http://channel9.msdn.com or http://www.skyscrapr.net.)
Earlier in the week I was talking to Jim Arrowood, a friend and architect at Dollar, and he asked how I'd like a free trip to Tulsa. A s I told him, there are no free lunches in life, and I'm sure no free trips to Tulsa. It turns out there's a CodeCamp event coming up (http://www.tulsacodecamp.com) and was curious if I might be interested in speaking.
A couple hours later I had a ticket to Tulsa and was slotted in for two sessions, an hour in the afternoon and the closing keynote.
I'm looking forward to it, as codecamp is focused much more on code. Last year ,when I was speaking at events, I had to spend a good amount of my sessions doing intro stuff. With the framework having been released for awhile now, I'll be able to dive right in and show some cool stuff I've been working on. If you've seen my previous sessions, expect all new content for this.
The timing of the event is literally days before the release of the updated WCF: Unleashed and I should be wrapping up the Understanding CardSpace and Information Cards book.
If you're going to be in Tulsa and there are particular aspects you're interested in, let me know and we'll see if we can squeeze it into the sessions.
Going through my email this morning, I received my official Mix07 confirmation. Last year, I had a number of customer commitments so was really not in the loop on Mix, this year, though, I've had some overlap with some of the things I've been working on and have had a chance to get involved in various aspects of the event.
Earlier this year I went to another web conference(which shall remain nameless), and was so dissapointed I left the conference (and Vegas) a day early. (Me, leaving Vegas early? unheard of, I know).
Mix, though, is a different story. From what I've seen of the sessions, this is actually an event I'd pay out of pocket to go to. It's got a good mix of folks from MS, as well as from third parties. I may or may not be delivering a session, that's something that'll get decided in the next month or so, but will be onsite either working in certain areas of the event, or attending sessions.
One of the great things about conferences is that I get a chance to meet up with former colleagues and people I've chatted with via email and blogs. If you're going to be in Vegas the 29th - 2nd and want to chat about WCF, CardSpace, Mashups, or whatever - shoot me an email and we'll make some plans to sync up.

The other day, I realized I'd never tried to publish a state machine workflow as as web service. These are more interesting than your standard sequential workflows, as you can have multiple service operations that interact with the workflow over an extended period of time.
I added my web service inputs and outputs, and then published the state machine as a service.
It worked... eventually. I ran into two gotchas one tied to the delay activity the other with IIS7 and proxy servers. After some research, I resolved both. A colleague suggested I write them up for my blog, so here we go...
I wont get into the details of the workflow itself, but here are the high level pieces of information you'd need to know:
The workflow has multiple states, State A is the only state that activates the workflow. Upon receipt of a web service request, the workflow returns a response and transitions to State B StateB is triggered by a delay/timer, and pulls down an XML document from a URL.
Handling Delays in IIS
First, if you want to use state machines in IIS7 and use delay objects, you’ll need to modify web.config to use the ManualWorkflowSchedulerService and the element for that should set the attribute useActiveTimers to true.
The DefaultWorkflowSchedulerService creates threads for every instance. This is not a desirable situation on ASP.NET. Instead, you use the ManualWorkflowSchedulerService allows the thread that is processing the HTTP request to execute a workflow instance. The ManualWorkflowSchedulerService creates a background thread that can monitor delays/timers. Setting useActiveTimers to true enabled this functionality.
<WorkflowRuntime Name="WorkflowServiceContainer">
<Services>
<!--<add type="System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
<add type="System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" useActiveTimers="true"/>
<add type="System.Workflow.Runtime.Hosting.DefaultWorkflowCommitWorkBatchService, System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</Services>
</WorkflowRuntime>
Handling Delays in IIS
Make this change, and your delays will trigger just fine. What came up next was a bit more interesting. Running a workflow inside the debugging web server that ships with Visual Studio (the one that runs when you hit F5), my workflow retrieved the XmlDocument from the web just fine.
Putting it into IIS7, and it came back with nothing. After adding some logging, I was seeing that the remote servers domain name could not be resolved. So I both pinged it and tried it again in my VS web server. Both worked fine. Switched to the IP address, and 'remote server could not be found'. As it turns out, it was a proxy issue.
Why? IIS7 is not running as a user (the VS Web Server is), so it doesn’t automatically connect with the proxy. You need to add a reference in web.config that points to the proxy. Add the following:
<system.net>
<defaultProxy>
<proxy
usesystemdefault = "False"
proxyaddress="http://yourproxyserver.com:80"
bypassonlocal="True"
/>
</defaultProxy>
</system.net>
Once done, your calls will now work.
When the first version of the WCF book was posted up on Amazon for pre-sale, the title was different than agreed to and there were some concerns about the editorial text. They were shortly fixed, and the real title 'Windows Communication Foundation: Hands On (Beta Edition)' and appropriate text was posted.
A few weeks back, I announced that Windows Communication Foundation: Hands On (Beta Edition) was being renamed (and over 200 pages added) as Windows Communication Foundation: Unleashed.
I've been talking for awhile now about a book I've been working on related to CardSpace and information cards. Like with the first book, the title posted to Amazon was different than what I'd initially agreed to do and the 'about the author' was written when I proposed the book (while working on another team at MS) last year.
Thus, I've not really said much about it, other than referring to it as the 'CardSpace book'. CardSpace is the client-side technology that provides the identity selector and personal sts. While the book covers CardSpace, a large focus is also on the information cards used there. From creating cards, to consuming cards on the web, integrating card-support into ASP.NET membership, consuming cards or requesting them via services, to a simple card issuance system, the book is more than just CardSpace. Fortunately, after talking with my publisher, we've reached an agreement on the new title "Beginning CardSpace and Information Cards: From Novice to Professional".
This book was written by a guy who buys alot of books, and the structure of the book reflects that. When I buy a book, I'm either
(a) Investigating - I'm interested in a high level overview and examination of a technology, the rationale for that technology and the competitive landscape. Ideally, this is at a level where the content is accessible to my team - be they architect, dev, or manager.
(b) Topic Learn By Doing - Just as with the 'Hands On' book, I think there's value in not just reading and then doing simple samples. Let me roll up my sleeves and do some coding and learn by doing.
(c) Prototype Acquisition - A book may have a functional prototype of something (i.e. workflow activities for card creation) that I either want for a demo or to build for real. For $30-$50, the book is a steal to get that.
So that's what I wrote. It's been a long process, but it's due out in April. While the title's not updated on Amazon yet, it is now available for pre-order here: http://www.amazon.com/Beginning-Windows-CardSpace-Novice-Professional/dp/1590598075/sr=8-1/qid=1170952106/ref=pd_bbs_sr_1/103-5507602-4763836?ie=UTF8&s=books
Between some exciting day job work, updating WCF content for the WCF Unleashed book, and writing 15 chapters for the CardSpace book (this time as a sole author) things have been pretty hectic. Mix in the storm that flooded the first floor of the house, and it got even crazier.
The blog has been fairly dark for awhile, but that's about to change. In a few weeks, the CardSpace book will be handed in, and I can start focusing on other activities. In addition to weekly updates here, I'm also going to be starting a sister blog to this one, more details on that in the weeks to come.
So what's coming? Lots of stuff.
Like what?
I talked with the good folks at APress (my publisher for the CardSpace book), and I'm going to be able to release some of my code from the CardSpace book early, and put it into CodePlex. This will include ASP.NET controls that integrate with membership. This will also include Windows Workflow Foundation activities and some utilities for creating managed cards. These will hopefully be in CodePlex, which will include source, so you'll be able to get source and enhance them as you need to. I need to stress that these are from my book written as my 'night job', these are not official controls from Microsoft and should not be viewed as such.
I've actually been pretty busy on some other stuff during the day, and we're looking at what we can release of that (unrelated to CardSpace) to CodePlex as well.
Plus.. I've written about 6 labs in the past couple of days for an internal event. I'm looking to release those as well, likely with the launch of the sister blog to this one.
Oh, and some InfoCenter Controls may just find there way into CodePlex as well (and if not, I'll release them as binaries from my blog). And I might just include a reference app that shows how to snag podcasts for your Zune 
If you've read the blog for awhile, you'll know that I moved over to the incubation team in Microsoft's Platform Strategy Group back in August.
My old team is still looking for my replacement, and they're now expanding their search. if you're passionate about CardSpace, Windows Communication Foundation, and Workflow Foundation and working with large Enterprise customers you might be interested in this.
In addition to working with some great technologies, you'll be surrounded by a great group of folks on the Longhorn Server evangelism team, many of whom are authors (or authoring) books on .NETFX 3 or other topics.
James has the full scoop on his blog, check out the link below for details:
http://blogs.msdn.com/jamescon/archive/2006/09/19/761696.aspx
|
Twice a year, Microsoft hosts an internal technical readiness event called TechReady. TechReady3 is upon us, and I'll be hosting a couple of sessions. Both a session covering the scenarios where I'm seeing top customers use these technologies, as well as a set of instructor led labs that serve as a walk-through of WCF.
Details are below - some information was excluded ,such as customer names, as several of them are still confidential and will be announced when the technologies launch later this year.
ARC201 - WCF and WF in the Fortune 500: Lessons Learned During Enterprise GO Engagements (Solutions Architect) |
July 25, 2:30 PM - 3:45 PM Hyatt-Leonessa I & II
|
|
As part of Enterprise GO, Marc worked with a number of Fortune 500 companies to incorporate WCF, WF, and Infocard into their solutions. Customers included [not shown here as some are MS confidential, full list in the schedule guide) This session reviews the scenarios in which the technologies were employed, lessons learned, and design decisions made.
| CONIL203 - Understanding Windows Communication Foundation in a Solution |
July 26, 11:00 AM - 12:15 PM WSCTC-602-604
|
| In this lab you will witness the unified distributed programming model of Windows Communication Foundation. The exercises will walk you through creating and deploying a service and client as well as examining the management and monitoring capabilities of Windows Communication Foundation. Finally, the exercises will introduce you to the security and hosting capabilities available for your services. |
| CONIL203R - Understanding Windows Communication Foundation in a Solution |
July 26, 1:45 PM - 3:00 PM WSCTC-602-604
|
| In this lab you will witness the unified distributed programming model of Windows Communication Foundation. The exercises will walk you through creating and deploying a service and client as well as examining the management and monitoring capabilities of Windows Communication Foundation. Finally, the exercises will introduce you to the security and hosting capabilities available for your services. | |
Looking for another one stop shop for your WCF, WF, WPF, and CardSpace (formerly InfoCard) needs?
http://netfx3.com/ was launched with the rebranding of winfx to netfx3, and now you can find info, demos, and forums on CardSpace and all your favorite foundation technologies there. This site consolidates what was windowsworkflow.net and windowscommunication.net.
Definately worth checking out, particularly as there were a number of new samples and demos uploaded that weren't on the old sites.
One of the things that was announced at TechEd was that was has been known as WinFX is being re-branded as .NET Framework 3.0.
Some folks have some questions about what this means, so I wanted to provide some clarifying info on this.
The .NET Framework 3.0 will still be comprised of the existing .NET Framework 2.0 components, including ASP.NET, WinForms, ADO.NET, base class libraries, and the CLR, as well as new technologies Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), and Windows Workflow (WF). In addition, we have made a decision to name the technology formerly codenamed “InfoCard” as Windows CardSpace (WCS). Windows CardSpace will also be a component of the .NET Framework 3.0:

We announced this over the weekend through Soma's blog, and the two questions that I'm hearing are -
Is this new code?
No. This is not a code change, this is a marketing/name change.
So I can just install .NET Framework 3.0 binaries?
No. This is an additive release, ,NET Framework 3.0 will require .NET Framework 2.0 be installed.
WCF and WF in Public Sector.PPT (2.16 MB)
I did a webcast today on WCF, WF, and Infocard in Public Sector today. For the Retail and Fin Serv webcasts I'd done previously, I'd had great scores (>8/9 in some cases), but there were always requests for additional vertical content after the fact.
I tried switching it up today for the pub sector session (more vertical, less core wcf/wf/identity), but the presentation just didn't click. I think I'll re-record and post a link to it when it's available, I'm pleased with the InfoCard demo, though, as I think it provides additional value.
I've attached my deck to the start of this post, as I wanted people to see the legacy empowerment section that we didn't get to review.
If you're new to the blog, I wanted to point you to some of the demos I've got online, including:
http://www.marcmercuri.com/ct.ashx?id=d0cffe95-b683-4f7c-b883-44feeb0afd43&url=http%3a%2f%2fwww.marcmercuri.com%2fDownloads%2fFinServDevCon.zip
As well as a syllabus for learning InfoCard:
http://www.marcmercuri.com/PermaLink.aspx?guid=eae5a6ef-a12e-4cfd-bd65-56fdf0b103f4
Cheers,
Marc
Just a reminder - I've got a webcast tomorrow on WCF, WF, and Infocard in Public Sector.
This will also include some new, never before seen demos, so wanted to make sure it was reposted. As a side note, I think I'll tweak with the blog while I'm at TechEd to provide more direct links to samples and webcast information.
|
|
|
Start Time: |
|
Tuesday, June 06, 2006 10:00 AM Pacific Time (US & Canada) |
|
End Time: |
|
Tuesday, June 06, 2006 11:00 AM Pacific Time (US & Canada) |
|
|
|
|
Event Description |
|
|
Recommended Audience: Architect. |
|
|
|
Description: |
|
Whether the interactions are government to citizen, government to business, or government agency to government agency, the public sector is driven by workflow, communications, and identity. This webcast focuses on components of the WinFX programming model, such as Windows Communication Foundation (formerly code-named "Indigo"), Windows Workflow Foundation (formerly code-named "WinOE"), and the upcoming "InfoCard" identity metasystem, and shows how these technologies can be implemented to ease integration, increase productivity, and enable new scenarios in the public sector. Real-world examples and demonstrations are included in the presentation.
Presenter: Marc Mercuri, Architect Evangelist, Microsoft Corporation
Marc Mercuri is a member of the Windows Server Evangelism team at Microsoft, where he focuses on Windows Communication Foundation, Windows Workflow Foundation, and identity and access management technologies. Most of his career has involved systems and data integration with a major emphasis on using services for integration purposes. Marc is also the coauthor of an upcoming book, Microsoft Windows Communication Foundation: Hands-on, scheduled to be published by Sams in 2006. |
|
http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032297650&EventCategory=4&culture=en-US&CountryCode=US | |
As you know, I work with a number of companies who are adopting WCF, WF, and Infocard. Up until this past week, the names of the customers has been a well guarded secret.
With WinHec just passed, TechEd coming up in a few weeks, and launch not too far off on the horizon, the names of these customers and their projects are now starting to be revealed.
Last week at WinHEC, Ami Vora spoke to PressPass about a project at one of my customers, Tyco.
Yesterday, I blogged that one of my other customers, Leslie Muller from Credit Suisse will be doing a must-see chalk talk at TechEd 06 in Boston.
Today, we launch a new site, http://www.seewindowsvista.com, to highlight some companies that are using WCF, WF, and WPF on the client. Check it out to hear about one of my other customers, Dollar Thrifty Auto Group. They're listed under “Managing the Big Picture.” They're using both WCF and WF in a number of areas, and we'll be following up soon with a whitepaper on the use of WF in the UI, with specific references to their project.
If you only go to one Chalk Talk at TechEd this year, check out this one.
Anyone who's worked in a large Enterprise is familiar with the challenges of getting new machines provisioned and available in a reasonable amount of time. Typically the wait is days/weeks/months. Credit Suisse has solved this problem, and Leslie Muller will be discussing the Virtual Machine Provisioning System that was built and deployed earlier this year using WF, WCF, Virtual Server, ASP.NET, and AzMan.
I've had the privilege of being involved in this project, and I think this session will be great in a couple of respects. It's an opportunity to go beyond the samples and the case studies and listen to an Architect at a Fortune 50 customer who's developed and deployed WinFX successfully. It's also a great opportunity to connect with Leslie, who is a thought leader and is doing some very interesting, very impactful work that transcends verticals.
Full abstract and location details below:
Abstract: Credit Suisse Group is a leading global financial services company, providing clients with investment banking, private banking and asset management services worldwide. Like in most enterprises, Credit Suisse provided their developers with physical machines for development. Issues such as combination of authorization, physical delivery times and compliance-related workflows led to slow development timeframes. Their R&D group built an extremely extensible self-service virtual-machine provisioning system that enables software developers in a fraction of the time to easily, securely and rapidly provision on-demand disposable workstations, servers, and multi-tier environments. Credit Suisse will exponentially increase software developer productivity, drastically lower IT costs and ensure compliancy with continuously stringent regulatory requirements. The solution uses Windows Workflow Foundation, Windows Communication Foundation, and Virtual Ser |