Visual Basic.NET - transacciones en capas

 
Vista:

transacciones en capas

Publicado por ernie (2 intervenciones) el 27/01/2012 17:03:24
hola, saben de algun ejemplo de arquitectura en capas con transacciones?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

transacciones en capas

Publicado por roger (186 intervenciones) el 27/01/2012 17:19:40
Ejemplo propiamente no, pero acá se trató el tema http://social.msdn.microsoft.com/Forums/es/vcses/thread/61c8059a-886a-4315-a2a3-0eaa903b781a

La idea es que la capa de negocio controle la transaccion haciendo los llamados respectivos a los diferentes componentes de la capa de acceso a datos que interactuan en la operación.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

transacciones en capas

Publicado por elgarbe (6 intervenciones) el 29/01/2012 16:08:42
Hola, yo hago las transacciones en la base de datos, en mi caso SQL Server. por ejemplo, si tengo que almacenar una venta esto implica:
verificar el stock de todo
guardar el encabezado de la venta
guardar los detalles
asentar los movimientos de stock

bueno, el vb.net le pasa al sql server (un SP) una cadena XML con todos los datos (esto es algo que me costo bastante, pero estudiando muchos ejemplos lo saque) y este se encarga de realizar la transaccion y devolverme el OK o un error.

imagino que llevaría las transacciones a la capa de negocios si fuese un programador super groso (y entendiera todo lo que dice el link que te pasaron antes)

saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

transacciones en capas

Publicado por roger (9 intervenciones) el 29/01/2012 16:33:06
De hecho creo que probablemente eres un programador super groso, jejeje, solo que creo que tendrás muchos conocimientos a nivel de transact-sql , creacion de procedimientos almacenados, etc.
Tambien es buena opcion la que planteas, pero dependerá del diseño que se haya planteado para el proyecto, de pronto puede ser necesario ejecutar cierta logica complicada durante la transaccion que sea mas facil de desarrollar y de mantener en el lenguaje de programacion y no en base de datos.
Y bueno, ahi le quedan las dos opciones a Ernie para que evalue cual se ajusta mas a su proyecto.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

transacciones en capas

Publicado por elgarbe (6 intervenciones) el 29/01/2012 17:39:22
Gracias roger, en realidad soy un programador de medio rango para arriba. Pero no me considero groso, para mi un programador grosos es aquel que, en aplicaciones con BD, implementa a la perfeccion las N capas. Yo soy ing. electrónico, pero me apasione el software y en esta oportunidad estoy escribiendo el sistema de gestion de mi empresa.
Estoy leyendo un poco de teoría e implementacion de N capas y veo que hay 2 grandes grupos de programadores. Los que implementan las 3 capas como yo y los que lo hacen de forma "perfecta".
Yo tengo una capa de datos, con 3 metodos genéricos para conectarme a la BD, traer una dataset y ejecutar un comando sobre la BD. Luego tengo la capa de "negocios", la cual he notado que no tiene absolutamente nada de logica, solo esta formada por clases (cCliente, cLocalidad, cCalle, cProveedor, cProduccion) con propiedades y métodos (cCliente.Listar, cCliente.Insert, cCliente.Update, cLocalidad.Listar, cLocalidad.Insert, etc.)
finalmente la presentacion, la cual crea objetos en cada formulario y llena controles o ejecuta acciones usando dichos objetos.
creo que es simple, pero le falta mucho aún.

En fin, ahora estoy tratando de buscar ejemplos que me permitan mejorar mi capa de negocios y puntualmente definir si dejo la conexion abierta mientras dure mi app o si la abro y la cierro con cada accion.

un saludo!

PD: usas msn? te molesta si te hago hago algunas consultas? eres un programador groso, je?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

transacciones en capas

Publicado por roger (9 intervenciones) el 29/01/2012 17:53:27
te recomiendo estos ejemplos de un colaborador en foros de microsoft llamado Leandro Tuttini, son muy buenos http://ltuttini.blogspot.com/2010/08/n-tier-desarrollo-en-capas-ejemplo.html . Igualmente te recomiendo los foros de msdn http://social.msdn.microsoft.com/Forums/es/vcses/threads. Mi msn es [email protected] . Me comentas en lo que te pueda colaborar.

Respecto a lo que dices de la conexión, normalmente se abre y cierra por cada accion que se ejecute en base de datos, cuando se trata de transacciones se cierra cuando se completen todas las operaciones de la transaccion, y en .NET se aconseja el uso de la clase TransactionScope la cual te facilita la tarea; todo lo que este dentro del bloque transactionScope se ejecuta de manera transaccional (en el ejemplo de Leandro Tuttini se ve su uso)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar