CSLA
CSLA es un framework para el desarrollo de aplicaciones
de negocio. Ha sido desarrollado por Rockford Lhotka
()
, MVP de Microsoft y consultor de Magenic
(
), un “Worldwide Partner” de Microsoft.
FRAMEWORKS
¿Por qué programar utilizando un framework? Cierto que comenzar a colocar
líneas de programa debajo de un botón3 es muy fácil
y, como todo en la vida, tiene su lugar. Pequeñas
aplicaciones con funcionalidad muy concreta y que
difícilmente se puedan reutilizar, son susceptibles
de crearse sin utilizar frameworks, pues estos son
más complejos de implementar.
Ahora bien, digamos que por las prisas de costumbre,
comenzamos a producir a fin de tener en pocos días
un resultado. Perfecto, todos contentos. Ahora,
tras varios meses haciendo programas con esta filosofía
resulta que hay que cambiar algo en alguno de ellos.
¡Un momento! Hay que corregir todos los programas.
Y además, en cada uno de ellos hay múltiples lugares
donde se utiliza la misma funcionalidad a modificar.
Tenemos un caso típico de “spaghetti code”. Ahora,
todo lo que nos habíamos ahorrado es pagado con
creces.
Si tenemos un framework de programación, quiere
decir que partimos de una superestructura común.
Comparemos un edificio alto al proceso de desarrollo
de software. Cada vivienda resultaría ser un programa
distinto. El conjunto de vigas, pilares, paredes
maestras y demás elementos comunes son el framework.
Digamos que, por cambio de normativa legal, hay
que cambiar el contador de la luz a cada vivienda.
En lugar de ir piso a piso buscando donde cada residente
quiso colocar dicho contador, iríamos al cuarto
de contadores, y allí están, todos juntos listos
para un cambio rápido.
El sencillo ejemplo anterior muestra una de las
enormes ventajas de utilizar frameworks en la programación:
la mantenibilidad del código. Cada programa descansa
en los mismos métodos, los cuales están siempre
en el mismo sitio. Muchas veces, solo hay que cambiar
un en solo lugar para que todos los programas respondan
a la nueva funcionalidad.
Bueno, seguir hablando de frameworks llevaría a
producir un libro. Pero en Flash Data llevamos años
utilizándolos y, francamente, recomendamos su implementación
en la mayoría de los escenarios.
CSLA Framework.
¿Por qué este en concreto? Por muchas razones. Algunas serían:
 |
El autor suministra el
código fuente, tanto en C# como en VB
|
 |
Está completamente actualizado,
y tiene planes de seguir incorporando los
más recientes mecanismos de programación.
(WPF, WCF, WF, Silverlight)
|
 |
Separación de la lógica
del negocio, el acceso a datos y la presentación
|
 |
Incorpora las mejores “prácticas
reconocidas” de arquitectura de software
|
 |
Capacidad de deshacer ilimitada,
cuando un usuario decide cancelar la edición
|
 |
Enlace a datos directo
entre el interfaz de usuario y las clases
de negocio
|
 |
Enlace a datos de objetos
complejos, como colecciones
|
 |
Comunidad de usuarios activa
y dispuesta a colaborar
|
 |
Licencia de libre utilización
(menos para fabricar otros frameworks)
|
 |
Implementación de las reglas
de negocio en la arquitectura
|
 |
Mapeo entre el repositorio
de los datos y las clases de negocio
|
 |
Escalabilidad debido al
uso de fábrica de objetos “no anclados”
|
 |
Seguridad basada en diversos
patrones concurrentes y aditivos.
|
Flash Data y CSLA
En Flash Data llevamos trabajando con dicho framework
desde los días previos a .NET. Y hemos implementado
adaptaciones del mismo en entornos como el Hospital
de Sant Pau o el Patronat de l’Habitatge, ambos
de Barcelona.