Cooperator Framework

Framework de desarrollo de aplicaciones para .Net 2.0/3.0

Preguntas Frecuentes

¿Es Cooperator Framework un ORM?

Depende desde el punto de vista desde donde se lo mire. Podríamos decir que si, cuando pensamos que nuestros objetos del dominio pueden persistirse y recuperarse en una base de datos. Pero a diferencia de los ORM tradicionales, todas las operaciones sobre las base de datos se realizan utilizando Stored Procedures, esto significa que no se ejecutan sentencias  SQL para las operaciones sobre la base de datos.
Por otro lado, Cooperator Framework utiliza generación de código para crear las clases del dominio. Esas clases son generadas de un modelo de objetos que se basa inicialmente en el esquema de la base de datos, pero que debe editarse para definir el modelo buscado, antes de generar dichas clases.


¿Qué motores de bases de datos soporta Cooperator?

Inicialmente soporta Microsoft SQL Server 7.0, 2000 y 2005 incluyendo SQL 2005 Express, pero está desarrollado de una forma que fácilmente puede soportar cualquier motor. Nuestra meta es soportar los motores de bases de datos mas utilizados en las siguientes versiones.


¿Qué lenguaje de programacion soporta Cooperator?

Cooperator Framework está escrito en C# 2.0, y los templates que entregamos, generan código tanto en C# 2.0 y Visual Basic 2005.
Como la generación es basada en templates, modificando las mismas se puede generar código para cualquier lenguaje .Net


¿Qué tipo de aplicaciones puedo desarrollar con Cooperator Framework?

Cualquier tipo de aplicación. Windows, Web, de Consola, Servicio, etc. Cooperator es solo una libreria de clases que permite a usted expresar su lógica de negocio a nivel de objetos.


¿Soporta Cooperator .Net Framework 1.x?

No, Cooperator fue escrito desde cero utilizando C# 2.0, aprovechando nuevas características como generics y clases parciales, que lo hacen incompatible con versiones anteriores a .Net 2.0


¿Cómo se representan las entidades en mis reglas de negocio?

Las entidades se representan usando objetos. No se utilizan ni DataSets ni DataTables, solo objetos, estos objetos no tienen propiedades ni métodos que no tengan que ver con la responsabilidad del objeto en si que es representar una entidad. Esto quiere decir que en esos objetos no hay propiedades ni métodos de persistencia de datos, ni nada que no tenga que ver con el dominio. Para la persistencia y recuperación de estas entidades proveemos unos artefactos denominados Mappers.


¿Puedo utilizar libremente Cooperator en mis aplicaciones?
Si, Cooperator framework puede descargarse y usarse tanto en sus ejecutables como en su código fuente de forma libre y gratuita, usando la Licencia BSD.  (Que es casi dominio publico)
Usted podrá utilizarlo, modificarlo, copiarlo, eliminarlo, incluirlo en sus aplicaciones, sin ninguna restricción.


¿Cooperator Framework seguirá siendo libre y gratuito para siempre?

Si, todo el código fuente ya esta publicado bajo la Licencia BSD y las próximas versiones seguirán usando la misma licencia.


¿Puedo utilizar Cooperator Framework si poseo las versiones Express de Visual Studio 2005 y SQL 2005?

Si, no hay ningún problema con ello, Cooperator utiliza 3 ensambles en tiempo de ejecución, solo se debe hacer referencia a esos ensambles y ya.
Por otro lado, se dispone de un generador tanto de procedimientos almacenados como de código en C# o Visual Basic 2005. Este código autogenerado es el que debemos agregar y compilar en nuestra aplicación.


¿Cooperator Framework tiene una versión estable, o está en beta?

Existe la versión 1.3.0.1133, que está en producción y ya hay varios sistemas desarrollados utilizándola.


¿Como puedo hacer para descargar Cooperator?

Cooperator Framework esta publicado en el sitio de Microsoft para proyectos open source, Code plex.
La dirección de Cooperator es: www.codeplex.com/cooperator


¿Estoy interesado en el proyecto LINQ, como afecta esto a Cooperator?

El proyecto LINQ de Microsoft, es una extensión a los lenguajes .Net de próxima generación, que permitirá entre otras cosas, consultar a los objetos en memoria utilizando .Net Integrated Query, logrando reducir significativamente la cantidad de código necesario para hacer algunas operaciones.
Usted podrá aplicar toda la potencia de LINQ sobre las colecciones de objetos brindados por Cooperator, incluyendo agregaciones, ordenamientos, etc, utilizando la sintaxis de consulta de LINQ.