<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Legolas in Minas Tirith &#187; SOA</title>
	<atom:link href="http://www.javalinux.it/wordpress/categories/soa/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.javalinux.it/wordpress</link>
	<description>Alessio &#38; Stefano ideas</description>
	<lastBuildDate>Tue, 20 Apr 2010 09:59:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>JBossESB and Wise to implement ETL phase for a big DataWareHouse</title>
		<link>http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/</link>
		<comments>http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 21:28:10 +0000</pubDate>
		<dc:creator>Stefano MAESTRI</dc:creator>
				<category><![CDATA[SOA]]></category>
		<category><![CDATA[esb]]></category>
		<category><![CDATA[jbossfeed]]></category>
		<category><![CDATA[jbossws]]></category>
		<category><![CDATA[webserice]]></category>
		<category><![CDATA[wise]]></category>

		<guid isPermaLink="false">http://www.javalinux.it/wordpress/?p=95</guid>
		<description><![CDATA[function fbs_click() { u=location.href; t=document.title; window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent(u)+"&#038;t="+encodeURIComponent(t),"sharer","toolbar=0,status=0,width=626,height=436"); return false; } html .fb_share_button {display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; height:15px; border:1px solid #d8dfea; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right;} html .fb_share_button:hover {color:#fff; border-color:#295582; background:#3b5998 url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right; text-decoration:none;} Share As I wrote in some previous posts me and my fine team are working from a while to [...]]]></description>
			<content:encoded><![CDATA[<!--S-ButtonZ 1.1.5 Start--><div style="float: right; width: 70px; margin: 0 0 0 10px;">
<script type="text/javascript">
function fbs_click() {
u=location.href;
t=document.title;
window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent(u)+"&t="+encodeURIComponent(t),"sharer","toolbar=0,status=0,width=626,height=436");
return false;
}
</script>
<style type="text/css">
html .fb_share_button {display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; height:15px; border:1px solid #d8dfea; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right;}
html .fb_share_button:hover {color:#fff; border-color:#295582; background:#3b5998 url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right; text-decoration:none;}
</style>
<a href="http://www.facebook.com/share.php?u=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/" class="fb_share_button" onclick="return fbs_click()" target="_blank" style="text-decoration:none;">Share</a></div><div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/";
		var dzone_title = "JBossESB and Wise to implement ETL phase for a big DataWareHouse";
		var dzone_style = "1";
		var dzone_blurb = "																				As I wrote in some previous posts me and my fine team are working from a while to a project using JBossESB Wise action in a real world enterprise application. We are using it for the ETL (Extract Transfor Load) phase for a big DWH...";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "";
		digg_title = "JBossESB and Wise to implement ETL phase for a big DataWareHouse";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><!--S-ButtonZ 1.1.5 End--><div class="tweetmeme_button" style="float: right; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.javalinux.it%2Fwordpress%2F2008%2F09%2F15%2Fjbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.javalinux.it%2Fwordpress%2F2008%2F09%2F15%2Fjbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>As I wrote in some previous posts me and my fine team are working from a while to a project using <a href="http://www.jboss.org/jbossesb/" target="_blank">JBossESB</a> <a href="http://www.javalinuxlabs.org/" target="_blank">Wise</a> action in a real world enterprise application. We are using it for the <a href="http://en.wikipedia.org/wiki/Extract,_transform,_load" target="_blank">ETL (Extract Transfor Load)</a> phase for a big <a href="http://en.wikipedia.org/wiki/Data_warehouse" target="_blank">DWH (Data Ware House)</a> with an incremental loading of data.</p>
<p>In a nutshell we trace logical changes on an <a href="http://en.wikipedia.org/wiki/OLTP" target="_blank">OLTP</a> database (it&#8217;s a financial DB where all changes can be associated logically to a single company or at least to a network of company related for various reasons). Then we use JBossESB (and in particular SQLGateway) to periodically treat modified companies and extracting and enriching information to be loaded on the DWH instance. Where wise have its place? Well a lot of information and business rule to extract or enrich data have been implemented as <a href="http://en.wikipedia.org/wiki/Webservices" target="_blank">webservices</a> in last 3/4 years. So it&#8217;s pretty natural to reuse them to implement this last application.</p>
<p>Ok, it&#8217;s the bird eye view of the problem and the solution. On the rest of the post I&#8217;ll go in more formal details, starting with requirement and environment description</p>
<h2>Requirement and environment description</h2>
<p>The main requirement have been to collect a set of data regarding a large set of company (about 5 million) in a DWH for a marketing analysis. This data comes from different systems: 3 different OLTP relational database, and legacy host based system, an external provider. The good news is that both host system and external provider are accessible using webservices. Moreover OLTP databases have some webservices extracting data applying complex business rules; they doesn&#8217;t cover all requirements, but these DBs are completely under control of our development team, and dedicated jdbc and/or EJB3 access could be developed for new goals.</p>
<p>The final users would update it&#8217;s DWH with daily frequency. The large amount of data made impossible to extract transform and load the whole data every night. We have decided to keep track of changes on the main OLTP DB, and reload completely companies changed (some thousands a day).</p>
<p>Of course this approach isn&#8217;t totally new, incremental ETL are pretty common in DWH world, and all vendors have its own proprietary solution. While these proprietary system have its place and its plus, isn&#8217;t IMHO sufficient flexible to support an heterogeneous environment as one described. I thought it&#8217;s better to track with proprietary triggers logical significative changes (not a lot in fact) and adopt a SOA solution for ETL. It would be better in terms of flexibility and would permit us to reuse much more easily a lot of already written services containig complex business rules.</p>
<p>So the solution adopted have been based on JBossESB ant its composed by these macro steps:</p>
<ol>
<li>A set of triggers on 2 of 3 named OLTP DB collect changes and write a unique identifier of the company in a dedicated table</li>
<li>A SQLGateway consume this table (the frequency of wake up and filters of the query are designed to avoid excessive and and not useful double treatment of companies due to double linked changes)</li>
<li>Any company is processed by a set of action chains. This actions could be locally defined actions reading relational database or Wise based web services invocations. A content based router policy route messages from an action chain to the next one.</li>
<li>Finally data extracted and transformed are written on the DWH.</li>
</ol>
<p>Point 3 is of course the core of the system. The SQLGateway create a message containing a pojo object called Company and any successive action trasform or enrich this object with data collected and business rules applied. Wise&#8217;s based action calls webservices and use smooks to transform and enrich input object with ws returned values. Using CBR and continuous enrichment of the same object we get at last action (writeOnDWH) an object with all data needed t be written on the DWH.</p>
<h2>Focus on Wise</h2>
<p>A lot of actions are simply webservices calls implemented with a zero-code approach using Wise. We had just to write jboss-esb.xml fragment for webservice call and smooks config files to get a lot of business rules reused. It have been really GREAT!</p>
<p>I need to add some patch to current integration in ESB to obtain the max response from wise, but results have been really impressive: we had something like 90K company processed in an hour. What does it mean in finer details? Well from wise point of view about <span style="text-decoration: underline;"><span style="color: #ff0000;"><strong>300K web services calls in an hour!</strong></span></span><br />
Well also performance and numbers of ESB have been impressive: we are running on a single Linux64 machine (AMD64 double dual core) with 10 jms-listener processing 10 different chains  (200 concurrent 3ad for any jms-listener) for a t<strong>otal of 1.7M (wise and not) of actions called in an hour.</strong></p>
<h4>Isn&#8217;t it impressive numbers?</h4>
<p>There is a list of patches I applied to wise/esb integration to support my requirement. All the code are committed on my workspace (maeste) in <a href="http://www.jboss.org/jbossesb/subversion.html">ESB svn</a>:</p>
<table id="searchresults_portlet_12313828" border="0" cellspacing="1" cellpadding="3" width="100%">
<tbody>
<tr class="rowNormal JBESB-2019-tr">
<td width="1%"><a href="https://jira.jboss.org/jira/browse/JBESB-2019"> <img title="Feature Request - A new feature of the product, which has yet to be developed." src="https://jira.jboss.org/jira/images/icons/newfeature.gif" border="0" alt="Feature Request" width="16" height="16" align="absmiddle" /> </a></td>
<td width="1%"><span style="font-size: xx-small;"><a href="https://jira.jboss.org/jira/browse/JBESB-2019" target="_blank"><span class="issuekey">JBESB-2019</span></a></span></td>
<td width="100%"><a style="text-decoration: none;" href="https://jira.jboss.org/jira/browse/JBESB-2019">wise should  pass to smooks response mapper also input data to permit continuos enrichement of message</a></td>
<td width="1%"><img title="Major - A request that should be considered seriously but is not a show stopper." src="https://jira.jboss.org/jira/images/icons/priority_major.gif" border="0" alt="Major" width="16" height="16" align="absmiddle" /></td>
</tr>
<tr class="rowAlternate JBESB-2020-tr">
<td width="1%"><a href="https://jira.jboss.org/jira/browse/JBESB-2020"> <img title="Bug - A problem which impairs or prevents the functions of the product." src="https://jira.jboss.org/jira/images/icons/bug.gif" border="0" alt="Bug" width="16" height="16" align="absmiddle" /> </a></td>
<td width="1%"><span style="font-size: xx-small;"><a href="https://jira.jboss.org/jira/browse/JBESB-2020" target="_blank"><span class="issuekey">JBESB-2020</span></a></span></td>
<td width="100%"><a style="text-decoration: none;" href="https://jira.jboss.org/jira/browse/JBESB-2020">wise have a bug for which it may download too many wsdls and store them in a temporary dir</a></td>
<td width="1%"><img title="Major - A request that should be considered seriously but is not a show stopper." src="https://jira.jboss.org/jira/images/icons/priority_major.gif" border="0" alt="Major" width="16" height="16" align="absmiddle" /></td>
</tr>
<tr class="rowNormal JBESB-2021-tr">
<td width="1%"><a href="https://jira.jboss.org/jira/browse/JBESB-2021"> <img title="Feature Request - A new feature of the product, which has yet to be developed." src="https://jira.jboss.org/jira/images/icons/newfeature.gif" border="0" alt="Feature Request" width="16" height="16" align="absmiddle" /> </a></td>
<td width="1%"><span style="font-size: xx-small;"><a href="https://jira.jboss.org/jira/browse/JBESB-2021" target="_blank"><span class="issuekey">JBESB-2021</span></a></span></td>
<td width="100%"><a style="text-decoration: none;" href="https://jira.jboss.org/jira/browse/JBESB-2021">add configurability for location where wise store smooks reports for its transformation</a></td>
<td width="1%"><img title="Major - A request that should be considered seriously but is not a show stopper." src="https://jira.jboss.org/jira/images/icons/priority_major.gif" border="0" alt="Major" width="16" height="16" align="absmiddle" /></td>
</tr>
<tr class="rowAlternate JBESB-2022-tr">
<td width="1%"><a href="https://jira.jboss.org/jira/browse/JBESB-2022"> <img title="Bug - A problem which impairs or prevents the functions of the product." src="https://jira.jboss.org/jira/images/icons/bug.gif" border="0" alt="Bug" width="16" height="16" align="absmiddle" /> </a></td>
<td width="1%"><span style="font-size: xx-small;"><a href="https://jira.jboss.org/jira/browse/JBESB-2022" target="_blank"><span class="issuekey">JBESB-2022</span></a></span></td>
<td width="100%"><a style="text-decoration: none;" href="https://jira.jboss.org/jira/browse/JBESB-2022">wise doesn&#8217;t clean its internal smooks cache</a></td>
<td width="1%"><img title="Major - A request that should be considered seriously but is not a show stopper." src="https://jira.jboss.org/jira/images/icons/priority_major.gif" border="0" alt="Major" width="16" height="16" align="absmiddle" /></td>
</tr>
<tr class="rowNormal JBESB-2023-tr">
<td width="1%"><a href="https://jira.jboss.org/jira/browse/JBESB-2023"> <img title="Bug - A problem which impairs or prevents the functions of the product." src="https://jira.jboss.org/jira/images/icons/bug.gif" border="0" alt="Bug" width="16" height="16" align="absmiddle" /> </a></td>
<td width="1%"><span style="font-size: xx-small;"><a href="https://jira.jboss.org/jira/browse/JBESB-2023" target="_blank"><span class="issuekey">JBESB-2023</span></a></span></td>
<td width="100%"><a style="text-decoration: none;" href="https://jira.jboss.org/jira/browse/JBESB-2023">Wise is failed to consume a wsdl which contains two schema element with same name and different namespace . </a></td>
<td width="1%"><img title="Major - A request that should be considered seriously but is not a show stopper." src="https://jira.jboss.org/jira/images/icons/priority_major.gif" border="0" alt="Major" width="16" height="16" align="absmiddle" /></td>
</tr>
<tr class="rowAlternate JBESB-2036-tr">
<td width="1%"><a href="https://jira.jboss.org/jira/browse/JBESB-2036"> <img title="Bug - A problem which impairs or prevents the functions of the product." src="https://jira.jboss.org/jira/images/icons/bug.gif" border="0" alt="Bug" width="16" height="16" align="absmiddle" /> </a></td>
<td width="1%"><span style="font-size: xx-small;"><a href="https://jira.jboss.org/jira/browse/JBESB-2036" target="_blank"><span class="issuekey">JBESB-2036</span></a></span></td>
<td width="100%"><a style="text-decoration: none;" href="https://jira.jboss.org/jira/browse/JBESB-2036">wise&#8217;s sample have problem because targetPackage not specified in properties files</a></td>
<td width="1%"><img title="Major - A request that should be considered seriously but is not a show stopper." src="https://jira.jboss.org/jira/images/icons/priority_major.gif" border="0" alt="Major" width="16" height="16" align="absmiddle" /></td>
</tr>
<tr class="rowNormal JBESB-2037-tr">
<td width="1%"><a href="https://jira.jboss.org/jira/browse/JBESB-2037"> <img title="Feature Request - A new feature of the product, which has yet to be developed." src="https://jira.jboss.org/jira/images/icons/newfeature.gif" border="0" alt="Feature Request" width="16" height="16" align="absmiddle" /> </a></td>
<td width="1%"><span style="font-size: xx-small;"><a href="https://jira.jboss.org/jira/browse/JBESB-2037" target="_blank"><span class="issuekey">JBESB-2037</span></a></span></td>
<td width="100%"><a style="text-decoration: none;" href="https://jira.jboss.org/jira/browse/JBESB-2037">Avoid excessive reflective inspection of wise classes for better performance</a></td>
<td width="1%"><img title="Major - A request that should be considered seriously but is not a show stopper." src="https://jira.jboss.org/jira/images/icons/priority_major.gif" border="0" alt="Major" width="16" height="16" align="absmiddle" /></td>
</tr>
</tbody>
</table>
<p>I can&#8217;t go in more detail of the implementation or put here configs files because I cna&#8217;t reveal any business details of the application. I&#8217;ll try in next future to arrange an example totally equivalent in technology content, but without any link to real business content. If you are interested let me know, but be patients&#8230;it&#8217;s not a joke and I&#8217;m very very busy these days.</p>
<h4>Thanks to my team (special thanks to Paolo and Luca)  and all contributors of Wise and ESB to make it possible <img src='http://www.javalinux.it/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </h4>
<p>PS: what about <a href="http://milyn.codehaus.org/jbossesb/huge-split-route-qs/README.html" target="_blank">huge split and route qs</a> included in ESB 4.4. Well they cover different problems, even if not far each other. The main difference is that here we haven&#8217;t a huge message to split and route, but a lot of little message to enrich and then route (content based) to next enrichment phases.</p>
<div style="clear:both;">&nbsp;</div>

<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;title=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;title=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;title=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse&amp;desc=As%20I%20wrote%20in%20some%20previous%20posts%20me%20and%20my%20fine%20team%20are%20working%20from%20a%20while%20to%20a%20project%20using%20JBossESB%20Wise%20action%20in%20a%20real%20world%20enterprise%20application.%20We%20are%20using%20it%20for%20the%20ETL%20%28Extract%20Transfor%20Load%29%20phase%20for%20a%20big%20DWH%20%28Data%20Ware%20House%29%20with%20an%20incremental%20loading%20of%20data.%0D%0A%0D%0AIn%20a%20nutshe" rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.dzone.com/links/add.html?url=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;title=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse&amp;description=As%20I%20wrote%20in%20some%20previous%20posts%20me%20and%20my%20fine%20team%20are%20working%20from%20a%20while%20to%20a%20project%20using%20JBossESB%20Wise%20action%20in%20a%20real%20world%20enterprise%20application.%20We%20are%20using%20it%20for%20the%20ETL%20%28Extract%20Transfor%20Load%29%20phase%20for%20a%20big%20DWH%20%28Data%20Ware%20House%29%20with%20an%20incremental%20loading%20of%20data.%0D%0A%0D%0AIn%20a%20nutshe" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;t=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-friendfeed">
			<a href="http://www.friendfeed.com/share?title=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse&amp;link=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/" rel="nofollow" class="external" title="Share this on FriendFeed">Share this on FriendFeed</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;title=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse&amp;srcUrl=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;srcTitle=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse&amp;snippet=As%20I%20wrote%20in%20some%20previous%20posts%20me%20and%20my%20fine%20team%20are%20working%20from%20a%20while%20to%20a%20project%20using%20JBossESB%20Wise%20action%20in%20a%20real%20world%20enterprise%20application.%20We%20are%20using%20it%20for%20the%20ETL%20%28Extract%20Transfor%20Load%29%20phase%20for%20a%20big%20DWH%20%28Data%20Ware%20House%29%20with%20an%20incremental%20loading%20of%20data.%0D%0A%0D%0AIn%20a%20nutshe" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;title=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse&amp;summary=As%20I%20wrote%20in%20some%20previous%20posts%20me%20and%20my%20fine%20team%20are%20working%20from%20a%20while%20to%20a%20project%20using%20JBossESB%20Wise%20action%20in%20a%20real%20world%20enterprise%20application.%20We%20are%20using%20it%20for%20the%20ETL%20%28Extract%20Transfor%20Load%29%20phase%20for%20a%20big%20DWH%20%28Data%20Ware%20House%29%20with%20an%20incremental%20loading%20of%20data.%0D%0A%0D%0AIn%20a%20nutshe&amp;source=Legolas in Minas Tirith" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;bm_description=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;title=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;title=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/&amp;title=JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=RT+%40maeste+JBossESB+and+Wise+to+implement+ETL+phase+for+a+big+DataWareHouse+-+http://cli.gs/3Wzmt&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.javalinux.it/wordpress/2008/09/15/jbossesb-and-wise-to-implement-etl-phase-for-a-big-datawarehouse/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JBossESB 4.4 have a new zero-code webservice invoker</title>
		<link>http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/</link>
		<comments>http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 21:20:33 +0000</pubDate>
		<dc:creator>Stefano MAESTRI</dc:creator>
				<category><![CDATA[SOA]]></category>
		<category><![CDATA[esb]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[jbossfeed]]></category>
		<category><![CDATA[webserice]]></category>
		<category><![CDATA[wise]]></category>

		<guid isPermaLink="false">http://www.javalinux.it/wordpress/?p=82</guid>
		<description><![CDATA[function fbs_click() { u=location.href; t=document.title; window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent(u)+"&#038;t="+encodeURIComponent(t),"sharer","toolbar=0,status=0,width=626,height=436"); return false; } html .fb_share_button {display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; height:15px; border:1px solid #d8dfea; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right;} html .fb_share_button:hover {color:#fff; border-color:#295582; background:#3b5998 url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right; text-decoration:none;} Share We are proud to announce that recently released JBossESB 4.4 contain a wise based implementation of webservice client [...]]]></description>
			<content:encoded><![CDATA[<!--S-ButtonZ 1.1.5 Start--><div style="float: right; width: 70px; margin: 0 0 0 10px;">
<script type="text/javascript">
function fbs_click() {
u=location.href;
t=document.title;
window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent(u)+"&t="+encodeURIComponent(t),"sharer","toolbar=0,status=0,width=626,height=436");
return false;
}
</script>
<style type="text/css">
html .fb_share_button {display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; height:15px; border:1px solid #d8dfea; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right;}
html .fb_share_button:hover {color:#fff; border-color:#295582; background:#3b5998 url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right; text-decoration:none;}
</style>
<a href="http://www.facebook.com/share.php?u=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/" class="fb_share_button" onclick="return fbs_click()" target="_blank" style="text-decoration:none;">Share</a></div><div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/";
		var dzone_title = "JBossESB 4.4 have a new zero-code webservice invoker";
		var dzone_style = "1";
		var dzone_blurb = "																				We are proud to announce that recently released JBossESB 4.4 contain a wise based implementation of webservice client invoker.In a nutshell it is a zero-code webservice caller supporting smooks based mapping, and pluggable JAX-WS handler....";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "";
		digg_title = "JBossESB 4.4 have a new zero-code webservice invoker";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><!--S-ButtonZ 1.1.5 End--><div class="tweetmeme_button" style="float: right; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.javalinux.it%2Fwordpress%2F2008%2F08%2F07%2Fjbossesb-44-have-a-new-zero-code-ws-invoker%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.javalinux.it%2Fwordpress%2F2008%2F08%2F07%2Fjbossesb-44-have-a-new-zero-code-ws-invoker%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>We are proud to announce that<a href="http://www.jboss.com/index.html?module=bb&amp;op=viewtopic&amp;p=4169068#4169068" target="_blank"> recently released</a> <a href="http://www.jboss.org/jbossesb/" target="_self">JBossESB</a> 4.4 contain a <a href="http://www.javalinuxlabs.org/wise/index.html" target="_blank">wise</a> based implementation of webservice client invoker.</p>
<p>In a nutshell it is a zero-code webservice caller supporting <a href="http://milyn.codehaus.org" target="_blank">smooks</a> based mapping, and pluggable JAX-WS handler. Here is an abstract of the message with which I presented it to ESB community (<a href="http://www.jboss.com/index.html?module=bb&amp;op=viewtopic&amp;t=137998" target="_blank">here</a> you find original message and related discussion):</p>
<blockquote><p><span class="postbody">It uses wsconsume API to dynamically generate client object and invoke web service, delagating to JBossWS JAX-WS implementation the dirty job.<br />
It use smooks under the hood to transform user defined object into JAX-WS generated ones.</span></p>
<p>It support also standard JAX-WS handler and a generic smooks transformation handler to apply transformation to generated soap messages.</p>
<p>You can find it in my workspace under  product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/wise/<br />
I also wrote javadoc for the action class explaining how to use it and e example demonstrating 3 common use case:</p>
<p>* Direct call of a simple service without any mapping is needed<br />
* Call of a service using a smooks mapper java-to-java<br />
* Call a simple webservices without mapping, but with an handler<br />
modifying  header with smooks and an handler logging on System.out<br />
request and response<br />
In this 3 examples don&#8217;t forget to have a look to wise-core.properties for some important configs. Of course they could be integrated in action&#8217;s config in jboss-esb.xml in next future, but this first implementation leave them there.</p>
<p>On wise roadmap I have the implementation of webservices&#8217; call receiving different resources (CSV, XML and so on) using smooks to map it on JAX-WS generated client objects, giving another interesting opportunity in ESB environment.</p>
<p>It is an initial implementation, and I need to integrate wise objects generation with new smooks configgenerator ( <a class="postlink" href="http://milyn.codehaus.org/Smooks+User+Guide#SmooksUserGuide-GeneratingtheSmooksBindingConfiguration" target="_blank">http://milyn.codehaus.org/Smooks+User+Guide#SmooksUserGuide-GeneratingtheSmooksBindingConfiguration</a> ) to make user experience easier.</p></blockquote>
<p>Moreover we are working on wise-core to improve it and make it more configurable an pluggable and support much more stuffs. I&#8217;ll post a roadmap soon.</p>
<p>Stay tuned!</p>
<div style="clear:both;">&nbsp;</div>

<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;title=JBossESB+4.4+have+a+new+zero-code+webservice+invoker" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;title=JBossESB+4.4+have+a+new+zero-code+webservice+invoker" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;title=JBossESB+4.4+have+a+new+zero-code+webservice+invoker&amp;desc=We%20are%20proud%20to%20announce%20that%20recently%20released%20JBossESB%204.4%20contain%20a%20wise%20based%20implementation%20of%20webservice%20client%20invoker.%0D%0A%0D%0AIn%20a%20nutshell%20it%20is%20a%20zero-code%20webservice%20caller%20supporting%20smooks%20based%20mapping%2C%20and%20pluggable%20JAX-WS%20handler.%20Here%20is%20an%20abstract%20of%20the%20message%20with%20which%20I%20presented" rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.dzone.com/links/add.html?url=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;title=JBossESB+4.4+have+a+new+zero-code+webservice+invoker&amp;description=We%20are%20proud%20to%20announce%20that%20recently%20released%20JBossESB%204.4%20contain%20a%20wise%20based%20implementation%20of%20webservice%20client%20invoker.%0D%0A%0D%0AIn%20a%20nutshell%20it%20is%20a%20zero-code%20webservice%20caller%20supporting%20smooks%20based%20mapping%2C%20and%20pluggable%20JAX-WS%20handler.%20Here%20is%20an%20abstract%20of%20the%20message%20with%20which%20I%20presented" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;t=JBossESB+4.4+have+a+new+zero-code+webservice+invoker" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-friendfeed">
			<a href="http://www.friendfeed.com/share?title=JBossESB+4.4+have+a+new+zero-code+webservice+invoker&amp;link=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/" rel="nofollow" class="external" title="Share this on FriendFeed">Share this on FriendFeed</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;title=JBossESB+4.4+have+a+new+zero-code+webservice+invoker&amp;srcUrl=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;srcTitle=JBossESB+4.4+have+a+new+zero-code+webservice+invoker&amp;snippet=We%20are%20proud%20to%20announce%20that%20recently%20released%20JBossESB%204.4%20contain%20a%20wise%20based%20implementation%20of%20webservice%20client%20invoker.%0D%0A%0D%0AIn%20a%20nutshell%20it%20is%20a%20zero-code%20webservice%20caller%20supporting%20smooks%20based%20mapping%2C%20and%20pluggable%20JAX-WS%20handler.%20Here%20is%20an%20abstract%20of%20the%20message%20with%20which%20I%20presented" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;title=JBossESB+4.4+have+a+new+zero-code+webservice+invoker&amp;summary=We%20are%20proud%20to%20announce%20that%20recently%20released%20JBossESB%204.4%20contain%20a%20wise%20based%20implementation%20of%20webservice%20client%20invoker.%0D%0A%0D%0AIn%20a%20nutshell%20it%20is%20a%20zero-code%20webservice%20caller%20supporting%20smooks%20based%20mapping%2C%20and%20pluggable%20JAX-WS%20handler.%20Here%20is%20an%20abstract%20of%20the%20message%20with%20which%20I%20presented&amp;source=Legolas in Minas Tirith" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;bm_description=JBossESB+4.4+have+a+new+zero-code+webservice+invoker&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;title=JBossESB+4.4+have+a+new+zero-code+webservice+invoker" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;title=JBossESB+4.4+have+a+new+zero-code+webservice+invoker" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/&amp;title=JBossESB+4.4+have+a+new+zero-code+webservice+invoker" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=RT+%40maeste+JBossESB+4.4+have+a+new+zero-code+webservice+invoker+-+http://cli.gs/MY3EH&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.javalinux.it/wordpress/2008/08/07/jbossesb-44-have-a-new-zero-code-ws-invoker/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>SOA and heterogeneous technology environmet: eggs and chicken problem</title>
		<link>http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/</link>
		<comments>http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 20:22:40 +0000</pubDate>
		<dc:creator>Stefano MAESTRI</dc:creator>
				<category><![CDATA[SOA]]></category>
		<category><![CDATA[esb]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jbossfeed]]></category>

		<guid isPermaLink="false">http://www.javalinux.it/wordpress/?p=49</guid>
		<description><![CDATA[function fbs_click() { u=location.href; t=document.title; window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent(u)+"&#038;t="+encodeURIComponent(t),"sharer","toolbar=0,status=0,width=626,height=436"); return false; } html .fb_share_button {display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; height:15px; border:1px solid #d8dfea; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right;} html .fb_share_button:hover {color:#fff; border-color:#295582; background:#3b5998 url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right; text-decoration:none;} Share One of the use case for witch a SOA (ESB) solutions is recommended is when you have to [...]]]></description>
			<content:encoded><![CDATA[<!--S-ButtonZ 1.1.5 Start--><div style="float: right; width: 70px; margin: 0 0 0 10px;">
<script type="text/javascript">
function fbs_click() {
u=location.href;
t=document.title;
window.open("http://www.facebook.com/sharer.php?u="+encodeURIComponent(u)+"&t="+encodeURIComponent(t),"sharer","toolbar=0,status=0,width=626,height=436");
return false;
}
</script>
<style type="text/css">
html .fb_share_button {display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; height:15px; border:1px solid #d8dfea; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right;}
html .fb_share_button:hover {color:#fff; border-color:#295582; background:#3b5998 url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif?8:26981) no-repeat top right; text-decoration:none;}
</style>
<a href="http://www.facebook.com/share.php?u=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/" class="fb_share_button" onclick="return fbs_click()" target="_blank" style="text-decoration:none;">Share</a></div><div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/";
		var dzone_title = "SOA and heterogeneous technology environmet: eggs and chicken problem";
		var dzone_style = "1";
		var dzone_blurb = "																				One of the use case for witch a SOA (ESB) solutions is recommended is when you have to manage a complex &#8220;technology heterogeneous&#8221; environment.Well, I&#8217;m thinking about a good design for some new important feature...";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><div style="float: right; width: 42px; padding-right: 10px; margin: 0 0 0 10px;">
		<script type="text/javascript">
		<!--
		digg_url = "http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/";
		digg_bgcolor = "#FFFFFF";
		digg_skin = "";
		digg_window = "";
		digg_title = "SOA and heterogeneous technology environmet: eggs and chicken problem";
		digg_media = "news";
		digg_topic = "";
		digg_bodytext = "";
		//-->
		</script>
		<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div><!--S-ButtonZ 1.1.5 End--><div class="tweetmeme_button" style="float: right; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.javalinux.it%2Fwordpress%2F2008%2F07%2F20%2Fsoa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.javalinux.it%2Fwordpress%2F2008%2F07%2F20%2Fsoa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>One of the use case for witch a SOA (ESB) solutions is recommended is when you have to manage a complex &#8220;technology heterogeneous&#8221; environment.</p>
<p>Well, I&#8217;m thinking about a good design for some new important feature to be added to our complex environment. Our environment is indeed complex, with wide impact, with heterogeneous needing, but it is quite homogeneous in technology. OK, it isn&#8217;t a monolithic system, it is build by a lot of part, but a lot of this part are java(2ee)/oracle based.</p>
<p>But the question is:<strong>do I like to keep my system so homogeneous?</strong> IOW if I invest a lot of money adding these new features to my system, which involve to use/review most of developed software, <strong>is it really the right choice to keep it all based on java?</strong></p>
<p>I&#8217;m a java guru and fun using it as my main development language in last 10 years, but my answer is</p>
<h3>NO</h3>
<p>Why NO? Because if I take a look behind in the past I can see a lot of system architects answering &#8220;yes!&#8221; at same question 20 years ago substituting &#8220;Java&#8221; with &#8220;COBOL&#8221;. And a shudder come on my back&#8230;would I really sentence my system to be so strictly coupled with a single technology and loose flexibility and cool feature of newer technology? I&#8217;m not sure Java will become the next COBOL going to be static and legacy, but for sure, if I would answer yes I would be disown my ideas of &#8220;open system&#8221;.</p>
<p>There are so good languages and technologies kicking around, which probably solve better some kind of problem. <a href="http://groovy.codehaus.org/" target="_blank">Groovy</a>, <a href="http://www.scala-lang.org/" target="_blank">Scala</a> and <a href="http://www.ruby-lang.org/en/" target="_blank">Ruby</a> are the most famous, but we have also <a href="http://groovy.codehaus.org/" target="_blank">Erlang</a>, <a href="http://factorcode.org/" target="_blank">Factor</a> (with good ideas and <a href="http://factorcode.org/slava/" target="_blank">a friend of mine</a> behind), and even more legacy language like <a href="http://www.perl.org/" target="_blank">perl</a> could have its place in some specific use cases. In general if something could be more productive or more flexible than java for some specific problem, I&#8217;d like to keep doors open. <a href="http://metypefunny.blogspot.com/" target="_blank">Randall</a> did an interesting <a href="http://jbossdna.blogspot.com/2008/06/java-developers-should-learn-ruby.html" target="_blank">post</a> saying java developers should learn other languages, I make a step over saying java developers should <strong>USE</strong> other languages</p>
<p>I&#8217;ve been always open to new technology and solution, would I miss my freedom of choice in favour of my beloved language? No, my freedom is much more important than java <img src='http://www.javalinux.it/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Designing my new system I would use best technology and language for each part of the system. It&#8217;s always a good decision, the good news is integration of these parts could be seamless and painless, we haveSOA/ESB solution.</p>
<p>My conclusion is that isn&#8217;t necessary to have heterogeneous system to go for SOA, probably is the contrary: nowadays we need heterogeneous system to be time to market, to have easier maintenance, and so we need SOA to build and manage it.</p>
<p>SOA and heterogeneous technology environment seems to be the  eggs and chicken problem <img src='http://www.javalinux.it/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thoughts?</p>
<div style="clear:both;">&nbsp;</div>

<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;title=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;title=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;title=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem&amp;desc=One%20of%20the%20use%20case%20for%20witch%20a%20SOA%20%28ESB%29%20solutions%20is%20recommended%20is%20when%20you%20have%20to%20manage%20a%20complex%20%22technology%20heterogeneous%22%20environment.%0D%0A%0D%0AWell%2C%20I%27m%20thinking%20about%20a%20good%20design%20for%20some%20new%20important%20feature%20to%20be%20added%20to%20our%20complex%20environment.%20Our%20environment%20is%20indeed%20complex%2C%20with%20wid" rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-dzone">
			<a href="http://www.dzone.com/links/add.html?url=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;title=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem&amp;description=One%20of%20the%20use%20case%20for%20witch%20a%20SOA%20%28ESB%29%20solutions%20is%20recommended%20is%20when%20you%20have%20to%20manage%20a%20complex%20%22technology%20heterogeneous%22%20environment.%0D%0A%0D%0AWell%2C%20I%27m%20thinking%20about%20a%20good%20design%20for%20some%20new%20important%20feature%20to%20be%20added%20to%20our%20complex%20environment.%20Our%20environment%20is%20indeed%20complex%2C%20with%20wid" rel="nofollow" class="external" title="Add this to DZone">Add this to DZone</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;t=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-friendfeed">
			<a href="http://www.friendfeed.com/share?title=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem&amp;link=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/" rel="nofollow" class="external" title="Share this on FriendFeed">Share this on FriendFeed</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-googlereader">
			<a href="http://www.google.com/reader/link?url=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;title=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem&amp;srcUrl=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;srcTitle=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem&amp;snippet=One%20of%20the%20use%20case%20for%20witch%20a%20SOA%20%28ESB%29%20solutions%20is%20recommended%20is%20when%20you%20have%20to%20manage%20a%20complex%20%22technology%20heterogeneous%22%20environment.%0D%0A%0D%0AWell%2C%20I%27m%20thinking%20about%20a%20good%20design%20for%20some%20new%20important%20feature%20to%20be%20added%20to%20our%20complex%20environment.%20Our%20environment%20is%20indeed%20complex%2C%20with%20wid" rel="nofollow" class="external" title="Add this to Google Reader">Add this to Google Reader</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;title=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem&amp;summary=One%20of%20the%20use%20case%20for%20witch%20a%20SOA%20%28ESB%29%20solutions%20is%20recommended%20is%20when%20you%20have%20to%20manage%20a%20complex%20%22technology%20heterogeneous%22%20environment.%0D%0A%0D%0AWell%2C%20I%27m%20thinking%20about%20a%20good%20design%20for%20some%20new%20important%20feature%20to%20be%20added%20to%20our%20complex%20environment.%20Our%20environment%20is%20indeed%20complex%2C%20with%20wid&amp;source=Legolas in Minas Tirith" rel="nofollow" class="external" title="Share this on LinkedIn">Share this on LinkedIn</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;bm_description=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;title=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;title=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/&amp;title=SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=RT+%40maeste+SOA+and+heterogeneous+technology+environmet%3A+eggs+and+chicken+problem+-+http://cli.gs/0WW7y&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.javalinux.it/wordpress/2008/07/20/soa-and-heterogeneous-technology-environmet-eggs-and-chicken-problem/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
