EDM y EF NO son el ORM de Microsoft

Seguramente mucha gente leyendo este post, está pensando, que es lo que está diciendo. De hecho uno mismo al principio de conocer los propósitos de Microsoft con EDM y EF también tenía la misma impresión. Llevo cada vez viendo más artículos y post que se centran precisamente en estos temas, y para agregar más confusión también alguno que otro que tiene que ver con Microsoft, y creo que es justo poner encima de la mesa ciertas cuestiones muy interesantes.


En primer lugar, decir que EDM y EF cubren un espacio similar al que cubren los ORM pero también cubren muchos otros escenarios, de hecho esta es una razón principal por la que comparar EDM y EF con un ORM como NHibernate puede dar lugar a confusiones en el sentido de ver ciertas carencias a EDM y EF. En realidad, puesto que no está centrado solamente en ORM hay ciertos grados de estos espacios que no están cubiertos por una herramienta tan madura como NHibernate, por poner un ejemplo de ORM. La filosofía de EDM y EF en el tiempo será mucho más amplia, es aquí donde estas herramientas nos ofrecerán un valor más grande. Una diferencia importante se puede observar con EDM, EDM no es solamente un diseñador de entidades para modelos relaciones unido a EF, EDM es un modelador conceptual común dentro de Microsoft, es fácil suponer que dentro de no mucho tiempo podremos ver ciertos productos, de Microsoft o no, haciendo uso de EDM sin necesidad de trabajar junto a Entity Framework. Por supuesto EDM nos ofrece muchas características que no son necesarias en un ORM como tal y también algunas restricciones que los espacios de ORM podrían llegar a necesitar pero EDM en esta versión no nos proporcionarán.


Las ventajas de ser algo más


Realmente, hasta ahora hemos dicho que EDM y EF son algo más, pero también hemos dicho que ‘por culpa’ de esto podríamos tener ciertas carencias. ¿ Que ganamos siendo algo más ? Puesto que tenemos un modelador como EDM capaz de cubrir más espacios que el de un ORM, podríamos imaginarnos que nuestra integración con otros productos se podría llegar a hacer a través de este modelador conceptual sin necesidad de conocer el store subyacente. ¿Reporting Services, Cubos, Sync Services…? No sé, suposiciones mías solamente.


A partir de esto mismo podríamos pensar que el nivel de integración con otros elementos del Framework como WCF, WF y ASP.NET lo que podría suponer una avance muy grande en productividad en nuestros desarrollos, algo que un ORM nunca tiene ya que siempre tiene que recurrir a herramientas externas para nada integradas. Con respecto a los nuevos productos podríamos fijarnos en DATA SERVICES ( ASTORIA ), que tendrá a EDM como sistema de metadatos y que se apoyara, probablemente en EF, para hacer que este framework no solamente sea de consulta.


Espero aclarar algo el panorama y que todos esperemos una visión más amplia de estos dos productos desde que sean realidad.


Saludos


Unai

10 comentarios sobre “EDM y EF NO son el ORM de Microsoft”

  1. Buenas Unai,
    Muy buena la entrada y completamente de acuerdo…de hecho, a mie el EDM me recuerda mucho al Data Model de Reporting Services.

    Un abrazo

    JC’s

  2. Juan Carlos, de hecho se rumorea insistentemente que Reporting Services será capaz de tirar directamente de EDM en un futuro próximo.

    Un saludo!

  3. Buenas Rodrigo!
    Pues me parece muy interesante y creo que muy lógico, no solo por el parecido, sino porque en el fondo se propugna la misma idea: trabajar con entidades de negocio de forma sencilla…una gran noticia sin duda.

    JC’s

  4. Hola unai, mira estoy muy interesada en comprar tu libro, me podrias dar un mail en el cualcontactarte, necesito hecrte unas preguntas referentes a el.. gracias por todo

  5. «Es fácil suponer que dentro de no mucho tiempo podremos ver ciertos productos, de Microsoft o no, haciendo uso de EDM sin necesidad de trabajar junto a Entity Framework»

    Ahí has dado en el clavo. Firmo lo que comentas aquí arriba y también, aunque lo mencionas un tanto de pasada, la integración con .net V4 (especialmente con WCF) y con otras tecnologías SOA.

    Sin duda EDM es una gran apuesta a nivel de interoperabilidad entre modelos, a mi juicio bastante acertada, no sólo por su versatilidad sino también por su enorme potencia computacional.

    Great post!! 😉

  6. Se rumorea, podríamos pensar y probablemente… son términos demasiado frecuentes en tu post, que tal si aterrizamos un poco y hablamos de lo que realmente ofrecen EDM y EF en conjunto que, como dijiste no iguala a un producto maduro como Hibernate.

  7. Arnaldo, yo creo que es norma que diga «Se rumorea, podríamos y probablemente» por varios motivos, el primero porque EDM y EF son Betas, en segundo lugar pedirme que lo compare en conjunto con NH es de todas injusto, no puedes comparar un producto real con uno que no existe. Al ser beta no se conocen todas las posibles features, por lo menos yo no tengo acceso a esa información, y eso que tengo mucha.

    Espero que esto te aclare el porque de mis palabras..
    Unai

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *