Chapter Three of my upcoming book focuses on the work being done with information cards and in the identity metasystem by people outside of Microsoft. The chapter covers third parties and open source projects, focusing primarily on the folks building identity selectors and security token servers. In the process of researching that chapter, I ,of course, ran across the work of Chuck Mortimore. If not famliar with his work, Chuck has built out a Java Relying Party, an identity selector plug-in for FireFox, and his site ( http://www.xmldap.org) issues managed cards. His identity selector has even been enhanced to handle interop with OpenID (see screenshot below).
Needless to say, I was impressed with his work, and reached out to him about including screenshots of his work in that chapter. He was very gracious and gave his approval. As I was wrapping up the book, one of the readers of this blog asked if we were going to have support for Java in the book. Initially, for relying parties, I'd only committed to the publisher for ASP.NET and PHP. In the pre-.NET world, I actually was an early adopter of Java (heck, I even hired Gary Cornell, of Core Java fame, to come to Boston and train my team on Java), so I thought what the hell, and decided to have a go at it. As I was dusting off my core-java books to write the sample, I thought to myself, if I was a java guy, who would I want a sample from? A Microsoft guy who hasn't written any Java code in awhile? Probably not 
I thought of who - if I was a reader - I'd like to see the Java sample come from. A big fan of his work over at xmldap.org, I reached out to Chuck and asked if he'd be interested in contributing a java sample for the chapter. I am really pleased to announce that not only did he agree, he's already sent me the code. If you've not done so already, definately check out his site, he's doing some great work.

I'm pleased to announce that my book now has a new technical editor, Steven Woodward. Steven leads the Identity and Access Management team in Microsoft's Developer & Platform Evangelism Group. Steve works very closely with our top customers looking at the adoption of Information Cards and Windows CardSpace, and he's a regular fixture at a number of major conferences. I had the good fortune to work with Steven last year when we were both members of the Windows Server evangelism team, and am super excited to have Steve onboard.
He's provided some great insights and comments that have already added value to the book.
Welcome Steven!
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.

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
As you're likely aware, we've had a new RC1 release of Vista, and along with it a RC1 release of .NET Framework 3.0.
I've gone ahead an updated the code for several chapters from the book WCF: Hands On to be compatibile with RC1 changes
You can find the code for Chapter 6 on Legacy Integration. In addition to ComPlus and MSMQ which were in the book, I've also added another sample that shows how to call WCF from COM. This allows you to empower legacy applications written in Visual Basic, vbscript, Lotus Notes to now consume WCF services.
You can find the updated samples here: Chapter6Code.zip (350.48 KB)
As you're likely aware, we've had a new RC1 release of Vista, and along with it a RC1 release of .NET Framework 3.0.
I've gone ahead an updated the code for several chapters from the book WCF: Hands On to be compatibile with RC1 changes
You can find the code for Chapter 5 on Reliable Sessions, Transactions, and Queues here:
05CodeRC1.zip (226.14 KB)
As you're likely aware, we've had a new RC1 release of Vista, and along with it a RC1 release of .NET Framework 3.0.
I've gone ahead an updated the code for several chapters from the book WCF: Hands On to be compatibile with RC1 changes
You can find the code for Chapter 7 on interoperability here:
Code.zip (295.39 KB)
|
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. | |
The title of this blog is “Living in a World of Connected Systems“. It does not say “Living in a World of Connected Systems Written Exclusively on the Microsoft Platform“. Why?
First, the title would go from long to annoyingly long. More importantly, if you're in the Enterprise space you know it's a heterogenous environment. If you've seen me speak, I talk more about how to interop with what you've got and explicitly don't preach 'rip and replace' your existing stacks.
Several of the companies I work with have ,at one point or another, made some investments in Java. When we chat about architecture, number one on their list of topics to discuss is interop.
If you're doing work in both .NET and Java today, and you want to do more interop - there's a video clip I want you to check out.
Watch this video from the JavaOne 2006 keynote here. (Annoyingly, you'll need RealPlayer, find that here).
The video shows WCF/Java interop, with Sun showcasing what was called Project Tango (aka Web Services Interoperability Toolkit), which in their words is described as
“Web Services Interoperability Technology (WSIT) is an open-source implementation of next generation Web services technologies that deliver interoperability between Java EE and .Net to help you build, deploy, and maintain Composite Applications for your Service Oriented Architecture. Built upon JAX-WS (Java API for XML Web Services), this implementation will be made available as the "Web Services Interoperability Technology (WSIT)" and is focused on four main categories: Messaging, Metadata, Security, and Quality-of-Service (QoS). “
I had the opportunity to present a session “WCF and WF in Financial Services: Notes from the Field” yesterday to a great crowd at the Financial Services Dev Con in New York.
For those who have seen my sessions on MSDN, those have focused on getting people up to speed on the two technologies. This session presented very brief overviews of the technologies (3 slides for each) and then delved into real-world scenarios where people were using them, complete with demos.
This session focused primarily on scenarios where Workflow Foundation and Windows Communication Foundation could provide the ability to enhance what was already in place, enable new scenarios around connectivity and workflow, and overall take advantage of the features of WCF and WF regardless of where they're at today.
I've uploaded the deck and the presentations here http://www.marcmercuri.com/Downloads/FinServDevCon.zip, and the good news is that other than the one COM interop demo for Lotus, every demo here can be run on your own machine. In cases where there's a use of Domino server - you get to take advantage of the domino services set up on the public web by my colleague, Gary Devendorf. For the Java examples, I used the basic samples that came with Java Enterprise Studio 8 which is now a free download. A note for VS developers - the Java environment may look similiar to VS, but it's different. To make it easy to run, the only thing you need to do is install, load the sun blueprint sample, and change the URL to point to the WCF service.
The demos posted include:
- Taking an existing, unsecure web service (in this case using Lotus Notes Domino as a source), placing a WCF front end on it, and exposing a WS-* service beyond the firewall. The benefit here is obviously security, and the ability to extend what you may have in place already to accomodate external customers.
- Taking a Windows Workflow Foundation, exposing it as a web service, and consuming it via an existing java application.
- An example of using a UI driven by workflow
- Using the workflow engine provided as part of workflow foundation inside of Excel.
- Using WF to coordinate multiple services. This includes a standard ASMX service, as well as Domino web service located remotely.
- An example of the flexibility provided by data contracts. The demo consisted of a service and client based on version one of a data contract, and the data contract is then modified to support a new data element (a URL for an RSS Feed). Even though the data contract has changed, the client continues to work.
|