<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Architecture</title>
        <link>http://geekswithblogs.net/eikonne/category/3153.aspx</link>
        <description>Architecture</description>
        <language>en-US</language>
        <copyright>Ebenezer Ikonne</copyright>
        <managingEditor>eikonne@manh.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>REST -only links or no?</title>
            <link>http://geekswithblogs.net/eikonne/archive/2007/05/01/112147.aspx</link>
            <description>&lt;p&gt;REST touts that a "progresses through an application by selecting links (state transitions) resulting in the next page....&lt;/p&gt;
&lt;p&gt;To borrow from a commonly used example, if I have a web service that "gets a list of parts", the URI to get the parts would look like this: &lt;a href="http://www.parts-depot.com/parts"&gt;http://www.parts-depot.com/parts&lt;/a&gt; and the "response" contains a list of links to the individual parts like this: &amp;lt;Part id="00345" xlink:href="http://www.parts-depot.com/parts/00345"/&amp;gt; &lt;/p&gt;
&lt;p&gt;For additional information, I would have to "select" the link to "GET" information on the part.&lt;/p&gt;
&lt;p&gt;What consumer application really wants to iterate through a list of links to get part detail information (other than a user interface)? &lt;/p&gt;
&lt;p&gt;The Astoria samples are more liberal and actually return detail information for each product that exists (a URI is included also):&lt;/p&gt;
&lt;div style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 1pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 1pt; BORDER-BOTTOM: windowtext 1pt solid"&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#990000"&gt;DataService&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#ff0000"&gt; xml:base&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="COLOR: red"&gt;http://host/vdir/northwind.svc&lt;/span&gt;&lt;/strong&gt;&lt;font color="#0000ff"&gt;&lt;span&gt;"&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt; &amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#990000"&gt;Products&lt;/font&gt;&lt;/span&gt;&lt;font color="#0000ff"&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#990000"&gt;Product uri&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;&lt;/span&gt;&lt;strong&gt;Products[1]&lt;/strong&gt;&lt;font color="#0000ff"&gt;&lt;span&gt;"&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;  &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;ProductName&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;Chai&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;ProductName&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;  &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;QuantityPerUnit&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;10 boxes x 20&lt;/strong&gt;&lt;strong&gt; bags&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;QuantityPerUnit&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;  &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;UnitPrice&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;18.0000&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;UnitPrice&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;  &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;UnitsInStock&lt;/font&gt; &lt;font color="#0000ff"&gt;/&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;  &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;UnitsOnOrder&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;0&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;UnitsOnOrder&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;  &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;ReorderLevel&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;ReorderLevel&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;  &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;Discontinued&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;False&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;Discontinued&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;  &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;ProductCategory&lt;/font&gt; &lt;font color="#990000"&gt;href&lt;/font&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;&lt;strong&gt;Products[1]/ProductCategory&lt;/strong&gt;&lt;font color="#0000ff"&gt;" /&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;  &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;Supplier&lt;/font&gt; &lt;font color="#990000"&gt;href&lt;/font&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;&lt;strong&gt;Products[1]/Supplier&lt;/strong&gt;&lt;font color="#0000ff"&gt;" /&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;Product&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt; &amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#990000"&gt;Product uri&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;&lt;/span&gt;&lt;strong&gt;Products[2]&lt;/strong&gt;&lt;font color="#0000ff"&gt;&lt;span&gt;"&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;ProductName&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;Chang&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;ProductName&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;  &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;QuantityPerUnit&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;24 - 12 oz bottles&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;QuantityPerUnit&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;UnitPrice&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;19.0000&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;UnitPrice&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;  &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;UnitsInStock&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;17&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;UnitsInStock&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;UnitsOnOrder&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;40&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;UnitsOnOrder&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;ReorderLevel&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;25&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;ReorderLevel&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;Discontinued&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;strong&gt;False&lt;/strong&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;Discontinued&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;  &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;ProductCategory&lt;/font&gt; &lt;font color="#990000"&gt;href&lt;/font&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;&lt;strong&gt;Products[2]/ProductCategory&lt;/strong&gt;&lt;font color="#0000ff"&gt;" /&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#990000"&gt;Supplier&lt;/font&gt; &lt;font color="#990000"&gt;href&lt;/font&gt;&lt;font color="#0000ff"&gt;="&lt;/font&gt;&lt;strong&gt;Products[2]/Supplier&lt;/strong&gt;&lt;font color="#0000ff"&gt;" /&amp;gt;&lt;/font&gt; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt; &lt;/font&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#990000"&gt;Product&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="COLOR: #00b050"&gt;&lt;font size="2"&gt;  &amp;lt;!-- more products ... --&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt; &amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#990000"&gt;Products&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 6pt"&gt;&lt;font size="2"&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#990000"&gt;DataService&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This just seems wrong to me and state transitioning seems to be shot.  In other words, I think it becomes less about REST and more about HTTP and data formats.  Maybe it's hi-REST versus low-REST?&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112147"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112147" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/eikonne/aggbug/112147.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ebenezer Ikonne</dc:creator>
            <guid>http://geekswithblogs.net/eikonne/archive/2007/05/01/112147.aspx</guid>
            <pubDate>Tue, 01 May 2007 15:07:50 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/eikonne/comments/112147.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/eikonne/archive/2007/05/01/112147.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/eikonne/comments/commentRss/112147.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/eikonne/services/trackbacks/112147.aspx</trackback:ping>
        </item>
        <item>
            <title>Astoria - MS getting RESTful</title>
            <link>http://geekswithblogs.net/eikonne/archive/2007/05/01/112146.aspx</link>
            <description>&lt;p&gt;I've been gone for a long time now; hopefully I'm back.&lt;/p&gt;
&lt;p&gt;I discovered &lt;font face="Arial"&gt;&lt;a href="http://astoria.mslivelabs.com/"&gt;http://astoria.mslivelabs.com/&lt;/a&gt; today and it is pretty interesting.  Underneath the covers, the "Entity Data Model" (EDM) is used (a post for another day) and it seems like there is a conscious effort not to mention "resources".&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;The samples provided also bring some questions about resource/state representation and the concepts of traversing links.  A follow-up post on this is coming.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112146"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112146" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/eikonne/aggbug/112146.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ebenezer Ikonne</dc:creator>
            <guid>http://geekswithblogs.net/eikonne/archive/2007/05/01/112146.aspx</guid>
            <pubDate>Tue, 01 May 2007 14:45:01 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/eikonne/comments/112146.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/eikonne/archive/2007/05/01/112146.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/eikonne/comments/commentRss/112146.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/eikonne/services/trackbacks/112146.aspx</trackback:ping>
        </item>
        <item>
            <title>Is Software Development Really Hard?</title>
            <link>http://geekswithblogs.net/eikonne/archive/2006/05/31/80221.aspx</link>
            <description>&lt;P&gt;Rocky &lt;A href="http://www.lhotka.net/WeBlog/SomeSoftwareReallyIsTooDarnHard.aspx"&gt;blogs&lt;/A&gt; that 98% of the systems being built out there are "trivial" or at least can be solved by "trivial" solutions.&amp;nbsp; Is this really the case?&amp;nbsp; He also contends that most applications are a "viewer (form, page, screen)" over data and&amp;nbsp;development tools such&amp;nbsp;automat this, attributing unecessary complexity to tool vendors, framework builders, architects etc.&lt;/P&gt;
&lt;P&gt;I actually disagree with his assessment on the distribution of complexity.&amp;nbsp; My developers spend much more of their time behind the screen than in it.&amp;nbsp; I've worked on enough projects to know that there are a fair share of applications where&amp;nbsp;more interesting things happen when a user clicks the "Ok" button.&lt;/P&gt;
&lt;P&gt;Understanding the business problem that needs to be solved (deployment model, update strategy, functionality, performance requirements, scalability, user interaction, configurability, integration&amp;nbsp;etc) drive the tools and methodologies that should be used.&amp;nbsp; A decent understanding of tools and methodologies are required in order to effectively use them.&amp;nbsp; It's not a secret that a lot of software projects fail due to a lack of understanding of both the problem domain and the toolset/methodologies required.&lt;/P&gt;
&lt;P&gt;I cringe when folks with influence imply a panacea of sorts for software engineering based on a subset of scenarios.&amp;nbsp; Each situation has to be studied in isolation. While there may be reusable "patterns and practices", in a lot of cases, these need to be "tweaked" to solve the problem.&amp;nbsp; If your application is simply forms-over-data, build it in the simplest manner possible!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=80221"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=80221" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/eikonne/aggbug/80221.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ebenezer Ikonne</dc:creator>
            <guid>http://geekswithblogs.net/eikonne/archive/2006/05/31/80221.aspx</guid>
            <pubDate>Wed, 31 May 2006 10:04:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/eikonne/comments/80221.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/eikonne/archive/2006/05/31/80221.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/eikonne/comments/commentRss/80221.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/eikonne/services/trackbacks/80221.aspx</trackback:ping>
        </item>
        <item>
            <title>Is there such a thing as a "simple" service?</title>
            <link>http://geekswithblogs.net/eikonne/archive/2006/05/17/78746.aspx</link>
            <description>&lt;P&gt;A lot of time has been spent debating REST versus WS-*, examples are given based on what have been qualified as &amp;#8220;simple&amp;#8221; services.&amp;nbsp; For instance, a RESTian example that shows how to retrieve a list of orders (or cars) or a WS-* (dare I say SOAP?) example that shows how to consume a service that returns the current weather.&lt;/P&gt;
&lt;P&gt;There has been a lot of banter that suggests that REST is used for &amp;#8220;simple&amp;#8221; web services and this has been slightly offensive to certain individuals.&amp;nbsp; In fact many a blog has been dedicated to demonstrate how REST can be used to build &amp;#8220;complex&amp;#8221; web services.&lt;/P&gt;
&lt;P&gt;I'm not sure that I subscribe to the simple versus complex views.&amp;nbsp; I tend to to view services in the context of their nature i.e. how do they behave, what they require, how they interact etc.&lt;/P&gt;
&lt;P&gt;For instance, certain services are long-running in nature i.e. they can take hours before completing business functionality.&amp;nbsp; I won't get into discussions on whether the consumer should block or not - that's an implementation issue, but we generally agree that the service shouldn't &amp;#8220;always&amp;#8221;&amp;nbsp;force the consumer to block.&amp;nbsp; However building such&amp;nbsp;services using REST is interesting (to say the least) because of the underlying protocol of choice - HTTP and its default RPC-like behavior.&amp;nbsp; What does this mean?&amp;nbsp; The developer of the RESTful service will need to override the default timeout for an ASP.NET thread (executionTimeout) to ensure that the thread managing the long-running process does not die prematurely.&amp;nbsp; It doesn't end there however, the consumer of the RESTful service also needs to override their &amp;#8220;request&amp;#8220; objects default timeout also so it doesn't die while &amp;#8220;waiting&amp;#8220; because by default it blocks.&lt;/P&gt;
&lt;P&gt;Scenarios like the one above should ultimately influence service architecture and not necessarily the logic executing under the covers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=78746"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=78746" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/eikonne/aggbug/78746.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ebenezer Ikonne</dc:creator>
            <guid>http://geekswithblogs.net/eikonne/archive/2006/05/17/78746.aspx</guid>
            <pubDate>Wed, 17 May 2006 22:44:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/eikonne/comments/78746.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/eikonne/archive/2006/05/17/78746.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/eikonne/comments/commentRss/78746.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/eikonne/services/trackbacks/78746.aspx</trackback:ping>
        </item>
        <item>
            <title>Complex Queries and REST</title>
            <link>http://geekswithblogs.net/eikonne/archive/2006/04/18/75504.aspx</link>
            <description>&lt;P&gt;It's been a while, been busy with work and all that.&lt;/P&gt;
&lt;P&gt;I've decided to venture into the realm of RESTful Web Services.&amp;nbsp; As is popularly quoted, &amp;#8220;in theory, theory and practice are the same, but in practice, they are different&amp;#8221;.&lt;/P&gt;
&lt;P&gt;Trust me, I am still drinking the REST kool-aid and I definitely believe it solves a certain set&amp;nbsp;of problems.&amp;nbsp; You will be hard pressed however to convince me that there is an architectural style that solves all &amp;#8220;web service&amp;#8220;-type problems cleanly.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Having said all that, how do I RESTfully solve a situation like this:&lt;/P&gt;
&lt;P&gt;Every order&amp;nbsp;has an associated address.&amp;nbsp; What a consumer wants to do, is send me a list of orders and have the corresponding address for each order returned, there are no links to be followed afterwords.&amp;nbsp; Note that I said &amp;#8220;a list&amp;#8220;, as performance is an issue here i.e. the consumer cannot iterate through their list of orders and for each one, RESTfully (GET) ask for the address.&lt;/P&gt;
&lt;P&gt;Questions:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;What is the resource?&amp;nbsp;&amp;nbsp;I'm assuming its &amp;#8220;addresses&amp;#8220; since that is the resource that I need returned.&lt;/LI&gt;
&lt;LI&gt;What is the URI? &amp;#8220;/addresses/orders&amp;#8220; or &amp;#8220;/addresses/query?&lt;/LI&gt;
&lt;LI&gt;GET doesn't seem like an option here, hence, looks like I need to POST my criteria&lt;/LI&gt;
&lt;LI&gt;Does this have be followed with a corresponding GET to actual &amp;#8220;retrieve&amp;#8220; the list of addresses or can my POST above handle that as its response.&lt;/LI&gt;
&lt;LI&gt;Am I totally off base? :)&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;I will state that a lot of business applications&amp;nbsp;that I work with use more complex semantics as opposed to the example (good one for illustration) Dare Obasanjo places &lt;A href="http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=ca19f6b9-8afd-4e93-b4f6-8c3beee8d088"&gt;here&lt;/A&gt;&amp;nbsp;and most of the &amp;#8220;samples&amp;#8220; out there are pretty trivial.&lt;/P&gt;
&lt;P&gt;I'm hoping &lt;A href="http://www.markbaker.ca/"&gt;Mark Baker&lt;/A&gt;, &amp;nbsp;&lt;A href="http://www.prescod.net/"&gt;Paul Prescod&lt;/A&gt;&amp;nbsp;or someone out there can weigh in on this.&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=75504"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=75504" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/eikonne/aggbug/75504.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ebenezer Ikonne</dc:creator>
            <guid>http://geekswithblogs.net/eikonne/archive/2006/04/18/75504.aspx</guid>
            <pubDate>Tue, 18 Apr 2006 17:17:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/eikonne/comments/75504.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/eikonne/archive/2006/04/18/75504.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/eikonne/comments/commentRss/75504.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/eikonne/services/trackbacks/75504.aspx</trackback:ping>
        </item>
        <item>
            <title>Why I Hate Frameworks</title>
            <link>http://geekswithblogs.net/eikonne/archive/2006/03/09/71801.aspx</link>
            <description>&lt;P&gt;Via &lt;A href="http://pluralsight.com/blogs/dbox/archive/2006/03/08/19865.aspx"&gt;Don Box&lt;/A&gt;, I stumbled on this &lt;A href="http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12"&gt;Why I Hate Frameworks&lt;/A&gt;.&amp;nbsp;Quite humorous and actutally a good read.&lt;/P&gt;
&lt;P&gt;Frameworks exist at multiple levels e.g. in my opinion System.IO is a framework.&amp;nbsp; However, just like everything else, things can be overdone which&amp;nbsp;leads invariably to &lt;A href="http://geekswithblogs.net/eikonne/archive/2005/11/07/59323.aspx"&gt;Technology (maybe now Framework?) Overload&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;What do you think?&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=71801"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=71801" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/eikonne/aggbug/71801.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ebenezer Ikonne</dc:creator>
            <guid>http://geekswithblogs.net/eikonne/archive/2006/03/09/71801.aspx</guid>
            <pubDate>Thu, 09 Mar 2006 09:03:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/eikonne/comments/71801.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/eikonne/archive/2006/03/09/71801.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/eikonne/comments/commentRss/71801.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/eikonne/services/trackbacks/71801.aspx</trackback:ping>
        </item>
        <item>
            <title>Exceptions and SOA</title>
            <link>http://geekswithblogs.net/eikonne/archive/2006/02/08/68737.aspx</link>
            <description>Arnon posts here &lt;A href="http://www.rgoarchitects.com/blog/PermaLink,guid,4465b3a8-fa80-42e8-a70b-25455b29a53f.aspx"&gt;Exceptions and SOA&lt;/A&gt;&amp;nbsp;that 
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: arial"&gt;"...(innerException) the original error" - do not expose internal implementation out side of the service - only what's in the contract - in other&lt;/SPAN&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Arial"&gt; words&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Arial"&gt; don't, just don't bubble exceptions out of your service. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Arial"&gt;&lt;FONT face="Times New Roman"&gt;Well I wonder what the verbiage of the exception should be?&amp;nbsp; If a null pointer occurred in the service, what message should I return back to the consumer of the service?&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=68737"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=68737" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/eikonne/aggbug/68737.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ebenezer Ikonne</dc:creator>
            <guid>http://geekswithblogs.net/eikonne/archive/2006/02/08/68737.aspx</guid>
            <pubDate>Wed, 08 Feb 2006 19:14:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/eikonne/comments/68737.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/eikonne/archive/2006/02/08/68737.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/eikonne/comments/commentRss/68737.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/eikonne/services/trackbacks/68737.aspx</trackback:ping>
        </item>
        <item>
            <title>Lessons....</title>
            <link>http://geekswithblogs.net/eikonne/archive/2006/02/02/67995.aspx</link>
            <description>&lt;P&gt;Does anyone even understand this &lt;A href="http://weblog.infoworld.com/techwatch/archives/005147.html"&gt;article&lt;/A&gt;?&lt;/P&gt;
&lt;P&gt;What value does it provide other than to make me wonder what the point of the article is!!&lt;/P&gt;
&lt;P&gt;Enlighten me if you may.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=67995"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=67995" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/eikonne/aggbug/67995.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ebenezer Ikonne</dc:creator>
            <guid>http://geekswithblogs.net/eikonne/archive/2006/02/02/67995.aspx</guid>
            <pubDate>Thu, 02 Feb 2006 19:55:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/eikonne/comments/67995.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/eikonne/archive/2006/02/02/67995.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/eikonne/comments/commentRss/67995.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/eikonne/services/trackbacks/67995.aspx</trackback:ping>
        </item>
        <item>
            <title>How many is too many?</title>
            <link>http://geekswithblogs.net/eikonne/archive/2005/11/28/61464.aspx</link>
            <description>&lt;P&gt;Udi posts &lt;A href="http://udidahan.weblogs.us/archives/033734.html"&gt;So many Dlls, so little time&lt;/A&gt;.&amp;nbsp; Working&amp;nbsp;on a project&amp;nbsp;where there was a class to dll mapping, I can agree to some degree with what Udi states.&amp;nbsp; However, I believe becoming to granular also has its disadvantages and if not careful instead of referencing one&amp;nbsp;dll with a couple of classes, you might end up referencing ten dlls with a class each.&lt;/P&gt;
&lt;P&gt;I think that related classes should be wrapped up into a single project and assemblied as a single unit.&amp;nbsp; Interfaces should be used to broker communication when a circular dependency might be introduced.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=61464"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=61464" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/eikonne/aggbug/61464.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ebenezer Ikonne</dc:creator>
            <guid>http://geekswithblogs.net/eikonne/archive/2005/11/28/61464.aspx</guid>
            <pubDate>Mon, 28 Nov 2005 19:37:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/eikonne/comments/61464.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/eikonne/archive/2005/11/28/61464.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/eikonne/comments/commentRss/61464.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/eikonne/services/trackbacks/61464.aspx</trackback:ping>
        </item>
        <item>
            <title>SaaS - Software and Services</title>
            <link>http://geekswithblogs.net/eikonne/archive/2005/11/12/59923.aspx</link>
            <description>Ephraim Schwartz posts &lt;A href="http://www.infoworld.com/article/05/11/08/46OPreality_1.html"&gt;Microsoft is stuck on the C: drive &lt;/A&gt;.  I must confess, working for an ISV, I think about this alot and the way it would potentially change the business landscape.  I wonder if ISVs would now begin to invest in the hardware their clients previously purchased.  I wonder about revenue generation.  I wonder about software updates.  I wonder about support.  I wonder about a lot of things.&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=59923"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=59923" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/eikonne/aggbug/59923.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ebenezer Ikonne</dc:creator>
            <guid>http://geekswithblogs.net/eikonne/archive/2005/11/12/59923.aspx</guid>
            <pubDate>Sat, 12 Nov 2005 23:03:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/eikonne/comments/59923.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/eikonne/archive/2005/11/12/59923.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/eikonne/comments/commentRss/59923.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/eikonne/services/trackbacks/59923.aspx</trackback:ping>
        </item>
    </channel>
</rss>