Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ASP.Net aplikacija / rad offline (lokalno)

[es] :: .NET :: ASP.NET :: ASP.Net aplikacija / rad offline (lokalno)

[ Pregleda: 2174 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

surferxyz

Član broj: 45411
Poruke: 55
..pro.19522235-222.bih.net.ba.



Profil

icon ASP.Net aplikacija / rad offline (lokalno)25.12.2007. u 09:14 - pre 198 meseci
Zdravo.
Koji bi mi nacin preporucili za razvoj asp.net aplikacije koja bi se
sastojala iz prezentacijskog sloja, web sevisa i baze, s tim da mora
podrzavati offline nacin rada.
Offline nacin mi morao da omoguci unos novih "artikala" i izmjenu
postojecih "artikala" koje ste "rezervisali" dok ste bili online. Znaci dok
ste bili online "preuzeli ste" artikle koje zelite da obradjujete dok ste
online. Cilj je da se na lokalnoj masini ne drzi kopija kompletne baze nego
smo neophodni podaci za unos novih podataka i oni podaci koje ste preuzeli
za uredjivanje.
Ono sto mi je potrebno je par linkova za best practices ili bilo kavav
savjet, clanak, blog koji bi mi mogao pomoci kod planiranja.

Hvala.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: ASP.Net aplikacija / rad offline (lokalno)25.12.2007. u 09:34 - pre 198 meseci
Ok,

to sto ti trazis je prosto nemoguce. Ne mozes da imas asp.net aplikaciju koja radi offline, ako si offline nemas pristup IIS serveru samim tim ne mozes da pozivas asp.net stranice sa njega. Jedini nacin da implementiras offilne mogucnost je da klijenti imaju winforms aplikaciju na dekstopu koja ce kesirati podatke, medjutim u tom slucaju ti otpada 3 layer pristup, treba ti presentation, cache proxy, web servis i baza, gde su prva dva u klijent aplikaciji a druga dva na serveru(ima).

Alternativno, ako imas lokalni IIS mozes na njemu da hostujes asp.net aplikaciju da ti samo baza i webservisi bude remote. U svakom slucaju ja ti ne bih preopuricio nikakvo "rezervisanje" podataka sa servera (narocito ne lockovanje redova) vec upotrebu concurrency provere (tj, ne menjas polja u bazi osim ako sva polja nisu jednaka onima koje imas u kesu, ako je neko polje promenjeno to znaci da je neko drugi promenio red izmedju tvog kesiranja i update-a), u principu nesto sto vec imas u upotrebi koristeci detached dataset-ove.

U principu, nemoj d se zavaravas, pravljenje aplikacije o kojoj ti pricas nije uopste lak posao, imas mnogo problema oko konkurencije, sinhronizacije i zastarelosti podataka u kesu, nekako sam ubedjen da postoji i lakse resenje za tvoje probleme.


Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

surferxyz

Član broj: 45411
Poruke: 55
89.146.180.*



Profil

icon Re: ASP.Net aplikacija / rad offline (lokalno)25.12.2007. u 11:03 - pre 198 meseci
Prvo da ti se zahvalim na brzom odgovoru.
Citat:
mmix: Ok,

to sto ti trazis je prosto nemoguce. Ne mozes da imas asp.net aplikaciju koja radi offline, ako si offline nemas pristup IIS serveru samim tim ne mozes da pozivas asp.net stranice sa njega. Jedini nacin da implementiras offilne mogucnost je da klijenti imaju winforms aplikaciju na dekstopu koja ce kesirati podatke, medjutim u tom slucaju ti otpada 3 layer pristup, treba ti presentation, cache proxy, web servis i baza, gde su prva dva u klijent aplikaciji a druga dva na serveru(ima).

Ovo mi je sve jako jasno. Malo sam se nasmijao. Ipak hvala.
Citat:
mmix:
Alternativno, ako imas lokalni IIS mozes na njemu da hostujes asp.net aplikaciju da ti samo baza i webservisi bude remote. U svakom slucaju ja ti ne bih preopuricio nikakvo "rezervisanje" podataka sa servera (narocito ne lockovanje redova) vec upotrebu concurrency provere (tj, ne menjas polja u bazi osim ako sva polja nisu jednaka onima koje imas u kesu, ako je neko polje promenjeno to znaci da je neko drugi promenio red izmedju tvog kesiranja i update-a), u principu nesto sto vec imas u upotrebi koristeci detached dataset-ove.

Ovaj scenario je najvjerovatniji. Web sevis i baza su remote, a prezentacijski sloj je na lokalnom IIS-u i zavisno i da li je online/offline poduzima određene akcije.
Izabrao sam nezgodan termin "rezervisanje artikala" za ofline nacin rada. U biti sam mislio na pravljenje "lokalne kopije" podataka o određenom broju artikala sa mogućnošću izmjene u offline modu rada i sinhronizacije kada bude online. Nikakvog zaključavanja podataka na serveru neće biti (niti smije biti)
Citat:
mmix:
U principu, nemoj d se zavaravas, pravljenje aplikacije o kojoj ti pricas nije uopste lak posao, imas mnogo problema oko konkurencije, sinhronizacije i zastarelosti podataka u kesu, nekako sam ubedjen da postoji i lakse resenje za tvoje probleme.

To mi je u potpunosti jasno. Ovo nije mali projekat. Trenutno se samo radi na idejnom prijedlogu rešenja. Zato sam u stvari i rekao da bi mi pomogli likovi, blogovi, članci, ..., bilo kakva iskustva sa ovakvim tipom problema.
Ima puno načina da se ovo riješi, samo je pitanje koji je najbolji. Da li da koristim Smart Client Offline Application Block, da li samo radim serializaciju objekata na lokalnoj mašini pa da to pošaljem kada budem online...

Ideje su dobro došle.
Hvala mmix
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: ASP.Net aplikacija / rad offline (lokalno)25.12.2007. u 11:12 - pre 198 meseci
Ja bih ovde definitivno preporucio desktop aplikaciju na strani klijenta, iz vec recenog razloga. Jeste moguce sa web serveria na svakom klijentu, ali mi to deluje kao overkill.
Sto se konkurentosti tice, ako je ok politika da samo jedna osoba edituje jedan artikl, onda mozes oznaciti (slicno versioning sistemima) taj artikl preuzetim za izmenu i zabraniti drugima. Ali to svakako zavisi kakve su stvari u pitanju. Ako je dozvoljeno da vise ljudi radi na istoj stvari, onda moras uzeti u obzir proveru da li je neko vec menjao nesto pre nego sto uneses izmene.

@mmix, nisi rekao sta bi preporucio u slucaju da neko jeste u medjuvremenu izmenio nesto. :) Odbacivanje uradjenog deluje kao neadekvatno jer je potroseno vreme bez rezultata, overwrite isto tako. Jedino da se kreira grananje.. a to vec dodatno komplikuje stvar i verovatno celu aplikaciju cini daleko slozenijom. Ili da se kreiraju statusi korisnika (ko je od koga jaci):)
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: ASP.Net aplikacija / rad offline (lokalno)25.12.2007. u 11:37 - pre 198 meseci
Moj iskreni savet je sledeci:

Instaliraj SQL server instancu kod klijenta i ukljuci replikaciju izmedju lokalne i remote baze. Neces imati nikakve glavobolje a podatci ce biti dostupni u lokalu i mozes skroz da zaobidjes web servise koji iako pogodni za remot pristup unose veliki lag u ucitavanje podata. Postoje razne strategije za sinhornizaciju ali generalno je saobracaj uvek limitiran na stvari koje su se promenile a sam sinhro termin mozes da stavis tamo nocu u sitne sate kad je bandwidth slobodan a u realtime sinhornizujes samo kriticne podatke. Ovo ce ti ustedeti puno truda sa stanovista razvoja asp.net aplikacije jer je za nju replikacija transparentna.

Ovde imas objasnjeno nekoliko scenarija pa vidi da li ti neka od ovih shema omogucava ono sto ti hoces: Configuring and Maintaining Replication (SQL2005)

@shadowed
Ne postoji univerzalno resenje sta raditi u tom slucaju i zavisi od toga sta je menjano i koliko je to kriticno, ali da komplikuje, komplikuje. Izmena cene artikla je kriticna, izdata faktura za robu koju je neko drugi sekund pre toga prodao je kriticna, promena adrese klijenta NIJE, itd. Distribuirane aplikacije su veoma zeznute i generalno fokus je na tome da se kriticni podaci ne kesiraju i da se operacije atomizuju u real-time transakcije koje mogu da se rollbackuju i vrate korisniku instant informaciju o uzroku greske, po mogucstvu dok je musterija jos uvek ispred tebe .
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

[es] :: .NET :: ASP.NET :: ASP.Net aplikacija / rad offline (lokalno)

[ Pregleda: 2174 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.