Steve Millet - What is Indigo?

Sign in to queue

Description

Steve Millet is an architect on the Indigo team. What is Indigo? Millet says "Our next generation platform for doing Web services and messaging infrastructure."

Then Steve spends the next 43 minutes taking you through what Indigo was designed for, and gives you a demo of how it could be used in your own applications.

More information on Indigo is available on the Indigo Developer Center on MSDN. There's also an introduction to Indigo over on MSDN TV (given by Indigo architect Steven Swartz).

Sorry for the shaky camera, we handheld this one. Scoble left his tripod at home. Naughty naughty.
 
If you just want to see the demo, fast forward to 32:33.

Tag:

WCF

Embed

Download

Download this episode

The Discussion

  • User profile image
    RL
    Could it be, that he's using the new Consolas font? I know, a little bit off-topic...


  • User profile image
    Dean_186
    Indigo is something ive allways wonderid about ive heard it mentioned many times but never figured it our.  If its for web could this be the end of ASP.NET Development.  or is this just another language like (HTML and XML) any way good job team keep it up.
  • User profile image
    rhm
    So Indigo isn't the future of all communication on Windows or even on .NET. It seems mostly focussed on web services even though it does have binary transports and named pipe support.

    It may be the case that when references are passed over a remote transport that keeping track of objects and their lifetimes is "difficult", but DCOM did it, Corba does it and .NET remoting does it. To promote the Indigo version of events you are going to need a better story than "it's difficult". Since Indigo doesn't do some things that Remoting does then it isn't a complete replacement, which is fair enough as they never said it was, but we need to be clear that the ".NET remoting isn't going away" is not just because we need to support existing code, i.e. there is still a point to using remoting.

  • User profile image
    Mollyfud
    How does Indigo relate to JMS/ESB? It sounds that they would be competing yet things that should work together.

    Any comments on that?
    Molly
  • User profile image
    Ovidiu.​Platon
    There seems to be a lot of confusion surrounding Indigo. I would also recommend reading the article Introducing Indigo: An Early Look

    Ovidiu
  • User profile image
    Steve411
    The way every single video begins is by you asking; "Who are you?", I love that!
    Keep it up guys! great video
  • User profile image
    dudenumber4
    In the interview, Steve mentions that it's basic to loosely coupled services that object references not be passed around.
    I am developing a web service that takes as it's only input param an object (just a structure, really).  That way I can add new parameters to the service by adding properties to that object w/o breaking existing clients.

    Am I violating this loosely coupled rule?
  • User profile image
    grennis
    dudenumber4 wrote:
    In the interview, Steve mentions that it's basic to loosely coupled services that object references not be passed around.
    I am developing a web service that takes as it's only input param an object (just a structure, really).  That way I can add new parameters to the service by adding properties to that object w/o breaking existing clients.

    Am I violating this loosely coupled rule?


    I think it is OK, as long as when you add new members to the structure, it still has meaning if older clients are not supplying those values. So if you add a string member, the older client will essentially be passing null for that value (since it is not present) and you have to expect and handle that gracefully.
  • User profile image
    dudenumber4
    Yes, of course; new members would have good defaults, but this is still an object reference.  I'm just wondering if this is the type of coupling that Steve is advocating against.
  • User profile image
    CRPietschma​nn
    Dean_186 wrote:
    Indigo is something ive allways wonderid about ive heard it mentioned many times but never figured it our.  If its for web could this be the end of ASP.NET Development.  or is this just another language like (HTML and XML) any way good job team keep it up.


    Indigo is just a messaging platform that allows applications to communicate together. Does it sound kind of like Web Services? Well, Indigo will make it easier to enable communication between applications whether they're on the same computer or on different computers across the internet.
  • User profile image
    Steve Millet
    It's great to see all the questions surrounding Indigo.

    With respect to your question about passing an object (just a structure, really), this does not violate the loosely coupled rule. Passing data "by value" is the primary goal. Keeping references to objects across computing boundaries creates object lifetime issues (aka ref-counting) when running in a distributed environment.

    But you bring up a good issue. Versioning is still something one must think about in a loosely coupled world. If I version my Contract, can it be backward compatible with clients assuming the previous version? For ServiceContracts an additive approach will work. For operation parameters (aka messages), Indigo provides versioning support by utilizing the DataContract feature.

    You can learn more about Indigo and download the March CTP (Customer Technology Preview) on MSDN at:
    https://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/default.aspx
  • User profile image
    gue

    Hey Scobleizer,
    how long will it take you media GURUS to finally split up an interview like this one into
    - a portrait picture (on the Web)
    - a, guesstimate, 10MB audio file 64Kb/sec
    - and a, say, 20MB video for the five minute demo
    =30MB!!!

    INSTEAD OF A 130MB+ download?!!!

    I appreciate your work for the community, but the approach is really amateurish!
    THANKS
    G

  • User profile image
    markricard
    So help me out here.  Steve's demo does not get into *what* is being sent across the wire from the service to the client and vise-versa. 

    I realize that this is most likely defined as part of the endpoint's binding configuration, but is most of that communication xml based or object serialization based? 

    I can see if you are communicating from .net to java you would need to use xml, but what about .net to .net?  What is the "preferred" communication type?

    If xml based, what about performance versus direct serialized object communication?  What did the demo use?

    Any info appreciated!
    Mark

Add Your 2 Cents