<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Pentaho Kettle and Integration Testing</title>
	<atom:link href="http://blog.xebia.com/2009/09/30/pentaho-kettle-and-integration-testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.xebia.com/2009/09/30/pentaho-kettle-and-integration-testing/</link>
	<description>Software development done right!</description>
	<lastBuildDate>Wed, 08 Feb 2012 14:41:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Shrikant Vashishtha</title>
		<link>http://blog.xebia.com/2009/09/30/pentaho-kettle-and-integration-testing/#comment-99382</link>
		<dc:creator>Shrikant Vashishtha</dc:creator>
		<pubDate>Mon, 17 Jan 2011 08:20:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.xebia.com/?p=3196#comment-99382</guid>
		<description>Hi Max,

We felt that it was much more difficult to do that and would require a lot of time and resources as there was not much available documentation. Also we didn&#039;t feel very confident that we are under control while implementing enterprise level solution with Kettle because on and off we kept on seeing problems coming. We actually left using Kettle and adopted a new strategy based on Spring Integration implementation and it worked for us.</description>
		<content:encoded><![CDATA[<p>Hi Max,</p>
<p>We felt that it was much more difficult to do that and would require a lot of time and resources as there was not much available documentation. Also we didn&#8217;t feel very confident that we are under control while implementing enterprise level solution with Kettle because on and off we kept on seeing problems coming. We actually left using Kettle and adopted a new strategy based on Spring Integration implementation and it worked for us.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Hofer</title>
		<link>http://blog.xebia.com/2009/09/30/pentaho-kettle-and-integration-testing/#comment-99319</link>
		<dc:creator>Max Hofer</dc:creator>
		<pubDate>Sat, 15 Jan 2011 18:51:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.xebia.com/?p=3196#comment-99319</guid>
		<description>ShriKant, have you made any progress in this direction?

I&#039;m also trying to figure out how to test transformations/jobs in an automated way.</description>
		<content:encoded><![CDATA[<p>ShriKant, have you made any progress in this direction?</p>
<p>I&#8217;m also trying to figure out how to test transformations/jobs in an automated way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shrikant Vashishtha</title>
		<link>http://blog.xebia.com/2009/09/30/pentaho-kettle-and-integration-testing/#comment-92619</link>
		<dc:creator>Shrikant Vashishtha</dc:creator>
		<pubDate>Thu, 01 Oct 2009 05:45:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.xebia.com/?p=3196#comment-92619</guid>
		<description>@Matt - We already used a different properties file and passed it through using TransMeta.injectVariables(). It works fine until we have a sub-transformation underneath. Somehow transformation is not able to pass properties to sub-transformation. If you use EnvUtil.environmentInit(), it overrides the properties passed with the ones existing in kettle.properties (should have been other way round).

I may have been a bit harsh in calling the Kettle code &quot;legacy code&quot; but I could see source code of 6000+ lines which is hard to understand and certainly not designed for testability.

While working with Kettle I found following roadblocks for which may be solutions exist but I could not find them in available resources:
1. Manual restart after failure (the ability to restart from where it failed)
2. Transaction over multiple insert steps
3. Automatic retry (for instance HTTP service or web service) and recovery for items that have exhausted their retry count.
4. Integration testing with database independence (using actual db instead of in-memory db right now)
5. Web services portability. For certain standards it doesn&#039;t work. It&#039;s difficult to ask a web-service vendor to change the web-service itself.

Many a times we used to reach to a wall from where we had to find some workaround. Integration testing (using Continuous Integration) example I mentioned in the blog is one of them.</description>
		<content:encoded><![CDATA[<p>@Matt &#8211; We already used a different properties file and passed it through using TransMeta.injectVariables(). It works fine until we have a sub-transformation underneath. Somehow transformation is not able to pass properties to sub-transformation. If you use EnvUtil.environmentInit(), it overrides the properties passed with the ones existing in kettle.properties (should have been other way round).</p>
<p>I may have been a bit harsh in calling the Kettle code &#8220;legacy code&#8221; but I could see source code of 6000+ lines which is hard to understand and certainly not designed for testability.</p>
<p>While working with Kettle I found following roadblocks for which may be solutions exist but I could not find them in available resources:<br />
1. Manual restart after failure (the ability to restart from where it failed)<br />
2. Transaction over multiple insert steps<br />
3. Automatic retry (for instance HTTP service or web service) and recovery for items that have exhausted their retry count.<br />
4. Integration testing with database independence (using actual db instead of in-memory db right now)<br />
5. Web services portability. For certain standards it doesn&#8217;t work. It&#8217;s difficult to ask a web-service vendor to change the web-service itself.</p>
<p>Many a times we used to reach to a wall from where we had to find some workaround. Integration testing (using Continuous Integration) example I mentioned in the blog is one of them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad</title>
		<link>http://blog.xebia.com/2009/09/30/pentaho-kettle-and-integration-testing/#comment-92615</link>
		<dc:creator>Brad</dc:creator>
		<pubDate>Wed, 30 Sep 2009 14:58:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.xebia.com/?p=3196#comment-92615</guid>
		<description>Great post. We are currently looking into the same issue -- the ability to test Kettle transforms in isolation -- and this is a better explanation than I&#039;ve seen anywhere else (including the Pentaho wiki). 

Matt - your solution of not using kettle.properties is a good one, and I&#039;d agree that Kettle is far more testable than most other ETL tools... no need to get so defensive, though. The poster pointed out some legitimate issues, and this is good feedback for your community.</description>
		<content:encoded><![CDATA[<p>Great post. We are currently looking into the same issue &#8212; the ability to test Kettle transforms in isolation &#8212; and this is a better explanation than I&#8217;ve seen anywhere else (including the Pentaho wiki). </p>
<p>Matt &#8211; your solution of not using kettle.properties is a good one, and I&#8217;d agree that Kettle is far more testable than most other ETL tools&#8230; no need to get so defensive, though. The poster pointed out some legitimate issues, and this is good feedback for your community.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Casters</title>
		<link>http://blog.xebia.com/2009/09/30/pentaho-kettle-and-integration-testing/#comment-92612</link>
		<dc:creator>Matt Casters</dc:creator>
		<pubDate>Wed, 30 Sep 2009 11:16:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.xebia.com/?p=3196#comment-92612</guid>
		<description>It&#039;s always good fun to hear about hard-core programmers that try to solve business intelligence issues.

If you don&#039;t want to load the information in the kettle.properties file, here&#039;s some advice: don&#039;t put anything in there!  The Kettle variable or named parameter system does indeed NOT put anything in java.lang.System.

Not testable?  You got to be kidding me.

Just because you have problems grasping a few basic concepts, that doesn&#039;t mean  you have the right to call Kettle &quot;legacy code&quot; or throw around other insults.  Try to find another way to vent your frustrations.</description>
		<content:encoded><![CDATA[<p>It&#8217;s always good fun to hear about hard-core programmers that try to solve business intelligence issues.</p>
<p>If you don&#8217;t want to load the information in the kettle.properties file, here&#8217;s some advice: don&#8217;t put anything in there!  The Kettle variable or named parameter system does indeed NOT put anything in java.lang.System.</p>
<p>Not testable?  You got to be kidding me.</p>
<p>Just because you have problems grasping a few basic concepts, that doesn&#8217;t mean  you have the right to call Kettle &#8220;legacy code&#8221; or throw around other insults.  Try to find another way to vent your frustrations.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- This Quick Cache file was built for (  blog.xebia.com/2009/09/30/pentaho-kettle-and-integration-testing/feed/ ) in 0.45780 seconds, on Feb 9th, 2012 at 8:25 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 9th, 2012 at 9:25 pm UTC -->
