<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>All About Interop : RSS</title><link>http://blogs.msdn.com/dotnetinterop/archive/tags/RSS/default.aspx</link><description>Tags: RSS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Fact Check – IBM’s Steve Mills claims on MS and SOA</title><link>http://blogs.msdn.com/dotnetinterop/archive/2007/08/09/fact-check-ibm-s-steve-mills-claims-on-ms-and-soa.aspx</link><pubDate>Fri, 10 Aug 2007 03:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4315768</guid><dc:creator>DotNetInterop</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/dotnetinterop/comments/4315768.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dotnetinterop/commentrss.aspx?PostID=4315768</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;We saw &lt;A href="http://news.zdnet.co.uk/software/0%2c1000000121%2c39288465%2c00.htm" mce_href="http://news.zdnet.co.uk/software/0%2c1000000121%2c39288465%2c00.htm"&gt;an article on CNET&lt;/A&gt; that included quotes from Steve Mills of IBM directly related to Interop, SOA and Microsoft.&amp;nbsp; Since Interop is one of our passions, we thought it would be worthwhile to respond.&amp;nbsp; Given that we are approaching an election here in the US, we are employing a CNN technique. Let's check the facts. &lt;SPAN style="FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Claim:&lt;/STRONG&gt;&amp;nbsp; Steve Mills is Senior VP of IBM Software.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Microsoft Fact Check:&lt;/STRONG&gt;&amp;nbsp; &lt;STRONG&gt;TRUE. &lt;/STRONG&gt;Mr. Mills runs IBM Software, which is about a USD $18B business for IBM.&amp;nbsp;&amp;nbsp; By the way, IBM Software Group contributes about 40% of IBM's pre-tax profit, according to &lt;A href="http://www.computerworld.com/action/article.do?command=printArticleBasic&amp;amp;articleId=293415" mce_href="http://www.computerworld.com/action/article.do?command=printArticleBasic&amp;amp;articleId=293415"&gt;a recent ComputerWorld article&lt;/A&gt;.&amp;nbsp; &lt;SPAN style="FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Claim:&lt;/STRONG&gt;&amp;nbsp; Microsoft's approach to SOA [is] stymied by its emphasis on linking Microsoft-compatible processes. "We're doing all platforms; all applications," IBM Software Group executive Steven Mills told ZDNet.co.uk. "We're integrating everything. Microsoft is trying to provide connectivity capabilities for those that are running on Windows platforms. That's a profound difference."&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Microsoft Fact Check:&lt;/STRONG&gt;&amp;nbsp; Mr. Mills seems to be commenting on &lt;A href="http://www.microsoft.com/soa" mce_href="http://www.microsoft.com/soa"&gt;Microsoft SOA infrastructure software&lt;/A&gt;, including the .NET Framework (and WCF, and WF, and all the constituent technologies), BizTalk Server, Host Integration technologies, and so on.&amp;nbsp; If the claim is that this Microsoft software runs only on Windows, then this is &lt;STRONG&gt;TRUE&lt;/STRONG&gt;.&amp;nbsp;&amp;nbsp; This is not a particularly novel, interesting or relevant observation.&amp;nbsp;&amp;nbsp; Incidentally, it applies to Mr. Mills' portfolio as well: CICS and IMS for example.&amp;nbsp; Or consider DB2: it runs on many systems, but the capabilities in the mainframe version&amp;nbsp;differ from those versions for other platforms. &lt;SPAN style="FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;Mr. Mills seems to be saying something different:&amp;nbsp; he seems to be implying, because BizTalk Server (as one example) runs only on Windows, then it can connect only to other Windows-based systems or applications.&amp;nbsp; That is &lt;STRONG&gt;FALSE&lt;/STRONG&gt;.&amp;nbsp; The facts are: the vast majority of the over 7,000 BizTalk Server customers use the technology to connect with assets on UNIX, Linux and mainframe based systems: 92% perform heterogeneous platform integration.&amp;nbsp; In fact, Microsoft has long offered a technology that does &lt;A href="http://www.microsoft.com/hiserver/default.mspx" mce_href="http://www.microsoft.com/hiserver/default.mspx"&gt;nothing but integrat&lt;SPAN style="COLOR: #1f497d"&gt;e&lt;/SPAN&gt; with IBM's iSeries and zSeries technologies&lt;/A&gt;. (it accomplishes this via IBM's proprietary protocols, which Microsoft must license). &lt;SPAN style="FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Claim:&lt;/STRONG&gt; "Their perspective is how to make Windows environments connect, as long as you're using Microsoft technology. Our view is: how do you make every environment connect whether you are using Microsoft or anyone else's technology," Mills said.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Microsoft Fact Check:&lt;/STRONG&gt;&amp;nbsp; This is the continuation of Mr. Mills' previous thought.&amp;nbsp;&amp;nbsp;&amp;nbsp; In virtually every enterprise above a certain size or age, the rule is heterogeneity in IT.&amp;nbsp; Whether you're an &lt;A href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=1000003766" mce_href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=1000003766"&gt;international bank&lt;/A&gt;, a &lt;A href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000000313" mce_href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000000313"&gt;specialty manufacturer&lt;/A&gt;, or &lt;A href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201405" mce_href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201405"&gt;a chain of sushi restaurants&lt;/A&gt;, there's a myriad of information systems and applications you need to deal with, and better connections among those systems allows you to run your business better.&amp;nbsp; That's what SOA is about, and that's what Microsoft's SOA platform infrastructure is designed to help with.&amp;nbsp; Thus, &lt;STRONG&gt;FALSE.&lt;/STRONG&gt;&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Claim:&lt;/STRONG&gt; Mills claimed there is a big difference between IBM and Microsoft's approaches, saying that, in contrast to Microsoft, IBM uses open standards for XML and web services.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Microsoft Fact Check:&lt;/STRONG&gt;&amp;nbsp; &lt;STRONG&gt;FALSE. &lt;/STRONG&gt;Implying that Microsoft does not support standards like XML and WS-* is odd.&amp;nbsp; This denies the reality of the past 7 years, during which Microsoft has repeatedly been &lt;A href="http://mediaproducts.gartner.com/reprints/microsoft/article14a/article14a.html" mce_href="http://mediaproducts.gartner.com/reprints/microsoft/article14a/article14a.html"&gt;recognized by independent analysts&lt;/A&gt; as leading the industry drive toward defining and implementing open protocol standards such as XML, and WS-*.&amp;nbsp; It is also an attempt to revise history as Microsoft and IBM partnered on Web Services Standards in 1999 which led to the original specifications. Mr. Mills himself stood up with Bill Gates to talk about the two companies' collaboration on these standards.&amp;nbsp; Moreover, Microsoft and IBM have continuously defined additional Web service specifications and publicly tested interoperability. Examples include WSDL, WS-Security, WS-ReliableMessaging, etc.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;But let's talk specifics.&amp;nbsp; Take one example: XML Serialization.&amp;nbsp; XML Serialization has been part of the .NET Framework since v1.0.&amp;nbsp; XML Serialization allows a developer to map between instances of objects in a program, and instances of XML documents, very simply.&amp;nbsp; This is a key interop-enabling capability; it means, in part, that a .NET application running on Windows can very simply emit an XML instance document that can then be consumed by any other XML-capable application, running on any other platform.&amp;nbsp;Or vice versa. And it's a foundation for other, higher-level interop capabilities: start with XML Serialization and add in message transport and tools, and you then can get Web services. &lt;SPAN style="FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;This XML support has continued through the versions of .NET across the years, and has been expanded significantly.&amp;nbsp; WCF, shipped in .NET 3.0 in December 2006, added some new capabilities and more mature models – dealing with XML in .NET apps is now both easier and more flexible.&amp;nbsp; The list of open standard protocols supported in WCF includes:&amp;nbsp; HTTP1.1, XML, SOAP1.1, SOAP1.2, WS-Addressing,&amp;nbsp; XOP, MTOM, WS-Security (including x.509, Kerberos, and SAML 1.1 token profiles), WS-Policy, WS-Trust, WS-Coordination, WS-AtomicTransaction, WS-SecureConversation, WSDL 1.1, WS-MetadataExchange, WS-Transfer.&amp;nbsp; Looking forward, in the .NET Framework v3.5 (currently at &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=D2F74873-C796-4E60-91C8-F0EF809B09EE&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=D2F74873-C796-4E60-91C8-F0EF809B09EE&amp;amp;displaylang=en"&gt;beta 2&lt;/A&gt;), we've included support for REST-style web services, as well as internet syndication protocols like ATOM and RSS, and other protocols like JSON.&amp;nbsp; &lt;SPAN style="FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;Microsoft does support optimized protocols and formats in WCF for Windows-to-Windows communication. IBM provides similar optimizations for their products, as do all SOA platforms.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Claim:&lt;/STRONG&gt; &lt;A title="Microsoft Office Open XML gets US knockback" href="http://news.zdnet.co.uk/itmanagement/0,1000000308,39288082,00.htm" mce_href="http://news.zdnet.co.uk/itmanagement/0,1000000308,39288082,00.htm"&gt;Microsoft and IBM have tussled over XML standards&lt;/A&gt;. &lt;SPAN style="FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Microsoft Fact Check:&lt;/STRONG&gt;&amp;nbsp; &lt;STRONG&gt;TRUE. &lt;/STRONG&gt;But, like the observation that Windows&amp;nbsp;is the OS that underlies Microsoft SOA infrastructure, this is not an interesting part of the story. The picture that is painted by the article would lead one to suspect that a tussle over standards is exclusionary or at least stalling productivity.&amp;nbsp; Coexistence of multiple standards and encouraging market participation in standards evolution is paramount.&amp;nbsp; The OOXML / ODF point in the article is like saying you won't be able to send digital pictures to your mom because there isn't a single standard for graphic presentation.&amp;nbsp; Clearly there are multiple standards for digital images, gif, jpeg, png and so on - which has arguably helped drive utilization.&amp;nbsp; The far more important point is implementation of multiple standards which Microsoft technology does. &lt;SPAN style="FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;OOXML and ODF are about &lt;EM&gt;documents.&amp;nbsp; &lt;/EM&gt;Discussion of documents needs to include &lt;EM&gt;all&lt;/EM&gt; standards, many of which Microsoft supports and has lead. Examples include HTML, CSS, etc.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Claim:&lt;/STRONG&gt; "The [Microsoft] MSDN mechanism is a lightweight messaging infrastructure in a message-based environment, whereas IBM delivers a fully functioning infrastructure," [Mr. Mills] said.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;Microsoft Fact Check:&lt;/STRONG&gt;&amp;nbsp; &lt;STRONG&gt;FALSE,&lt;/STRONG&gt; judging from the wide variety of customer case studies that describe how customers utilize .NET and the rest of the Microsoft platform to broadly exploit the benefits of SOA. Microsoft customers use the Microsoft SOA infrastructure to run the core information systems that power their businesses.&amp;nbsp;&amp;nbsp; IBM's Web sites discusses the "entry points" to SOA. Microsoft has equivalent products in Microsoft Office Sharepoint, IIS/ASP.NET, BizTalk Server, WCF, Visual Studio and adaptors for existing applications.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;As a side note, &lt;A href="http://msdn.microsoft.com/" mce_href="http://msdn.microsoft.com/"&gt;MSDN&lt;/A&gt; is a developer-outreach program, including a website, a software subscription and licensing offering, a magazine, and more.&amp;nbsp; It's not directly related to SOA infrastructure.&amp;nbsp; IBM has &lt;A href="http://www.ibm.com/developerworks" mce_href="http://www.ibm.com/developerworks"&gt;developerWorks&lt;/A&gt;, which is similar in intent.&amp;nbsp; &lt;SPAN style="FONT-FAMILY: Times New Roman"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 13pt; COLOR: #4f81bd; FONT-FAMILY: Cambria"&gt;In Closing&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 18pt; FONT-FAMILY: Arial"&gt; &lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;Do you want to know just how serious we are about Interop and Performance? Take a look at our &lt;A href="http://www.msdn.com/stocktrader" mce_href="http://www.msdn.com/stocktrader"&gt;.NET Stock Trader application&lt;/A&gt; which we modeled after IBM's Trade 6.1 performance application.&amp;nbsp; We've demonstrated our ability to interoperate with applications that run on other platforms including IBM WebSphere applications running on Windows, Linux, or Unix™ .&amp;nbsp;&amp;nbsp; Don't miss this part: the .NET application duplicates the function of the Websphere app, but with &lt;A href="http://go.microsoft.com/?linkid=6895275" mce_href="http://go.microsoft.com/?linkid=6895275"&gt;far better performance&lt;/A&gt;.&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;EM&gt;[This article was drafted by Dino Chiesa and &lt;A class="" href="http://blogs.msdn.com/stevemar/" mce_href="http://blogs.msdn.com/stevemar/"&gt;Steven Martin&lt;/A&gt;.&amp;nbsp; It is being posted on both of our respective blogs.]&lt;/EM&gt;&lt;SPAN style="FONT-FAMILY: Times New Roman"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4315768" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/XSD/default.aspx">XSD</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/XML/default.aspx">XML</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/RSS/default.aspx">RSS</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Websphere/default.aspx">Websphere</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/IBM/default.aspx">IBM</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Java/default.aspx">Java</category></item><item><title>Lessons learned using RSS with .NET 2.0:  Simplicity and Speed</title><link>http://blogs.msdn.com/dotnetinterop/archive/2007/01/08/lessons-learned-using-rss-with-net-2-0-simplicity-and-speed.aspx</link><pubDate>Tue, 09 Jan 2007 01:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1436104</guid><dc:creator>DotNetInterop</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/dotnetinterop/comments/1436104.aspx</comments><wfw:commentRss>http://blogs.msdn.com/dotnetinterop/commentrss.aspx?PostID=1436104</wfw:commentRss><description>&lt;H3&gt;RSS, .NET 2.0, and Interop&lt;/H3&gt;&lt;FONT face=Tahoma size=2&gt;&lt;!-- ------------------------------------------------------- --&gt;
&lt;P&gt;For many people,&amp;nbsp;when they think of Interop with respect to .NET development, they think, first and foremost, Web Services.&amp;nbsp; This is good as far as it goes but...Web services is neither necessary nor sufficient for interop in many cases. RSS is a great example of an XML document protocol that is very useful for interop&amp;nbsp; - in practice, interop between RSS Readers, RSS producers, aggregators, and so on.&amp;nbsp; The document format is RSS, the protocol over which that document is exchanged is often HTTP - the web protocol - but of course it could be *anything*.&amp;nbsp; Any protocol.&amp;nbsp; How does .NET 2.0 support RSS for Interop? &lt;/P&gt;
&lt;H4&gt;A Digression - IE7 and RSS&lt;/H4&gt;
&lt;P&gt;I installed IE7 a while back, and I am pretty happy about the RSS support built-in to it. Navigate to an RSS feed and you get a reasonable user-friendly display of the feed. It's not a feed reader or rss manager, but it's nice to not see the angle brackets in the browser, when I just want to browse an RSS doc. &lt;/P&gt;
&lt;CENTER&gt;&lt;IMG alt="RSS Example" src="http://cheeso.members.winisp.net/images/IE7-RSS-Example.jpg" mce_src="http://cheeso.members.winisp.net/images/IE7-RSS-Example.jpg"&gt; &lt;/CENTER&gt;
&lt;P&gt;Separately, I wanted an app that could dynamically create a digest of a website - this is a sort of tactical app I needed for something at work. Obviously, it's gotta be RSS or ATOM. I wanted build the app in .NET, and it will run as a web app. This means ASP.NET. &lt;/P&gt;
&lt;P&gt;How can I create an RSS doc from within .NET? I know about the &lt;A href="http://www.rssdotnet.com/" mce_href="http://www.rssdotnet.com/"&gt;RSS.NET project&lt;/A&gt; on sourceforge, and I have actually used that DLL in some other projects - RSS.NET was integrated into the &lt;A href="http://www.asp.net/downloads/starterkits/default.aspx?tabid=62#club" mce_href="http://www.asp.net/downloads/starterkits/default.aspx?tabid=62#club"&gt;Club Web Starter Kit&lt;/A&gt; that was created as a usable example of what you could do with ASP.NET 2.0. It was good for what it did, but I had a few problems (this was a while ago) with particular variants of RSS. I made some changes but never bothered to raise a bug on the sourceforce project, basically it was more effort than I was signed up for. In any case it worked, but I was a bit shy of the license, and so on. &lt;/P&gt;
&lt;P&gt;Now I Was doing some more RSS stuff, and with my &lt;EM&gt;bad developer habits&lt;/EM&gt; , I &lt;A href="http://en.wikipedia.org/wiki/Not_Invented_Here" mce_href="http://en.wikipedia.org/wiki/Not_Invented_Here"&gt;ignored what already existed&lt;/A&gt; and set off to build my own RSS library. After much effort, many errors, and... oh, wait. &lt;STRONG&gt;Hold on a second.&lt;/STRONG&gt; It wasn't much effort after all, and there were no errors and backtracking. Basically it took me 10 minutes to build an RSS library in .NET, and it was very straightforward. Here's the resulting class diagram from Visual Studio 2005:&lt;/P&gt;
&lt;CENTER&gt;&lt;IMG alt="RSSModel Class Diagram" src="http://cheeso.members.winisp.net/images/RSS-Class-Diagram.jpg" mce_src="http://cheeso.members.winisp.net/images/RSS-Class-Diagram.jpg"&gt; &lt;/CENTER&gt;
&lt;P&gt;The process was pretty simple and the same approach should work with any XML dialect. How did I do it? &lt;/P&gt;&lt;/FONT&gt;&lt;!-- ------------------------------------------------------- --&gt;
&lt;H4&gt;The tools in the .NET SDK make this simple&lt;/H4&gt;&lt;FONT face=Tahoma size=2&gt;
&lt;P&gt;The first thing I did was grab a &lt;A href="http://articles.moneycentral.msn.com/Feeds/RSS/latestrss.aspx" mce_href="http://articles.moneycentral.msn.com/Feeds/RSS/latestrss.aspx"&gt;sample RSS document&lt;/A&gt;. Then I ran it through the &lt;A href="http://msdn2.microsoft.com/en-us/x6c1kb0s(vs.80).aspx" mce_href="http://msdn2.microsoft.com/en-us/x6c1kb0s(vs.80).aspx"&gt;xsd.exe tool&lt;/A&gt;, which is part of the &lt;A href="http://msdn2.microsoft.com/en-us/library/aa139635.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/aa139635.aspx"&gt;.NET 2.0 SDK&lt;/A&gt;. The result of that was an XSD document, describing the schema for RSS. Then I ran &lt;EM&gt;that&lt;/EM&gt; through xsd.exe , and the output of that was a .cs source file, modelling the RSS document. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Aside: Lots of developers have this idea that the output of a tool, any tool, is sacrosanct, and cannot be changed. As if the tool knows better than you, what you need. I don't subscribe to that philosophy. The output of one tool is just the input to the next tool, in my opinion. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;I took the .cs source file that was kindly generated for me by xsd.exe, and doctored it up, added a few helper methods to the generated classes, tweaked the names of the classes and so on, and I had myself a simple RSS library, perfectly suited to my purposes.&amp;nbsp; (Note: the diagram above is from Visual Studio.&amp;nbsp; It essentially is a graphcial model of the generated class.&amp;nbsp;&amp;nbsp;I didn't actually use any premium feature in Visual Studio to generate the class.&amp;nbsp; I used only the .NET SDK Tools.&amp;nbsp; VS just generated the pretty picture.)&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Honestly**&lt;/EM&gt;, the entire effort on this was about 10 minutes. As I prototyped the app, I saw what I needed and what was missing from the RSS object model, and I tweaked it a little as I went along. A few iterations and the project was done. Boom. I didn't need to examine the license for a third-party tool, I didn't need to understand the model for the third party code. It was small and simple (&lt;EM&gt;Really Simple&lt;/EM&gt;, you might say!). If you want to see the source, see the link below. &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;[**Honestly, don't you hate when people say, "Honestly,..."&amp;nbsp; As if most of the time they're not being honest, but this time &lt;EM&gt;they really are&lt;/EM&gt;....]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;That's what I love about .NET development:&lt;/STRONG&gt; Things are surprisingly easy to accomplish. This approach should work with any XML dialect. I am sure there are billions and billions out there, and most of them, if they are simple enough, should be workable with this approach. &lt;/P&gt;
&lt;P&gt;What&amp;nbsp; I did here was generate a library that allows any .NET application to produce an RSS document from any content type it can access.&amp;nbsp; I could also have extended this so that it could consume RSS streams, but that was out of scope for my project, so I didn't do it.&amp;nbsp; You should be able to do something similar for any XML Schema, including internal-only schema that you use only for exchanging documents inside the walls of your corporation or organization. &lt;/P&gt;
&lt;P&gt;Happy angle brackets to you!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;!-- ------------------------------------------------------- --&gt;&lt;/STRONG&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1436104" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/dotnetinterop/attachment/1436104.ashx" length="7258" type="text/plain" /><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/XML/default.aspx">XML</category><category domain="http://blogs.msdn.com/dotnetinterop/archive/tags/RSS/default.aspx">RSS</category></item></channel></rss>