<?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>Sembrando Realidades &#187; java</title>
	<atom:link href="http://blog.bauna.com.ar/index.php/category/tecno/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.bauna.com.ar</link>
	<description>Un viaje a inciertos destinos</description>
	<lastBuildDate>Fri, 28 May 2010 18:30:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Drools Flow configuration using Spring</title>
		<link>http://blog.bauna.com.ar/index.php/2010/05/drools-flow-configuration-using-spring/</link>
		<comments>http://blog.bauna.com.ar/index.php/2010/05/drools-flow-configuration-using-spring/#comments</comments>
		<pubDate>Fri, 28 May 2010 15:46:34 +0000</pubDate>
		<dc:creator>bauna</dc:creator>
				<category><![CDATA[Drools]]></category>
		<category><![CDATA[Flow]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[PlugTree]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[PlugTree Drools Flow]]></category>

		<guid isPermaLink="false">http://blog.bauna.com.ar/?p=116</guid>
		<description><![CDATA[There are a lot of Drools Flow users that ask us about how to use Drools Flow persistence without JTA transactions, so in order to give those users a proper answer we developed a solution based on the Spring integration. We added support to configure a JpaSessionServiceFactory to the Drools’ configuration namespace. Let’s see how [...]]]></description>
			<content:encoded><![CDATA[<p>There are a lot of Drools Flow users that ask us about how to use Drools Flow persistence without JTA transactions, so in order to give those users a proper answer we developed a solution based on the <a title="Drools Spring Integration" href="http://blog.athico.com/2009/12/drools-spring-improvements.html" target="_blank">Spring integration</a>. We added support to configure a JpaSessionServiceFactory to the Drools’ configuration namespace. Let’s see how to use it on a real example (you can donwload it from:<a title="Drools Flow Spring Example" href="http://www.plugtree.com/downloads/DroolsFlowSpring.tgz"> http://www.plugtree.com/downloads/DroolsFlowSpring.tgz</a>).<br />
Firstly, you need to configure EntityManageFactory and SpringTransactionManager as follows:</p>
<pre class="brush: xml; ">

&lt;bean id=&quot;myEmf&quot; class=&quot;org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean&quot;&gt;
&lt;property name=&quot;dataSource&quot; ref=&quot;ds&quot; /&gt;
&lt;property name=&quot;persistenceUnitName&quot; value=&quot;org.drools.persistence.jpa.local&quot; /&gt;
&lt;/bean&gt;

&lt;bean id=&quot;txManager&quot; class=&quot;org.springframework.orm.jpa.JpaTransactionManager&quot;&gt;
&lt;property name=&quot;entityManagerFactory&quot; ref=&quot;myEmf&quot; /&gt;
&lt;/bean&gt;
</pre>
<p>I’m not showing the datasource configuration because it heavily depends on your deployment but you can grab it from the example <img src='http://blog.bauna.com.ar/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>Secondly, you have to define a kbase that then would be used by the JpaSessionService:</p>
<pre class="brush: xml; ">

&lt;drools:kbase id=&quot;kbase1&quot;&gt;
&lt;drools:resource type=&quot;DRF&quot; source=&quot;classpath:VariablePersistenceStrategyProcess.rf&quot; /&gt;
&lt;/drools:kbase&gt;
</pre>
<p>And finally, you need to define the JpaSessionService:</p>
<pre class="brush: xml; ">

&lt;drools:jpaSessionServiceFactory id=&quot;jpaSingleSessionCommandService&quot; kbase=&quot;kbase1&quot;
entityManagerFactory=&quot;myEmf&quot; transactionManager=&quot;txManager&quot;&gt;
&lt;drools:variablePersisters&gt;
&lt;drools:persister forClass=&quot;javax.persistence.Entity&quot; implementation=&quot;org.drools.persistence.processinstance.persisters.JPAVariablePersister&quot;/&gt;
&lt;drools:persister forClass=&quot;java.lang.String&quot; implementation=&quot;org.plugtree.labs.variablepersistence.StringVariablePersister&quot;/&gt;
&lt;drools:persister forClass=&quot;java.io.Serializable&quot; implementation=&quot;org.drools.persistence.processinstance.persisters.SerializableVariablePersister&quot;/&gt;
&lt;/drools:variablePersisters&gt;
&lt;/drools:jpaSessionServiceFactory&gt;
</pre>
<p>Bear in mind if that you don&#8217;t need to define customs variable persisters the configuration it&#8217;s only one line!.</p>
<p>Then you can inject it to your own beans or create a Spring Context manually, as shown in the this snippet:</p>
<pre class="brush: java; ">

ctx = new ClassPathXmlApplicationContext(&quot;beans.xml&quot;);
JPASingleSessionCommandService jpaService = (JPASingleSessionCommandService) ctx
.getBean(&quot;jpaSingleSessionCommandService&quot;);
SingleSessionCommandService service = jpaService.newStatefulKnowledgeSession();
int sessionId = service.getSessionId();
....
//do something
service.dispose();

Then in a future time retrieve the session:
SingleSessionCommandService service = jpaService.loadStatefulKnowledgeSession(sessionId);
//do something
....
service.dispose();
</pre>
<p>Warning note: when you use the flow persistence with JTA, it automatically reloads the state out the session after a rollback. We couldn&#8217;t do that behavior here since simple database connections doesn&#8217;t provide a listener mechanism as JTA transactions does.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bauna.com.ar/index.php/2010/05/drools-flow-configuration-using-spring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drools-Guvnor improvements adding fact constraints</title>
		<link>http://blog.bauna.com.ar/index.php/2010/03/drools-guvnor-improvements-adding-fact-constraints/</link>
		<comments>http://blog.bauna.com.ar/index.php/2010/03/drools-guvnor-improvements-adding-fact-constraints/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 21:36:00 +0000</pubDate>
		<dc:creator>bauna</dc:creator>
				<category><![CDATA[Drools]]></category>
		<category><![CDATA[Guvnor]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[PlugTree]]></category>
		<category><![CDATA[software libre]]></category>

		<guid isPermaLink="false">http://blog.bauna.com.ar/?p=97</guid>
		<description><![CDATA[As you can see here I&#8217;m working with Esteban under the orders of Commander Salaboy on improving the user experience of writing rules. Following those ideas we implemented some tools for configuring a WorkingSet, a mean for filter which Facts you are able to use inside Guvnor&#8217;s Guided Editor. But that&#8217;s not all what we&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>As you can see <a title="Guvnor’s working sets" href="http://ilesteban.wordpress.com/2010/03/25/guvnors-working-sets/" target="_self">here</a> I&#8217;m working with Esteban under the orders of Commander <a title="Drools Guvnor: Domain Restrictions and Suggestions for Rules Authoring" href="http://salaboy.wordpress.com/2010/03/26/drools-guvnor-domain-restrictions-and-suggestions-for-rules-authoring/" target="_self">Salaboy</a> on improving the user experience of writing rules.</p>
<p>Following those ideas we implemented some tools for configuring a WorkingSet, a mean for filter which Facts you are able to use inside <a title="Drools-Guvnor" href="http://www.jboss.org/drools/drools-guvnor.html" target="_blank">Guvnor&#8217;s</a> Guided Editor. But that&#8217;s not all what we&#8217;ve been doing, you can also define for each field a set of constraints that will restrict what users will be allowing to write inside a rule.</p>
<p>Since a <a title="Guvnor FactConstraints Example" href="http://vimeo.com/10468117" target="_blank">video</a> worth like a thousand posts, I&#8217;ve created one showing the new features using the Guvnor demo model. in the video you&#8217;ll see how to create a new working set. Once the Working Set is created, it shows how to add facts and define constraints for those facts, as you&#8217;ll I defined a Range constraint for a credit Applicant&#8217;s age field. And next to demonstrate how to use a WorkingSet to verify a rule, I&#8217;ve created a new rule adding a restriction that would make the Range Constraint to fire.</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10468117&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=10468117&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
<p><a href="http://vimeo.com/10468117">Guvnor FactConstraints Example</a> from <a href="http://vimeo.com/user3463799">Pablo Nussembaum</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bauna.com.ar/index.php/2010/03/drools-guvnor-improvements-adding-fact-constraints/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Trabajando con Drools</title>
		<link>http://blog.bauna.com.ar/index.php/2009/12/trabajando-con-drools/</link>
		<comments>http://blog.bauna.com.ar/index.php/2009/12/trabajando-con-drools/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 19:53:37 +0000</pubDate>
		<dc:creator>bauna</dc:creator>
				<category><![CDATA[Drools]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://blog.bauna.com.ar/?p=86</guid>
		<description><![CDATA[Una vuelta al mundo del blogging! Acá pueden ver en que estuve laburando en el último tiempo]]></description>
			<content:encoded><![CDATA[<p>Una vuelta al mundo del blogging! <a title="Drools-Spring" href="http://blog.athico.com/2009/12/drools-spring-improvements.html" target="_self">Acá</a> pueden ver en que estuve laburando en el último tiempo</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bauna.com.ar/index.php/2009/12/trabajando-con-drools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curso en el IEEE</title>
		<link>http://blog.bauna.com.ar/index.php/2009/09/curso-en-el-ieee/</link>
		<comments>http://blog.bauna.com.ar/index.php/2009/09/curso-en-el-ieee/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 21:16:29 +0000</pubDate>
		<dc:creator>bauna</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://blog.bauna.com.ar/?p=78</guid>
		<description><![CDATA[El Martes 29 de Septiembre voy a dar una charla en IEEE. La idea es contar qué herramientas existen para dar soporte al proceso de desarrollo ágil. Nos enfocaremos en cómo utilizar, dentro de un proyecto java, herramientas de control de versiones, de generación de versiones, frameworks de testing unitario y para al final lograr [...]]]></description>
			<content:encoded><![CDATA[<p>El Martes 29 de Septiembre voy a dar una charla en IEEE. La idea es contar qué herramientas existen para dar soporte al proceso de desarrollo ágil. Nos enfocaremos en cómo utilizar, dentro de un proyecto java, herramientas de control de versiones, de generación de versiones, frameworks de testing unitario y para al final lograr el objetivo de tener un servicio de Integración Continua automatizado. Para más información vean la página del <a title="IEEE" href="http://www.ieee.org.ar/noticiasdetalle.asp?IDNoticia=285" target="_self">IEEE</a> y se pueden inscribir <a title="acá" href="http://www.ieee.org.ar/sistemainscripciones/InscripcionSolicitud.asp?idevento=60" target="_self">acá</a>.  Y por supuesto todo esto no hubiese sido posible sin la ayuda de <a title="Juan Gabardini" href="http://softwareagil.blogspot.com/" target="_blank">Juan.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bauna.com.ar/index.php/2009/09/curso-en-el-ieee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuevos caminos</title>
		<link>http://blog.bauna.com.ar/index.php/2008/12/nuevo-caminos/</link>
		<comments>http://blog.bauna.com.ar/index.php/2008/12/nuevo-caminos/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 15:31:07 +0000</pubDate>
		<dc:creator>bauna</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[java git eclipse plugins]]></category>

		<guid isPermaLink="false">http://blog.bauna.com.ar/?p=11</guid>
		<description><![CDATA[Gracias a la crisis mundial financiera me he quedado sin trabajo y me he propuesto utilizar esta oportunidad para devolverle algo a la comunidad y si es posible aprender algo nuevo en el camino. La idea es contribuir en el desarrollo del plugin de GIT para Eclipse y bloguear durante el proceso. Ya se que [...]]]></description>
			<content:encoded><![CDATA[<p>Gracias a la crisis mundial financiera me he quedado sin trabajo y me he propuesto utilizar esta oportunidad para devolverle algo a la comunidad y si es posible aprender algo nuevo en el camino. La idea es contribuir en el desarrollo del plugin de <a title="GIT" href="http://git.or.cz/">GIT</a> para <a title="Eclipse" href="http://eclipse.org">Eclipse</a> y bloguear durante el proceso.</p>
<p>Ya se que a nadie le va interesar mucho pero igualmente me gustaría contarles como llegué a esta decisión. Lo que tenía claro desde el primer momento era que al ser yo un geek/nerd importante este blog no iba a estar libre de temas de tecnología, programación y demás nerdiadas. Después me di cuenta que no quería caer en el facilísmo de hacer un blog criticando a algunos de los tantos proyectos/frameworks que andan dando vuelta por ahí, porque la gente que ha participado en ellos dando de su tiempo y esfuerzo, no tienen que además soportar que venga cualquiera se monte un blog y los critique. Pero después pensándolo un poco mejor me dije <em>&#8220;algunos de estos proyectos son un desastre y merecen ser defenestrados con una buena critica, pero&#8230; ¿ cómo ganarme el derecho ? &#8220;</em>, entonces me contesté <em>&#8220;primero hay que dejar de ser cualquiera y participar en un proyecto y ganarse el crédito para poder hablar del trabajo de los demás&#8221;. </em></p>
<p>Con esa última respuesta se empezaba a divisar el camino a seguir, el siguiente paso era elegir un proyecto. Los que primeros que surgieron fueron: <a title="Hibernate" href="http://www.hibernate.org/" target="_self">Hibernate</a>, donde ya me han aceptado algunos bug fixes, y o algo relacionado con <a title="GIT" href="http://git.or.cz/">GIT</a>. Y terminé deciciendome por <a title="GIT" href="http://git.or.cz/">GIT</a> porque es un aporte a dos comunidades a las cuales a admiro mucho. Sigan sintonizados!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bauna.com.ar/index.php/2008/12/nuevo-caminos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

