Hola a todos, en esta oportunidad quiero dirigirme a aquellos que siguieron un post que hice hace 4 años con respecto al Framework de Objetos de Negocio CSLA.NET.

Este Framework nació de la necesidad de crear un marco de trabjo robusto dirigido únicamente a la capa de negocio, no pretende reemplazar frameworks muy potentes de Acceso a Datos como los ORM, ni tampoco se centra en aplicaciones orientadas a servicios, ya que por ese lado tenemos a WCF, Web API, etc.

Yo inicié el uso de esta herramienta allá por el año 2008 cuando en mi trabajo usábamos Visual Studio 2005 con .NET 2.0 y necesitabamos tener un marco consistente, donde debíamos implementar reglas de negocio robustas, validación de datos y sobretodo rapidez en el desarrollo.

Quiero ser muy claro en este punto, CSLA.NET (Component-based, Scalable, Logical Architecture) creado por el MVP de Microsoft Rockford Lhotka, aún sigue siendo una herramienta excelente para el desarrollo rápido de aplicaciones de escritorio. Si bien tiene soporte para la demás plataformas (Windows, ASP.NET, MVC, WPF, Silverlight), me inclino a que CSLA.NET tiene un diseño ideal para aplicaciones de escritorio únicamente, que puedan ser desplegadas en más de 2 capas físicas.

Bueno no más palabras, vayamos a lo escencial.

Esterotipos

CSLA.NET tiene los siguientes estereotipos de objetos a lo largo de todo proyecto:

  • Objetos Editables => BusinessBase<T>
  • Objetos de Lista Editables => BusinessListBase<T,C>
  • Objetos de Lista de Sólo Lectura => ReadOnlyListBase<T>
  • Objetos de Sólo Lectura => ReadOnlyBase<T>
  • Objetos de Lista Clave-Valor => NameValueList<T,C>
  • Objetos de Ejecuciones Arbitrarias => CommandBase<T>

CSLA.NET puede distribuir nuestra aplicación de la siguiente manera:

Snap1

Y otra ventaja adicional que nos da este Framework es la posibilidad de usar más de una tecnología de comunicación para que nuestros objetos de negocio “viajen” entre la capa cliente y la capa del servidor, pudiendo usar .NET Remoting (un poco antiguo ya), WCF o Enterprises Services (COM+).

Snap2

A lo largo de esta serie de post dedicados a CSLA.NET iré detallando más cosas prácticas de este Framework.

Estén atentos.

Anuncios