Don Box and Doug Purdy did a 'keynote' for the Connected Systems Track. They
started out by asking what questions the audience wanted to see. A great set
of questions were proposed and the answers contained some of the most valuable
content in the session. Here are my notes on their answers, and some they didn't
get time to do.
How does WSE 2.0 fit in with the Indigo direction?
It lets you use the protocols we have today. WSE takes your ASMX investment
and keeps you in the game as we do this protocol work. If you don't track the
protocols it may not be so important.
Indigo will be the primary technology for using the WS-* specifications in future.
WSE takes your ASMX investment and lets you add support for those specifications today.
What's the future of DIME?
MTOM. DIME was an experiment - we were on the wrong track that didn't
support security. Microsoft got together and did PASWA that became MTOM.
It will be in Indigo and other MS technologies.
WS-Security vs. SAML?
There are many different kinds of tokens that may be used, such as Username,
X509 certificates and Kerberos tokens. Don said it was unlikely that a token
type, like SAML will become the 'single token format to rule them all'. No definite
answer on where the SAML support was. As I learnt on Saturday, trying to implement
SAML support is a non-trivial exercise - it would be nice if there was a clear statement
from Microsoft on when it will be supported in the platform (so that you don't have
to share my dll in order for us to use it when we talk). I think it will be
part of the identity management work in future.
How successful is WSE at interop?
Microsoft do bake-offs with WSE where they get all the vendors in a room
and try and make the specifications work. There wasn't a definite answer other
than this.
How do you talk SOAP from a Windows Service?
Don's answer was that you do the hard work to host ASMX inside a service
then put an ASMX façade and call into the service with ES or Remoting.
I thought this missed the point that the recently released WSE 2.0 supports Soap Messaging,
which allows you to implement SOAP messaging over TCP. I think this would be
a far easier way of hosting SOAP within a windows services.
What is the technology to replace COM+ in the long term?
ES investment will keep working. Deployment, interception and synchronization
are being brought forward into Indigo. Many of the ES semantics are a direct
correlation with the Indigo model. Doug mentioned that ES programmers will be
the most prepared to work with Indigo when it ships.
Is there an issue with the verbosity of web services payload?
Don's answer was that Indigo will 'negotiate up' and switch to a faster way
of communicating if the other endpoint uses Indigo. How they do this
is to be seen (there were comments at the PDC that the first Indigo call will be a
policy request to see if the other end is an Indigo endpoint). Don mentioned
that the industry is having a hard time defining binary protocols that allow user
definition are difficult. Binary protocols that support user defined structures
are hard.
How do we discover services and determine policy at run time?
Don mentioned that UDDI was a solution you could use today. In a show
of hands only 4 of 200 attendees were using UDDI (2% adoption?). According to
Don it makes some hapy, but some customers want more. They want a more flexible
model for describing things without having to use the tModel (which is hard to grok).
There also other groups want to discover services on devices, so WS-Discovery
is where Microsoft are headed. It is a small spec that is easy to understand
that can be easily implemented.
Will we need to continue to be plumbers to do web services security?
I thought this was a great answer:
For a while. WSE makes it easier, but if things go wrong you'll need a plumber.
We have not done our job in Indigo if people have to understand the protocols.
Your common developer needs to solve business problems, not the protocol problems.
Indigo is adding value without focussing on the protocols.
No matter how good WSE does, since we are ironing out the interop you'll still need
to read WS-Sec. Now at least we only need plumbers when things go wrong.
What's the migration path to SO?
This was really the content of Richard Turner's talk in the track, he's also
written a
great post on detailing prescriptive guidance on preparing to upgrade to Indigo.
The basic message is don't do tricky things. If you are doing something
that was hard to figure out, maybe that was for a reason. So things like SoapExtensions
or custom message sinks in Remoting are not going to upgrade well. There's lots
of material out there that shows that Microsoft have a 'good story' on upgrading from
various technologies.
Unanswered questions:
-
What is the MSMQ equivalent for COM+? Is MSMQ going away?
-
How does EIF fit into SOA?
-
Strategies for native to managed interop?
-
Will Indigo support mailslots?
-
Are there any application blocks for SOA?
-
How do we handle events across appdomains?
-
Security - you have authentication and authorization - what about any attacks through
the channel - filtering content? Content-awareness in firewalls?