<?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>Paddy Srinivasan's WebLog : SOA related </title><link>http://blogs.msdn.com/paddys/archive/tags/SOA+related+/default.aspx</link><description>Tags: SOA related </description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>RTE impertive driving SOA designs </title><link>http://blogs.msdn.com/paddys/archive/2004/03/26/96871.aspx</link><pubDate>Fri, 26 Mar 2004 16:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:96871</guid><dc:creator>paddys</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/paddys/comments/96871.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paddys/commentrss.aspx?PostID=96871</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Here is a draft excerpt from an article that I am working on the various imperatives for architecting enterprise applications using the principles of Service orientation.&amp;nbsp;RTE is a Gartner term for enterprise apps that&amp;nbsp;can&amp;nbsp;react and respond in a &amp;#8220;Real&amp;nbsp;Enough&amp;#8220; mode to changes in business processes. There are various tools and technologies that address this problem from various angles but I have tried to keep the discussion from getting too implementation specific. I think SOA has a unique value prop in addressing hte needs of such applications. Full details will be available in my article. Here is the intro section from the chapter... &lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;
&lt;H2 style="MARGIN: 12pt 0in 3pt"&gt;&lt;A name=_Toc65906176&gt;&lt;EM&gt;&lt;FONT face=Arial size=2&gt;Real Time &lt;/FONT&gt;&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:City w:st="on"&gt;&lt;st1:place w:st="on"&gt;&lt;SPAN style="mso-bookmark: _Toc65906176"&gt;Enterprise&lt;/SPAN&gt;&lt;/st1:place&gt;&lt;/st1:City&gt;&lt;SPAN style="mso-bookmark: _Toc65906176"&gt; ( RTE ) imperative&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%"&gt;&lt;BR&gt;RTE is about establishing a business process to gain competitive advantage by removing the latency from underlying business practices. Generally speaking this might mean reduction of the half-life periods of business processes to speed up response rates of strategic decisions based on real time data and analysis. The definition of half-life varies greatly depending on the business process on hand. For example, in a order quotation scenario, the half life of responding to an RFI could be a couple of days while the half life of acting upon an inventory trigger in a Supply chain might be few minutes. While the absolute value of the half life is important, it is perhaps more critical to ensure a clear understanding of the context and how an application reacts to the context. Factors that influence the response times are as follows: &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in" type=1&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Business process awareness &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;OL style="MARGIN-TOP: 0in" type=a&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Being aware of the context and the impending associated action is the first step towards acting in a &amp;#8220;Real Enough&amp;#8221; mode&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Data availability &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;OL style="MARGIN-TOP: 0in" type=a&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Once the application is aware of the context and knows what action needs to be taken, it should have the data that is required to take the required action. This data could come from structured or non structured sources or even from another extraneous service running somewhere on the internet &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Workflow &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;OL style="MARGIN-TOP: 0in" type=a&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Building on the previous step, the application should be able to execute the steps in a sequential manner as described by the meta data supporting the context of the business process. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Transactional execution &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;OL style="MARGIN-TOP: 0in" type=a&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;All the steps of the workflow should be transactional in nature as appropriate as it might involve steps that need to be executed in a safe and isolated manner. Elements of transactional processing like Isolation, Atomicity, Idempotence etc should be preserved&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Human intervention &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;OL style="MARGIN-TOP: 0in" type=a&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&amp;#8220;Real-Enough&amp;#8221; time applications are often subjected to scenarios that require human interventions in the workflow. By its very nature, this introduces a latency and unpredictability to the business process &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Analytics and Reporting&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/LI&gt;
&lt;OL style="MARGIN-TOP: 0in" type=a&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Once the Business process has been implemented, it is time to reflect on the impact of the data and how it compares with other related pieces of actions over a period of time. This can be very powerful in not only understanding the patterns and behaviors of the Business process on hand but also to predict its behavior in a forward looking manner. Predictive Analytics is the technical term for this process of using historic data to model heuristic patterns that predict future behavior.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Reporting on the data is a critical piece of reducing the latency of Business processes. This feeds into the analytics described above and should be considered as an important piece of an RTE solution. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/OL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=96871" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paddys/archive/tags/SOA+related+/default.aspx">SOA related </category></item><item><title>SOA - Offline Smart clients </title><link>http://blogs.msdn.com/paddys/archive/2004/03/10/87410.aspx</link><pubDate>Wed, 10 Mar 2004 18:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:87410</guid><dc:creator>paddys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/paddys/comments/87410.aspx</comments><wfw:commentRss>http://blogs.msdn.com/paddys/commentrss.aspx?PostID=87410</wfw:commentRss><description>&lt;P&gt;How does a SOA based approach help in implementing Smart Clients ? Well this is a big topic and I will put in my thoughts in phases. For starters, lets look at the utility of smart clients to work on agents that cannot assume consistent connectivity. The PAG team recently put out an application block for designing offline support. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/offline.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/offline.asp&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;This block addresses some great points from a technical perspective and it makes great reading.&amp;nbsp;Before jumping into implementing offline functionality , LOB app vendors have to think about other aspects like &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;How should the app manage data locally and sync with central repository ? &lt;BR&gt;Should the app detect connectivity ? If so how often ? &lt;BR&gt;Should the application manage ( restrict ) its functionality based on the connection state ? &lt;BR&gt;How to manage the transactional elements of &amp;nbsp;the offline workflow ? &lt;BR&gt;How to manage compensating elements of workflow ? &lt;BR&gt;How to factor &amp;#8220;Services&amp;#8221; into the&amp;nbsp;offline desing block ? Should services be designed to be offline aware ? &lt;BR&gt;How does a SOA based application help in designing a smart offline scneario ? Does it help or hurt ? &lt;BR&gt;These are some of the issues that ahve to be dealt with before designing an offline architecture. In subsequent blogs, we will deal with some of the above issues in isolation. &lt;BR&gt;&lt;BR&gt;adios - back to work :) &lt;/P&gt;
&lt;P&gt;-paddy &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=87410" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/paddys/archive/tags/SOA+related+/default.aspx">SOA related </category></item></channel></rss>