I would want to differentiate between what Indigo actually is and what I might
think of as ideal programming practice.
If you want to pass complex object graphs by value across tiers, you will be able
to in Indigo. If you want to share types between client and server, you will be able
to in Indigo. If you want to deploy proxy classes in MSI files, you will be able to
in Indigo. If you want to marshal around references to service instances, you will
be able to in Indigo. Each of these techniques involves additional coupling of one
sort or another. Theoretically, minimizing coupling is good. Didactically,
people who are teaching other people to program will always take a hard line against
coupling. Practically, in the real world there’s always some coupling: how much is
a matter of taste and situation.
When you speak about Indigo as a manifestation of a programming ideal (service
orientation), it sounds as different from the existing products as a [pneumatic]
nail-driver is from a hammer. In fact, Indigo as it feels under
your hands is quite similar to the existing technologies.”
- Steve Swartz in a private listserv 10/2004
>