Descargar la presentación
La descarga está en progreso. Por favor, espere
1
ORM (Object Relational Mapping)
Jefatura de Sistemas
2
INTRODUCCION En junio de 2000, Microsoft anunció tanto la plataforma. NET y un nuevo lenguaje de programación llamado C #. C # es un objeto de tipado fuerte lenguaje orientado al objeto proporcionar a la mezcla óptima de la sencillez, la expresividad, y el rendimiento. La plataforma. NET se centra en torno a una de Common Language Runtime (similar a una JVM) y un conjunto de librerías que pueden ser explotados por una amplia variedad de lenguas que son capaces de trabajar juntos por todos los compilación a un lenguaje intermedio (IL). El lenguaje C # fue construido con la perspectiva de muchas lenguas, pero sobre todo de Java y C + +. Fue co-escrito por Anders Hejlsberg (que es famoso por el diseño del lenguaje Delphi), y Scott Wiltamuth.
3
PROGRAMACION Y BD Es de conocimiento que hay una incongruencia entre el mundo orientado a objetos y las base de datos relacionales. Para reducir ese incongruencia recurrimos a una capa auxiliar que mapeará entre los 2 mundos, adaptándolo según las especificaciones hechas. Esa capa auxiliar se denomina ORM, object relational mapping. Los ORM nacieron a mediados de la década del 90, se hicieron masivos a partir de la masificación de Java. Por esa razón, los frameworks más populares hoy en día en .Net son adaptaciones del modelo pensado para Java. Estudios muestran que aproximadamente, el 40% de desarrollo de software está dedicado al mapeo entre el modelo de objetos y su correspondiente modelo relacional.
4
QUE ES UN ORM Ayudan a reducir el tiempo de desarrollo de software.
Object Relational Mapping (ORM) es la herramienta que nos sirve para transformar representaciones de datos de los Sistemas de Bases de Datos Relacionales, a representaciones (Modelos) de objetos. Las herramientas ORM actúan como un puente que conecta las ventajas de una Base de datos con la representación de estos en un lenguaje Orientado a Objetos, o, dicho en otras palabras, nos lleva de la base de datos al lenguaje de programación. En el modelo relacional, cada fila en la tabla se mapea a un objeto, y cada columna a una propiedad. Para acceder a las propiedades normalmente se usan métodos especiales llamados getters y setters, o accesores. Un ORM simplifica el acceso a una base de datos por parte del programador convirtiendo toda sentencia SQL a operaciones con objetos. Así por ejemplo añadir una fila a una tabla es tan fácil como crear un objeto. Ventajas de los ORM Ayudan a reducir el tiempo de desarrollo de software. Permiten la producción de mejor código. No hay necesidad de saber SQL. Incentivan la portabilidad y escalabilidad de los programas de software. Independencia de la Base de Datos Desventajas El desempeño esta ligado a la eficiencia del ORM.
5
ORM El ORM debería resolver la mayoría de las cargas. Un buen ORM permite: Mapear clases a tablas: propiedad a columna, clase a tabla. Persistir objetos. A través de un método Orm.Save(objeto). Encargándose de generar el SQL correspondiente. Recuperar objetos persistidos. A través de un método objeto = Orm.Load(objeto.class, clave_primaria) Recuperar una lista de objetos a partir de un lenguaje de consulta especial. A través de un método. ListObjetos = Orm.Find(“Objeto FROM MyObject WHERE Objeto.Propiedad=5”), o algo más complejo ListObjetos = Orm.Find(“Objeto FROM MyObject WHERE Objeto.Relacion1.Relacion2.Propiedad2=5”), y el ORM transformará a través de varios joins de tablas.
6
BENEFICIOS DE UN ORM ORM tiene un larga historia, y no es específico de Java. Sin embargo, se ha vuelto particularmente popular entre los desarrolladores Java. ORM tiene tantos propósitos que juntos pueden añadir una enorme ganancia de productividad. Específicamente: ORM elimina el requerimiento de escribir SQL para cargar y persistir el estado de los objetos. Aunque aún se tiene que escribir consultas, una buena herramienta ORM debería hacerlo más sencillo. Y se verá liberado de la codificación asociada con JDBC u otros. ORM le permite crear un modelo de dominio apropiado sin muchos de los problemas asociados con el modelo relacional. Puede pensar en términos de objetos, en vez de en filas y columnas. ORM puede mejorar la portabilidad entre bases de datos reduciendo la dependencia del SQL específico de la base de datos, que se puede abstraer detrás de la herramienta ORM. El efecto de ORM sobre el rendimiento de una aplicación dependerá del escenario. Para operaciones de actualización basadas en set, el rendimiento de ORM será menor que el JDBC directo, pero en muchos casos ORM puede mejorar el rendimiento en comparación a la codificación manual de código JDBC, permitiendo el ajuste fino de estrategias como las relaciones que serían difíciles de codifica a mano.
7
ORM Cuándo y ccmo elegir ORM
ORM tiene su escépticos. Especialmente en el espacio .NET ORM ha sido mirado con sospecha, y recientemente este escepticismo también se ha expresado en voz baja en el mundo Java. Las experiencias negativas con herramientas ORM suelen ser el resultado de intentar usarlo cuando no es apropiado. ORM produce buenos resultados siempre que no lo fuerce donde no cabe. Aquí tiene algunas guías básicas: No piense que usar ORM le permite ignorar el SQL y el modelo de búsquedas de su base datos. El mapeo Objeto- Relacional es una herramienta para hacer lo que usted quiera hacer más fácil; no le libera de la necesidad de entender qué es lo que usted quiere hacer. Cuando no utilizarlo: ORM no es siempre la mejor opción. No es apropiado para: Aplicaciones que realizan frecuentes actualizaciones de numerosos registros. sirven mejor con aproximaciones directas basadas en SQL, en dichas aplicaciones la lógica de negocio está codificada dentro de la base de datos, o forzadas por restricciones de integridad, y que le dan a los usuarios una "ventana de datos", permitiendo que el usuario los edite. En aplicaciones como éstas, ORM tiene menos que ofrecer porque los objetos en general, tienen menos que ofrecer; más allá de una ilusión de orientación a objetos, se puede ganar muy poco modelando las tablas de la base de datos como objetos de dominio.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.