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

#41 Daniel A. Calvin
20/06/2006 - 21:42 | Informe spam
Releyendo tu email se me ocurre ponerte este ejemplo:

ClientesList objClientes = ClientesMapper.GetList(new
ClienteFinder.TraerPorLocalidad( localidad)) ;

La venatja es que el código habla por si solo.

La otra ventahja es que si no estuviera tipado y quisisra bindear
objClientes as DataGridView, podría hacerlo, pero no podría hacer ninguna
personalización en tiempo de diseño.

Son solo ejemplos del por que vemos estas cosas como ventajosas, se escribe
mas rápido y más claro.

Saludos

Daniel A. Calvin
MCP


"Carolina Alvarez" escribió:

>
>Modelo totalmente tipado, esto significa que las clases de persistencia y
>recuperacion de objetos devuelven un tipo especifico y no un tipo object
>

Tiene ventajas reales ese esquema ?




"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
#42 Daniel A. Calvin
20/06/2006 - 21:48 | Informe spam
Gracias Vyacheslav Popov

El email es texto y tal vez por eso poco expresivo, muchas veces uno no
puede separar la paja del trigo.

Pregunta lo que creas necesario.

Saludos

Daniel A. Calvin
MCP


"Vyacheslav Popov" escribió:

Perdona Daniel, no quería ofenderte...

Y sí me interesa, tal vez demasiado.

Saludos.

"Daniel A. Calvin" escribió en el
mensaje news:
> Hola Vyacheslav Popov
>
> Trato de responder todas las peguntas.
> En un momento crei que tenías algún interes en que te cuente sobre la
> iniciativa, ya no se que pretendes.
>
> Que tengas un buen día.
>
> Daniel A. Calvin
> MCP
>
>
> "Vyacheslav Popov" escribió:
>
>>
>> "Alfredo Novoa" escribió en el mensaje
>> news:
>> > On Mon, 19 Jun 2006 21:40:59 -0300, "Daniel A. Calvin"
>> > wrote:
>> >
>> >>> ¿Que ventajas tendrá frente al proyecto LINQ?
>> >>Ninguna ventaja, simplemente podras aplicar LinQ sobre las colecciones
>> >>y
>> >>entidades de Cooperator
>> >
>> > ¿Y puedes aplicar juntas, uniones, diferencias, agregaciones (group
>> > by), etc sobre esas colecciones?
>>
>> Me temo que sí.
>>
>> > ¿Que ventaja tiene con respecto a aplicar estas operaciones
>> > algebraicas directamente sobre el SGBD?
>>
>> Uyyyyy... no voy a responder a ésta pregunta ;)
>>
>>
>> Saludos.
>>
>>
>>



Respuesta Responder a este mensaje
#43 Alfredo Novoa
20/06/2006 - 21:52 | Informe spam
On Tue, 20 Jun 2006 11:25:01 -0700, Daniel A. Calvin
wrote:

No hemos inventado nada, la rueda cuadrada a la que haces referencia tiene
muchos años de aplicación.



Lo que tiene es muchos años de obsolescencia. Las aplicaciones dejaron
de ocuparse de la persistencia y delegaron esa responsabilidad en los
SGBD en los años 60. Aunque siempre ha habido gente que no se ha
enterado.

Si lees Proceso Unificado,



Basura.

los Patrones del GoF



Ahí no dicen nada de bases de datos, ni de persistencia ni de mapeado
objeto-relacional.

y algunas otras cosas, la
mayoría muy bien documentadas y formalizadas en la decada del 90'.



¿Formalizadas?

Debes de estar de broma o no conoces el significado de la palabra.

Vas a ver que esta rueda cuadrada existe y se usa en lugares donde la rueda
redonda no permitía implementar soluciones escalables, mantenibles, etc, etc.



Lo único que veo es que la usan ignorantes vocingleros que intentan
difundir prácticas obsoletas y dañinas sin saberlo.

De todas formas la intención no es polemizar.



La mia tampoco. Solo quiero advertir del peligro que suponen este tipo
de productos.

http://daurmith.blogalia.com/historias/8893

Cooperator no inventa este tipo de prácticas, simplemente es una herramienta
para que, quien quiere adoptar ese estilo o arquitectura, lo pueda hacer con
un poco de facilidad.



Ya, está claro que el aceite de serpiente es mucho más antiguo.


Saludos
Respuesta Responder a este mensaje
#44 Jose A. Fernandez
20/06/2006 - 21:57 | Informe spam
Sinceramente estoy DISFRUTANDO de este post y no veo la hora de
testearlo al "Cooperator".
Ya veo algunas leyendas ...
"Made by Cooperator"
"Power by Cooperator" :)

Y fuerzas con la iniciativa.
_______________________________
Jose A. Fernandez
Respuesta Responder a este mensaje
#45 Daniel A. Calvin
20/06/2006 - 22:14 | Informe spam
Hola Alfredo

Lei el link y no vi la relación

Te mando un abrazo


Daniel A. Calvin
MCP


"Alfredo Novoa" escribió:

On Tue, 20 Jun 2006 11:25:01 -0700, Daniel A. Calvin
wrote:

>No hemos inventado nada, la rueda cuadrada a la que haces referencia tiene
>muchos años de aplicación.

Lo que tiene es muchos años de obsolescencia. Las aplicaciones dejaron
de ocuparse de la persistencia y delegaron esa responsabilidad en los
SGBD en los años 60. Aunque siempre ha habido gente que no se ha
enterado.

>Si lees Proceso Unificado,

Basura.

> los Patrones del GoF

Ahí no dicen nada de bases de datos, ni de persistencia ni de mapeado
objeto-relacional.

> y algunas otras cosas, la
>mayoría muy bien documentadas y formalizadas en la decada del 90'.

¿Formalizadas?

Debes de estar de broma o no conoces el significado de la palabra.

>Vas a ver que esta rueda cuadrada existe y se usa en lugares donde la rueda
>redonda no permitía implementar soluciones escalables, mantenibles, etc, etc.

Lo único que veo es que la usan ignorantes vocingleros que intentan
difundir prácticas obsoletas y dañinas sin saberlo.

>De todas formas la intención no es polemizar.

La mia tampoco. Solo quiero advertir del peligro que suponen este tipo
de productos.

http://daurmith.blogalia.com/historias/8893

>Cooperator no inventa este tipo de prácticas, simplemente es una herramienta
>para que, quien quiere adoptar ese estilo o arquitectura, lo pueda hacer con
>un poco de facilidad.

Ya, está claro que el aceite de serpiente es mucho más antiguo.


Saludos

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