<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/chrishan/category/2903.aspx</link>
        <description>Architecture!</description>
        <language>en-US</language>
        <copyright>Chris Han</copyright>
        <managingEditor>chrishan2000@hotmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Our first case study on Microsoft patterns &amp; practices!</title>
            <link>http://geekswithblogs.net/chrishan/archive/2006/06/02/80465.aspx</link>
            <description>&lt;P&gt;&lt;A href="http://geekswithblogs.net/chrishan/articles/80454.aspx"&gt;http://geekswithblogs.net/chrishan/articles/80454.aspx&lt;/A&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;Although the story only mentions the&amp;nbsp;external&amp;nbsp;apparel we did with ASP.NET 1.1/2.0, the biggest challenge in terms of architecture design we are&amp;nbsp;constantly facing&amp;nbsp;is to balance between the desire of SOA's flexibility/maintainability/reusability and the performance demand by such as a high volume system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;Our&amp;nbsp;client is in fact a typical&amp;nbsp;Application Service Provider&amp;nbsp;in financial circle.(one of those actually survived ASPs.) Their business model has born with a demand of integration. Both integrate with different partners and with a whole spectrum of technologies from legacies to cutting ages, you name it we got it. That&amp;#8217;s where the BizTalk gets in the play. &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;Due to the size of the messages and the processing time restriction, we are trying to use parallel processing as much as possible. The top utilized integration patterns in this project are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&amp;#183;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; mso-fareast-font-family: Symbol"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Scatter-Gather &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&amp;#183;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; mso-fareast-font-family: Symbol"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Splitter &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&amp;#183;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; mso-fareast-font-family: Symbol"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Aggregator / Convey&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;The management patterns implemented are primarily:&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&amp;#183;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; mso-fareast-font-family: Symbol"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Wire Tap&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&amp;#183;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; mso-fareast-font-family: Symbol"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Control Bus &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;I find to implement Wire Tap in pipeline component is very interesting. The challenge here is that we need some information on the incoming message even before it hits the message box, meanwhile you are suppose to process the message here in a streaming manner. A pipeline component is a perfect fit because you don&amp;#8217;t have to stop the processing of business messages. All you need to do is to get a &lt;B style="mso-bidi-font-weight: normal"&gt;copy&lt;/B&gt; of the incoming message by pInMsg.BodyPart.Data. From there, it&amp;#8217;s all old world you used to.&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=80465"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=80465" 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/chrishan/aggbug/80465.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Han</dc:creator>
            <guid>http://geekswithblogs.net/chrishan/archive/2006/06/02/80465.aspx</guid>
            <pubDate>Fri, 02 Jun 2006 12:49:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/chrishan/comments/80465.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/chrishan/archive/2006/06/02/80465.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/chrishan/comments/commentRss/80465.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/chrishan/services/trackbacks/80465.aspx</trackback:ping>
        </item>
        <item>
            <title>SOA ain't born of air.</title>
            <link>http://geekswithblogs.net/chrishan/archive/2005/10/02/55788.aspx</link>
            <description>&lt;P&gt;I'm reading Pat Helland's article: Data on the Outside vs. Data on the Inside. It's much like a history of software architecture that many of us have gone through. I'm always amazed by the history because you can really predict the future by looking at the patterns it repeats itself again and again. The problems arise just in different faces perhaps in a different abstraction level or a different view or a different context. But fundamentally, they are same.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/his_2004Main/htm/his_planning_for_transaction_integrator_node_adxt.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/his_2004Main/htm/his_planning_for_transaction_integrator_node_adxt.asp&lt;/A&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=55788"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=55788" 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/chrishan/aggbug/55788.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>chrishan</dc:creator>
            <guid>http://geekswithblogs.net/chrishan/archive/2005/10/02/55788.aspx</guid>
            <pubDate>Sun, 02 Oct 2005 17:03:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/chrishan/comments/55788.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/chrishan/archive/2005/10/02/55788.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/chrishan/comments/commentRss/55788.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/chrishan/services/trackbacks/55788.aspx</trackback:ping>
        </item>
    </channel>
</rss>