Cooperator framework

19/06/2006 - 18:25 por Daniel A. Calvin | Informe spam
Amigos, les cuento que hace unos meses empezamos a trabajar con un grupo de
amigos en un proyecto para crear un framework que saque provecho de las
ventajas de .Net 2.0
La idea original fue de Eugenio Serrano y me invito a trabajar junto a el y
otros amigos.
El proyecto es un framewok de desarrollo, seguramente estarán pensando: otro
más :-)
Nos decidimos a hacer este nuevo con la idea principal de que sea bien facil
de usar y de acercar los objetos a mas gente de una forma facil.

Hemos trabajado con mucha energía estos últimos meses y hemos logrado armar
algo muy interesante según nuestra opinion.

Los objetivos que nos planteamos fueron:

- 100% Orientado a objetos
- Aplanar la curva de aprendizaje y facilitar el camino de quienes aún están
condicionados por el modelo relacional.
- No usar datasets
- No usamos reflection.
- Modelo totalmente tipado, esto significa que las clases de persistencia y
recuperacion de objetos devuelven un tipo especifico y no un tipo object.
- Debido a la potencia de VS2005 se pueden bindear estos objetos a los
controles sin escribir una linea de codigo, y aporvechar las venjas de
edicion de VS2005
- No depende de la estructura relacional, soporta cualquier tipo de
estructura de base de datos.
- No hay que modificar la Primary Key o crear un campo unique en las tablas.
- Usa stored procedures.
- Soporta concurrencia
- Las condiciones de busqueda se expresan mediante objetos específicos
tipados y extendibles por el programador que terminan ejecutando un Stored
Procedure en forma transparente.
- En la capa de negocio todo se expresa en términos del dominio, incluido
los filtros y busquedas.
- Genera código en base a scripts escritos en el lenguaje que prefiera el
programador. Por defecto estan en c#, pero puedo escribir un script en c#,
para generar código SQL, o puedo escribir un script en vb.net para generar
código c#.
- Hay un modelo propuesto de las clases que se generaran que se basa en el
modelo de datos, pero el programador, antes de generar las clases edita
dicho modelo en una herramienta muy facil de usar y define como sera el
modelo que desea crear.
- Si las opciones de modelado que provee la herramienta no alcanzan, el
programador puede editar los templates y generar su propio modelo.
- La herramienta de generacion, genera 2 archivos por cada clase usando
clases parciales pensado para que el programador solo modifique una de las
2.
Si mas tarde se agrega un nuevo campo a una tabla, se puede volver a generar
el otro archivo de manera de no "pisar" cualquier codigo que el programador
ya haya escrito en esa clase.
- Soporta transacciones desconectadas.
- Licencia tipo open source, aún no hemos optado por cual, pero será de
código abierto.

Todo esto lo logramos de forma poco invasiva, implementando interfaces y
valiendonos de las nuevas características del net framework 2.0, sobre todo
Generics y clases parciales.

El framework será publicado en un término no mayor a 60 días.

Nos gustaría mucho contar con algún retorno por parte de la comunidad,
principalmente que cosas les molesta de otras herraminetas de este tipo,
incluso que les gustaría tener y aún no han encontrado en otros frameworks.

Desde ya muchas gracias

Daniel Calvin

Preguntas similare

Leer las respuestas

#6 Daniel A. Calvin
20/06/2006 - 02:14 | Informe spam
Hola Vyacheslav Popov

Gracias por el interes y el ofrecimiento.

Coopertor hace mapeo estático. Que quiere decir eso?, no usa ni atributos,
ni xml, ni nada que permita cambiar dinamicamente las realaciones de mapeo.
En cambio genera los mappers totalmente tipados.
La generación se hace en base a un modelo que se infiere del modelo
relacional, pero, tiene algunas particularidades.

El modelo inferido detecta relaciones que serán asociaciones potenciales.

Estas Asociaciones podrán ser o Agregaciones o ser tratadas como
Asociaciones virtuales digamos, se modelan pero no se implementan.
Todo esto se logra por que sobre el modelo inferido luego se aplica el
criterio del programador.
Cooperator provee un asistente que permite tomar desciciones sobre el moelo
inferido para mejorarlo.
Decir que asociaciones se implementan, que nombre reciben las propiedades,
etc, etc.
Con todo esto se ejecutan una serie de scripts que genran el codigo, crean
los store, etc, etc

Utilizamos clases parciales para que el código generado se pueda regenerar
sin pisar el código escrito por el programador para cada clase.
Ocultamos aquellas cosas que ensucian las entisades de negocio recurriendo a
la implementacion de interfaces que deben ser invocadas en forma explicita.
Es la unica formad ever ciertas propiedades o metodos.

Bue, un cantidad de cosas que no nos resultaban comodas de otros frameworks.

En cuanto a donde se puede ver
Eso lo estamos definiendo, aun no hemos decidido donde publicar.
El plazo de 60días es justamente por eso y para poder completar algunos
dealles menores, pero, importantes.

Un abarzo y espero mantenerlos al tanto.

Mientras tanto cualquier pregunta o sugerencia que quieran hcer será
bienvenida.

Daniel Calvin
MCP

"Vyacheslav Popov" escribió en el
mensaje news:
Hola Daniel, ¡Un proyecto muy ambicioso!

¿Como transcurrirá el mapeo objeto-relacional?

¿Donde se puede ver el proyecto y documentación?

¿Cómo se puede participar?

Saludos.

"Daniel A. Calvin" escribió en el mensaje
news:%
Amigos, les cuento que hace unos meses empezamos a trabajar con un grupo
de
amigos en un proyecto para crear un framework que saque provecho de las
ventajas de .Net 2.0
La idea original fue de Eugenio Serrano y me invito a trabajar junto a el
y
otros amigos.
El proyecto es un framewok de desarrollo, seguramente estarán pensando:
otro
más :-)
Nos decidimos a hacer este nuevo con la idea principal de que sea bien
facil
de usar y de acercar los objetos a mas gente de una forma facil.

Hemos trabajado con mucha energía estos últimos meses y hemos logrado
armar
algo muy interesante según nuestra opinion.

Los objetivos que nos planteamos fueron:

- 100% Orientado a objetos
- Aplanar la curva de aprendizaje y facilitar el camino de quienes aún
están
condicionados por el modelo relacional.
- No usar datasets
- No usamos reflection.
- Modelo totalmente tipado, esto significa que las clases de persistencia
y
recuperacion de objetos devuelven un tipo especifico y no un tipo object.
- Debido a la potencia de VS2005 se pueden bindear estos objetos a los
controles sin escribir una linea de codigo, y aporvechar las venjas de
edicion de VS2005
- No depende de la estructura relacional, soporta cualquier tipo de
estructura de base de datos.
- No hay que modificar la Primary Key o crear un campo unique en las
tablas.
- Usa stored procedures.
- Soporta concurrencia
- Las condiciones de busqueda se expresan mediante objetos específicos
tipados y extendibles por el programador que terminan ejecutando un
Stored
Procedure en forma transparente.
- En la capa de negocio todo se expresa en términos del dominio, incluido
los filtros y busquedas.
- Genera código en base a scripts escritos en el lenguaje que prefiera el
programador. Por defecto estan en c#, pero puedo escribir un script en
c#,
para generar código SQL, o puedo escribir un script en vb.net para
generar
código c#.
- Hay un modelo propuesto de las clases que se generaran que se basa en
el
modelo de datos, pero el programador, antes de generar las clases edita
dicho modelo en una herramienta muy facil de usar y define como sera el
modelo que desea crear.
- Si las opciones de modelado que provee la herramienta no alcanzan, el
programador puede editar los templates y generar su propio modelo.
- La herramienta de generacion, genera 2 archivos por cada clase usando
clases parciales pensado para que el programador solo modifique una de
las
2.
Si mas tarde se agrega un nuevo campo a una tabla, se puede volver a
generar
el otro archivo de manera de no "pisar" cualquier codigo que el
programador
ya haya escrito en esa clase.
- Soporta transacciones desconectadas.
- Licencia tipo open source, aún no hemos optado por cual, pero será de
código abierto.

Todo esto lo logramos de forma poco invasiva, implementando interfaces y
valiendonos de las nuevas características del net framework 2.0, sobre
todo
Generics y clases parciales.

El framework será publicado en un término no mayor a 60 días.

Nos gustaría mucho contar con algún retorno por parte de la comunidad,
principalmente que cosas les molesta de otras herraminetas de este tipo,
incluso que les gustaría tener y aún no han encontrado en otros
frameworks.

Desde ya muchas gracias

Daniel Calvin





Respuesta Responder a este mensaje
#7 Daniel A. Calvin
20/06/2006 - 02:20 | Informe spam
Hola Tito

Podrás construir aplicaciones ASP.Net, Winforms y, si quieres, de consola.

Otra, si no usan datasets, que otra cosa usan para manejar datos ? Hay



Este es el chiste Tito, todo lo que maneja Cooperator son objetos y/o listas
de objetos.
Esto permite que tu aplicación sea muy OOP y que puedas expresar todo en
base al dominio el problema.

Para los que aun están muy centrados en los datos van a existir ejemplitos y
un modelo que ponga las cosas muy a la mano, para que la transición sea mas
suave.

Daniel Calvin
MCP


"Tito" escribió en el mensaje
news:
Oye eso estaria muy bien porque muchos que somos nuevos tenemos el grito
en el cielo con la alta curva de aprendizaje. Da la impresion que con el
tiempo los lenguajes en vez de ser mas facil de usar (de mas alto nivel)
lo que van haciendose es mas dificil :(

Pero tengo una duda, es para aplicaciones Windows ?

Otra, si no usan datasets, que otra cosa usan para manejar datos ? Hay
otras cosas , me podrias decir ?

Gracias

"Daniel A. Calvin" escribió en el mensaje
news:%
Amigos, les cuento que hace unos meses empezamos a trabajar con un grupo
de
amigos en un proyecto para crear un framework que saque provecho de las
ventajas de .Net 2.0
La idea original fue de Eugenio Serrano y me invito a trabajar junto a el
y
otros amigos.
El proyecto es un framewok de desarrollo, seguramente estarán pensando:
otro
más :-)
Nos decidimos a hacer este nuevo con la idea principal de que sea bien
facil
de usar y de acercar los objetos a mas gente de una forma facil.

Hemos trabajado con mucha energía estos últimos meses y hemos logrado
armar
algo muy interesante según nuestra opinion.

Los objetivos que nos planteamos fueron:

- 100% Orientado a objetos
- Aplanar la curva de aprendizaje y facilitar el camino de quienes aún
están
condicionados por el modelo relacional.
- No usar datasets
- No usamos reflection.
- Modelo totalmente tipado, esto significa que las clases de persistencia
y
recuperacion de objetos devuelven un tipo especifico y no un tipo object.
- Debido a la potencia de VS2005 se pueden bindear estos objetos a los
controles sin escribir una linea de codigo, y aporvechar las venjas de
edicion de VS2005
- No depende de la estructura relacional, soporta cualquier tipo de
estructura de base de datos.
- No hay que modificar la Primary Key o crear un campo unique en las
tablas.
- Usa stored procedures.
- Soporta concurrencia
- Las condiciones de busqueda se expresan mediante objetos específicos
tipados y extendibles por el programador que terminan ejecutando un
Stored
Procedure en forma transparente.
- En la capa de negocio todo se expresa en términos del dominio, incluido
los filtros y busquedas.
- Genera código en base a scripts escritos en el lenguaje que prefiera el
programador. Por defecto estan en c#, pero puedo escribir un script en
c#,
para generar código SQL, o puedo escribir un script en vb.net para
generar
código c#.
- Hay un modelo propuesto de las clases que se generaran que se basa en
el
modelo de datos, pero el programador, antes de generar las clases edita
dicho modelo en una herramienta muy facil de usar y define como sera el
modelo que desea crear.
- Si las opciones de modelado que provee la herramienta no alcanzan, el
programador puede editar los templates y generar su propio modelo.
- La herramienta de generacion, genera 2 archivos por cada clase usando
clases parciales pensado para que el programador solo modifique una de
las
2.
Si mas tarde se agrega un nuevo campo a una tabla, se puede volver a
generar
el otro archivo de manera de no "pisar" cualquier codigo que el
programador
ya haya escrito en esa clase.
- Soporta transacciones desconectadas.
- Licencia tipo open source, aún no hemos optado por cual, pero será de
código abierto.

Todo esto lo logramos de forma poco invasiva, implementando interfaces y
valiendonos de las nuevas características del net framework 2.0, sobre
todo
Generics y clases parciales.

El framework será publicado en un término no mayor a 60 días.

Nos gustaría mucho contar con algún retorno por parte de la comunidad,
principalmente que cosas les molesta de otras herraminetas de este tipo,
incluso que les gustaría tener y aún no han encontrado en otros
frameworks.

Desde ya muchas gracias

Daniel Calvin





Respuesta Responder a este mensaje
#8 Daniel A. Calvin
20/06/2006 - 02:40 | Informe spam
¿Que ventajas tendrá frente al proyecto LINQ?


Ninguna ventaja, simplemente podras aplicar LinQ sobre las colecciones y
entidades de Cooperator

¿Cuales son las nuevas características frente a ORM existentes, tales
como, NHibirnate, ObjectMapper.Net, etc..?



Cooperator no es un ORM, va a ir un paso mas alla, vas a poder integrar
facilmente WWF y WCF.
En la segunda versión que publiquemos, tal vez, solo tal vez, incluira algo
para implementar aplicaciones distribuidas en forma transparente.

Algo asi como un WCF del sub-desarrollo.. ;-)

NHibirnate, ObjectMapper.Net, etc..?


Creo que hay varias diferencias, no hay que luchar con los archivos de
mapeo, cripticos muchas veces y que la cosa trata de ir mas alla de la capa
de datos.
Con Cooperator podes bindear una coleccion de clientes a una DataGridView y
tratarla en tiempo de diseño, es totalemente tipado.
Es una de las ventajas.
Y pese a ser tipado, tarbaja con transaciones que resuelven colaboraciones
entre objetos de distinto tipo.

Igualmente, no pdemos comparar Cooperator con otros productos, vamos por la
primer version, tengan eso en cuenta

Daniel Calvin
MCP




"Vyacheslav Popov" escribió en el
mensaje news:%
¿Que ventajas tendrá frente al proyecto LINQ?

¿Cuales son las nuevas características frente a ORM existentes, tales
como, NHibirnate, ObjectMapper.Net, etc..?

Respuesta Responder a este mensaje
#9 Raul
20/06/2006 - 03:22 | Informe spam
Utiliza Store Procedures tambien para los cruds (insert, update, delete) de
las tablas ?


"Daniel A. Calvin" escribió en el mensaje
news:%
Amigos, les cuento que hace unos meses empezamos a trabajar con un grupo
de
amigos en un proyecto para crear un framework que saque provecho de las
ventajas de .Net 2.0
La idea original fue de Eugenio Serrano y me invito a trabajar junto a el
y
otros amigos.
El proyecto es un framewok de desarrollo, seguramente estarán pensando:
otro
más :-)
Nos decidimos a hacer este nuevo con la idea principal de que sea bien
facil
de usar y de acercar los objetos a mas gente de una forma facil.

Hemos trabajado con mucha energía estos últimos meses y hemos logrado
armar
algo muy interesante según nuestra opinion.

Los objetivos que nos planteamos fueron:

- 100% Orientado a objetos
- Aplanar la curva de aprendizaje y facilitar el camino de quienes aún
están
condicionados por el modelo relacional.
- No usar datasets
- No usamos reflection.
- Modelo totalmente tipado, esto significa que las clases de persistencia
y
recuperacion de objetos devuelven un tipo especifico y no un tipo object.
- Debido a la potencia de VS2005 se pueden bindear estos objetos a los
controles sin escribir una linea de codigo, y aporvechar las venjas de
edicion de VS2005
- No depende de la estructura relacional, soporta cualquier tipo de
estructura de base de datos.
- No hay que modificar la Primary Key o crear un campo unique en las
tablas.
- Usa stored procedures.
- Soporta concurrencia
- Las condiciones de busqueda se expresan mediante objetos específicos
tipados y extendibles por el programador que terminan ejecutando un Stored
Procedure en forma transparente.
- En la capa de negocio todo se expresa en términos del dominio, incluido
los filtros y busquedas.
- Genera código en base a scripts escritos en el lenguaje que prefiera el
programador. Por defecto estan en c#, pero puedo escribir un script en c#,
para generar código SQL, o puedo escribir un script en vb.net para generar
código c#.
- Hay un modelo propuesto de las clases que se generaran que se basa en el
modelo de datos, pero el programador, antes de generar las clases edita
dicho modelo en una herramienta muy facil de usar y define como sera el
modelo que desea crear.
- Si las opciones de modelado que provee la herramienta no alcanzan, el
programador puede editar los templates y generar su propio modelo.
- La herramienta de generacion, genera 2 archivos por cada clase usando
clases parciales pensado para que el programador solo modifique una de las
2.
Si mas tarde se agrega un nuevo campo a una tabla, se puede volver a
generar
el otro archivo de manera de no "pisar" cualquier codigo que el
programador
ya haya escrito en esa clase.
- Soporta transacciones desconectadas.
- Licencia tipo open source, aún no hemos optado por cual, pero será de
código abierto.

Todo esto lo logramos de forma poco invasiva, implementando interfaces y
valiendonos de las nuevas características del net framework 2.0, sobre
todo
Generics y clases parciales.

El framework será publicado en un término no mayor a 60 días.

Nos gustaría mucho contar con algún retorno por parte de la comunidad,
principalmente que cosas les molesta de otras herraminetas de este tipo,
incluso que les gustaría tener y aún no han encontrado en otros
frameworks.

Desde ya muchas gracias

Daniel Calvin

Respuesta Responder a este mensaje
#10 Daniel A. Calvin
20/06/2006 - 10:21 | Informe spam
Hola Raul

Si, para todo SP, es el único medio de acceso a la base de datos.

Daniel Calvin


"Raul" escribió en el mensaje
news:
Utiliza Store Procedures tambien para los cruds (insert, update, delete)
de las tablas ?


"Daniel A. Calvin" escribió en el mensaje
news:%
Amigos, les cuento que hace unos meses empezamos a trabajar con un grupo
de
amigos en un proyecto para crear un framework que saque provecho de las
ventajas de .Net 2.0
La idea original fue de Eugenio Serrano y me invito a trabajar junto a el
y
otros amigos.
El proyecto es un framewok de desarrollo, seguramente estarán pensando:
otro
más :-)
Nos decidimos a hacer este nuevo con la idea principal de que sea bien
facil
de usar y de acercar los objetos a mas gente de una forma facil.

Hemos trabajado con mucha energía estos últimos meses y hemos logrado
armar
algo muy interesante según nuestra opinion.

Los objetivos que nos planteamos fueron:

- 100% Orientado a objetos
- Aplanar la curva de aprendizaje y facilitar el camino de quienes aún
están
condicionados por el modelo relacional.
- No usar datasets
- No usamos reflection.
- Modelo totalmente tipado, esto significa que las clases de persistencia
y
recuperacion de objetos devuelven un tipo especifico y no un tipo object.
- Debido a la potencia de VS2005 se pueden bindear estos objetos a los
controles sin escribir una linea de codigo, y aporvechar las venjas de
edicion de VS2005
- No depende de la estructura relacional, soporta cualquier tipo de
estructura de base de datos.
- No hay que modificar la Primary Key o crear un campo unique en las
tablas.
- Usa stored procedures.
- Soporta concurrencia
- Las condiciones de busqueda se expresan mediante objetos específicos
tipados y extendibles por el programador que terminan ejecutando un
Stored
Procedure en forma transparente.
- En la capa de negocio todo se expresa en términos del dominio, incluido
los filtros y busquedas.
- Genera código en base a scripts escritos en el lenguaje que prefiera el
programador. Por defecto estan en c#, pero puedo escribir un script en
c#,
para generar código SQL, o puedo escribir un script en vb.net para
generar
código c#.
- Hay un modelo propuesto de las clases que se generaran que se basa en
el
modelo de datos, pero el programador, antes de generar las clases edita
dicho modelo en una herramienta muy facil de usar y define como sera el
modelo que desea crear.
- Si las opciones de modelado que provee la herramienta no alcanzan, el
programador puede editar los templates y generar su propio modelo.
- La herramienta de generacion, genera 2 archivos por cada clase usando
clases parciales pensado para que el programador solo modifique una de
las
2.
Si mas tarde se agrega un nuevo campo a una tabla, se puede volver a
generar
el otro archivo de manera de no "pisar" cualquier codigo que el
programador
ya haya escrito en esa clase.
- Soporta transacciones desconectadas.
- Licencia tipo open source, aún no hemos optado por cual, pero será de
código abierto.

Todo esto lo logramos de forma poco invasiva, implementando interfaces y
valiendonos de las nuevas características del net framework 2.0, sobre
todo
Generics y clases parciales.

El framework será publicado en un término no mayor a 60 días.

Nos gustaría mucho contar con algún retorno por parte de la comunidad,
principalmente que cosas les molesta de otras herraminetas de este tipo,
incluso que les gustaría tener y aún no han encontrado en otros
frameworks.

Desde ya muchas gracias

Daniel Calvin





Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida