<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>SOA is not dead; the dream of silver bullet is, again!</title>
            <link>http://geekswithblogs.net/chrishan/archive/2009/02/10/129318.aspx</link>
            <description>&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;a href="javascript:void(window.open('http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html','','resizable=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,fullscreen=no,dependent=no'))"&gt;&lt;font color="#0000ff"&gt;Anne Thomas Manes has an interesting post stated that SOA is dead&lt;/font&gt;.&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Despite the dramatic eye-catching writing style, she does get a little bite on the issue. &lt;span style="COLOR: blue"&gt;"Successful SOA (i.e., application re-architecture) requires disruption to the status quo. SOA is not simply a matter of deploying new technology and building service interfaces to existing applications; it requires redesign of the application portfolio. And it requires a massive shift in the way IT operates. &lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 7.5pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Does this sound familiar to you? If not, let' see this part &lt;/span&gt;&lt;span style="FONT-SIZE: 7pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;"The latest shiny new technology will not make things better. Incremental integration projects will not lead to significantly reduced costs and increased agility"&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;I hope Michael Hammer can tell her how the Business Process Re-Engineering didn't work out in the early 90'. Just to make a comparison: The Business Process Reengineering method (BPR) is described by Hammer and Champy as &lt;span style="COLOR: blue"&gt;'the fundamental reconsideration and the radical redesign of organizational processes, in order to achieve drastic improvement of current performance in cost, services and speed'. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The reason why I say Anne got a bite on the issue is because I did realized that SOA is not about technology. The point is well addressed by Eli. Goldratt in his interesting book "Necessary But Not Sufficient" - SOA as a way to enterprise illities is necessary but not sufficient. One of the reasons of many failed SOA initiatives is because the CTO/CIO is too exciting and busy to buy and build a SOAish system, and 'forget' to really think about the real value that the business ask for. I don't mean that they did create a business case. But how much the word like 'agility' mean to the business? Can you have an account of it on the book?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;The interesting part is that at the end, Anne herself falled into a rush and easy conclusion that we need a radical change. Yes, as an engineer by education, I hope we have that easy button only technology will change everything from scratch. &lt;/span&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;But people do live and work around us. The quick and dirty analysis and solution is the last thing we need here now.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;So, enough big pictures. As an engineer by education, I'd like to provide my view on the technical problems in SOA implementation. My point is not fresh. It firstly traces back to the book I read in the college -  No Silver Bullet by Fred Brooks. My experience just confirmed his brilliant idea again.  His idea is that basically there are some problems (or complexity) we created our own and we can fix or automate; and there are certain problems we just have to deal with it, in a hard way. Brooks is talking about the software complexity. But it applies to any there in engineering in my opinion. The other part of my point comes from Eli. Goldratt’s Theory of Constraint – technologies elevate constrains, but it won’t eliminate them. With these two pieces of great ideas, I come up with this idea that on the way to achieve enterprise illities, SOA helped us to ‘open up’ our architecture and elevate us to a new design space, but there we are facing hard-problems or as Brooks described as ‘essential complexity’. Anne has line I quote here &lt;span style="COLOR: blue"&gt;‘Service-orientation is a prerequisite for rapid integration of data and business processes’&lt;/span&gt;. I give you an example I had on my journey: One of my projects is to integrate an accounting system and a reporting legacy. The network is no big deal, access control is all set, service on accounting system is up and running, ESB returned XML data to reporting system, the UAT passed, and a SOAish application seems a classic case study, until 3 reporting cycles later. Suddenly the aggregated numbers are getting off between two systems. What’s wrong?&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;When we talk about integration, by my education and experience, there are three level of integration: connectivity, interoperability, and semantic confirmation. Generally speaking, internet/intranet, solve connectivity problem, XML, web service, ESB enable the great interoperability, but semantic confirmation of the information is the new problem in my case. Yes, we did data analysis, by ‘subject matter experts’. The business entities look and act like same in most of the cases across the accounting and reporting domains. But do you cover all the cased in your analysis? Even you did, do you have a procedure to govern the changes and manage dependants? SOAish applications provide a great flexibility and loosely coupled system of system, but the same ‘good quality’ open up a whole new can of worms for the architecture maintenance and governance. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="FONT-SIZE: 7pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;That’s what I mean by SOA is not dead, the thing you need to kill again and again is the mentality of finding a silver bullet. SOA is rather a road map, a &lt;font face="Arial"&gt;discipline&lt;/font&gt;.  Engineering is about solving problems step by step in a deciplined way. Unfortunately, there is a bunch of hype-driven marketing professionals competing with us engineers. Speak up, people! &lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=129318"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=129318" 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/129318.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Han</dc:creator>
            <guid>http://geekswithblogs.net/chrishan/archive/2009/02/10/129318.aspx</guid>
            <pubDate>Wed, 11 Feb 2009 00:17:58 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/chrishan/comments/129318.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/chrishan/archive/2009/02/10/129318.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/chrishan/comments/commentRss/129318.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/chrishan/services/trackbacks/129318.aspx</trackback:ping>
        </item>
        <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 13: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 18: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>