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

Object Persistence Framework

[es] :: Pascal / Delphi / Kylix :: Object Persistence Framework

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

danny
Novi Sad

Član broj: 3112
Poruke: 3
*.my-trion.net.



Profil

icon Object Persistence Framework08.04.2002. u 16:04 - pre 268 meseci
Pravim OPF (Object Persistence Framework) u Delphi-u, i trazim saradnike za
podelu posla i naravno kasnije profita. Treba da poznajete objektni pascal,
interfejse, pakete i uopste principe objektno orjentisanog programiranja.
Spreman sa da odrzim kratku obuku onima kojima fali malo, ali preferiram
iskusne. Javite se za detalje. Inace, ja sam u Novom Sadu, ali vi ne morate
biti.

-Danny-




[Ovu poruku je menjao -zombie- dana 14.07.2004. u 00:58 GMT]
 
Odgovor na temu

Ruka
Milan Rukavina
Niš

Član broj: 5772
Poruke: 54
212.62.58.*



Profil

icon Re: potreban saradnik13.07.2004. u 10:38 - pre 240 meseci
Object Persistence Framework ?
Mislim da tu treba malo više objašnjenja.
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.beotel.net

Sajt: localhost


+5 Profil

icon Re: potreban saradnik13.07.2004. u 17:12 - pre 240 meseci
hm.. i mene bi ovo zanimalo..

ovako malo napamet, priznajem da ne mogu da smislim šta bi tu bilo problem. sve tPersistant klase imaju već odrađenu serijalizaciju preko tReader i tWriter klasa, i jedino bi možda trebalo da se povede računa o referencama (u stablu objekata koje se serijalizuje, da se isti objekat referenciran više puta samo jedanput serijalizuje)..

ajde neka me neko ispravi, i kaže mi zašto ovo nije tako lako kako se čini..
 
Odgovor na temu

Daniel Mauric
Software Architect
Novi Sad

Član broj: 3279
Poruke: 31
*.dialup.neobee.net.



+17 Profil

icon Re: Object Persistence Framework14.07.2004. u 09:08 - pre 240 meseci
Tacno je da bilo koja TPersistent klasa moze da se stream-uje i zapise u file/blob/bilo sta, ali to samo po sebi nije preterano korisno, kako englezi vole da kazu "devil is in the detail"
Ideja OPF-a je da se aplikacija odvoji u par segmenata (layer-a), obicno na sledeca 3:
- BO layer (Business objects)
- UI layer (Presentation)
- DB layer (Persistence)
i da se onda Persistence layer automatizuje do odredjene mere.

Probacu da ilustrujem o cemu se zapravo radi i cemu sluzi:

RAD pristup:

Napravite formu, dodate query upisete sql, dodate grid, edit-e, dugmice i ostale kontrole, onda upisujete kod u event handlere na formu, npr OnClick, AfterScroll i slicno. Ovo je odlicno za prototip-ove i jednostavne aplikacije, medjutim kako pravila postaju slozenija, tako ubacijete jos koda u razne event handler-e, i stvari postaju teze za pracenje/kontrolisanje, pogotovu kada ista pravila treba primeniti na drugim formama. Mislim da svako ko je probao da napravi slozeniji program ovom metodom zna o cemu pricam. :)

Sustina problema je zapravo u tome sto poslovna pravila nigde eksplicitno ne postoje, vec ih rucno pokusavate primenjivati svuda gde bi se mogla prekrsiti.

OO pristup:

Napravite business klase, njihove osobine, relacije i pravila. Korsitite OPF, koji sluzi za automatsko citanje/pisanje u bazu, i tek na kraju pravite forme. Tako je program potpuno funckionalan bez i jedne forme. Ovo u olaksava rad jer tacno znate gde ide koji kod i samim tim gde da trazite greske. Takodje mozete isti kod iskoristi i za fat client-e i za web interface, jer je razlika samo u UI layer-u. OPF se brine o tome da se sve upise u bazu i obicno omogucava abstrakciju na samim DB engine-om, tako da lako mozete promeniti backend iz Interbase-e u MSSQL, Paradox ili bilo koji drugi engine, a da se to uopste ne tice ostala 2 layer-a. Dakle vrlo bitno je odvojiti layer-e:
- UI layer zna za BO layer ali ne i za DB layer
- DB layer zna za BO layer ali ne i za UI layer
- BO zna za DB layer, ali funkcionise nezavisno i ne ulazi u detalje DB layer-a
Ima to jos dosta toga, mogao bih pisati do sutra, ali ovo je sustina.

Sto se moje originalne poruke tice, primeticete da sam je poslao pre 2 godine. U medjuvremenu sam odustao od pravljenja svog OPF-a i izabrao sam najbolju komercijalnu implementaciju, Bold for Delphi. Bold je Svedska firma koji je Borland kupio 2003-e i spakovao u Delphi-u 7 Architect. Iz njega je nastao ECO, koji stizu uz Delphi 8 i u principu je .Net rewrite Bold-a. Bold je neverovatan alat jer obuhvata mnogo vise nego klasicni OPF-i, sledi kratka nepotpuna lista feature-a:
- Import/Export modela u Rational Rose i ModelMaker
- Automatsko generisanje baze (podrzava BDE, Interbase, MSSQL, ADO, XML ...)
- OCL (Object Constrain Language) - neverovatno korisno
- derived (izvedene) attribute/relacije
- Model/DB evolution (automatsko resttruktuiranje baza pri promeni modela)
- Optimistic/Pesimistic Locking (sprecava istovremeno menjanje istog podatka od strane dva ili vise korisnika)
- AFP (Auto Form Provider) - generise forme koji se mogu koristi tokom razvoja/debuging-a
- Object space trasakcije i Undo handler
i jos mnogo toga.
Osnovna mana Bold-a je sto je ogroman i treba dosta vremena da se nauce/shvate osnove i udje u fazon, a dokumentacija nije bas najbolja.

Vrlo rado bih stupio u kontakt sa onima koji koriste Bold.

Pozdrav,
Danny
 
Odgovor na temu

Daniel Mauric
Software Architect
Novi Sad

Član broj: 3279
Poruke: 31
*.dialup.neobee.net.



+17 Profil

icon Re: Object Persistence Framework14.07.2004. u 09:16 - pre 240 meseci
za detaljnije informacije pogledajte sledece newsgroup-e:

borland.public.delphi.oodesign
borland.public.delphi.modeldrivenarchitecture.general

Pozdrav,
Danny
 
Odgovor na temu

burmajam

Član broj: 17462
Poruke: 6
195.178.39.*



Profil

icon Re: Object Persistence Framework12.08.2004. u 15:03 - pre 239 meseci
Slazem se sa obe tvoje konstatacije vezane za Bold (ECO) vezane za brilijantnu ideju i zeznuto ucenje zbog nedostatka dobre i koncizne dokumentacije. Ja sam sa Bold-om se baktao jos pre 2-3 godine i jedva sam cekao da ga integrisu u Delphi (ECO). Problem je da kada sam ga nabavio (D8 architect) primetio sam ogroman broj bug-ova (konktretno za derived atribute i jos mnogo toga), a patcheve ne mogu da skinem iz "objektivnih" razloga. Mozes me kontaktirati na mail da razmenimo iskustva vezana za MDA ili na ICQ#14303082.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Object Persistence Framework

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

Postavi temu Odgovori

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