<?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: Haciendo nuestros Data Access Object (DAO) transparentemente transaccionales</title>
	<atom:link href="http://www.miguelmatas.es/blog/2007/12/03/haciendo-nuestros-data-access-object-dao-transparentemente-transaccionales/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.miguelmatas.es/blog/2007/12/03/haciendo-nuestros-data-access-object-dao-transparentemente-transaccionales/</link>
	<description>Ingeniería de Software, Gestión de Proyectos, Programación, BPM, Arquitectura de Software, .NET, J2EE</description>
	<lastBuildDate>Thu, 05 Aug 2010 22:02:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Miguel</title>
		<link>http://www.miguelmatas.es/blog/2007/12/03/haciendo-nuestros-data-access-object-dao-transparentemente-transaccionales/comment-page-1/#comment-1252</link>
		<dc:creator>Miguel</dc:creator>
		<pubDate>Sat, 06 Feb 2010 11:41:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.miguelmatas.es/blog/2007/12/03/haciendo-nuestros-data-access-object-dao-transparentemente-transaccionales/#comment-1252</guid>
		<description>Hola Álvaro,

Por darte alguna pista de cómo se puede implementar el TransactionDAO, a partir de los métodos que expone la clase BaseDAO puedes manejar internamente una lista donde vayas cargando los diferentes SQLTransaction en su interior. BaseDAO te va a devolver únicamente ids de las transacciones, que finalmente no son más que el índice que ocupa el SQLTransaction en la lista.

Es una idea muy sencilla, pero que te ayuda a abstraer a los DAO de la transacción que estás utilizando, ayudándote incluso a manejar transacciones distribuidas, ya que el referirte a una transacción desde tu capa de presentación se va a basar únicamente en manejar un id que le puedes ir pasando a la capa de servicios distribuida. Ten en cuenta que un SQLTransaction no lo puedes enviar mediante un parámetro en un servicio web al tratarse de un objeto no serializable.

Un saludo.

Miguel.</description>
		<content:encoded><![CDATA[<p>Hola Álvaro,</p>
<p>Por darte alguna pista de cómo se puede implementar el TransactionDAO, a partir de los métodos que expone la clase BaseDAO puedes manejar internamente una lista donde vayas cargando los diferentes SQLTransaction en su interior. BaseDAO te va a devolver únicamente ids de las transacciones, que finalmente no son más que el índice que ocupa el SQLTransaction en la lista.</p>
<p>Es una idea muy sencilla, pero que te ayuda a abstraer a los DAO de la transacción que estás utilizando, ayudándote incluso a manejar transacciones distribuidas, ya que el referirte a una transacción desde tu capa de presentación se va a basar únicamente en manejar un id que le puedes ir pasando a la capa de servicios distribuida. Ten en cuenta que un SQLTransaction no lo puedes enviar mediante un parámetro en un servicio web al tratarse de un objeto no serializable.</p>
<p>Un saludo.</p>
<p>Miguel.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alvaro</title>
		<link>http://www.miguelmatas.es/blog/2007/12/03/haciendo-nuestros-data-access-object-dao-transparentemente-transaccionales/comment-page-1/#comment-1249</link>
		<dc:creator>Alvaro</dc:creator>
		<pubDate>Wed, 03 Feb 2010 04:28:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.miguelmatas.es/blog/2007/12/03/haciendo-nuestros-data-access-object-dao-transparentemente-transaccionales/#comment-1249</guid>
		<description>Hola Miguel:
Lo primeor darte las gracias por el Blog, me está resolviendo muchas dudas. He estado intentando implementar una aplicación basándome en los consejos que das en la serie de post sobre DAO. En mi caso quiero realizar de forma lo mas transparente posible la eliminación, modificación,etc de datos contra la base de datos. Quiero usar transacciones pues tengo bastantes tablas relacionadas entre sí. La cuestión es que no consigo implementar esas transacciones de forma separada a cada CocheDTO (por poner un ejemplo), pues a lo sumo puedo pasar la transaccion, pero esto me impide usar using a la hora de abrir la conexion. Me gustaría saber si me puedes dar una idea un poco más detallada (si es algún ejemplo mejor) de como implementar BaseDAO y opcionalmente TransactionDAO.
Gracias.</description>
		<content:encoded><![CDATA[<p>Hola Miguel:<br />
Lo primeor darte las gracias por el Blog, me está resolviendo muchas dudas. He estado intentando implementar una aplicación basándome en los consejos que das en la serie de post sobre DAO. En mi caso quiero realizar de forma lo mas transparente posible la eliminación, modificación,etc de datos contra la base de datos. Quiero usar transacciones pues tengo bastantes tablas relacionadas entre sí. La cuestión es que no consigo implementar esas transacciones de forma separada a cada CocheDTO (por poner un ejemplo), pues a lo sumo puedo pasar la transaccion, pero esto me impide usar using a la hora de abrir la conexion. Me gustaría saber si me puedes dar una idea un poco más detallada (si es algún ejemplo mejor) de como implementar BaseDAO y opcionalmente TransactionDAO.<br />
Gracias.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: truney</title>
		<link>http://www.miguelmatas.es/blog/2007/12/03/haciendo-nuestros-data-access-object-dao-transparentemente-transaccionales/comment-page-1/#comment-1131</link>
		<dc:creator>truney</dc:creator>
		<pubDate>Wed, 31 Dec 2008 13:09:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.miguelmatas.es/blog/2007/12/03/haciendo-nuestros-data-access-object-dao-transparentemente-transaccionales/#comment-1131</guid>
		<description>Excelente artículo!!! respecto a la pregunta final pienso que tanto el commit y rollback son obligatorios  en toda transacción desde mi punto de vista, el problema que planteas es si brindarle al programador la libertad de elegir hacer o no uso de ellas  en una transacción, lo cual implica que la clase encargada de manejar las transacciones (TransactionDAO) mantenga por un parte una lista de transacciones y un mecanismo automático para ejecutar dichas sentencias en un plazo determinado de tiempo; esto nos obliga a replantear la pregunta inicial y centrarnos en las opciones disponibles para implementar dicho mecanismo.

Salu2</description>
		<content:encoded><![CDATA[<p>Excelente artículo!!! respecto a la pregunta final pienso que tanto el commit y rollback son obligatorios  en toda transacción desde mi punto de vista, el problema que planteas es si brindarle al programador la libertad de elegir hacer o no uso de ellas  en una transacción, lo cual implica que la clase encargada de manejar las transacciones (TransactionDAO) mantenga por un parte una lista de transacciones y un mecanismo automático para ejecutar dichas sentencias en un plazo determinado de tiempo; esto nos obliga a replantear la pregunta inicial y centrarnos en las opciones disponibles para implementar dicho mecanismo.</p>
<p>Salu2</p>
]]></content:encoded>
	</item>
</channel>
</rss>
