<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://boczek.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>Adam Boczek's Life.NET</title><link>http://boczek.com/blogs/</link><description>Get Busy Living or Get Busy Dying - Andy Dufresne</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Second Life of Service Oriented, Domain Driven and n-Tier Architecture - Early Views</title><link>http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/2007/08/02/second-life-of-service-oriented-domain-driven-and-n-tier-architecture-early-views.aspx</link><pubDate>Wed, 01 Aug 2007 21:37:00 GMT</pubDate><guid isPermaLink="false">52075af0-4950-40b2-bae2-a3d47b9d8471:15</guid><dc:creator>Adam</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;I have started working on ultimate ;) clarification of such terms like SOA, DDD, n-Tier, business entity, business layer, data access layer, persistence layer etc. and their place assignment in the enterprise applications&amp;#39; landscape...&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Look at first, early draft of graphic that I have called &amp;quot;Second Life of...&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;a href="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/SecondLifeOfSOADDnTierArchitecture.png"&gt;&lt;img src="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/SecondLifeOfSOADDnTierArchitecture.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;And here a sample thought :) from my article:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;em&gt;The definition of a business entity is one o the most difficult things in the software architecture world. The problem that we have is this combination of words “business” and “entity”, the first depicts something very complicated and the second states for something simple – so we are trying to define something like “complicated-simplicity”…&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&amp;nbsp;&lt;/p&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:Calibri;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://boczek.com/aggbug.aspx?PostID=15" width="1" height="1"&gt;</description><category domain="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/tags/Enterprise+Architecture/default.aspx">Enterprise Architecture</category></item><item><title>Visual Studio 2008 and .NET 3.5 Beta 2 have been Released - How to explain this version politics to the customer management (shit!)?!</title><link>http://boczek.com/blogs/adam_boczeks_useful_links/archive/2007/07/31/visual-studio-2008-and-net-3-5-beta-2-have-been-released-how-to-explain-this-version-politics-to-the-customer-management-shit.aspx</link><pubDate>Mon, 30 Jul 2007 21:05:00 GMT</pubDate><guid isPermaLink="false">52075af0-4950-40b2-bae2-a3d47b9d8471:14</guid><dc:creator>Adam</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;font face="Verdana"&gt;Great news:&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;Visual Studio 2008 and .NET 3.5 Beta 2 have been Released is available for download at &lt;/font&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx"&gt;&lt;font face="Verdana" color="#0000ff"&gt;http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana"&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;Bad news: (this great&amp;nbsp;explanation of current version status has been sent&amp;nbsp;by&amp;nbsp;&lt;a href="http://www.codeproject.com/"&gt;http://www.codeproject.com/&lt;/a&gt;)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;em&gt;In case you are confused as to what version is what, here&amp;#39;s a quick, simple rundown: Visual Studio 2008 (aka &amp;#39;Orcas&amp;#39;, aka version 9.0) contains C# version 3.0 and VB.NET version 9.0. These run on version 3.0 of the CLR and will target version 3.5 of the .NET Framework. Visual Studio 2008 will also allow you to target the 2.0 version of the CLR and 3.0 of the framework (which runs on 2.0 of the CLR, not 3.0 of the CLR).&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;em&gt;Got it? Great!&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;em&gt;Remember that this is beta software (regardless of what Marketing may say) so download, install and use at your own risk.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;M$ Marketing Guys, what are you doining?! I have no chance to explain this to any portfolio manager. Shit!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://boczek.com/aggbug.aspx?PostID=14" width="1" height="1"&gt;</description><category domain="http://boczek.com/blogs/adam_boczeks_useful_links/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://boczek.com/blogs/adam_boczeks_useful_links/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>Reading PoEAA Once Again; Story One: „The Business Logic“</title><link>http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/2007/07/19/reading-poeaa-once-again-story-one-the-business-logic.aspx</link><pubDate>Wed, 18 Jul 2007 19:04:00 GMT</pubDate><guid isPermaLink="false">52075af0-4950-40b2-bae2-a3d47b9d8471:13</guid><dc:creator>Adam</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I have taken in my hands this book once again, driven by the fact that since 1st of July I have joined a new team and a new project. After years of experience in software development area I have, no doubt, my own point of view on enterprise architecture. But in this post series I will try to comment and polemist with myself and the Author (well-know Author) on different themes he has touched in his book. The fist one is “business logic”.&lt;/p&gt;
&lt;p&gt;In the book I have found these sentences:&lt;/p&gt;
&lt;p&gt;“Then there’s the matter of what comes under the term ‘business logic’”. I find this a curious term because there are few things that are less logical than business logic.”&lt;/p&gt;
&lt;p&gt;“A few thousand of these one-off special cases is what leads to the complex business ‘illogic’ that makes business software so difficult.”&lt;/p&gt;
&lt;p&gt;Curious, in my opinion those “thousand of these one-off special cases” define very exactingly the business logic. Business logic without those special cases would be just “logic”, that we can find everywhere in our environment starting with remote control. But the main problem for most architect and developers is to understand that we are not tolerating any “acceptable uncertainty” like other areas do. Let’s take a simple example of a process of building a house. We are tolerating some uncertainty in a lot of cases, e.g. how windows are fitting into frames. It is ok, to have, just shooting, a one or two millimeters “uncertainty” between the window and the frame. It’s normal, and it’s even desired! &lt;/p&gt;
&lt;p&gt;But the software development operates on “atom basis”; there is no place for exceptions or toleration. Everything has to be strictly specified, and the word “exception”, so normal in case of business logic, has for us, architects or developers a terrible meaning. We don’t tolerate exceptions and that’s our problem. And the main task for us is to familiarize ourselves with those exceptions, “special cases” or whatever and to shift from the idea of identifying it as “illogic” to usual “business logic”.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Cuxhaven, 18.07.2007&lt;br /&gt;&lt;/p&gt;&lt;img src="http://boczek.com/aggbug.aspx?PostID=13" width="1" height="1"&gt;</description><category domain="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/tags/Enterprise+Architecture/default.aspx">Enterprise Architecture</category><category domain="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/tags/PoEAA/default.aspx">PoEAA</category><category domain="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/tags/Business+Logic/default.aspx">Business Logic</category></item><item><title>Using an arbitrary TOP value in SQL Server 2000</title><link>http://boczek.com/blogs/adam_boczeks_useful_links/archive/2007/06/07/using-an-arbitrary-top-value-in-sql-server-2000.aspx</link><pubDate>Thu, 07 Jun 2007 07:34:00 GMT</pubDate><guid isPermaLink="false">52075af0-4950-40b2-bae2-a3d47b9d8471:10</guid><dc:creator>Adam</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;By Serdar Yegulap&lt;/p&gt;
&lt;p&gt;&lt;a href="http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1112937,00.html"&gt;http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1112937,00.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposed solution by Serdar, to avoid dynamic SQL in SQL 2000, which does not support parameters for TOP keyword:&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;SET ROWCOUNT @ROWS&lt;br /&gt;SELECT [ID] FROM OurUsers&lt;br /&gt;SET ROWCOUNT 0&lt;/i&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://boczek.com/aggbug.aspx?PostID=10" width="1" height="1"&gt;</description></item><item><title>SOA vs. Business Entities Part 1/2 (The War)</title><link>http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/2007/06/06/service-oriented-architecture-vs-business-entities.aspx</link><pubDate>Wed, 06 Jun 2007 13:05:00 GMT</pubDate><guid isPermaLink="false">52075af0-4950-40b2-bae2-a3d47b9d8471:11</guid><dc:creator>Adam</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;For my current project (an enterprise application for a well known big oil company) I have chosen the SOA approach as the base for the application architecture.&amp;nbsp;At this moment I have to put emphasis on the word “application” architecture (SOA as Service Oriented Application supporting SOA as Service Oriented Architecture), thus a way of writing SOA enabled applications that leverage ideas of services not only for EAI purpose but also, and as the main approach, internally. The main problem about SOA in my opinion is the idea of some architects to define it as the way of integrating applications within enterprise and to completely forget about the architecture of those applications (not all of them are old legacy systems, some of them have to be&amp;nbsp;re-written or re-designed - there is a big need for an application architecture that supports SOA).&lt;br /&gt;&lt;br /&gt;So to leverage SOA I have decided to structure my application on business processes basis, not on development layers basis. In this way I have defined services for calculating, manipulating data etc. I was able to talk with the business guys using their language. Of course internally all my services use n-tier architecture with clear data and business layers, but as I said I was able to hide those “details” from the business guys. Secondly this approach made it possible to easily structure my development team. Due to the fact that SOA clearly defines the owner of the process and data, there ware no problems to set up developer groups on that “ownership basis”. So far, everything was brilliant…&lt;br /&gt;&lt;br /&gt;The problem that I have faced was the ownership of business entities. For the data and business layers of services there is not such challenge, we can clearly define the owner. But the entities that are based on OO principles are much more complicated. Lets take an example of a &lt;i&gt;customer entity&lt;/i&gt;, which has to be “combined” with a &lt;i&gt;contract entity&lt;/i&gt;. I would expect to be able to have within the &lt;i&gt;customer entity&lt;/i&gt; a collection that contains all &lt;i&gt;contracts entities&lt;/i&gt; of this customer. In the other way I would expect that the &lt;i&gt;contract entity &lt;/i&gt;would contain the information about &lt;i&gt;customer entity&lt;/i&gt;… Both information (about customers and contracts) will than have to be loaded by two separate services (due to ownership assignment); lets say Customers Service and Contracts Service… And that is the breaking point. One of the main principles of SOA is the independence of services. &lt;br /&gt;&lt;br /&gt;Ok, lets say we would build some kind of intermediary service to consolidate those both services, to be able to fill our customer or contract service. But this causes next big problem. The methods responsible for filling entities should always deliver, I would call it, a “full loaded” entity. It is a bad idea to do it partially and to leave the responsibility of assuring the deterministic way of filling entities on developers’ shoulders. It will be always error prone.&lt;br /&gt;&lt;br /&gt;Next problem are additional services, which also have to combine “their” entities with the “foreign” entities from other services like, lets assume, Billing Service that would own a &lt;i&gt;payment entity &lt;/i&gt;which should also contain the &lt;i&gt;customer entity&lt;/i&gt;…&lt;br /&gt;&lt;br /&gt;Yes I had a problem… The whole SOA was suddenly only a buzzword for me…&lt;/p&gt;
&lt;p&gt;But wait for the second part: SOA vs. Business Entities Part 2/2 (The Peace)&lt;/p&gt;&lt;img src="http://boczek.com/aggbug.aspx?PostID=11" width="1" height="1"&gt;</description><category domain="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/tags/Business+Entities/default.aspx">Business Entities</category><category domain="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/tags/SOA/default.aspx">SOA</category></item><item><title>SOA and Windows Workflow Foundation – New Way of Building Process-Centric Services</title><link>http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/2007/06/02/soa-and-windows-workflow-foundation-new-way-of-building-process-centric-services.aspx</link><pubDate>Sat, 02 Jun 2007 13:36:00 GMT</pubDate><guid isPermaLink="false">52075af0-4950-40b2-bae2-a3d47b9d8471:12</guid><dc:creator>Adam</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;As stated in one very good book about SOA, that I have read, we can define following service types:&lt;/p&gt;
&lt;table class="" style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;BORDER-COLLAPSE:collapse;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;

&lt;tr&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:windowtext 0.5pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:windowtext 0.5pt solid;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;"&gt;&lt;a class="" title="OLE_LINK1" name="OLE_LINK1"&gt;&lt;/a&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&amp;nbsp;&lt;span&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:windowtext 0.5pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;"&gt;&lt;span&gt;&lt;b&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Basic Services &lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:windowtext 0.5pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;"&gt;&lt;span&gt;&lt;b&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Intermediary Services&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:windowtext 0.5pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;"&gt;&lt;span&gt;&lt;b&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Process-Centric Services&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:windowtext 0.5pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;"&gt;&lt;span&gt;&lt;b&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Public Enterprise Services&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:windowtext 0.5pt solid;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-top-alt:solid windowtext .5pt;"&gt;&lt;span&gt;&lt;b&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Description&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Simple data-centric or logic-centric services&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Technology gateways, facades, adapters, and functionality-adding services&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Encapsulate process logic&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Service shared with other enterprise or partner organization&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:windowtext 0.5pt solid;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-top-alt:solid windowtext .5pt;"&gt;&lt;span&gt;&lt;b&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Implementation Complexity&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Low to moderate&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Moderate to high&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;High&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Service specific&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:windowtext 0.5pt solid;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-top-alt:solid windowtext .5pt;"&gt;&lt;span&gt;&lt;b&gt;&lt;font face="arial,helvetica,sans-serif"&gt;State Management&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Stateless&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Stateless&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Stateful&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Service specific&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:windowtext 0.5pt solid;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-top-alt:solid windowtext .5pt;"&gt;&lt;span&gt;&lt;b&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Reusability&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;High&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Low&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Low&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;High&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:windowtext 0.5pt solid;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-top-alt:solid windowtext .5pt;"&gt;&lt;span&gt;&lt;b&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Frequency of change&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Low&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Moderate to high&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;High&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Low&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:windowtext 0.5pt solid;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-top-alt:solid windowtext .5pt;"&gt;&lt;span&gt;&lt;b&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Mandatory Element of SOA&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.85pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;Yes&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;No&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;No&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;&lt;/font&gt;&lt;/span&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 0.5pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:#d4d0c8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0cm;BORDER-LEFT:#d4d0c8;WIDTH:92.9pt;PADDING-TOP:0cm;BORDER-BOTTOM:windowtext 0.5pt solid;BACKGROUND-COLOR:transparent;mso-border-left-alt:solid windowtext .5pt;mso-border-top-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;"&gt;&lt;span&gt;&lt;font face="arial,helvetica,sans-serif"&gt;No&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;span&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;As we can see, the most complex and frequent-changing type of service, which you should build if you want to fully leverage the SOA, is the &lt;b&gt;process centric service&lt;/b&gt;. Truly saying since the beginning of SOA I had an architectural problem (or better: challenge) how to build this kind of service in the most effective way. Simply saying, what should be done is a kind of workflow engine with the ability to work in a stateful manner. It is not a trivial task. And one of the basic principles of building SOA based applications is … &lt;b&gt;the simplicity&lt;/b&gt;. &lt;b&gt;Do not overdesign&lt;/b&gt;! So I have always decided to not to extract the workflow into an independent service but integrating it into front-end component. Ok, I know, bad design but I had to be pragmatic and do my projects in time, budget, scope and quality…&lt;/p&gt;
&lt;p&gt;But now we have the WF. Wow, I have followed the development of this library since early betas. It is unbelievable how easy you can build now a process-centric service of big complexity. A service that is really stateful and easy to change, a service where you are able to &lt;b&gt;see and steer your processes&lt;/b&gt;. We have finally everything to build fully process-enabled SOA applications. Thanks Microsoft. Something big is about to happen…&lt;/p&gt;&lt;img src="http://boczek.com/aggbug.aspx?PostID=12" width="1" height="1"&gt;</description><category domain="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/tags/SOA/default.aspx">SOA</category><category domain="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/tags/WF/default.aspx">WF</category><category domain="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/tags/Windows+Workflow+Foundation/default.aspx">Windows Workflow Foundation</category><category domain="http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/tags/.NET+3.0/default.aspx">.NET 3.0</category></item><item><title>Dedication</title><link>http://boczek.com/blogs/adam_boczeks_thoughts_on_architecture/archive/2007/06/01/dedication.aspx</link><pubDate>Fri, 01 Jun 2007 10:56:00 GMT</pubDate><guid isPermaLink="false">52075af0-4950-40b2-bae2-a3d47b9d8471:1</guid><dc:creator>Adam</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This blog is dedicated for all my thoughts about building software in the most modern but also simple and pragmatic way… Hopefully I’ll find enough time to fill this blog with life…&lt;/p&gt;&lt;img src="http://boczek.com/aggbug.aspx?PostID=1" width="1" height="1"&gt;</description></item></channel></rss>