Propuesta de Análisis Practico de CSLA + NHibernate

25 views
Skip to first unread message

Alberto Arroyo

unread,
Sep 19, 2009, 1:09:57 PM9/19/09
to AltNet-Hispano
Buenos Días Colegas:

Les comento que siguiendo con la inicitiva de Fabio y José de utilizar
una aplicación concreta para mostrar las herramientas de desarrollo,
estoy realizando una pequeña demostración de desarrollo usando CSLA.

El día de hoy recien he terminado de codificar la primera serie de
estos artículos que debo estar publicando mañana en mi blog, esta
pequeña demo muestra como desarrollar una aplicación usando CSLA 3.0.6
de forma tradicional MUY ACOPLADA con las siguientes características:

Capa Presentación + UI : Windows Forms (user controls y técnicas
simples de filtro de información).
UI + Capa De Negocio + DAL : CSLA .NET 3.0.6
Base De Datos : SQL Server 2008.

Además de mostrar las características de los BO frente a Reportes y
Gráficos.

La siguiente semana debo empezar a codificar la demo usando CSLA 3.7 ó
3.8 donde debo modularizar más teniendo en cuenta Smart Client
Software Factory, LinqToSQL y Entity Framework.


El objetivo de esta entrada es proponer formalmente (antes lo hice por
twitter) a nuestro amigo Jose Romaniello (de quien ya todos conocemos
sus habilidades) y a todos los interesados a hacer una demo con las
siguientes características:

Capa De Presentación y UI: SCSF ó el que propongan.
Capa De Negocio: CSLA 3.7
Capa De Acceso a Datos: NHibernate.

Y analizar de forma práctica con ejemplos cuales son las ventajas y
desventajas de unir estos frameworks, y tener una base de análisis que
permita a todos los que siguen estos frameworks a decidir sobre su
utilización en conjunto.

Saludos.

Alberto.
http://beyondnet.codesol.info

José F. Romaniello

unread,
Sep 19, 2009, 5:05:31 PM9/19/09
to altnet-...@googlegroups.com
Alberto como ya sabras por todas nuestras otras conversaciones yo no utilizaría CSLA en una aplicación por que todavía no he encontrato los beneficios.

Sin embargo, si por alguna razón fuera a utilizarla, lo que no me van a convencer es de escribir dos veces las mismas cosas. Por lo tanto para mi forma de pensar, no es compatible escribir POCO's por un lado, mapearlos con nhibernate y que mis BusinessObject usen dichos POCO's

Por lo tanto de aca se desprenden dos alternativas:
  • Mapear con nhibernate directamente business objects. Yo no sé como esto se hace y si es verdaderamente compatible. (aunque un pajaro me conto que si lo hizo)
  • No utilizar nhibernate y utilizar un Data Mapper como Linq To Sql, el cual SOLO me permite manipular la base de datos de una forma mas orientada a objetos. Y llevar a cabo dicha manipulación dentro de mi business object.
Me parece que para CSLA.Net es mas factible la segunda opción...Algo como lo que hizo Rob Connery en su aplicación de store front. En la cual él tiene busines objects programados por él y debajo de eso usa linq to sql.

Alberto Arroyo

unread,
Sep 27, 2009, 10:42:59 AM9/27/09
to AltNet-Hispano
Hola Jose:

Disculpa la demora amigo, pero como ya te comente por twitter estuve
muy atareado por estos días, bueno te comento que ya coloque en mi
blog http://beyondnet.codesol.info y el de la comunidad hispana CSLA
http://www.cslanet.org la demo versión beta de lo que te comenté:

En la entrada vamos a ver el desarrollo de una pequeña aplicación
usando CSLA .NET 3.0.5 de forma tradicional hasta antes del último
libro Expert Business Objects C# 2008 publicado por Rocky, ten en
cuenta que al tratarse de una forma tradicional de desarrollo en CSLA
para las versiones 3.0.5 ó inferiores, la aplicación es muy acoplada
y dependiente en su totalidad del framework. El objetivo de esta
entrada es mostrar el desarrollo tradicional con CSLA y en otra
próxima entrada utilizar la última versión del framework y permitir un
mayor desacoplamiento en base a responsabilidades.

La próxima entrada en este blog para la demo CubiDemo, contemplará:

◦CSLA 3.8 (uso de ObjectFactory, Padres, Hijos, Nietos, Transacciones)
◦Enterprise Library (DAAB).
◦LinqToCSLA
◦Entity Framework, mientras empiezo mi camino de aprendizaje de
NHibernate (ESPERO MUCHO TU AYUDA EN MI APRENDIZAJE)
◦SCSF ó ASP .NET MVC.

Seguro vas a encontrar cientos de errores de programación, pero espero
me corrigas, podamos apoyarnos y compartir conocimientos.

Espero que podamos seguir avanzando y ver una pair programming y dejar
los videos ALT5 para beneficio de todos, aprendizaje y como
identificar cuales son y no son buenas prácticas.

Descarga de Fuente: http://cslanethispano.codeplex.com/




On 19 sep, 16:05, José F. Romaniello <jfromanie...@gmail.com> wrote:
> Alberto como ya sabras por todas nuestras otras conversaciones yo no
> utilizaría CSLA en una aplicación por que todavía no he encontrato los
> beneficios.
>
> Sin embargo, si por alguna razón fuera a utilizarla, lo que no me van a
> convencer es de escribir dos veces las mismas cosas. Por lo tanto para mi
> forma de pensar, no es compatible escribir POCO's por un lado, mapearlos con
> nhibernate y que mis BusinessObject usen dichos POCO's
>
> Por lo tanto de aca se desprenden dos alternativas:
>
>    - Mapear con nhibernate directamente business objects. Yo no sé como esto
>    se hace y si es verdaderamente compatible. (aunque un pajaro me conto que si
>    lo hizo)
>    - *No utilizar* nhibernate y utilizar un Data Mapper como Linq To Sql, el
>    cual SOLO me permite manipular la base de datos de una forma mas orientada a
>    objetos. Y llevar a cabo dicha manipulación dentro de mi business object.
>
> Me parece que para CSLA.Net es mas factible la segunda opción...Algo como lo
> que hizo Rob Connery en su aplicación de store front. En la cual él tiene
> busines objects programados por él y debajo de eso usa linq to sql.
>
> El 19 de septiembre de 2009 14:09, Alberto Arroyo
> <beyond...@codesol.info>escribió:
> >http://beyondnet.codesol.info- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

José F. Romaniello

unread,
Sep 27, 2009, 11:49:41 AM9/27/09
to altnet-...@googlegroups.com
Dice que el proyecto todavía no esta publicado.

Alberto Arroyo

unread,
Sep 28, 2009, 10:10:14 AM9/28/09
to AltNet-Hispano
Listo Jose, me habia faltado colocar la licencia....http://
cslanethispano.codeplex.com/

A esa misma demo le voy a agregar relaciones de padres, hijos, nietos,
etc....., utilizar ASP .NET MVC ó SCSF, LinqToSql, EF. Aquí es donde
me gustaría que podamos ver si es valido hacer una prueba de concepto
con NH, ver pruebas unitarias, aplicar patrones y practicas
ALT .NET...

De esta forma creo que vamos a tener un consolidado de pruebas para
poder evaluar bien las ventajas y desventajas de cada herramienta...me
confirmas si te animas, tenemos los ALT5 y la propuesta que haces para
pair programming...

On 27 sep, 10:49, José F. Romaniello <jfromanie...@gmail.com> wrote:
> Dice que el proyecto todavía no esta publicado.
>
> El 27 de septiembre de 2009 11:42, Alberto Arroyo
> <beyond...@codesol.info>escribió:
>
>
>
> > Hola Jose:
>
> > Disculpa la demora amigo, pero como ya te comente por twitter estuve
> > muy atareado por estos días, bueno te comento que ya coloque en mi
> > bloghttp://beyondnet.codesol.infoy el de la comunidad hispana CSLA
> >http://www.cslanet.orgla demo versión beta de lo que te comenté:
> > > >http://beyondnet.codesol.info-Ocultar texto de la cita -

José F. Romaniello

unread,
Sep 28, 2009, 10:16:22 AM9/28/09
to altnet-...@googlegroups.com
Ok, ya la voy a revisar.

Por otro lado te pregunto algo que me llama la atención cuando hablo con gente que ha estado trabajando con CSLA; Porque las relaciones Padre-Hijo, Master-Detail, Many-To-Many, etc son como un bicho raro o hay como un cierto cuidado?

José F. Romaniello

unread,
Sep 28, 2009, 10:18:03 AM9/28/09
to altnet-...@googlegroups.com
Otra pregunta (por precaución), no hay problema que en tu ejemplo este todo el source de CSLA? Que ciertamente no es open source?

Alberto Arroyo Raygada

unread,
Sep 28, 2009, 10:34:40 AM9/28/09
to altnet-...@googlegroups.com
Nada, son muy sencillas, el único problema es que se hace mucho.
 
Padre.Hijos.Add() en lugar de hacer Padre.AdicionarHijo()...
 
Pero despues de la bendita herencia y colecciones anidadas es muy sencillo....solo que no era requisito de la demo original, pero para sguir con la demo publica voy a adicionar alguna relación con artículos como Kardex por Ubicaciones, etc....

Alberto Arroyo Raygada

unread,
Sep 28, 2009, 10:35:54 AM9/28/09
to altnet-...@googlegroups.com
La licencia de Rocky te deja hacer n cosas con el fuente, es más puedes adaptarla a tus necesidades. En este caso la he colocado para que no se sienta tan caja negra y se pueda depurar y ver todos los conceptos del framework.
----- Original Message -----
Sent: Monday, September 28, 2009 9:18 AM
Subject: [altnet-hispano] Re: Propuesta de Análisis Practico de CSLA + NHibernate

José F. Romaniello

unread,
Sep 28, 2009, 10:39:56 AM9/28/09
to altnet-...@googlegroups.com
Perfecto Alberto, apenas tenga un tiempo le doy una repasada.
Reply all
Reply to author
Forward
0 new messages