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

Izrada programa u mrezi i njegovo pozivanje.

[es] :: Pascal / Delphi / Kylix :: Izrada programa u mrezi i njegovo pozivanje.

[ Pregleda: 2435 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

inherited
Novi Sad

Član broj: 95516
Poruke: 219
*.exe042.net.



Profil

icon Izrada programa u mrezi i njegovo pozivanje.11.04.2007. u 15:25 - pre 207 meseci
Interesuju me:
1) pravila izrade
2) da li svaki racunar u mrezi (radna stanica) ima po jednu instancu programa
ili racunari preko mreze pristupaju programu koji je smesten na jednom racunaru,
npr. tamo gde je i baza?
 
Odgovor na temu

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Član broj: 15993
Poruke: 352
212.200.249.*



+1 Profil

icon Re: Izrada programa u mrezi i njegovo pozivanje.11.04.2007. u 16:25 - pre 207 meseci
Pravila nema ... :)

Salu na stranu, zavisi sta ti tacno treba ...

Imas raznih nacina da "izradis" "program za mrezu" ...

Razne vrste klijent/server arhitektura ... Server sa klijentima, klijenti bez servera (nesto poput ADHOC kod wireless-a)
Multitier data processing aplikacije
DCOM
Corba (Nisam siguran da li delphi podrzava, CBuilder podrzava sigurno - ver 6)

Uglavnom svaki racunar ima jednu instancu necega sto pokrece ...

bilo to browser, samostalna aplikacija ili aplikacija koja "kupi" kod sa servera (DCOM i Corba) i izvrsava ga u lokalu ...

Sta si tacno naumio?
Za svaki posao postoji odgovarajuci model (ili vise njih), tako da u zavisnosti sta ti treba moze nesto i da se preporuci
i pojasni ...
 
Odgovor na temu

inherited
Novi Sad

Član broj: 95516
Poruke: 219
*.exe042.net.



Profil

icon Re: Izrada programa u mrezi i njegovo pozivanje.11.04.2007. u 16:59 - pre 207 meseci
1) baza na jednom racunaru (nazovimo ga server)
2) program treba da radi u mrezi, operacije nad bazom sa vise racunara istovremeno

2.1) unos podataka
2.2) izmene podataka
2.3) neka racunanja
2.4) stampa

Mene interesuje da li postaviti samo jednu verziju programa na racunar gde je i baza (to sam vidjao i ne znam da li je ispravno zato i pitam), a pokretati ga sa drugih racunara preko mreze. Ili na svaku radnu stanicu snimiti po jednu kopiju programa koja ce se preko mreze kaciti na server (bazu)? Da li u prvom slucaju sve ide preko jedne konekcije, a u drugom pokretanjem svake instance programa stvaraju se i konekcije, visenjih? Bio bih zahvalan da mi se to malo pojasni?

Hvala unapred.
 
Odgovor na temu

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Član broj: 15993
Poruke: 352
212.200.249.*



+1 Profil

icon Re: Izrada programa u mrezi i njegovo pozivanje.13.04.2007. u 14:02 - pre 207 meseci
U oba slucaja koja si naveo ide se preko zasebnih konekcija ...

Zapravo ta dva slucaja se ne razlikuju gotovo uopste osim lokacije na kojoj se nalazi exe fajl ...

Kad "vuces" exe sa server, postoji jedna prednost (koje mogu da se setim), a to je da update
izvrsnog koda u sistemu radis samo jednom a ne n puta (na svim radnim stanicama)

u slucaju da radis taj pristup:

1. Server sa bazom (bez ikakvog dodatnog koda)
2. Vise klijenata koji pokrecu kod (bilo odakle) i konektuju se na bazu

u tom slucaju bi trebalo da vodis racuna o tome da programiras tako da
unosi podataka imaju zastitu od medjusobne interakcije ... (ovo se postize u zavisnosti
od platforme na razlicite nacine)

recimo:

Program ne sme da "podrazumeva" da nesto od podataka postoji ako nije provereno ili da je u odredjenom
stanju ...

alternativno treba uvesti kvalitetnu kontrolu greske i omoguciti u specificnim slucajevima
da korisnik odreaguje na ispravan nacin ...

Poruke tipa "Podaci koje menjate vise ne postoje na serveru (neko ih je obrisao) ...."
ili "Podatak koji menjate je neko promenio u medjuvremenu da li zelite da ..."

recimo firebird (pretpostavljam da to koristis, jer je uobicajeno u kombinaciji sa delphi-jem)
ima sasvim lep mehanizam exceptiona, i eventova koje mozes da uposlis u tu svrhu ...

(definises svoje exceptione da znas sta ti baza javlja da ne moze - i aktiviras ih u triggerima,
a eventove isto aktiviras u triggerima da ti baza "javi" da je recimo neko menjao, dodavao ili brisao nesto
pa onda mozes da refresh-ujes stanje svojih tabela)

Postoji jos par arhitektura koje bi ti mogle biti interesantne...

Na primer takozvane n-tier arhitekture ...

U koje spada i sledeci slucaj

1. Server sa bazom podataka
2. Program na serveru koji ce da drzi jednu konekciju na bazu i da klijentima preko nekog mreznog protokola salje podatke
i da od njih prima podatke, obicno se ovde implementira i neki locking mehanizam ili nesto slicno (neko radi na unosu robe, ostali
moraju da cekaju da on zavrsi ili tako nesto) kao i deo "poslovne logike" sistema ... odnosno dodatna izracunavanja vezana za unete
podatke.
3. "Light" klijenti koji su manje vise samo unos i pregled podataka i oni ne komuniciraju direktno sa bazom nego sa "Server programom",
cak ljudi cesto i ne stavljaju u njih bilo kakvu obradu u ovom modelu nego se to vrsi centralizovano u "Server programu" ...

Ukoliko je u pitanju jednostavan projekat, ja bih ti preporucio da radis prvi pristup.
Drugi je po mom misljenju dosta komplikovaniji da se implementira za jednostavne projekte dok na slozenijim donosi dosta pogodnosti ...
 
Odgovor na temu

inherited
Novi Sad

Član broj: 95516
Poruke: 219
*.exe042.net.



Profil

icon Re: Izrada programa u mrezi i njegovo pozivanje.13.04.2007. u 16:12 - pre 207 meseci
Hvala na posvecenom vremenu i strpljenju.
Polako mi se stvara slika o svemu tome.

Kako sam, bez iskustva u praksi, zamislio situaciju. Jedan program koji se postavlja na sve racunare, predpostavimo da imamo jedan glavni racunar (server) na kojem je baza. Sa ostalih radnih stanica u mrezi a putem programa korisnici se loguju na bazu preko korisnickih naloga. Uzmimo za primer da imamo vise nivoa od kojih neki imaju sva prava (pisanje, izmene, brisanje), drugi neka manja, treci pregled i izvestaje, itd.

Interesantan mi je locking mehanizam!?!
Server program!?!

Jel mi mozete to malo pribliziti? Sta tu ustvari treba da se radi?
 
Odgovor na temu

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Član broj: 15993
Poruke: 352
*.ADSL.neobee.net.



+1 Profil

icon Re: Izrada programa u mrezi i njegovo pozivanje.15.04.2007. u 23:10 - pre 207 meseci
Koju bazu planiras da koristis?

Za ovo sto si naveo manje vise sve moderne kvalitetne relacione baze imaju mehanizme da se to odradi, preko
korisnickih prava ...

Pogotovo ako si bez iskustva u praksi, predlazem prvi pristup ...

Takodje ti sama baza obezbedjuje mogucnost da odradis neki nivo konkurentnosti/konzistentnosti pristupa
kroz kontrolu transakcija

.....

Sama n-tier ideja se bazira na tome da izmedju baze i krajnjeg korisnika stoji vise slojeva programa.
Ne postoji univerzalni princip kako to izvesti mada postoji gomila vec osmisljenih protokola za tako nesto.

I u samom delphi-ju imas gomilu komponenti koje ti to omogucuju ako ne zelis pisati sopstvene mrezne protokole...

Ako te bas to zanima, baci pogled na sekciju "Developing database applications/Creating multitiered applications"
u delphi-jevom helpu cisto da steknes sliku o cemu se radi (DCOM, Soap, XML ...)
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Izrada programa u mrezi i njegovo pozivanje.

[ Pregleda: 2435 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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