Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web development, networking and server security. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Udi Dahan - Entity Framework

Udi Dahan   Udi Dahan – Software Simplist
  

Entity Framework: Problemi i Rešenja diskonektovanja


Andres Aguiar istice ogromne promene u ponašanju podataka u faznoj arhitekturi koja dolazi sa ADO.NET Orcas Entity Framework. On to lepo sumira

“U osnovi, ne postoji režim isključen.” Zatim nastavlja da priča o granjanju ovog: ">To u osnovi znači da ako planirate da izgradite višeslojnu aplikaciju sa ADO.NET Orcas u srednjem nivou, moraćete da hakujete svoj mehanizam praćenja promena u klijentu, pošaljete ceo izmenljiv skup, i primenite ga u srednjem nivou. Sa ove tačke gledišta, to je veliki korak unazad, jer to nešto mi već imamo sa DataSets-om danas.”

Ja sam dosta radio na velikim distribuiranim sistemima, neki od njih mogu biti nazvani i “multi-nivo”, ali ja stvarno ne volim taj izraz. Moram da vam kažem ja nisam toliko zabrinut. Mogao bih reći da je to zato što ja koristim objekat/relacioni alat za mapiranje, ali onda opet, Entity Framework bi trebalo da bude to. To takođe može biti, jer ?? ne koristim DataSets ionako toliko danas, ali to nameće Andresovo pitanje- da li sam sam razvio svoju promenu mehanizma praćenja klijenta?

Odgovor leži u drugom delu pitanja “pošaljete ceo izmenljiv skup, i primenite ga u srednjem nivou.” Imam ceo pod skup zašto ja mislim da to nije dobra ideja, posebno oko Web Services i SOA, ali se široko primenjuje. Ipak, ostaje pitanje, šta radimo za klijentovu stranu?

Pre nešto više od godinu dana, ja i Arjen Poutsma (sa Spring fame-a) imali smo raspravu o ovoj temi u radionicama softverske arhitekture u prelepom Kortinu, Italija. Evo važnog dela:

Mislim da je sve počelo od mene rekavši da usluge ne treba izlagati CRUD style operacijama. Arjen se suprostavio sa napomenom da većina korisničkog interfejsa u line-of poslovnim aplikacijama ima izloženi isti modul za korisnike tako što ih popuni podacima u mrežama. Moj odgovor na to je bio da iako se ljudi naviknu na gotovo sve dok god je dosledno, to ne znači da je to dobro rešenje. U sistemima na kojima sam ja radio uvek postoji HCI (human-computer interaction) osoba na projektu koji dizajnira UI, uglavnom oko zadataka koje obavljaju. Ovi zadaci uglavnom dobro koresponduju sa grubom porukom koju smo mi uneli u uslove SOA. Konacno smo se složili da bi naslednik SOA trebalo da bude TOA (Task-Oriented Architecture) u svojoj agregaciji klijent aspekata na već server orijentisanih principima SOA-e.

Kao konkretan primer, umesto ažuriranja korisničkih podataka u mrežu, korisnici će aktivirati zadatke poput “Promena adrese” ili “Promena bracnog stanja”. Prikazani obrazac sadrži samo relevantne podatke koji se ažuriraju - nema potrebe da se izvrše “promene praćenja”, te je savršeno jasno koji podaci treba da budu poslati. Osim toga, namera iza izmenjenih podataka će biti poslata takode - server neće generisati podatke “u srednji nivo”. Umesto toga, aktuelni kupac može aktivirati opciju (Promena adrese ili Promena bračnog statusa) sa relevantnim podacima.

Ja ustvari vidim ovu promenu u Entity Framework-u kao korak napred, kao skidanje pomoćnih tockova. Ja sam siguran da će većina programera biti sposobna da izvrši promenu i pređe na ove naprednije arhitekture.

Published (Last edited): 24-02-2013 , source: http://www.udidahan.com/2007/03/30/entity-framework-disconnected-problems-solutions/