66366 members! Sign up to stay informed.

Sponsored Links


Resources

.NET Research Library
Get .NET related white papers, case studies and webcasts

News News News Messages: 12 Messages: 12 Messages: 12 Printer friendly Printer friendly Printer friendly Post reply Post reply Post reply XML XML XML

Ari Bixhorn on the Unified Programming Model of Indigo

Posted by: Paul Ballard on January 26, 2005 DIGG
Indigo Product Manager Ari Bixhorn recently did an interview in which he outlined how Indigo will create a unified programming model for distributed computing, bringing together ASMX, WSE, Remoting, and Enterprise Services technologies under a single namespace. He also discusses the support of Indigo on Longhorn and the Compact Framework.
If you look across the technology stack for building distributed applications with Microsoft tools today, each technology provides a powerful way of building a distinct type of application. For example, WSE provides you with support for the WS-* protocols for interoperability. .NET Remoting has a great extensibility model, provides location transparency, and so on. But what many developers want is a way to have access to these different elements together within a single application or technology space. They want to combine the interoperability you get with ASMX or WSE with the transaction support you get with Enterprise Services. Today, there is an impedance mismatch across all these existing stacks that makes it difficult to combine all this functionality.
To address this mismatch, Indigo will unite the technologies under a single namespace, System.ServiceModel. A developer then uses inheritance to build services applying the proper attributes to configure the Indigo plumbing to make the service accessible across AppDomain boundaries.

Ari also went on to discuss the support for Indigo in Longhorn and the Compact Framework.
In terms of operating system support, Indigo will ship as a core subsystem of Windows code-name Longhorn and will also run on Windows XP and Windows Server 2003. We're not planning on providing Indigo support for the Compact Framework for version 1, but we've heard from quite a few customers who would like such support, so we're looking at that carefully for future versions of the technology.
To read the entire interview, click here

Threaded replies

·  Ari Bixhorn on the Unified Programming Model of Indigo by Paul Ballard on Wed Jan 26 02:01:09 EST 2005
  ·  60000 LOC reduced to a few lines of code by Rolf Tollerud on Wed Jan 26 05:42:52 EST 2005
  ·  funny quote by peter lin on Wed Jan 26 09:59:03 EST 2005
    ·  funny quote by Mac Ferguson on Wed Jan 26 10:15:00 EST 2005
    ·  MS takes the leadership in distributed computing by Rolf Tollerud on Wed Jan 26 11:20:40 EST 2005
      ·  well duh by peter lin on Wed Jan 26 11:39:23 EST 2005
        ·  it was the best of times it was the worst of times by Rolf Tollerud on Wed Jan 26 12:34:52 EST 2005
          ·  few? by peter lin on Wed Jan 26 12:56:09 EST 2005
    ·  funny quote by jit ghosh on Wed Jan 26 18:38:01 EST 2005
      ·  thanks for the clarification by peter lin on Wed Jan 26 19:54:30 EST 2005
        ·  Can you say the 'C' word? Commoditization? by Rolf Tollerud on Wed Jan 26 22:44:48 EST 2005
          ·  canabis and too much smoke by peter lin on Wed Jan 26 23:37:26 EST 2005
            ·  IBM Guild by Rolf Tollerud on Thu Jan 27 01:58:18 EST 2005
  Message #154241 Post reply Post reply Post reply Go to top Go to top Go to top

60000 LOC reduced to a few lines of code

Posted by: Rolf Tollerud on January 26, 2005 in response to Message #154221
Maybe this article will help a little to reduce the level of misconceptions about Indigo, as could be seen in the thread "Ask TheServerSide:Is SOA Really The Future or Just So Much Hype?". Apparently people think that MS advocate Webservices for everything. ;)
Indigo provides a unified programming model that enables developers to build service-oriented applications explicitly—loosely coupled, autonomous services that provide end-to-end security and reliable messaging assurances.

ASMX, Web Services Enhancements (WSE), .NET Enterprise Services, .NET Remoting, all will be We brought together through a single namespace.

Indigo reduces the complexity of creating these apps. People are already providing these kinds of solutions, but they take a lot of work; Microsoft is providing a tool that will help them do this faster, more easily, and with greater productivity.


In other words, precisely want we expect from MS. Meanwhile, the Java world can not compete because they are occupied with (for the umpteen time) yet again a new EJB specification. Trying to make it work.

Regards
Rolf Tollerud

  Message #154270 Post reply Post reply Post reply Go to top Go to top Go to top

funny quote

Posted by: peter lin on January 26, 2005 in response to Message #154221
PM: At the 2004 VSLive! Orlando keynote, Dave Mendlen mentioned that you had a 60,000-line app that had been reduced to a handful of lines by Indigo, but I don't recall hearing about this later. Do you have any more information on that? Do you have a reference to that online?

AB: The app he was referring to is one we built internally. We wanted to build the canonical Hello World Web service, but also add end-to-end security, end-to-end reliable messaging, and distributed transaction support to it. So we built that Hello World Web service using Visual Studio 2003, rolling our own security, reliable messaging, and transaction support. When we built this application as a service with Indigo and Visual Studio 2005, it required only three attributes, or three lines of code. This app demonstrates just how much Indigo does for you, as well as how much Indigo reduces the complexity of writing distributed, interconnected applications.

So now we find out what that statistic was all about. That is hardley a convincing argument that the "indigo model" is easier in practice. It's easy to understand how a simple hello world webservice might take 60K lines handcoded and take 4 lines using code generation. But that is a completely non-sensical argument. It would be like saying, "we decided to fabricate a one-off car and make all the parts ourselves. when we built a car using kits it was much easier and faster than fabricating everything."

the hard part about using messaging centric approach isn't writing security, reliable transaction management or implementing clients, it's figuring out how to take synchronous process and figuring the best way to break it into async stages. Only reason these things are "hot features" for Indigo is because JMS providers have been providing these for a while now. With MSMQ, you do have to write a lot those pieces, but who says I have use .NET with MSMQ. I can use some other .NET compatable messaging system. It will be nice to have Indigo, but I think the product manager is overselling a bit here.

  Message #154274 Post reply Post reply Post reply Go to top Go to top Go to top

funny quote

Posted by: Mac Ferguson on January 26, 2005 in response to Message #154270
Not to mention it's still going to be a while before we can build anything using indigo anyways....

  Message #154281 Post reply Post reply Post reply Go to top Go to top Go to top

MS takes the leadership in distributed computing

Posted by: Rolf Tollerud on January 26, 2005 in response to Message #154270
Peter,

I know that even if you will kick, scream and protest in thousands and one ways I still know that you will not be able to resist becoming an expert in Indigo. And be very good at it too. Why not? It is your mama’s street.

Want to take a bet? I could use a little extra cash.

Regards
Rolf Tollerud

  Message #154284 Post reply Post reply Post reply Go to top Go to top Go to top

well duh

Posted by: peter lin on January 26, 2005 in response to Message #154281
I didn't say Indigo isn't useful did I? I said the product manager is "over selling" Indigo. It's his job and right to over sell something he manages. No self respecting developer focused on delivering solutions is going to "not learn" a tool simply because there's hype wrapped around it.

Frankly, I think it's a good thing MS is building Indigo. Biztalk will benefit from it and developers will save some time. In the early stages, the learning curve will negate any advertised "productivity benefits." Once people are used to Indigo and have had sufficient time to switch from MSMQ, it will make life easier. That will take 2 years probably, which is normal. Having gone through the process of implementing our own security on top of ASMX and MSMQ, it took time, but by no means was it brain surgery. Arguing over where we could de-couple components to handle things asynchronously was by far the hardest part and involved some lengthy debates. Anyone familiar with using messaging systems will know what it's like, so I won't bother reciting the same old stories.

  Message #154297 Post reply Post reply Post reply Go to top Go to top Go to top

it was the best of times it was the worst of times

Posted by: Rolf Tollerud on January 26, 2005 in response to Message #154284
In the past the players in this field have been so few:
According to Bill Roth at Sun the EJB were written for (and by) the systems software architects at the roughly 80 companies in the world that build enterprise-class transactional software.

Like sitting in proverbial Ivory tower. As SOA gets traction, expect that number to be more like 80000 or so soon.

So be prepared for some competition..

Regards
Rolf Tollerud

  Message #154304 Post reply Post reply Post reply Go to top Go to top Go to top

few?

Posted by: peter lin on January 26, 2005 in response to Message #154297
what are you talking about? the players in this area are numerous. before Java and J2EE, CSC, SAIC, IBM, Tibco, EDS and several other service firms were doing SOA. Of course it was all proprietary and there wasn't a standard. Maybe you need to travel a bit and see what the rest of the world is doing. Reading up on history might be beneficial too.

  Message #154369 Post reply Post reply Post reply Go to top Go to top Go to top

funny quote

Posted by: jit ghosh on January 26, 2005 in response to Message #154270
Please note that I am not trying to start a flame war here. But there are couple of things in this post that I would like to expand upon, if only for the sake of self enlightenment.And just as disclaimer (I have noticed that the absence of this caused problems to people in some other forums), I work for Microsoft.

As to the loc reduction, it was not the presence of code generation that reduced the lines of code. The original Hello World web service was code generated as well, just like an average web service in VS 2003. It was the additional plumbing that was added by hand - things like security, reliable messaging etc. Indigo provides this plumbing as value adds under the covers,via attribution (declarative model) or direct API calls (imperative) and that is what reduces the code size.

Also, while we do say that Indigo is a messaging platform, I think the word "messaging" should be taken in a much looser context, and not in the strict sense of message queuing a la MSMQ and JMS. While Indigo makes it very easy to do MQ style messaging, it also supports several other paradigms including ones similar to today's web service invocation patterns and traditional object RPC. So if you are a COM+ or EJB developer, and like that component oriented style of programming, where you can simply decorate your component with sttributes to express your needs like dist. transactions or reliable deivery support, Indigo supports that seamlessly. On the other hand maybe you view your world as one where you develop pieces of software that communicate passing messages into well known queues or by exchaning XML documents a la web services or by invoking well known distributed objects at well known endpoints a la .NET Remoting or Java RMI - go for it with Indigo, once again all of these are seamlesly supported. I think the real beauty of Indigo lies in the fact that the same underlying plumbing & platform is being utilised to provide with all of these programming models, and the combined richness there in. And at the same time the fact that these value added services like end-to-end message security, reliable messaging and distributed transactions etc. are all expresses ad implementations of established(or in the process of being so) standards like WS-Securty, WS-ReliableMessaging and WS-AtomicTx is the icing on the cake.

Just my 2 cents.

Kind Regards,

- Jit

  Message #154374 Post reply Post reply Post reply Go to top Go to top Go to top

thanks for the clarification

Posted by: peter lin on January 26, 2005 in response to Message #154369
from first hand experience, that's a welcomed improvement. From an distributed object/application perspective, the message queuing is the minimum requirement. Having seen new developers struggle with distributed applications, having a standard way of doing things can't be bad. I look forward to the final release.

on a related note, one of the reasons why IBM wins so many contracts is because they have a whole suite of products build around MQSeries. If it wasn't for MQSeries, I really doubt they would have taken the lead from BEA Weblogic. I know of several shops that chose Websphere because of MQSeries and the goodies that come with it. JBoss and Weblogic are both better at supporting the latest specs, but they loose to IBM because of the IDE integration/code generation features.

  Message #154384 Post reply Post reply Post reply Go to top Go to top Go to top

Can you say the 'C' word? Commoditization?

Posted by: Rolf Tollerud on January 26, 2005 in response to Message #154374
Peter,

"I know of several shops that chose Websphere because of MQSeries and the goodies that come with it"

The IBM way of doing it:
You can build a service-oriented architecture out of MQSeries. You can build them by hand. The challenge has been that the only people who can really construct them were people who wanted to go spend a couple 10 million dollars on software. You'd buy MQSeries, you'd buy TIBCO, you'd buy a transaction monitor, you'd buy a security manager, an identity management system, an audit system, you'd wire it all together with about 50 consultants with PhDs and at the end of the day you have a nice, one-off, service-oriented architecture.
Microsoft Indigo Architect John Shewchuk
http://www.internetnews.com/dev-news/article.php/3357621

The Microsoft way:
For me, Indigo is only a program-to-program communications layer. When an Indigo program talks to another Indigo program, what flows on the wire will be proprietary, but when Indigo is talking to something else, it will rely on Web services standards for the communication.


What could be easier? I promise you when Indigo comes out I learn it all over the week-end.

Regards
Rolf Tollerud

  Message #154385 Post reply Post reply Post reply Go to top Go to top Go to top

canabis and too much smoke

Posted by: peter lin on January 26, 2005 in response to Message #154384
Peter,"I know of several shops that chose Websphere because of MQSeries and the goodies that come with it"The IBM way of doing it:
You can build a service-oriented architecture out of MQSeries. You can build them by hand. The challenge has been that the only people who can really construct them were people who wanted to go spend a couple 10 million dollars on software. You'd buy MQSeries, you'd buy TIBCO, you'd buy a transaction monitor, you'd buy a security manager, an identity management system, an audit system, you'd wire it all together with about 50 consultants with PhDs and at the end of the day you have a nice, one-off, service-oriented architecture.
Microsoft Indigo Architect John Shewchuk http://www.internetnews.com/dev-news/article.php/3357621The Microsoft way:
For me, Indigo is only a program-to-program communications layer. When an Indigo program talks to another Indigo program, what flows on the wire will be proprietary, but when Indigo is talking to something else, it will rely on Web services standards for the communication.
What could be easier? I promise you when Indigo comes out I learn it all over the week-end.RegardsRolf Tollerud

when i see that happen consistently, across several diverse domains I'll believe it. Just like anything else, most problems are the result of bad management by developers or managers or both. considering how easy is it for managers to constantly change the functional requirements and make 180 degree turns, it very easy for a project to loose sight and get totally loss. At that point, it makes absolutely no difference which platform you use.

keep on believing what you want, but the platform is a tool. Who gives cares about the platform if your specs are so screwed up that it's not implementable. Learning how to extract the important bits and bring focus to a project is what matters at the end of the day. That and having the authority to make decisions when things go off course. Of course depending on the chosen platform, one still has to write the custom bits to glue things together, but that can be managed with focus.

  Message #154395 Post reply Post reply Post reply Go to top Go to top Go to top

IBM Guild

Posted by: Rolf Tollerud on January 27, 2005 in response to Message #154385
One can wonder why haven't IBM made (or at least tried to make) something similar to Indigo? After all they also have nearly unlimited resources and talented people. (though I have to admit that I never met one ;)

The answer is that they never will give up the "One billion dollar=Small IBM contract market". Their policy is somewhat similar to the guild system during the middle ages in Europe:
During the middle ages in Europe, working men of particular trades usually joined associations called craft guilds. These Guilds served to regulate occupations and preserve a monopoly of crafts

Membership was difficult, or impossible, to obtain. Membership was passed on to sons or sons-in-law of members, or could be purchased at extreme cost. Guild Rules and Regulations were strict. They decreed that nonmembers could not practice the trade within their territory.
At the beginning of the Industrial age these Guild's insistence on obsolete standards and processes became a severe handicap to modernization.

Just as IBM now.

Regards
Rolf Tollerud

 
New content on TheServerSide.NETNew content on TheServerSide.NETNew content on TheServerSide.NET

DSLs and language interop

Language "mashups" will become more prominent, and developers will become polyglots, one programmer suggests.

VS 2008 Resources

SearchWinDevelopment.com offers an introduction to the language, performance, testing and data management improvements in VS 2008.

VB code downloads home

VBCode.com code snippets cover all aspects of application development, from data binding to security to the user interface.

XAML Learning Guide

Get up to date on XAML best practices with a variety of articles, tutorials and webcasts. [SearchWinDevelopment.com]

Company uses VSTS DB edition to tame workflow

One team's experience with the VSTS DB edition suggests that it can improve workflow for dev teams. It also enhanced Agile efforts. (June 24, Article)

Book: Intro to DSL Tools

Microsoft has begun to include DSL tools in the VSTS kit. A new book by Steve Cook and other VSTS team members helps set the stage. (June 24, Article)

I See the Silverlight Shining!

Cartoon: Be it ever so humble there is no place like your home after you get a Microsoft Home Server . (June 18, Cartoon)

A look at .NET 3.5

Microsoft's Thom Robbins says new technology to highlight in NET 3.5 includes AJAX, LINQ for both C# and VB, as well as tooling enhancements intended to ease the task of building WPF, WF and WCF apps. (June 29, Podcast)

Venkat Subramaniam on AJAX

Venkat Subramaniam discusses AJAX bottlenecks, the tenets of Agile development and more. He spoke at the Ajax Experience. (June 25, Tech Talk)

Building a Claims-Based Security Model in WCF - Part 2

In the second of a two-part series, Michele Leroux Bustamente discusses design decisions related to the claims-based security model. Read the story and walk through the process for creating a set of claims-based utilities to encapsulate claims authorization at the service tier. (May 24, Article)

Introducing the Entity Framework

Understanding why the Entity Framework exists and learning where it can fit into your projects can get you prepared for the eventual release early next year. (May 10, Article)

WCF Security Learning Guide

Resource: This learning guide gives you quick access to useful links on Windows Communication Foundation security information. (April 24, Article)

Brad Abrams: Patterns for successful ASP.NET AJAX development

TSS.NET's Jack Vaughan spoke recently spoke with Microsoft's Brad Abrams to find out what he is seeing in the field and what the chefs in Redmond are cooking. Along the way he discusses patterns of AJAX frameworks. (April 11, Article)

Building a Claims-Based Security Model in WCF

In a two-part series, Michele Leroux Bustamente explains how claims-based security is supported by WCF, and how you can implement a claims-based security model for your services. (March 29, Article)

Authoring workflow using XAML

Windows Workflow Foundation is a new technology that many developers will need to get their heads around. In a brief excerpt adapted from Programming Windows Workflow Foundation: Practical WF Techniques and Examples using XAML and C#, K.Scott Allen considers aspects of workflow definition. (March 22, Chapter Excerpt)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map