miércoles, 31 de octubre de 2007

Que es un ORM (object-relational mapping)

El ORM es un componente de software que me permite trabajar con los datos persistidos como si ellos fueran parte de una base de datos orientada a objetos (en este caso virtual). Debido a que lo standard es trabajar con BD relacionales, se deben realizar operaciones que permitan transformar un registro en objeto y viceversa. A esta funcionalidad se la llama Mapeo objeto-relacional (ORM).
Uno de los componentes ORM más utilizado (sino el más...) es el Hibernate, surgido del ambiente Java y llevado al uso del framework .NET con la versión NHibernate
Para poder explicar el porqué de la existencia de esta tecnología, nada mejor que un ppt que preparé para una clase sobre este tema a los alumnos del último año de TSSI, que les dejo disponible a continuación.



*(Si les aparece el mensaje que "ha sido removido o es privado" pulsen en "VER"
al lado del logo de "slideshare", gracias)

20 comentarios:

Diego dijo...

Muchas gracias. Acabo de encontrar este blog y es fantastico. Una preguntilla a ver si puedes ayudarme ¿Hay alguna opcion interesante de ORM para la compact framework?

un saludo

Jorge Ercoli dijo...

Diego, si ya estas con Net CF 3.5, tienes la muy buena opción de usar LINQ. El único que no tienes en el CF es Linq for Entities; de todas formas es aconsejable que uses Linq for Sql (revisa este ejemplo: http://www.codeproject.com/KB/mobile/DatasetsAndLINQ.aspx).
Sino tienes el EntitySpaces para CF (http://www.entityspaces.net/Portal/Default.aspx) con un provider para SqlServer CE y otro para VistaDB, es un template para el MyGeneration y funciona como un Active Record. Los pasos serian:

1) instalar el MyGeneration
2) conectar el MyG a tu BD
3) instalar EntitySpaces
4) generar las clases EntitySpaces dentro de un proyecto de VS
5) agregar las referencias a las librerias del EntitySpaces (Core, Interfaces,..) y al Provider de BD que usaras
6) agregas el using al namespace donde estan las clases EntitySpaces que representan tus tablas de tu Bd seleccionada (digamos ahora, tus Objetos de negocio)

Aca tenes el GetStarted : http://www.entityspaces.net/documentation/getstarted.pdf

Suerte Diego y gracias por lo de "blog fantastico". Nos leemos.

Diego dijo...

Gracias por la ayuda, por ahora tengo varias aplicaciones en Compact Framework 2, pero no descarto pasarme al 3.5 para la siguiente aplicación que tenga que hacer.Por ahora estoy usando una arquitectura de 3 capas pero la capa de acceso a datos está hecha manualmente.Voy a revisar las opciones que me comentas y a experimentar un poco con ellas. Un saludo

Ángel dijo...

Jorge, muy interesante. He llegado de casualidad a tu blog y me ha parecido muy didáctico.

Saludos desde Barcelona.

Jorge Ercoli dijo...

Gracias Angel, realmente implica un esfuerzo cada post que armo, porque intento poner muchas imágenes y ejemplos para que den ganas de leerlo.
Este mes volveré a generar algunos post, asi que echale un vistazo a tu lector de RSS.

NOEL dijo...

Hola jorge ante todo agradecerte por las ayudas que brindas...estoy empezando a llevar java y la verdad quiero aprender a programar pero de la forma correcta usando los patrones DAO o MVC y si tienes unos ejemplos te agradeceria que me los envies wilmer_noel@hotmail.com gracias por adelantado

Anónimo dijo...

Hi, I think your site might be having browser compatibility issues.
When I look at your blog in Safari, it looks fine but when opening in Internet
Explorer, it has some overlapping. I just wanted to give you a quick
heads up! Other then that, amazing blog!
Feel free to visit my homepage ... topografía

Anónimo dijo...

It's going to be finish of mine day, but before ending I am reading this wonderful post to increase my knowledge.
Feel free to surf my web page :: bacalao

Anónimo dijo...

These are genuinely impressive ideas in concerning blogging.

You have touched some fastidious factors here. Any way keep up wrinting.
Also visit my web page blood pressure

Anónimo dijo...

Hmm it seems like your website ate my first comment (it was extremely long) so I
guess I'll just sum it up what I submitted and say, I'm thoroughly enjoying your blog.
I too am an aspiring blog blogger but I'm still new to everything. Do you have any points for first-time blog writers? I'd really appreciate it.
Here is my site ... shopping comparison

Anónimo dijo...

As the admin of this web page is working, no doubt very rapidly it will be famous, due to its feature contents.
Also see my webpage: make money blogging

Anónimo dijo...

Thanks for sharing your thoughts on stopped smoking.
Regards
Here is my site easy stop smoking

Anónimo dijo...

Do you mind if I quote a couple of your posts as long as I
provide credit and sources back to your weblog?
My blog is in the very same niche as yours and my visitors would
certainly benefit from a lot of the information you present here.
Please let me know if this alright with you.

Many thanks!
My weblog ... website search engine

Anónimo dijo...

Spot on with this write-up, I really feel this site needs much more attention.
I'll probably be returning to read more, thanks for the info!

Also visit my webpage ... http://aide.digitalfighter.fr/

Anónimo dijo...

Excellent blog here! Also your website loads up very fast!
What web host are you using? Can I get your affiliate link to your host?
I wish my website loaded up as quickly as yours
lol

my blog post affordable seo services

Anónimo dijo...

My partner and I stumbled over here coming from a different page and thought I should check things out.
I like what I see so now i'm following you. Look forward to looking over your web page for a second time.

Feel free to surf to my web page :: Vintage clothing in nashville tennessee

Anónimo dijo...

Greetings from Carolina! I'm bored to death at work so I decided to check out your website on my iphone during lunch break. I enjoy the information you provide here and can't wait to take a look when I get home.

I'm surprised at how fast your blog loaded on my mobile .. I'm not even using WIFI, just 3G .
. Anyways, amazing blog!

My blog: bmi chart male

Anónimo dijo...

Ridiculous quest there. What happened after?

Good luck!

my webpage hip zipper vintage clothing

Anónimo dijo...

Hello there! I could have sworn I've visited this site before but after going through many of the posts I realized it's new to me.
Regardless, I'm definitely happy I discovered it and I'll be
book-marking it and checking back regularly!

Also visit my web site :: http://www.goldandgoldcoins.com/necessary-elements-In-modcloth-coupons-Across-the-usa/

Anónimo dijo...

First of all I want to say wonderful blog! I had a quick
question that I'd like to ask if you do not mind. I was interested to find out how you center yourself and clear your mind before writing. I have had a tough time clearing my thoughts in getting my ideas out there. I do take pleasure in writing but it just seems like the first 10 to 15 minutes are lost just trying to figure out how to begin. Any suggestions or tips? Many thanks!

Also visit my weblog: wiki.emsky.net