In-Depth

Indigo: The Longhorn Communications Layer

Indigo is the core for communication in the next generation of Windows, code-named Longhorn. This model of its architecture gives you a good sense of what to expect from it.

Indigo is the core for communication in the next generation of Windows, code-named Longhorn (see Figure 1). It builds on Microsoft's vision of service-oriented architecture, which itself relies on the Web Services Enhancements (WSE) 2.0 specification for the next generation of Web services. It might not be clear from the diagram, but Indigo supports both a Web service-based and a remoting-based approach to communication. This architecture—and its underlying technologies—is intended to supply a new level of security and power to service-based architecture.

The communication pillar also includes (1) collaboration, but that lies outside the Indigo model proper. The framework support for collaboration between programs and (2) people should offer significant opportunities to those who create the next generation of collaboration software.

One way to get a toehold into the complexity of Longhorn is to look for a feature you're particularly interested in. For example, you'll find (3) transactions embedded deeply in the base operating system (see the "Longhorn: The Base Operating System" object model), as well as in Indigo's systems services. Similarly, security support runs from the base operating system through the corresponding pillars, where appropriate.

The initial release of Longhorn is a client operating system, but the new Indigo features won't be too interesting if they are available only on client machines. They also need to be available on the server machines the clients interact with. To that end, Microsoft has also announced that key portions of the Indigo/WSE 2.0 specification will be available for Windows Server 2003. —Kathleen Dollard

About the Author

Kathleen is a consultant, author, trainer and speaker. She’s been a Microsoft MVP for 10 years and is an active member of the INETA Speaker’s Bureau where she receives high marks for her talks. She wrote "Code Generation in Microsoft .NET" (Apress) and often speaks at industry conferences and local user groups around the U.S. Kathleen is the founder and principal of GenDotNet and continues to research code generation and metadata as well as leveraging new technologies springing forth in .NET 3.5. Her passion is helping programmers be smarter in how they develop and consume the range of new technologies, but at the end of the day, she’s a coder writing applications just like you. Reach her at [email protected].

comments powered by Disqus

Featured

  • Uno Platform Wants Microsoft to Improve .NET WebAssembly in Two Ways

    Uno Platform, a third-party dev tooling specialist that caters to .NET developers, published a report on the state of WebAssembly, addressing some shortcomings in the .NET implementation it would like to see Microsoft address.

  • Random Neighborhoods Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the random neighborhoods regression technique, where the goal is to predict a single numeric value. Compared to other ML regression techniques, advantages are that it can handle both large and small datasets, and the results are highly interpretable.

  • As Some Orgs Restrict DeepSeek AI Usage, Microsoft Offers Models and Dev Guidance

    While some organizations are restricting employee usage of the new open source DeepSeek AI from a Chinese company due to data collection concerns, Microsoft has taken a different approach.

  • Useful New-ish Features in .NET/C#

    We often hear about the big new features in .NET or C#, but what about all of those lesser known, but useful new features? How exactly do you use constructs like collection indices and ranges, date features, and pattern matching?

  • TypeScript 5.8 Beta Speeds Program Loads, Updates

    "TypeScript 5.8 introduces a number of optimizations that can both improve the time to build up a program, and also to update a program based on a file change in either --watch mode or editor scenarios."

Subscribe on YouTube