<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://davidpallmann.spaces.live.com/mmm2008-05-17_13.22/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fdavidpallmann.spaces.live.com%2fcategory%2fSOA%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>David Pallmann's Blog: SOA</title><description /><link>http://davidpallmann.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catSOA</link><language>en-US</language><pubDate>Wed, 23 Jul 2008 11:36:44 GMT</pubDate><lastBuildDate>Wed, 23 Jul 2008 11:36:44 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://davidpallmann.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>-1630591290702063730</live:id><live:alias>davidpallmann</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Licensed to WSDL</title><link>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!509.entry</link><description>&lt;p&gt;A long, long time ago in a galaxy far away... way back in January... I decided to order a personalized license plate advertising my area of specialization, SOA and ESB. Little did I know this was going to be an extreme exercise in patience. I finally was able to pick up the plate shown below and puit it on my car today (in May), after a grueling 4-month wait.  
&lt;p&gt;&lt;a href="http://byfiles.storage.live.com/y1pvhHyq8t_9gszS9mxusJkPKek3TstTcxS2jh5axqMSDI95CNl_gEVJjmtdZevQeQBckRVTS07Fvk" target="_blank"&gt;&lt;img height=134 alt="license_plate" src="http://byfiles.storage.live.com/y1pvhHyq8t_9gszS9mxusJkPKek3TstTcxS2jh5axqMSDI95CNl_gEVJjmtdZevQeQBckRVTS07Fvk" width=268&gt;&lt;/a&gt; 
&lt;p&gt;I originally wanted to have it read NEURON, the name of our ESB, but that was already taken (by a neurologist, no doubt). Interestingly, I have discovered the acronym ESB is also a neurological term (meaning, &amp;quot;Electrical Stimulation of the Brain&amp;quot;). So if you're ever googling for Neuron ESB and get some medical hits, you'll know why. 
&lt;p&gt;Now everyone will know what drives me. :) Or more accurately, the computer people will and no one else will have a clue. 
&lt;p&gt; &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1630591290702063730&amp;page=RSS%3a+Licensed+to+WSDL&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=davidpallmann.spaces.live.com&amp;amp;GT1=davidpallmann"&gt;</description><comments>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!509.entry#comment</comments><guid isPermaLink="true">http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!509.entry</guid><pubDate>Fri, 23 May 2008 20:23:15 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://davidpallmann.spaces.live.com/blog/cns!E95EF9DC3FDB978E!509/comments/feed.rss</wfw:commentRss><wfw:comment>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!509.entry#comment</wfw:comment><dcterms:modified>2008-05-23T23:43:46Z</dcterms:modified></item><item><title>Service-enabling the 3-tier Application Model</title><link>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!308.entry</link><description>&lt;div&gt;3-tier applications have been around for some time now, and the presentation/business/data tier arrangement seems to have held up well despite a variety of underlying technology changes. But how does the arrival of service orientation affect 3-tier applications? While there's a lot of interesting talk now about &amp;quot;composite applications&amp;quot; using shared services, the pattern I am observing right now in the field is a little different than what's commonly being conceived. &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://byfiles.storage.live.com/y1pvhHyq8t_9guepyCVXzNxe407a3Luj_-JbA9xylu3jkzPcBNo00v5Y-69jWjR7SPLHdDYcDO6vzQ" target="_blank"&gt;&lt;img height=127 alt="3_tier_app" src="http://byfiles.storage.live.com/y1pvhHyq8t_9guepyCVXzNxe407a3Luj_-JbA9xylu3jkzPcBNo00v5Y-69jWjR7SPLHdDYcDO6vzQ" width=372&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;First off, if a company is starting to adopt service orientation more and more seriously, you're likely to see 3-tier applications modified so that the business tier becomes a &lt;strong&gt;business service tier&lt;/strong&gt;. It's straightforward and natural to turn the former implementation of your business logic (objects, COM+ components, etc.) into services, especially with a powerful tool such as WCF. So now we have something like this, where the business logic is composed of services. This feels more modern, but the app really hasn't changed a whole lot.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://byfiles.storage.live.com/y1pvhHyq8t_9gvIojvLY-wKN1iEQhAbkiZd6q7lgop0Tvb4bIGYl8Xwkwbjid3A-ehkVDVTACRgcZc" target="_blank"&gt;&lt;img height=127 alt="3_tier_app_svcs" src="http://byfiles.storage.live.com/y1pvhHyq8t_9gvIojvLY-wKN1iEQhAbkiZd6q7lgop0Tvb4bIGYl8Xwkwbjid3A-ehkVDVTACRgcZc" width=373&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;The next step for the application comes when the organization wants to make good on the &amp;quot;maximize reuse&amp;quot; promise of service orientation. The app needs to expose some of its services for public consumption by other applications in the company; and/or, the app is expected to consume services that belong to another application. Now the app has private and public services.&lt;/div&gt;
&lt;div&gt;&lt;a href="http://byfiles.storage.live.com/y1pvhHyq8t_9gsc5z7yoe9oZpIbu6OiJJINZUctLE80wY49AQjMS3t6FQOsMhQBo2ZJsCyjtmrZCLY" target="_blank"&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div&gt;&lt;a href="http://byfiles.storage.live.com/y1pvhHyq8t_9guD0sATS7_B258nQ9qkGdrVV1i3YTnWAFVy_NsVWcYY39e6vUznKqbhiUYGStg4dWg" target="_blank"&gt;&lt;img style="width:459px;height:130px" height=85 alt="3_tier_app_svcs_shared" src="http://byfiles.storage.live.com/y1pvhHyq8t_9guD0sATS7_B258nQ9qkGdrVV1i3YTnWAFVy_NsVWcYY39e6vUznKqbhiUYGStg4dWg" width=300&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;a href="http://byfiles.storage.live.com/y1pvhHyq8t_9gsoMoyqZVgntW8GF8snqsJn5SROvEVpbOXyAkl2GEnHaRgEXeB1cQSESmrzmnsEVjY" target="_blank"&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div&gt;The business services tier is now servicing both its &amp;quot;home app&amp;quot; as well as other apps. This additional traffic to the service layer needs to be carefully analyzed; it's quite possible that the 'extra traffic' from other apps could outweigh the load from the original application. You might find yourself scaling out the business service tier to accommodate the extra demand.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;For an application to take this shape, a bit of refactoring is often necessary. In an isolated app, you may find developers have been sloppy and put some business logic in the presentation tier. In an app with shared services, however, the app logic really needs to reside in the business tier. It can't be in the presentation tier for the simple reason that an external client never accesses the presentation tier. Typically, there will be some work to make the presentation tier as thin as possible and devoted just to UI. In the same vein, the business services need to perform strong validation--even if a lot of that validation is also duplicated in the presentation tier. Again, an external caller to the business service layer won't be going through the presentation tier.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;A good characteristic of this approach is that ownership doesn't change; that is, the people responsible for &amp;quot;App A&amp;quot; are the people who service-enable and maintain &amp;quot;App A&amp;quot;. This pattern for service-enabling applications seems to work equally regardless of the topology you happen to use to interconnect your service-enabled applications (direct, hub-and-spoke, ESB). &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1630591290702063730&amp;page=RSS%3a+Service-enabling+the+3-tier+Application+Model&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=davidpallmann.spaces.live.com&amp;amp;GT1=davidpallmann"&gt;</description><comments>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!308.entry#comment</comments><guid isPermaLink="true">http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!308.entry</guid><pubDate>Sat, 10 Nov 2007 00:21:12 GMT</pubDate><slash:comments>13</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://davidpallmann.spaces.live.com/blog/cns!E95EF9DC3FDB978E!308/comments/feed.rss</wfw:commentRss><wfw:comment>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!308.entry#comment</wfw:comment><dcterms:modified>2007-11-10T00:21:12Z</dcterms:modified></item><item><title>Off to the Microsoft SOA/BP Conference</title><link>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!284.entry</link><description>&lt;div&gt;I'm off to the &lt;a href="http://www.mssoaandbpconference.com/"&gt;Microsoft SOA &amp;amp; Business Process Conference &lt;/a&gt;for the week.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Hopefully there will be some interesting developments worth blogging about.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;I'm glad to see SOA and Business Process covered in the same conference. Disciplines such as SOA, EAI, and BPM need to be considered jointly in a holistic way. When they become isolated areas of focus we end up with bad solutions.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1630591290702063730&amp;page=RSS%3a+Off+to+the+Microsoft+SOA%2fBP+Conference&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=davidpallmann.spaces.live.com&amp;amp;GT1=davidpallmann"&gt;</description><comments>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!284.entry#comment</comments><guid isPermaLink="true">http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!284.entry</guid><pubDate>Mon, 29 Oct 2007 06:12:09 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://davidpallmann.spaces.live.com/blog/cns!E95EF9DC3FDB978E!284/comments/feed.rss</wfw:commentRss><wfw:comment>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!284.entry#comment</wfw:comment><dcterms:modified>2007-10-29T06:12:09Z</dcterms:modified></item><item><title>Services: Reusable Across Architectures</title><link>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!264.entry</link><description>&lt;div&gt;One of the reasons touted to use services is that they are highly reusable, especially if a few guidelines are followed in their design. One of the aspects of their reusability is that they fit into any architecture. Let's consider three popular architectures:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Point-to-Point architecture. Here clients connect directly to services.
&lt;li&gt;Hub-and-spoke architecture. Here clients and services connect to a central intermediary / message broker.
&lt;li&gt;Bus architecture. Here clients and services connect through a distributed messaging fabric.&lt;/ul&gt;
&lt;p&gt;You can write a service and use it in all 3 arrangements. Now &lt;u&gt;that's&lt;/u&gt; reusable software!
&lt;p&gt;While I have fairly strong feelings about which of these architectures are appropriate in various scenarios, it's not a decision that necessarily impacts the service developer. A good service fits many contexts, and a good service developer will be thinking that way.
&lt;p&gt; &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1630591290702063730&amp;page=RSS%3a+Services%3a+Reusable+Across+Architectures&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=davidpallmann.spaces.live.com&amp;amp;GT1=davidpallmann"&gt;</description><comments>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!264.entry#comment</comments><guid isPermaLink="true">http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!264.entry</guid><pubDate>Fri, 28 Sep 2007 21:39:55 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://davidpallmann.spaces.live.com/blog/cns!E95EF9DC3FDB978E!264/comments/feed.rss</wfw:commentRss><wfw:comment>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!264.entry#comment</wfw:comment><dcterms:modified>2007-09-28T21:39:55Z</dcterms:modified></item><item><title>Weighing in on SOA</title><link>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!201.entry</link><description>&lt;div&gt;I first wrote about service orientation in the opening chapters of &lt;em&gt;Programming Indigo&lt;/em&gt;, where I dutifully enumerated Don Box's 4 tenets and explained them in the context of WCF application programming. That was a whole year ago, and there have been many SOA developments since. I've found myself immersed in many service oriented customer projects and I also regularly present on SOA and WCF at code camps and other events around the country. So it's time to start blogging my thoughts on SOA. To kick it off, I'll give you my opinion about where SOA is today.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;First, let's dispense of the silly SO vs. SOA acronym argument. Some folks don't feel the term 'architecture' is justified, others do. Why is that? If I may, I'd like to remind everyone that there's a lot of disagreement on what 'architecture' is. If the word architecture makes you think of something very defined and standardized, like an OSI network stack, then I understand your hesitancy because we don't have a general architecture (noun) like that for service orientation yet. But service orientation is certainly an architectural consideration, and an important one at that; any time I architect an enterprise solution I begin by figuring out the boundaries of communication, security, etc. So I personally find the term Service Oriented Architecture perfectly appropriate. Ultimately, I think SOA will win over SO if for no other reason that it's the more catchy acronym.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;How far can we advance SOA when it's still the subject of much debate? I liken SOA to a hurricane. Sure, there's a lot of chaos at the edges as debates rage on,  both technically and politically motivated. But in the eye of the storm there is calm, because there is general agreement on the spirit of SOA: message-based communication, loose coupling, autonomy of services. SOA is young and will continue to be refined, but it's real enough to talk about meaningfully and put into practice.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;To make SOA real and practical for people, we have to go beyond the 4 tenets. At Neudesic, we've been doing a lot of thinking about all things SOA. One very interesting group exercise we went through was to collectively list everything we could think of related to SOA, then categorize the items into first principles, benefits, and best practices. This was very illuminating, and also very surprising. I expected many arguments to arise as part of the process; instead, there was a great deal of consensus and only occasional differences of opinion.  I'll share our findings on this in a separate article in the near future.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;One recent development that shows SOA is progressing is William Oellermann's &lt;a href="http://www.architecturejournal.net/2006/issue7/F6_Enable/default.aspx"&gt;Enterprise Service Oriented Maturity Model&lt;/a&gt; (ESOMM). ESOMM describes stages an enterprise can go through to more deeply embrace SOA. At the onset, enterprises have casual hosting or consumption of services. By the final stage, enterprise are aggregating and orchestrating  services in sophisticated ways.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;One thing that's become very clear about SOA is that in an enterprise setting customers need a central way to configure, monitor, and manage those decentralzed services. Enter the Enterprise Service Bus (ESB), which provides just those capabilities. I'm skeptical enterprises will move beyond fringe use of services unless they have the centralized control (or the illusion thereof) an ESB provides. I'm doing a lot of ESB work and will have more to share about that in the future as well.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;WCF is obviously a great technology for SOA work, as it was designed with service orientation in mind. As good as WCF is, we could wish for a few more SOA features going forward. Discovery of services, so we no longer need to have addresses in our code or config files. Publish-Subscribe communication over topics. Dynamic reconfiguration of running services. Perhaps we'll see some of these in subsequent versions. If not, the good news is you can build these things yourself here and now without too much trouble on top of WCF.&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-1630591290702063730&amp;page=RSS%3a+Weighing+in+on+SOA&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=davidpallmann.spaces.live.com&amp;amp;GT1=davidpallmann"&gt;</description><comments>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!201.entry#comment</comments><guid isPermaLink="true">http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!201.entry</guid><pubDate>Tue, 23 May 2006 07:00:25 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://davidpallmann.spaces.live.com/blog/cns!E95EF9DC3FDB978E!201/comments/feed.rss</wfw:commentRss><wfw:comment>http://davidpallmann.spaces.live.com/Blog/cns!E95EF9DC3FDB978E!201.entry#comment</wfw:comment><dcterms:modified>2006-05-23T14:40:19Z</dcterms:modified></item></channel></rss>