<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.2.1 on Sat, 17 Feb 2007 16:03:59 GMT -->
<rss version="2.0">
	<channel>
		<title>David Black: SOA</title>
		<link>http://radio.weblogs.com/0146416/categories/soa/</link>
		<description>Services Oriented Architecture and the Enterprise Service Bus</description>
		<copyright>Copyright 2007 David Black</copyright>
		<lastBuildDate>Sat, 17 Feb 2007 16:03:59 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
		<generator>Radio UserLand v8.2.1</generator>
		<managingEditor>dblack@codecurl.org</managingEditor>
		<webMaster>dblack@codecurl.org</webMaster>
		<category domain="http://www.weblogs.com/rssUpdates/changes.xml">rssUpdates</category> 
		<skipHours>
			<hour>23</hour>
			<hour>0</hour>
			<hour>1</hour>
			<hour>2</hour>
			<hour>3</hour>
			<hour>4</hour>
			<hour>5</hour>
			<hour>6</hour>
			</skipHours>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<ttl>60</ttl>
		<item>
			<title>Vista opens the door to SaaS</title>
			<description>Vista &lt;a href=&quot;http://www.johnsimonds.com/2007/02/vista-opens-the-door-for-saas/&quot;&gt;opens the door&lt;/a&gt; to SaaS. Vista certainly makes a good (or bad depending on who you work for) contrast with what is happening to the software market.&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2007/02/16.html#a92</guid>
			<pubDate>Fri, 16 Feb 2007 13:35:13 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=92&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2007%2F02%2F16.html%23a92</comments>
			</item>
		<item>
			<title>James Pasley&apos;s Just Enough XML to Survive</title>
			<description>Excellent &lt;a href=&quot;http://developer.capeclear.com/video/introtoxml/JustEnoughXMLToSurvive.html&quot;&gt;video&lt;/a&gt; presentation from James Pasley, Cape Clear&apos;s CTO, on &lt;a href=&quot;http://www.jpasley.com/2007/01/just-enough-xml-to-survive.html&quot;&gt;XML, XML Schema, SOAP and WSDL&lt;/a&gt;. 15 minutes that could just change your (professional) life for the better!&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2007/02/08.html#a91</guid>
			<pubDate>Thu, 08 Feb 2007 12:56:35 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=91&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2007%2F02%2F08.html%23a91</comments>
			</item>
		<item>
			<title>Cape Clear one of the Top 20 Products of 2006</title>
			<description>Network Technology Magazine has voted Cape Clear one of the Top 20 Products of 2006. This adds to our already impressive bag of awards for 2006 and demonstrates once again that the Cape Clear ESB is the product to put top of the list when evaluating SOA platforms.&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2007/01/22.html#a85</guid>
			<pubDate>Mon, 22 Jan 2007 16:03:06 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=85&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2007%2F01%2F22.html%23a85</comments>
			</item>
		<item>
			<title>Top 10 SOA Worst Practices webinar</title>
			<link>http://www.capeclear.com/ld/10worst/hp.html</link>
			<description>It seems every software company is pitching some form of SOA Best Practices. But even ignoring the built-in bias, some of the best advice can still go very wrong. Instead, by understanding the pitfalls and landmines of SOA implementations, you will be in a better position to create a strategy that makes doing the right thing easy.&lt;br&gt;&lt;br&gt;Learn from Cape Clear&amp;#146;s expertise across hundreds of SOA deployments and avoid critical mistakes that could spell failure for your SOA initiative.&lt;br&gt;&lt;br&gt;Join Cape Clear&amp;#146;s CEO Annrai O&amp;#146;Toole for a down-and-dirty discussion on the Top 10 SOA Worst Practices. General topics include:&lt;br&gt;&lt;ul&gt;&lt;li&gt;Short-cuts you can&amp;#146;t afford to take&lt;/li&gt;&lt;li&gt;Using services the wrong way&lt;/li&gt;&lt;li&gt;What not to do with BPEL&lt;/li&gt;&lt;li&gt;Performance testing no-no&amp;#146;s&lt;/li&gt;&lt;li&gt;Executing projects without the proper tools&lt;/li&gt;&lt;/ul&gt;This webinar will take place on January 31st, 2007 (08:00 PST, 11:00 EST, 16:00 GMT, 17:00 CET) and you can &lt;a href=&quot;http://www.capeclear.com/ld/10worst/hp.html&quot;&gt;register here&lt;/a&gt;.&lt;br&gt;&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2007/01/22.html#a84</guid>
			<pubDate>Mon, 22 Jan 2007 09:48:46 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=84&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2007%2F01%2F22.html%23a84</comments>
			</item>
		<item>
			<title>OSGi-everywhere</title>
			<description>There was a lot of buzz in 2006 around OSGi and it looks like 2007 will be the OSGi-everywhere year. One of the more interesting posts I&apos;ve come across is &lt;a href=&quot;http://www.eclipsezone.com/eclipse/forums/t87966.rhtml&quot;&gt;this one&lt;/a&gt;, a reference to a talk about the Newton open source project and dynamic service grids in the enterprise and OSGi as a basis for SOA. I&apos;m hoping to try some of this out for large-scale (and large scaling) distributed systems shortly. More on that in due course.&lt;br&gt;&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2007/01/15.html#a82</guid>
			<pubDate>Mon, 15 Jan 2007 18:10:23 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=82&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2007%2F01%2F15.html%23a82</comments>
			</item>
		<item>
			<title>Neat things to do with your ESB</title>
			<description>I just love this &lt;a href=&quot;http://jamespasley.blogspot.com/2007/01/it-shouldnt-happen-to-ws-addressing.html&quot;&gt;post&lt;/a&gt; from James.&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2007/01/11.html#a77</guid>
			<pubDate>Thu, 11 Jan 2007 15:26:22 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=77&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2007%2F01%2F11.html%23a77</comments>
			</item>
		<item>
			<title>Cape Clear 7.0 BETA is now available</title>
			<description>Happy New Year and Happy New BETA! The Cape Clear 7.0 BETA is now available for download. Check out the brief &lt;a href=&quot;http://www.capeclear.com/ld/beta/&quot;&gt;summary of some new features&lt;/a&gt;, participate in the BETA on &lt;a href=&quot;http://developer.capeclear.com/?q=node/330&quot;&gt;developer.capeclear.com&lt;/a&gt; and have a look at the detailed &lt;a href=&quot;http://developer.capeclear.com/7_beta/help/index.jsp&quot;&gt;What&apos;s New&lt;/a&gt;. I reckon its going to be a great 2007 :-)&lt;a href=&quot;http://developer.capeclear.com/&quot;&gt;&lt;/a&gt;&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2007/01/03.html#a74</guid>
			<pubDate>Wed, 03 Jan 2007 08:23:57 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=74&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2007%2F01%2F03.html%23a74</comments>
			</item>
		<item>
			<title>Workday Selects Cape Clear for SOA Integration</title>
			<description>

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.workday.com/news_and_events/press/releases.php&quot;&gt;Workday&lt;/a&gt; launched their company and first product offering this morning, with &lt;a href=&quot;http://www.capeclear.com/news/archives/2006/11/workday_selects.shtml&quot;&gt;Cape Clear&lt;/a&gt; as a strategic partner enabling Workday customers to better integrate with third-party applications. Workday, founded by Dave Duffield, the founder of Peoplesoft, is a highly anticipated, on-demand solution for Enterprise Business Services, and has selected Cape Clear for SOA integration. As a native web services SOA company, Workday needed an agile ESB platform &amp;#150; as opposed to a complex legacy EAI solution &amp;#150; to aid customers in integrating with third-party applications. They chose the &lt;a href=&quot;http://www.capeclear.com/products/cc6.shtml&quot;&gt;Cape Clear ESB Platform&lt;/a&gt; to handle their SOA integration because 1) we are the leading ESB platform, and 2) we are the visionaries in ESB technology. We&amp;#146;re really excited here at the Cape because Workday is a first-mover in delivering a software-as-a-service offering based on a SOA, enabling easier and richer service-level integration with customers and their native systems.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/11/07.html#a66</guid>
			<pubDate>Tue, 07 Nov 2006 08:20:52 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=66&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F11%2F07.html%23a66</comments>
			</item>
		<item>
			<title>Taking advantage of BAM derived business intelligence</title>
			<description>For many years I developed real-time data distribution, display and analysis software for the financial markets front office. Traders are a great example of a human BAM. Traders watch real-time data feeds for business activity that interests them. They filter it using both their mental skills and their workstation software. They bring historical context to their analysis, doing complex event processing and running rules in their heads and in their spreadsheets. They make decisions and execute trades that affect the state of the market, altering the business activity they are monitoring. The trader is looking for opportunities with their &quot;business&quot;, as opposed to looking for problems. The goal of BAM is not just to know that everything is running smoothly, its to look for opportunities to improve things. It is not surprising that Business Activity Monitoring and Business Intelligence software has its origin in the financial markets. &lt;br&gt;&lt;br&gt;Having a real-time view of our business operations is largely pointless if we cannot rapidly effect change to put problems right and take advantage of new opportunities. Building business processes on the agile, SOA-enabling, orchestration and services technology provided by an Enterprise Service Bus is the key to taking advantage of new opportunities and fixing problems before they cost us money. The ESB is a natural way to collect, correlate and feed the raw data required by the BAM layer, it then allows us to rapidly improve our processes in response to changing conditions.&lt;br&gt;&lt;br&gt;Feeding aggregated business intelligence back into processes in real-time creates interesting possibilities. Suppose we&amp;#146;re orchestrating a supply chain. If we have a number of Courier services in the supply chain, that the Shipping service can request pickups from (i.e. pickup packages at the various Warehouses for delivery to customers), we can monitor the timeliness of the pickups and check for Couriers falling behind, failing to pickup on time and failing to deliver at agreed SLAs. We can feed this business intelligence back into the Shipping service, so that it favours couriers meeting their SLAs.&lt;br&gt;&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/09/29.html#a63</guid>
			<pubDate>Fri, 29 Sep 2006 15:39:31 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=63&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F09%2F29.html%23a63</comments>
			</item>
		<item>
			<title>One runtime, many servers</title>
			<description>

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-GB&quot;&gt;One of the
improvements we have in store for the next release of &lt;a href=&quot;http://www.capeclear.com&quot;&gt;&lt;st1:place w:st=&quot;on&quot;&gt;&lt;st1:PlaceType w:st=&quot;on&quot;&gt;Cape&lt;/st1:PlaceType&gt; &lt;st1:PlaceName w:st=&quot;on&quot;&gt;Clear&lt;/st1:PlaceName&gt;&lt;/st1:place&gt;&lt;/a&gt;
is ability to target a web service at a single runtime, but deploy it on
different servers from Cape Clear Studio. This means a web service project
(module) can be deployed on e.g. a local server, a remote server or a clustered
server without having to adjust its target runtime in Eclipse. We&amp;#146;re looking to
push this improvement back into the Eclipse &lt;a href=&quot;http://www.eclipse.org/webtools/&quot;&gt;WTP project&lt;/a&gt;. To follow the progress
of this, see this &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=118632&quot;&gt;Eclipse bug&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/08/27.html#a53</guid>
			<pubDate>Sun, 27 Aug 2006 20:08:45 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=53&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F08%2F27.html%23a53</comments>
			</item>
		<item>
			<title>Cape Clear - one to watch</title>
			<description>Cape Clear Software has been named a &amp;#145;Company to Watch&amp;#146; in the &lt;a href=&quot;http://www.capeclear.com/news/archives/2006/08/cape_clear_soft_71.shtml&quot;&gt;8th Annual Intelligent Enterprise Editor&apos;s Choice Awards&lt;/a&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/08/22.html#a52</guid>
			<pubDate>Tue, 22 Aug 2006 14:41:28 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=52&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F08%2F22.html%23a52</comments>
			</item>
		<item>
			<title>Refactoring SOA Artifacts - Part 1</title>
			<description>One of the key features that first hooked me on Eclipse was its (Java) refactoring capabilities. Refactoring is an indispensable tool in the Java code jockeys toolbox, and Eclipse makes it easy. The &lt;a href=&quot;http://www.eclipse.org/articles/Article-LTK/ltk.html&quot;&gt;Eclipse Language Toolkit&lt;/a&gt; (LTK) provides a framework within which to build refactorings.&lt;br&gt;&lt;br&gt;As we move into the realm of service-oriented programming, developing services that can be deployed on Enterprise Service Buses, I&apos;d like to see the same level of refactoring available for SOA artifacts. By SOA artifacts I mean things like WSDL, BPEL, deployment descriptors, as well as Java classes and other language files. At the detail level, the relationships between these artifacts can be complex.&lt;br&gt;&lt;br&gt;With WSDL described services, when the WSDL changes some refactoring often happens automatically i.e. tooling can regenerate the proxy code for a service when the WSDL describing the service changes. But beyond this kind of thing, more sophisticated refactoring is required. In fact, whether this refactoring is done explicitly by the user, or implicitly by the tooling reacting to changes in WSDL and automatically altering other artifacts, much of what needs to be done is the same.&lt;br&gt;&lt;br&gt;The use case I&apos;m starting with is a simple one. A BPEL script implements a service defined using WSDL. The BPEL script invokes another service also defined in WSDL. It should be possible to rename a portType operation by highlighting the operation in the WTP WSDL Editor in Eclipse, right clicking and choosing Refactor | Rename. I&apos;m considering both the cases of the service implemented and the service invoked. &lt;br&gt;&lt;br&gt;It is worth noting that the WSDL editor in Eclipse 3.2 provides a basic rename refactoring feature, but to date I think its pretty limited.&lt;br&gt;&lt;br&gt;The LTK provides a high level framework for refactoring, within which I&apos;m going to put the framework for SOA artifact refactoring. The basic steps are something like this:&lt;br&gt;&lt;br&gt;&lt;ol&gt;&lt;li&gt;Identify the refactoring the user wishes to perform e.g. renaming a WSDL portType operation.&lt;/li&gt;&lt;li&gt;Find all the projects and artifacts in the workspace that should be changed.&lt;/li&gt;&lt;li&gt;Perform the initial sanity check.&lt;/li&gt;&lt;li&gt;Ask the user for more information if necessary.&lt;/li&gt;&lt;li&gt;Calculate the changes required to each artifact.&lt;/li&gt;&lt;li&gt;Check that each artifact will still be valid after the changes.&lt;/li&gt;&lt;li&gt;Present the changes to the user for acceptance or alteration.&lt;/li&gt;&lt;li&gt;Commit the changes.&lt;br&gt;&lt;/li&gt;&lt;/ol&gt;Lets have a look at a snippet from a really simple WSDL file, &lt;span style=&quot;font-style: italic;&quot;&gt;HelloWorld.wsdl&lt;/span&gt;, that shows an operation called &lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;sayHello&lt;/span&gt;:&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;wsdl:portType name=&quot;HelloWorld&quot;&gt;&lt;/wsdl:portType&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;wsdl:portType 
name=&quot;HelloWorld&quot;&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp; &amp;lt;wsdl:operation 
name=&quot;sayHello&quot;&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;wsdl:input&amp;nbsp; 
message=&quot;tns:sayHelloRequest&quot;/&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;wsdl:output 
message=&quot;tns:sayHelloResponse&quot;/&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp; 
&amp;lt;/wsdl:operation&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;/wsdl:portType&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;  &lt;wsdl:operation name=&quot;sayHello&quot;&gt;&lt;/wsdl:operation&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;wsdl:input message=&quot;tns:sayHelloRequest&quot;&gt;&lt;/wsdl:input&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;wsdl:output message=&quot;tns:sayHelloResponse&quot;&gt;&lt;/wsdl:output&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;/span&gt;&lt;br&gt;Lets suppose this WSDL operation has a SOAP binding. The operation name also appears in the binding and in the soapAction attribute in the binding:&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;wsdl:binding name=&quot;HelloWorldBinding&quot; type=&quot;tns:HelloWorld&quot;&gt;&lt;/wsdl:binding&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;wsdl:binding 
name=&quot;HelloWorldBinding&quot; type=&quot;tns:HelloWorld&quot;&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp; &amp;lt;soap:binding 
style=&quot;rpc&quot; transport=&quot;http://schemas.xmlsoap.org/soap/http&quot;/&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp; &amp;lt;wsdl:operation 
name=&quot;sayHello&quot;&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;soap:operation 
soapAction=&quot;cc:HelloWorldService:HelloWorld#sayHello&quot;/&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp; 
&amp;lt;/wsdl:operation&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;/wsdl:binding&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;As in the example, by convention message names often follow the form: &lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;operation&gt;Request&lt;/operation&gt;&lt;/span&gt;, &lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;operation&gt;Response&lt;/operation&gt;&lt;/span&gt;. It would be great if the user could choose to also rename these as an optional part of renaming the operation name.&lt;br&gt;&lt;br&gt;One of the Eclipse plugins I&apos;m going to develop will house the framework core. The implementations of the various parts of the framework can be contributed via extension points.&lt;br&gt;&lt;br&gt;Lets consider the problem of finding all the relevant artifacts and the projects that house them across the Eclipse workspace. While this first use case considers just WSDL and BPEL, the search-for-artifacts step, at a high level, is general enough. &lt;br&gt;&lt;br&gt;The job of the Artifact Finders is to find projects and their artifacts that require changing in response to the operation rename.&lt;br&gt;&lt;br&gt;Consider the case where the &lt;span style=&quot;font-style: italic;&quot;&gt;HelloWorld.wsdl&lt;/span&gt; file lives in one project, some projects have a link to it and others have a copy of it. The projects with a link to it are easy enough to find. Any projects that contain a file called &lt;span style=&quot;font-style: italic;&quot;&gt;HelloWorld.wsdl&lt;/span&gt; are also candidates, but just because one WSDL file has the same name as another does not mean they represent the same service, or the same version of the service. A trickier case again is where the WSDL file is indirectly referenced e.g. it is imported by another WSDL file, or referenced in a descriptor file. For these latter cases we may require some deep searching, which could be time consuming, so we need to bear that in mind.&lt;br&gt;&lt;br&gt;Artifact Finders are one element of the framework. The Artifact Finder interface will look something like this:&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;public interface IArtifactFinder {&lt;/span&gt;&lt;br style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;  public RefactoringParticipant[] findArtifacts(SOAArtifactRefactoringArguments args); &lt;/span&gt;&lt;br style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;}&lt;/span&gt;&lt;br style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;br&gt;And the extension point is defined like this: &lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;extension point=&quot;org.codecurl.soa.refactor.finders&quot;&gt;&lt;/extension&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;extension 
point=&quot;org.codecurl.soa.refactor.finders&quot;&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp; &amp;lt;artifact-finder 
&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; id=&quot;foo.id&quot; &lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; name=&quot;Foo Refactor BPEL 
Artifact Finder&quot; &lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
class=&quot;org.codecurl.soa.refactor.finders.FooFinderImpl&quot;/&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;/extension&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;Lets look next at the changes required to the BPEL script, considering first the case where the BPEL service implements the interface defined by the &lt;span style=&quot;font-style: italic;&quot;&gt;HelloWorld.wsdl&lt;/span&gt; file. The variable definitions for the input and output messages may need be to changed (if the user has chosen to also rename the input and output message types):&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;bpws:variable name=&quot;sayHelloRequest&quot; messagetype=&quot;ns:sayHelloRequest&quot;&gt;&lt;/bpws:variable&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;bpws:variable 
name=&quot;sayHelloRequest&quot; messageType=&quot;ns:sayHelloRequest&quot;/&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;bpws:variable 
name=&quot;sayHelloResponse&quot; messageType=&quot;ns:sayHelloResponse&quot;/&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;bpws:variable name=&quot;sayHelloResponse&quot; messagetype=&quot;ns:sayHelloResponse&quot;&gt;&lt;/bpws:variable&gt;&lt;/span&gt;&lt;br&gt;For consistency, we should allow the user to rename the variables too if the message type names are changing. The receive starts the process:&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;bpws:receive partnerlink=&quot;HelloWorld&quot; porttype=&quot;ns:HelloWorld&quot;&gt;&lt;/bpws:receive&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;bpws:receive 
partnerLink=&quot;HelloWorld&quot; portType=&quot;ns:HelloWorld&quot;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp; operation=&quot;sayHello&quot; 
variable=&quot;sayHelloRequest&quot;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp; 
createInstance=&quot;yes&quot;&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;/bpws:receive&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;So the operation name is changing and maybe also the variable name. And the process ends with a reply:&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;bpws:reply partnerlink=&quot;HelloWorld&quot; porttype=&quot;ns:HelloWorld&quot;&gt;&lt;/bpws:reply&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;bpws:reply 
partnerLink=&quot;HelloWorld&quot; portType=&quot;ns:HelloWorld&quot;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp; operation=&quot;sayHello&quot; 
variable=&quot;sayHelloResponse&quot;&amp;gt; &lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;/bpws:reply&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;Again, the operation name and possibly the variable name will change.&lt;br&gt;&lt;br&gt;In the case where the BPEL process is invoking the &lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;HelloWorld&lt;/span&gt; service, we need to consider the invoke element. The operation name attribute value will change, and the &lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;inputVariable&lt;/span&gt; and &lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;outputVariable&lt;/span&gt; attribute values may change:&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;bpws:invoke partnerlink=&quot;HelloWorld&quot; porttype=&quot;ns:HelloWorld&quot;&gt;&lt;/bpws:invoke&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;bpws:invoke 
partnerLink=&quot;HelloWorld&quot; portType=&quot;ns:HelloWorld&quot;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp; operation=&quot;sayHello&quot; 
inputVariable=&quot;sayHelloRequest&quot;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp; 
outputVariable=&quot;sayHelloResponse&quot;&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;/bpws:invoke&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;br&gt;We need to set up the invoke call by populating the &lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;sayHelloRequest&lt;/span&gt; message, so we should look for assign elements that use the variables:&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;bpws:assign&gt;&lt;/bpws:assign&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;bpws:assign&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp; 
&amp;lt;bpws:copy&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;bpws:from&amp;gt;&amp;lt;xs:string&amp;gt;Bob&amp;lt;/xs:string&amp;gt;&amp;lt;/bpws:from&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bpws:to 
variable=&quot;sayHelloRequest&quot;/&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;nbsp;&amp;nbsp; 
&amp;lt;/bpws:copy&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&lt;span style=&quot;color: rgb(51, 0, 153); font-family: Courier;&quot;&gt;&amp;lt;/bpws:assign&amp;gt;&lt;/span&gt;&lt;br style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;span style=&quot;font-family: Courier; color: rgb(51, 0, 153);&quot;&gt;&lt;/span&gt;&lt;br&gt;Callbacks (onMessage) also need to be considered.&lt;br&gt;&lt;br&gt;One of things I want is APIs for refactoring the various models (WSDL, BPEL, whatever). I like to start with a &quot;perfect&quot; API for something like this, and then implement that with off the shelf components (like &lt;a href=&quot;http://sourceforge.net/projects/wsdl4j&quot;&gt;WSDL4J&lt;/a&gt;) and whatever additional code is required.&lt;br&gt;&lt;br&gt;Once I have the framework plugin working for this simple example, I will look at contributing to the appropriate Eclipse project/area. Maybe the &lt;a href=&quot;http://www.eclipse.org/stp/&quot;&gt;SOA Tools Platform&lt;/a&gt; and/or the LTK.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/08/18.html#a51</guid>
			<pubDate>Fri, 18 Aug 2006 08:29:26 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=51&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F08%2F18.html%23a51</comments>
			</item>
		<item>
			<title>Clickable SCA diagram at Tuscany wiki</title>
			<description>There is a nice &lt;a href=&quot;http://wiki.apache.org/ws-data/attachments/Tuscany%282f%29SCADiagram/attachments/sca.htm&quot;&gt;clickable SCA diagram&lt;/a&gt; available that describes the basic SCA concepts.&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/08/17.html#a50</guid>
			<pubDate>Thu, 17 Aug 2006 08:43:48 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=50&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F08%2F17.html%23a50</comments>
			</item>
		<item>
			<title>Cape Clear ESB keeps on winning with IT Week Magazine Editors Choice Award for 2006</title>
			<link>http://www.eweek.com/article2/0,1895,1997918,00.asp</link>
			<description>&quot;One of the best ESB products available and it &lt;a href=&quot;http://www.eweek.com/article2/0,1895,1997918,00.asp&quot;&gt;wins our Editor&apos;s Choice Award&lt;/a&gt; for functionality and performance.&quot; - IT Week, July 31, 2006&lt;br&gt;&lt;br&gt;&quot;Clear&apos;s Cape Clear ESB 6.6 provides an intuitive and capable platform for creating, managing and deploying services, processes and data for an SOA infrastructure.&quot;&lt;br&gt;&lt;br&gt;And &lt;a href=&quot;http://www.capeclear.com&quot;&gt;Cape Clear&lt;/a&gt; will just keep getting stronger - we have a host of goodies in store for later this year. I can&apos;t wait! :)&lt;br&gt;&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/08/09.html#a48</guid>
			<pubDate>Wed, 09 Aug 2006 09:50:07 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=48&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F08%2F09.html%23a48</comments>
			</item>
		<item>
			<title>SCA v0.95 - some much need simplification</title>
			<description>I am so glad to see that in the latest SCA draft specification the assembly composition has been greatly simplified using a &lt;a href=&quot;http://www.osoa.org/display/Main/Recursive+Assembly+Model&quot;&gt;recursive model&lt;/a&gt;.&amp;nbsp; I thought the&amp;nbsp; whole module, fragment, sub-system and system thing was hopelessly confusing (how many times did I read the 0.9 spec?!). Now we have Composities (which are just the same as Components) that include other Components and so on. So its basically composite services and services.&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/08/04.html#a47</guid>
			<pubDate>Fri, 04 Aug 2006 16:16:13 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=47&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F08%2F04.html%23a47</comments>
			</item>
		<item>
			<title>New Cape Clear ESB University courses starting shortly</title>
			<link>http://www.capeclear.com/esbuniversity</link>
			<description>The &lt;a href=&quot;http://www.capeclear.com/esbuniversity&quot;&gt;Cape Clear ESB University&lt;/a&gt; is an educational and training initiative aimed at providing software developers, systems integrators and IT architects with the information and tools they need to ensure the success of their Service-Oriented Architecture (SOA) projects. These live educational webcasts, which will be held during the month of August, will support organizations in the design, development, deployment and management of SOA and ESB projects, using relevant business case examples.&lt;br&gt;&amp;nbsp;&lt;br&gt;You can register for these courses &lt;a href=&quot;https://capeclearevents.webex.com/capeclearevents&quot;&gt;here&lt;/a&gt;.&lt;br&gt;&lt;br&gt;The first course covers the Principles of SOA Design Using Enterprise Service Bus. This session focuses on the SOA creation process, principles of good SOA design, and the use of an ESB to enable SOA projects. &lt;br&gt;&lt;br&gt;During this event you will learn:&lt;br&gt;&lt;br&gt;- Service-Oriented Architecture: The accepted architecture for reducing development costs, increasing IT agility and improving IT/business alignment&lt;br&gt;- Enterprise Service Bus: The new technology platform for realizing SOA&lt;br&gt;- Standards: What are the standards that relate to SOA?&lt;br&gt;- True ESB: The standards-based ESB platform for SOA&lt;br&gt;&lt;br&gt;On these courses you can learn how Enterprise Service Bus can Leverage your SOA Initiative. &lt;br&gt;&lt;br&gt;The Cape Clear ESB University has been designed to accommodate the diverse needs of those who are responsible for creating a SOA strategy, design and implementation, helping to ensure projects result in reduced development costs, and increased business agility.&lt;br&gt;&lt;br&gt;The ESB University webcasts will include sessions on the following topics:&lt;br&gt;- Course 1: The Principles of SOA Design Using Enterprise Service Bus&lt;br&gt;- Course 2: SOA--Introduction to Process Orchestration and Top Down Service Design&lt;br&gt;- Course 3: Mapping and Transforming Diverse Data Formats Using SOA&lt;br&gt;- Course 4: Service Enablement and Quality of Service with SOA&lt;br&gt;&lt;br&gt;Sign up now!&lt;br&gt;&lt;br&gt;---------------------------------------&lt;br&gt;&lt;br&gt;Course 1, August 9, 2006&lt;br&gt;&lt;br&gt;8 AM PDT/11 AM EDT/4 PM GMT&lt;br&gt;&lt;br&gt;The Principles of SOA Design Using Enterprise Service Bus&lt;br&gt;&lt;br&gt;---------------------------------------&lt;br&gt;&lt;br&gt;Course 2, August 16, 2006&lt;br&gt;&lt;br&gt;8 AM PDT/11 AM EDT/4 PM GMT&lt;br&gt;&lt;br&gt;SOA - Introduction to Process Orchestration and Top Down Service Design&lt;br&gt;&lt;br&gt;---------------------------------------&lt;br&gt;&lt;br&gt;Course 3, August 23, 2006&lt;br&gt;&lt;br&gt;&amp;nbsp;8 AM PDT/11 AM EDT/4 PM GMT&lt;br&gt;&lt;br&gt;Mapping and Transforming Diverse Data Formats Using SOA&lt;br&gt;&lt;br&gt;---------------------------------------&lt;br&gt;&lt;br&gt;Course 4, August 30, 2006&lt;br&gt;&lt;br&gt;8 AM PDT/11 AM EDT/4 PM GMT&lt;br&gt;&lt;br&gt;Service Enablement and Quality of Service with SOA&lt;br&gt;&lt;br&gt;---------------------------------------&lt;br&gt;&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/08/03.html#a46</guid>
			<pubDate>Thu, 03 Aug 2006 08:31:09 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=46&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F08%2F03.html%23a46</comments>
			</item>
		<item>
			<title>SOA tooling</title>
			<description>Imagine that your job is to develop service-oriented programming (SOA) Eclipse-based tooling. I don&apos;t have to imagine :-)&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/07/24.html#a45</guid>
			<pubDate>Mon, 24 Jul 2006 09:10:57 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=45&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F07%2F24.html%23a45</comments>
			</item>
		<item>
			<title>Cape Clear continues to lead the Enterprise Service Bus market</title>
			<description>Its great to see that Cape Clear &lt;a href=&quot;http://www.capeclear.com/news/archives/2006/07/acape_clear_con.shtml&quot;&gt;continues to lead the Enterprise Service Bus market&lt;/a&gt; as &quot;one of the pioneers in the enterprise service bus (ESB) category and continues to be among the leaders in technology innovation and strategic vision in this space&quot;. Read the Forrester report &lt;a href=&quot;http://www.capeclear.com/esbwave06/&quot;&gt;here&lt;/a&gt;!&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/07/06.html#a43</guid>
			<pubDate>Thu, 06 Jul 2006 08:21:37 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=43&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F07%2F06.html%23a43</comments>
			</item>
		<item>
			<title>OSGi tutorial at ApacheCon Dublin</title>
			<description>&lt;a href=&quot;http://apachecon.com/&quot;&gt;ApacheCon&lt;/a&gt; Europe 2006 is being held in Dublin this week. I couldn&apos;t attend the whole week, but I did get to go to a half-day &lt;a href=&quot;http://www.osgi.org/&quot;&gt;OSGi&lt;/a&gt; tutorial given by longtime OSGi evangelist &lt;a href=&quot;http://www.aqute.biz/&quot;&gt;Peter Kriens&lt;/a&gt;. Peter, who is the current editor of the OSGi specification, says:&lt;br&gt;&lt;br&gt;&quot;OSGi is kind of SOA&quot;&lt;br&gt;&lt;br&gt;&quot;OSGi is kind of a Java Operating System&quot; or at least a &quot;mini-kernel&quot;&lt;br&gt;&lt;br&gt;OSGi is &quot;the Dynamic Modularity Layer for Java&quot;&lt;br&gt;&lt;br&gt;OSGi is a Java framework for developing remotely deployed service applications. OSGi started life in 1998 with the original use case of home automation. OSGi applications can run on different software and hardware architectures. There is a lot of buzz around it right now, particularily in the enterprise space, partially because of Eclipse &lt;a href=&quot;http://www.eclipse.org/equinox/&quot;&gt;Equinox&lt;/a&gt;, which is OSGi R4 based and the technology underlying Eclipse bundles (actually Equinox goes beyond pure OSGi). But there are a bunch of other implementations, including the &lt;a href=&quot;http://incubator.apache.org/felix/&quot;&gt;Apache Felix&lt;/a&gt; project. The specification is freely available and royalty free.&lt;br&gt;&lt;br&gt;OSGi applications adhere to a basic SOA, the contract between client and service is based on a Java interface and discovering and binding available implementations is done through the framework. Client and service are softly coupled. So it provides an in-VM service model. Declarative services, introduced in R4, are akin to having dependency injected components. Applications declare their service dependencies in an XML file, and are notified by the framework at runtime as services becomes available and go away. The last is an important point: services can go away at runtime, just as they can be dynamically discovered. The next major release of &lt;a href=&quot;http://www.springframework.org/&quot;&gt;Spring&lt;/a&gt; is adding support for OSGi. One of the tutorial attendees made the point that OSGi is a generic event notification framework.&lt;br&gt;&lt;br&gt;OSGi applications are packaged as bundles, handled by the OSGi Module Layer. The Module Layer addresses packaging, class loading modularization, protection and versioning (multiple versions of the same package) - things Java does not do well, or at all, by itself. In addition, OSGi provides basic Life Cycle Management. An API for managing bundles allows them to be installed, resolve their dependencies, started, stopped, refreshed, updated and uninstalled. So basically, bundles register one or more services with the framework service directory, and other bundles can use those services. Service contracts are just Java interfaces, so service implementations are just POJOs and no special classes need be extended nor interfaces implemented.&lt;br&gt;&lt;br&gt;Its a pity OSGi wasn&apos;t somehow used as the basis of &lt;a href=&quot;http://www.jcp.org/en/jsr/detail?id=208&quot;&gt;JBI&lt;/a&gt;, there are so many similarities.&lt;br&gt;&lt;br&gt;Its also a pity that there are currently two rival JSRs attempting to establish a dynamic modularity layer for Java SE. &lt;a href=&quot;http://www.jcp.org/en/jsr/detail?id=291&quot;&gt;JSR-291&lt;/a&gt; is the OSGi Alliance backed one that aims to &quot;define a dynamic component framework including component lifecycle for existing Java SE platforms&quot;. Peter is on the expert group. &lt;a href=&quot;http://www.jcp.org/en/jsr/detail?id=277&quot;&gt;JSR-277&lt;/a&gt; aims to do more or less the same thing, expect not as well according to Peter - who is is not on the expert group despite his best efforts! Richard Hall was at the tutorial, he is on both groups. According to Richard he is trying to steer the 277 folks in the right direction. It will be interesting to see what happens. Richard was giving a couple of OSGi related talks in Dublin, I wish I had been able to attend them.&lt;br&gt;&lt;br&gt;And I think the Eclipse &lt;a href=&quot;http://www.eclipse.org/proposals/rsp/&quot;&gt;Rich Server Platform&lt;/a&gt; proposal deserves some serious attention. There is so much happening in the module/component/service packaging, assembling and deployment space (the McSPAD space) (ok, I guess thats several kind of overlapping spaces). We&apos;ve got JBI, &lt;a href=&quot;http://www-128.ibm.com/developerworks/library/specification/ws-sca/&quot;&gt;SCA&lt;/a&gt; (though &lt;a href=&quot;http://www.davidchappell.com/HTML_email/Opinari_No15_12_05.html&quot;&gt;don&apos;t hold your breath&lt;/a&gt;) and now (yes it has been around for quite some time) OSGi. What we really need to do is get everyone in an aircraft hanger (big enough?), seal the doors and tell them they are not getting out until there is only &lt;span style=&quot;font-style: italic;&quot;&gt;one&lt;/span&gt;. One McSPAD to rule them all.&lt;br&gt;&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/06/28.html#a42</guid>
			<pubDate>Wed, 28 Jun 2006 21:37:47 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=42&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F06%2F28.html%23a42</comments>
			</item>
		<item>
			<title>AMQP: an open specification for queue based messaging</title>
			<description>The &lt;a href=&quot;http://www.twiststandards.org/tiki-download_file.php?fileId=226&quot;&gt;Advanced Message Queuing Protocol (AMQP) 0.8&lt;/a&gt; spec has been released. AMQ is an open specification for queued messaging that was born at JPMorgan Chase under the direction of John O&apos;Hara. &lt;a href=&quot;http://www.finextra.com/fullstory.asp?id=15470&quot;&gt;JPMorgan&lt;/a&gt; have formed the AMQP Working Group, 
together with a bunch of companies including Red Hat, Cisco and Iona. They aim 
to create an alternative to expensive proprietary messaging middleware like IBMs MQSeries. IBM aren&apos;t the only vendor selling an overpriced queuing system, I reckon TIBCO fall into that category too. I understand this has been brewing behind the scenes for a while, but a lot of &lt;a href=&quot;http://radio.weblogs.com/0112098/2006/06/21.html#a567&quot;&gt;folks&lt;/a&gt; weren&apos;t sure it would ever see the light of day. As Brian McCallister puts it this is a space badly in need of an &lt;a href=&quot;http://kasparov.skife.org/blog/src/amqp-0_8.html&quot;&gt;open standard&lt;/a&gt;, but has concerns about whether it will be properly opened up. According to &lt;a href=&quot;http://www.infoq.com/news/amq&quot;&gt;InfoQ&lt;/a&gt; JPMorgan have an implementation in production now. I&apos;ve worked on a number of messaging systems for investment bank trading floors (and beyond) over the years, going back to NetBIOS days, reliable broadcast with UDP/IP, point-to-point based systems with TCP/IP, including HTTP tunneling based Internet trading infrastructure. Back in those days the messaging systems were the product. These days they &lt;span style=&quot;font-style: italic;&quot;&gt;should&lt;/span&gt; just be part of the woodwork, and hopefully AMQP, OpenWire and implementations like ActiveMQ can bring scalable, performant and reliable asychronous messaging to all enterprises. &lt;br&gt; </description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/06/25.html#a40</guid>
			<pubDate>Sun, 25 Jun 2006 20:13:40 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=40&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F06%2F25.html%23a40</comments>
			</item>
		<item>
			<title>Enabling effective BAM with the ESB</title>
			<link>http://www.capeclear.com</link>
			<description>By now most folks understand the advantages of running and orchestrating key business processes using SOA principles and Enterprise Service Buses, like the web service standards based &lt;a href=&quot;http://www.capeclear.com/capeclearesb/&quot;&gt;Cape Clear ESB&lt;/a&gt;. There is a lot of business activity taking place on the ESB, and it&apos;d be great to be able to monitor that, gather the intelligence and analyze what our businesses are telling us. In other words putting the ESB and Business Activity Monitoring (BAM) together. &lt;br&gt;&lt;br&gt;One of the key issues when considering BAM is being non-invasive. A BAM should be able to collect the data it needs to present a real-time dashboard of business state and Key Performance Indicators (KPIs), without you having to engineer that into your applications. Another key issue is correlation. Lots of bits of data and process state go into creating a holistic picture of a business process. A BAM needs to be able to tie all those bits together. Different systems often use different keys to identify a particular instance of a process. Sometimes the interaction between systems is terse e.g. in a synchronous request/response scenario the response message might not even have a process identifier. This can make it difficult for the BAM to create that holistic view and show you everything you want to see. &lt;br&gt;&lt;br&gt;Fortunately, both of these issues can be addressed very effectively by the ESB. When business services are exposed on an ESB, the bus is handling all the messages as they flow between services. These messages and their orchestrated flow between services define a large part of the process. The ESB itself can event out these messages to the BAM, there is no need for invasive engineering - so collection is free. The ESB is already doing correlation, internally it knows what process instances it is dealing with, so it can add that information to the messages it sends to the BAM, together with a whole bunch of other useful stuff like timestamps and source and destination services. &lt;br&gt;&lt;br&gt;Sometimes of course, things happen inside of applications that are invisible to the bus, and may be difficult to collect, but that are important to know. Again the ESB can help by exposing its BAM collection function as just another service that applications can invoke. With the Cape Clear ESB we&apos;re enabling effective BAM. We&apos;re doing a whole bunch of other great stuff to make BAM easier too, I&apos;ll post more on that soon.&lt;br&gt;&lt;br&gt;In the meantime, how about a new TLA: SAM - SOA Activity Monitoring :-)&lt;br&gt;&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/06/10.html#a36</guid>
			<pubDate>Sat, 10 Jun 2006 12:44:24 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=36&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F06%2F10.html%23a36</comments>
			</item>
		<item>
			<title>Landed at the Cape</title>
			<link>http://www.capeclear.com</link>
			<description>I&apos;ve wanted to get into the SOA and Enterprise Service Bus space for some time now. When an opportunity arose to join &lt;a href=&quot;http://www.capeclear.com&quot;&gt;Cape Clear Software&lt;/a&gt;, the leading ESB vendor, I was excited by the prospect and impressed by the people I met. From a technical perspective, it fit nicely with my keen interest in Eclipse tooling on the one hand, server technology, and enterprise architecture in general. So pretty much the whole kit and kaboodle then! This is clearly a red hot space right now, and rightly so, SOA is changing the way we do so many things. Cape Clear have a stellar &lt;a href=&quot;http://www.capeclear.com/capeclearesb/&quot;&gt;SOA platform&lt;/a&gt; that is ready to go out of the box, giving you tons of loosely coupled integration options that work first time. So I charted a course, and I&apos;ve just landed at the Cape. One of the things I&apos;m going to be helping Cape Clear do is to define extension points for BAM (Business Activity Monitoring). More on that later.&lt;br&gt;&lt;br&gt;</description>
			<guid>http://radio.weblogs.com/0146416/categories/soa/2006/05/06.html#a35</guid>
			<pubDate>Sat, 06 May 2006 20:35:11 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=146416&amp;amp;p=35&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0146416%2F2006%2F05%2F06.html%23a35</comments>
			</item>
		</channel>
	</rss>
