2006 Mar 16
51 of 135 | All quiet on the Western Front -
A tumbleweed rolls by...
Been awfully quiet around here lately. I've been really busy getting some cool stuff
ready for the upcoming Mix '06 conference. I'll have lots to talk about very soon.
On a completely different note, I'm stoked to see that WS-Transfer made it to the
W3C. This has already sparked some interesting conversations, and I'm sure there will
be more to come. Eventually I'll get around to joining in :)
...
2006 Mar 02
52 of 135 | HttpMappingMode.Soap vs HttpMappingMode.AnyXml vs MapAddressingHeaderToHttpHeaders=true -
If you're doing POX/REST programming using the WCF HTTP Transport on the Feb CTP,
you need to use the following setting for HttpTransportBindingElement.MappingMode:
On the client side, use HttpMappingMode.AnyXml
On the service side, use HttpMappingMode.Soap
Ultimately we plan to have HttpMappingMode.AnyXml be the thing to use for POX/REST
on both sides, but unfortunately it's not that way right now.
In case you're interested, here's the long story behind this knob.
Back in the Beta1 days of Indigo, we had a knob on the HttpTransportBindingElement
called MapAddressingHeadersToHttpHeaders.
Setting this to "true" on......
2006 Feb 09
53 of 135 | Handling large data in Indigo - Kenny's got a good blurb about how Indigo thinks
about streaming.
The thing to remember about streaming is that we have support at the programming model
layer (take a Stream/return a Stream) and at the transport layer (don't buffer on
send). If you're sending titantic.wmv across the wire over Indigo, you probably want
to use both :)
Based on conversations I've had with customers I know there's a lot of people who
are very interested in getting more detail about this topic. Rest assured we're working
hard to improve both our conceptual documentation as well as our samples around this
for upcoming releases.
...
2006 Feb 07
54 of 135 | On WSDL and silos -
Paraphrasing Mark: Apps
do not become magically interoperable simply by exposing a WSDL document. True interoperability
is directly a function of the number of clients that can understand the application
protocol encoded in that WSDL. (Insert obligatory reference to the REST principle
of constrained interfaces).
Is there a RESTful
corollary? Something like: Apps do not become magically interoperable
simply by exposing representations of their internal resources in a RESTful manner
using HTTP as the application protocol. True interoperability is directly a function
of the number of clients that can understand the representation of a resou......
55 of 135 | Recycling (AppDomains, not cans) -
There are
two core concepts when it comes to understanding the shared application hosting model
of ASP.NET and IIS: you’ve got Applications, which correspond to individual AppDomains
and Application Pools, which correspond to the worker process instances in which those
applications live (forget about Web Gardens for a moment, which lets you have n number
of worker process instances servicing a particular App Pool – it’s easier to talk
about this stuff when you assume that AppPool == worker process).
One of the
nice things about the shared hosting infrastructure is that (unlike, say, a console
app) the li......
56 of 135 | REST, POX, AJAX, ASP.NET and WCF (with code) -
I've boxed up my AJAX-enabled "Web 2.0 Business Idea Generator" demo from VSLive!
San Francisco. If you're feeling anxious, you can skip all this and just download
the code from here.
I've tried to comment the interesting bits fairly liberally.
This sample is built on the Nov/Jan releases of WCF -- either one should work.
There are two solutions in the .zip. PoxService.sln has just the service and the client.
PoxService_With_UnitTests.sln has the client, the service, and a VSTS unit test project
as well (take a look at that if you want to see one way WCF services can be targeted
by unit tests). To run the demo, just load it up in Visual Studio a......
57 of 135 | Speaking at VSLive San Franscisco next week -
I'm getting ready for my quick visit to VSLive
San Francisco next week. I'm doing a talk on Tuesday as part of
the Middleware Summit.
The title of the talk is WCF for ASP.NET Developers. I've been putting the
finishing touches on the demos this weekend, and it should be a really fun time. Major
highlights will cover the ins and outs of hosting WCF in ASP.NET, interoperating and
migrating from ASMX, and what the heck to do about all those "Web 2.0" acronyms (REST,
POX, AJAX oh my) that seem to be so interesting today.
If you're going to be at the conference, you should stop by and say hello.
...
58 of 135 | WCF and WF "go live" release! -
There's now a go-live license available for both WF and WCF: http://msdn.microsoft.com/winfx/getthebeta/golive/default.aspx
If you've got a WCF app itching to go into production, now you can.
Today also marks the launch of the community site for WCF: http://www.windowscommunication.net/.
Very cool to see this happening. Just that much closer to shipping...
...
2005 Dec 17
59 of 135 | On the last couple of months -
It`s been really quiet around this blog lately. But`s that not to imply that I haven`t
been doing anything; quite the opposite, in fact.
Since the beginning of November, the Indigo team has been focused on making the most
of the last major opportunity to do feature work before we ship this thing. We locked
our bits from the last milestone around the end of October, and since then we`ve been
working hard to identify a small set of strategic DCR`s (Design Change Requests) that
we can take within the small amount of time before we run up against a hard internal
date that is quickly coming up.
This DCR period started with a product-wide planning effort, with ......
2005 Dec 08
60 of 135 | You really should come be a PM on the Indigo team... -
Yasser has
blogged about how we’ve got room for a few more PM’s on the Indigo team.
If you’ve got a passion for distributed applications and want to help us make
the world a better place for distributed app developers, you should send us your resume.
We’re looking for technical program managers to help us drive the evoloution
of the distributed Windows platform…if you think it might be up your alley,
you should send a resume our way. I can tell you that it’s definitely one heck
of a ride…
It’s funny…about a year ago this time, I was struggling to decide whether
I wanted to pursue a job with Microsoft. It wasn’t an easy decision —
I had a sweet job at a......
2005 Nov 27
61 of 135 | A little bit about async in WCF -
There are three types of ‘asynchronous’ things in Indigo:
Async on the client. The client thread that starts a long-running operation
returns immediately. The operation completes in the background and the client`s application
code is notifed of completion via a callback.
Async on the server. The server thread that receives the request starts a long-running
application operation and returns immediately to the thread pool. The application
code calls back into Indigo when the operation completes, and then Indigo sends the
response message.
Async on the wire. Two servers communicating via a correlated series of one-way
mess......
2005 Nov 20
62 of 135 | Another Indigo Hosting Blogger - Wenlong Dong, our fearless hosting developer, has started up a blog over
on MSDN. Wenlong has a unique perspective on hosting, since he`s the guy who`s actually
implemented our ASP.NET and IIS integration code. Check it out!
...
2005 Nov 14
63 of 135 | Request/Reply and SMTP -
Heh. Mark Barker
noticed that my
SMTP transport implementation also supports request/reply MEPs and comments (in
his usually contrarian fashion) that SMTP
was one-way for a reason.
Layering two-way communication over a fundamentally one-way transports is a really
common pattern. People do this all the time over SMTP the number of mails in my
inbox that have subjects starting with RE: is testament to that.
Request/reply is a very useful (and prevalent) abstraction. Most applications (including
HTTP) are built on a request/reply pattern. Sending a message, receiving a response,
and being able to match up the request with the response in som......
2005 Nov 13
64 of 135 | Soap.SMTP for Indigo Beta 2 -
A while ago, I wrote an
SMTP transport for WSE 2.0. Aaron Skonnard was kind enough to port
it to WSE 3.0, and now I`ve finally gotten around to porting it over to Indigo
Beta 2. If you want to just cut to the chase, the code
is here.
If you want to use this transport, I should point out that I built this against a
random sync of the Indigo sources from late last week. It`s basically Indigo Beta
2, but I haven`t tried to use it against any of the builds that are currently available
publicly. You might be able to use it with the PDC CTP, but I haven`t tried it. But
don`t worry -- Beta 2 will be along Real Soon Now so just keep this around for future
referen......
2005 Nov 08
65 of 135 | Welcome, Ed -
I had dinner with Ed Pinto
tonight, who just got done with his first day as a PM on the WCF team. Ed’s
one of those guys who I normally only see at conferences and such things, so it will
be nice to see him around the halls of 42 on more regular basis.
Welcome to the team, Ed. Now all you have to do is start a blog J
...
2005 Oct 28
66 of 135 | WAS 101 - an IIS review -
As the PM for hosting and
activation on Indigo, I basically own the process model for Windows Communication
Foundation services. One of the things that makes my job interesting is that WCF does
not, by itself, actually define a particular process model. So I end up spending most
of my time thinking about all the various places in which you can
run Indigo services. Of the three options (app hosting, managed Windows services,
and IIS/WAS), the latter is by far the most interesting, and I intend write in some
depth about it here over the coming weeks.
What is WAS, you ask Put
really simply, WAS enables ......
2005 Oct 25
67 of 135 | PDC videos are now live! -
Heck yeah…video streams
from every PDC ’05 session are now live at http://microsoft.sitestream.com/PDC05/.
One of the nice things that you can do with these streams is to listen to them at
ultra-fast playback speed. This reduces the amount of time it takes to get through
a session and also adds an interesting dynamic to the speaker’s presentation
style. I find this technique particularly amusing when applied to the folks on my
team, with whom I interact usually only at normal speed. However, with these videos,
you get a sense of what life would be like if someone snuck into the office and secretly
replaced Steve Swartz’s re......
2005 Oct 03
68 of 135 | What does RunOnUIThread=True really mean -
It was raining today, so I spent some time with Indigo figuring out the answer to
this question.
Turns out that it really means "Post() a message to the ambient SynchronizationContext from
the thread that created your ServiceHost at the time your ServiceHost was constructed".
This is a very challenging thing to compress into an attribute name.
So we squished it down into RunOnUIThread since that`s what it effectively
means most of the time.
...
2005 Sep 28
69 of 135 | Indigo and Visual Studio -
Michelle Bustamante (a.k.a Das Blonde) takes
us to task on the Indigo tooling story.
One of the things I really like about Indigo is the fact that our programming model
is by and large agnostic to the application model in which it is hosted. That`s a
fancy way of saying that we don`t really care where our worker process and AppDomain
come from -- Indigo will quite happily live in any managed AppDomain. That frees you
to choose a hosting model that meets the needs of your particular application, and
you won`t have to learn a new programming model to make Indigo work in that environment.
I agree with Michelle`s point that our current tooling story does not rea......
2005 Sep 21
70 of 135 | Meijer on VB on LtU -
Erik Meijer`s guest blogging
over at Lambda the Ultimate, talking about linguistic pedigree of the new VB.NET
/ Linq features. Fun read for PL geeks.
VB9 is making me (almost ;) ) want to be a VB programmer.
The coolest VB9 feature in my mind Dynamic interfaces, hands down.
Dynamic interfaces are a way of declaring your expectations to the compiler without
actually asserting demands about the concrete type of something. The compiler uses
the dynamic interface to give you statement completion and design time IntelliCrack,
but everything is late bound at compile time so you`re really building a
dynamically typed system. In his post, Erik refers to this as......
71 of 135 | MVP Summit Meet-up -
If you`re going to be in town for the MVP
Summit next week and are interested in having dinner with Savas, myself, and possibly
a bunch of other XML-ish type people, leave a comment here or on Savas`s
blog.
...
2005 Sep 20
72 of 135 | On JSON -
JSON (JavaScript Object Notation) is a data exchange format that’s becoming
increasingly popular among the AJAX crowd. Several AJAX frameworks (e.g. Ajax.NET
and Microsoft’s ‘Atlas’ project) are embracing JSON on the wire
because it’s very simple to produce and consume from a JavaScript-based browser
environment.
JSON and objects
Linguistically, JSON is nothing more than JavaScript’s standard object initialization
syntax. JScript has long has the ability to initialize objects using a lightweight
syntax similar to the following:
var person = { name: “Steve”,
age: 27, jobTitle: “Program Manager” };
When the JScript interpreter evaluates thi......
2005 Sep 18
73 of 135 | PDC Retrospective -
PDC 05 is in the books, and it’s time for a big exhale. I’m spending the
weekend down in Santa Monica with my friend Barret, and then it’s back to Redmond
to get Beta 2 out the door.
This was a very, very big PDC for me this year. I had some code demo’d in Jim
Allchin’s keynote (I did the Indigo/Atlas interop code…expect to see
some posts here detailing that implementation). It was my first time as an expert
at ‘Ask the Experts’. And it was definitely the first time I’ve
given a talk at a conference of this magnitude. What an amazing week.
Thanks to everyone who stopped by to chat. The fates did not align in the exactly
the way I wanted to and I could nev......
74 of 135 | Windows Communication Foundation Forum -
Cool…looks like the WCF
Forum is now up and runnng. RSS feed is here.
This is the best place to post general questions about Indigo and WCF. See you there!
...
2005 Sep 08
75 of 135 | PDC Cometh... -
Last
time around,
I was excited about PDC because I didn’t know what was coming and I didn’t
know what to expect. This time around, now that I’m inside the belly of the
beast, I’m excited precisely because I do know what’s coming. That’s
all I want to say, because I don’t want to spoil the surprise J
I’ll
be at the conference all week, so if you want to talk about hosting WCF services or
just generally geek out,
stop by the Communications track lounge and say hello.
It’s
going to be a great week. I’m
looking forward to being able to blog about some of the stuff that I’ve
had to keep under my hat for a long time now, so expect to s......
2005 Aug 13
76 of 135 | Structured data and nominal typing -
John Cavnar-Johnson wrote a piece called “Mort
gets the message” over on Pluralsight, where he talks about how Indigo looks
at structured data.
He’s absolutely right when he says “We need an easy way to send and
receive structured (but not necessarily typed) messages”.
I think the reason people like Tim and Steve advocate
the bare-XML approach is because that’s the only programming model that lets
you work directly with the data in a purely structural manner. When you think about
your data as “an element named Foo, whose children are Bar and Baz…”,
you don’t think about Foo being an “instance of” some nominal type.
Taking a nominal type system out of ......
77 of 135 | Structured data and nominal typing -
John Cavnar-Johnson wrote a piece called “Mort
gets the message” over on Pluralsight, where he talks about how Indigo looks
at structured data.
He’s absolutely right when he says “We need an easy way to send and
receive structured (but not necessarily typed) messages”.
I think the reason people like Tim and Steve advocate
the bare-XML approach is because that’s the only programming model that lets
you work directly with the data in a purely structural manner. When you think about
your data as “an element named Foo, whose children are Bar and Baz…”,
you don’t think about Foo being an “instance of” some nominal type.
Taking a nominal type system out of ......
2005 Aug 07
78 of 135 | Thoughts on the new name -
It’s been a little bit since Indigo was officially renamed “Windows
Communication Foundation.” I’m slowly adapting. I wonder if we have plans
to continue bring some of the rest of our groups in line with the new name:
Longhorn Display Driver Model (LDDM) -> Windows Presentation Foundation Foundation
User-mode Winsock -> Windows Communication Foundation Foundation
Kernel-mode Winsock -> Windows Communication Foundation Foundation Foundation
Hopefully not.
...
79 of 135 | Thoughts on the new name -
It’s been a little bit since Indigo was officially renamed “Windows
Communication Foundation.” I’m slowly adapting. I wonder if we have plans
to continue bring some of the rest of our groups in line with the new name:
Longhorn Display Driver Model (LDDM) -> Windows Presentation Foundation Foundation
User-mode Winsock -> Windows Communication Foundation Foundation
Kernel-mode Winsock -> Windows Communication Foundation Foundation Foundation
Hopefully not.
...
2005 Aug 06
80 of 135 | Squint until you see the Infoset -
One of the great things about Indigo is that it’s built on top of the XML Infoset,
and not
any particular encoding of it.
One of the great things about System.Xml is that you can make
pretty much any structured data format look like an XML Infoset by implementing
an XmlReader that speaks the format.
This opens up a lot of interesting possibilities, with which I’ve been having
a lot of fun lately.
I love this stack.
...
81 of 135 | Squint until you see the Infoset -
One of the great things about Indigo is that it’s built on top of the XML Infoset,
and not
any particular encoding of it.
One of the great things about System.Xml is that you can make
pretty much any structured data format look like an XML Infoset by implementing
an XmlReader that speaks the format.
This opens up a lot of interesting possibilities, with which I’ve been having
a lot of fun lately.
I love this stack.
...
82 of 135 | Where HTTP fails SOAP -
Via Steve Vinoski: Where
HTTP fails SOAP
It’s the little niggling details (like being able to multiplex requests over
a single network connection) that bite you when you try to use SOAP/HTTP in certain
scenarios.
SOAP over HTTP is a great protocol for interoperability, because everyone speaks it.
But inside the firewall, in back office scenarios, there are other transport protocols
that make more sense. Ideally, you want a messaging stack that hides these details
from you so that switching between SOAP-over-HTTP and SOAP-over-Blah is transparent
to your app code.
Oh, and to avoid the standard “HTTP is an application protocol/no, it’s
a transport pr......
83 of 135 | Where HTTP fails SOAP -
Via Steve Vinoski: Where
HTTP fails SOAP
It’s the little niggling details (like being able to multiplex requests over
a single network connection) that bite you when you try to use SOAP/HTTP in certain
scenarios.
SOAP over HTTP is a great protocol for interoperability, because everyone speaks it.
But inside the firewall, in back office scenarios, there are other transport protocols
that make more sense. Ideally, you want a messaging stack that hides these details
from you so that switching between SOAP-over-HTTP and SOAP-over-Blah is transparent
to your app code.
Oh, and to avoid the standard “HTTP is an application protocol/no, it’s
a transport pr......
2005 Jul 22
84 of 135 | Syndication and the enterprise -
Bill deHora: I
don`t see why [syndication] would not be a good basis for enterprise concerns
like messaging, authentication, or management interfaces. Atom, RSS and the Atom Publishing
Protocol (APP) as a complement to REST could disrupt SOAP and WS.
He makes five arguments as to why he belives syndication and microprotocols (“namespaced
module extensions that inform and affect application behaviour”) will challenge
SOAP in as an enterprise messaging platform.
1) Microprotocols are independent of each other
I’m not convinced that defining a bunch of small formats independent
of each other is necessarily a good thing. Such an approach leads to redundancy a......
85 of 135 | Syndication and the enterprise -
Bill deHora: I
don`t see why [syndication] would not be a good basis for enterprise concerns
like messaging, authentication, or management interfaces. Atom, RSS and the Atom Publishing
Protocol (APP) as a complement to REST could disrupt SOAP and WS.
He makes five arguments as to why he belives syndication and microprotocols (“namespaced
module extensions that inform and affect application behaviour”) will challenge
SOAP in as an enterprise messaging platform.
1) Microprotocols are independent of each other
I’m not convinced that defining a bunch of small formats independent
of each other is necessarily a good thing. Such an approach leads to redundancy a......
2005 Jul 15
86 of 135 | On the utility of .svc files -
I could really use some customer feedback here.
In the Indigo Beta 1 code, when you’re hosted in IIS Indigo requires you to
represent the service on disk as a physical file with a .svc extension. Most of the
time, that file just contains one line of code:
It’s currently possible to put code in there too.
What if instead of the @Service directive, that file just has a comment that said
something like:
//This file represents a service. The contents of this file are completely unimportant
and are
//ignored by Indigo. In fact, the file itself is completely unimportant and you can
delete it if you
//want.
//It’s just here to remind y......
87 of 135 | The Indigo Tent is a Big Tent Indeed -
Im not a fan of technology stacks that come complete with their own ideologies.
I think theres a somewhat common misconception about me people think Im a SOAP-only sort
of guy and that Im really not a fan of REST. Thats not true at all. First
off, as Don points out, REST is an architectural style, not a protocol.
Its true that the HTTP protocol is a restful implementation but thats not to say
that non-HTTP protocols cant be done restfully. Where I disagree with the RESTafarians
is that I dont think HTTP is that last application protocol youll ever need. I
do think there a lot of interesting ideas and scenarios enabled by RESTful usage
of HTTP. I also think th......
2005 Jul 06
88 of 135 | Request/Reponse != RPC -
Savas is having
a conversation with Michi Hennig about the definition of RPC. Michi arguest that
web services are essentially RPC because they use request/response messaging.
The line between RPC and request/response messaging is subtle.
In fact, RPC can be considered to be equivalent in capability to request/response
messaging — but only if you assume that all of Deutsch’s
Eight Fallacies are actually truths.
...
2005 Jun 30
89 of 135 | HOWTO: Use Class Library Projects to build hosted Indigo services -
If you’ve downloaded the Indigo Beta 1 RC0 bits and the WinFX SDK, you’ve
probably noticed that the tooling experience for building Indigo services is similar
to that of building Web Sites. That is, you go File -> New -> Web Site in Visual
Studio and one of the options is “Indigo Service Project”. The development
environment for these types of projects is the same environment used to build ASP.NET
web site.
Some people naturally think of Indigo services as living in class libraries and not
web sites. Although this is currently not a first-class scenario in the tools, it’s
pretty easy to turn a class library (a .dll file) into a home for hosted Indigo services.
......
2005 Jun 18
90 of 135 | Automation -
I’ve been spending a bunch of time lately dogfooding some internal installation
automation that our test team will use to get fresh bits of Indigo running on fresh
bits of Longhorn and IIS7. I don’t even want to think about the number Virtual
PC images I’ve created in the past couple of weeks.
The automation that the IIS team has developed is really pretty sweet. With one command,
I can run a script that does all of the following:
Checks to see if Virtual Server is installed and installs it if necessary
Creates a new virtual machine and empty .vhd
Boots the VM into WinPE (the Windows preinstallation environment used by OEM’s)
Fo......
2005 May 28
91 of 135 | Cassini Tip #2 - Disable dynamic ports -
Here’s another Cassini tip for you…
By default, Cassini assigns a random port number to each website it hosts. This port
number gets assigned the first time you start the site using the Visual Studio debugger,
and then gets persisted for the life of the solution.
You can disable this behavior by selecting the project node for your Web Project in
Solution Explorer and choosing View->Properties Window (Ctrl-W, P). Change “Use
Dynamic Ports” to False and then specify a TCP port of your liking (best to
keep this between 1000–5000, but it can technically be any unused TCP port).
This will give your Cassini-hosted site a deterministic port number, and make it e......
92 of 135 | Indigo and Cassini in Beta1 -
Visual Web Developer (the part of VS2005) ships with a stand-alone development web
server that lets you develop websites without requiring the usage of IIS. I think
the official name for this thing is the “ASP.NET Development Web Server”,
but I usually refer to it by its code name, Cassini.
It’s possible to host Indigo services inside Cassini. However, there are a couple
of “gotcha’s” about Cassini that you should be aware of. If you’re
seeing MessgeSecurityExceptions on the client side to the effect of “The
HTTP request is unauthorized with client authentication scheme `Anonymous`. The server
authentication schemes are `NTLM`”, you’re probably running
int......
2005 May 24
93 of 135 | Alpine -
Very interesting paper from Steve
Loughran about Alpine, his propoal for a Java SOAP stack to replace JAX-RPC.
It`s very interesting to look at the design direction they`re taking this stack. It`s
fundamentally a shove-the-angle-brackets-in-your-face sort of thing:
If Alpine succeeds, it will be a SOAP stack that requires an understanding of XML
before it can be used. This might appear to be a barrier to the widespread adoption
of the tool, and perhaps it will prove so. Unlike commercial SOAP vendors, we have
no financial incentive to make our product broadly usable. We will, however, have
a SOAP implementation which all its users should be able to understa......
2005 May 23
94 of 135 | Avalon and Indigo...get `em while they`re hot -
The release candidate for Avalon + Indigo Beta 1 went live on MSDN today:
Download
the runtime
Download
the SDK
These bits will work with Visual
Studio 2005 Beta 2!
The SDK has really grown in this release. There are tons of great samples to learn
from - some of them are small demonstrations of a particular part of Indigo, others
are much larger scenario-based samples that demonstrate a wide range of features working
together to solve an overall problem. Take a look at them and let us know if there`s
anything missing!
BTW, make sure to check out the UDP Transport sample if you`re interested in seeing
how to imple......
2005 May 22
95 of 135 | Travelling through hyperspace -
“Travelling through hyperspace ain’t like dusting crops, boy…without
precise calculations you could fly right through a star or bounce too close to a supernova,
and that would end your trip real quick, wouldn’t it”
– Han Solo, Captain, Millenium Falcon
I was folding my laundry the other day, and had the audio commentary for Episode IV
on in the background (I get bored with radio, and don’t have cable at the moment).
I like audio commentaries because every so often you learn something you didn’t
know before.
True Star Wars geeks will know recognize the Millenium Falcon as “the
ship that made the Kessel Run in less than 12 parsecs.” I never really understo......
2005 May 21
96 of 135 | Fresh Indigo (and Avalon) bits coming soon -
Looks like the Beta1 RC for Avalon and Indigo is available for download. It’s
still making its way through the MSDN server farms, but this
link looks like it goes directly to the executable.
These bits will work on top of VS Beta 2, so have fun…
...
2005 May 12
97 of 135 | Securing Indigo -
I’m getting a great introduction to the security culture at Microsoft.
One of the Indigo components that I have PM responsibilities for is a long-running
service (of the NT variety) that listens on the network. Because it’s basically
the front door of Indigo, we’re spending a lot of time making sure our threat
models and mitigations stay up-to-date as the product evolves in its lifecycle.
We have lots of threat models and mitigations in place to make sure that our component
doesn’t get hacked. But even so, a lot of our threats start with “assume
that the Listener gets hacked…”
Why do we do this Defense in depth. We want to make sure that even if our compone......
2005 May 10
98 of 135 | On Attribute-Based Programming Models -
There’s an interesting back-and-forth going on between Rich
Turner and John
Cavnar-Johnson re: the Indigo programming model.
In the lastest round, John sums up his asks for the Indigo programming model:
“I want to design and build
services with Indigo. I want services, messages, and operations to be first-class
citizens in the programming model. I`m perfectly happy to use XML as the serialization
format for messages and XML Schema as the schema language for describing
messages. I`d rather not have to deal directly with the XML and Schema in the programming
model. I want to work with a higher-level abstraction. Ideally I think this would
be a new .Net type ......
2005 May 05
99 of 135 | Interface Definition Languages and WSDL, and why SOAP isn`t object oriented -
Dilip Ranganathan sent me mail asking me to blog about the “To
Slice or Not To Slice” article recently written by by Mitchi Henning of ZeroC.
The article positions WSDL against other interface definition languages (IDL’s)
such as CORBA IDL and offers several critiques of WSDL specifically and IDL’s
in general. Reading through the article I have several thoughts, but there are a couple
of paragraphs I’d like to specifically respond to.
A much more serious issue with WSDL, however, is that it lacks any notion of object-orientation.
The reason for this is historical: one of the driving forces behind web services was
a wish to integrate functionality provided ......
2005 Apr 30
100 of 135 | ESB`s and centralization -
I liked Richard Turner’s little
rant against ESB’s.
The thing that I don’t get about ESB’s is that they’re all about
centralization. ESB’s are usually described as being the “centralized
communication backbone for the enterprise”.
If there’s one thing that the Internet has taught us about network architecture,
it’s that decentralization is a good thing. The key is to get everything in
the middle speaking the same protocols.
WS-* is a big step towards that goal.
...