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

#76 Esther Rodriguez
21/06/2006 - 19:13 | Informe spam
Mostrar la cita
Defender una postura es buena siempre y cuando esa defensa se hace en base a
argumentos, no a insultos o solamente decir "eso no vale... eso es una
barbaridad" y cosas por el estilo.

Mostrar la cita
Si puede ver mi mensaje, justo digo lo mismo que usted. Una persona con 5
años de experiencia y con una mente abierta y los pensamientos claros vale
mil veces más que una persona con 20 años de experiencia que solo sabe una
cosa y no esta dispuesto a ver ambos lados de la moneda. Como usted bien
dice, uno tiene que ver el otro lado antes de defender una postura. Se tiene
que estudiar las cosas desde todos los ángulos. No se puede juzgar al mundo
entero si no sales de tu pueblo natal.
#77 Alfredo Novoa
21/06/2006 - 19:54 | Informe spam
On Wed, 21 Jun 2006 08:49:30 -0400, "Pedro Echavarria"
wrote:

Mostrar la cita
Con Visual Foxpro las cosas eran más fáciles por que estaba mejor
integrado con SQL que C# 2.0.

Con C# 3.0 seguramente notarás que las cosas se vuelven otra vez menos
difíciles.

Mostrar la cita
Seguramente no lo estés, los que si están desfasados son ellos.

Mostrar la cita
Yo de ti me mantendría alejado de todo esto. Microsoft estaba
desarrollando un "framework" de este tipo, pero lo abandonó en favor
de LINQ. Creo que fue una buena decisión.


Saludos
Alfredo
#78 Daniel A. Calvin
22/06/2006 - 01:53 | Informe spam
Alfredo

Mostrar la cita
El framework que mencionas es Object Space y debo darte una noticia mucho de
lo que tanto te gusta de LinQ es Object Space, esta metido dentro.

Y si tanto te gusta LinQ deberías saber a esta altura que justamente trabaja
sobre cualquier fuente de datos, sin recurrir al RDBMS que hay debajo, arma
todo por arriba.

Mira que lindo:

string[] cities = { "London", "Amsterdam", "San Francisco","Las Vegas",
"Boston", "Raleigh", "Chicago", "Charlestown", "Helsinki", "Nice",
"Dublin" };

GridView1.DataSource = from city in cities
where city.Length > 4
orderby city
select city.ToUpper();
GridView1.DataBind();


Ohhhhh, el datasource es un array de strings...
Alfredo LinQ hace lo que vos odias con tanto fervor.

Estaría bueno que le expliques a todo el grupo el código que pegue arriba,
contanos donde fue a parar tu bendito RDBMS en este ejemplo que es todo un
icono de lo propuesto por LinQ.

Si buscas en el sitio de MS vas a encontrar muchos ejemplitos como este.

Chau

Daniel Calvin




"Alfredo Novoa" escribió en el mensaje
news:
Mostrar la cita
#79 Alfredo Novoa
22/06/2006 - 08:41 | Informe spam
On Wed, 21 Jun 2006 20:53:43 -0300, "Daniel A. Calvin"
wrote:

Mostrar la cita
No hay nada de malo en que pueda hacer esto sino todo lo contrario,
pero esto no cambia nada las cosas. En un Sistema de Información las
reglas de negocio deben de ser aseguradas por el DBMS de todas formas.

Esto es un pequeño ejemplo de las capacidades de LINQ, pero está
clarísimo que este tipo de código nunca debería de existir en un
Sistema de Información profesional.

Por ejemplo esta capacidad se podría aprovechar en aplicaciones que no
son de bases de datos.


Saludos
#80 sharpman
22/06/2006 - 09:27 | Informe spam
Concido contigo, sin el tipo de interlocutor que representa Alfredo este
grupo sería un poco monótono.

Yo me lo paso bomba con estos hilos interminables.
Saludos.
Ads by Google
Search Busqueda sugerida