U srijedu, 3. prosinca 2014. godine na ETFOS-u je održano peto tehničko predavanje Software Startup Akademije. Predavač Ivan Marković (SPAN, Microsoft, IEEE) je sudionike SSA uveo u objektno-relacijsko mapiranje.
Koncept ORM-a Ivan je ukratko teoretski objasnio, a onda ga približio konkretnom demonstracijom rada s Microsoftovim O/R mapperom, Entity Frameworkom i .NET komponentom za upite na izvore podataka, LINQ-om. ORM je alat koji omogućava rukovanje podacima iz bilo koje baze preko objekata u jeziku koji koristimo. Znači, ne pišemo SQL stringove s kojima dohvaćamo podatke, nego primjenjujemo metode na objekt koji koristi neki ORM framework.
Najkorišteniji ORM alati su:
- Entity Framework za .NET
- Doctrine za PHP
- Hibernate za Javu
Prednosti ORM-a su ušteda vremena za razvoj i održavanje pogotovo kod većih projekata i veća fleksibilnost koda. Najveći nedostatak je vrijeme potrebno za naučiti koristi i postaviti neki ORM famework.
Ivan Marković, “Objektno-relacijsko mapiranje u Microsoftovim tehnologijama” (snimka predavanja)
Prva stvar za koju se treba odlučiti kod korištenja Entitity Frameworka jest način na koji ćemo stvoriti bazu.
- Code First: prvo napišemo klase u aplikaciji koje onda generiraju bazu po potrebi. Ovaj pristup je dobar za manje projekte koji trebaju jednostavniju i brzo gotovu bazu za pohranu podataka.
- Code First from existing DB stvara POCO klase iz već gotove baze.
- Database first: koristi već gotove baze.
- Model first: Stvaramo novi EDM model direktno u Entity Framework sučelju.
Zanimljiva stvar je LINQ. On omogućava upite na bazu direktno iz C# jezika. Sintaksa upita je puno jednostavnija i ljudima ugodnija nego SQL, a LINQ dohvaća podatke iz bilo kojeg izvora, XML-a, SQL baze ili bilo kojeg objekta.
Iako nam LINQ olakšava propitivanje baza, SQL je još uvijek bolje koristiti za velike setove podataka i optimizirane upite kod kojih je bitna brzina izvođenja.
ORM je nešto čime se često koristimo u razvoju aplikacija, a Ivan Marković nam je ovim predavanjem pomogao da taj koncept doživimo u praksi.
- Tekst: Vojislav Pavasović
- Foto: YouTube (screenshot)