XE2, Datasnap, ORM, mobilni odjemalci in še kaj

Debate o vsem, kar vam pade na misel.
Edvin
Prispevkov: 22
Pridružen: 13.12.2004 21:50:32

XE2, Datasnap, ORM, mobilni odjemalci in še kaj

Odgovor Napisal/-a Edvin » 08.12.2011 10:58:38

Pozdravljeni.

Najprej predlog administratorju - dodajte kakšno novo grupo, v katero bomo lahko postali teme s področja mutitier aplikacij in datasnap tehnologije.

Prejšnji mesec sem se (tako kot večina na tem forumu prisotnih) udeležil predstavitve novega Delphi-ja.
Ocena: BOOOOOMMMBAAA :D

Takoj sem namestil testno različico in probal cel kup stvari. In ? Sledil je hladen tuš. :(

Ne rečem, da niso naredili veliko. Zelo veliko je novega. Predvsem za kliente (firemonkey, datasnap podpora za različne odjemalce, ...).
Tudi koncept je jasen - prenosljivost "iste" client kode na več platform.

Kaj pa middle-layer ? Imam občutek, da tukaj zadev niso naredili do konca.

OK. Če uporabljamo datasnap providerje, da "dataset" podatke po žici prenesemo v "dataset" na klientu in nazaj, potem je jasno.
Ampak to je star pristop. Se mogoče motim ?

Bolj moderen pristop je klic metode, ki vrača poljuben objekt - recimo mu PODO object.
In tak objekt lahko lepo povežemo preko livebinding-a na VCL ali FM.
Če niso tega imeli v mislih, zakaj so potem :evil: razširjali RTTI, izdelali LiveBidning in še kaj ?

No, če so, potem tisti, ki razvijajo middle-layer niso naredili svojega dela do konca.

Če želimo imeti podatke v PODO bi morali imeli na voljo npr. Hibernate (java), NHIBERNATE (.NET) ali Bold.
Skratka nekaj, kar bi nam omogočalo, da s podatki napolnimo PODO objekte. Da o samodejnem keširanju ne govorim.

Brez naštetega, se mi zdi uporaba datasnapa oz. v delphi-ju napisanega applikacijskega strežnika izguba časa.

Upam, da bom koga razkuru in mi bo nazaja napisal kaj konkretnega, kar me bo še nekaj časa zadržalo v Delphi-jevih vodah.

zippo
Prispevkov: 264
Pridružen: 14.07.2002 12:11:29

Re: XE2, Datasnap, ORM, mobilni odjemalci in še kaj

Odgovor Napisal/-a zippo » 09.12.2011 08:16:00

Pozdravljen!

Jaz sem se ubadal (in se še ubadam) z enakim vprašanjem. V bistvu jaz iščem kombinacijo obeh pristopov. Datasete bi vrnil za preglede, ko pa urejam ali dodajam zadeve pa bi s strežnika pošiljal in vračal PODO objekte.

Odkar sem gledal je še najbližje zadevi je RemObjects, katerega ravno te dni preizkušam. Zgleda zelo zanimivo.

Edvin
Prispevkov: 22
Pridružen: 13.12.2004 21:50:32

Re: XE2, Datasnap, ORM, mobilni odjemalci in še kaj

Odgovor Napisal/-a Edvin » 09.12.2011 08:30:02

Super. Še eden :)

Tudi jaz sem nameraval malo več časa nameniti RemObjects.

Kaj točno pa analiziraš ? DataAbstract, SKD ali kaj drugega ?
DA mi je simpatičen, ker obstaja tudi za .NET, XCODE, pa še za javo ga delajo.
Če prav razumem, potem to pomeni, da z njim ne bo težko delati iz iOS in Androida.

Imam pa samo pomislek glede tega koliko njihov koncept sede na to kar so naredili z datasnap serverjem v XE in XE2.
S tem produktom se že dalj časa ukvarjajo in mogoče ne paše glih na datasnap, oziroma je samozadosten framework.
Ne želim da bi se začel ukvarjati z DA, ga naštudiral v nulo, potem pa ugotovil, da ga kot takega ne morem npr. prenesti v Amazon cloud, ker tam nekje nekaj....

Zipo, zakaj pa bi sploh pri pregledih vračal datasete ? Pravzaprav je PODO koncept ravno tukaj najpreprostejši. Zaplete se pri urejanju (insert/update).

Pa še eno :?: da ne bom predolg. Kako daleč pa si prispel z analizo RO ?

Edvin
Prispevkov: 22
Pridružen: 13.12.2004 21:50:32

Re: XE2, Datasnap, ORM, mobilni odjemalci in še kaj

Odgovor Napisal/-a Edvin » 13.12.2011 14:23:21

@Zipo:

Si že prišel do zaključka ? Ti RemObjects ustreza ?

Moje prvo navdušenje je splahnelo. :cry:
Koncept mi ni všeč.
Načeloma nimam nič proti shemam, vendar mi manjka pravi ORM z možnostjo buferiranja podatkov.

Poleg tega sem se začel še spraševati ali je FireMonkey sploh pravi koncept programiranja.
Skrbi me namreč ali bo "Borland" sploh dohajal vse različne nadgradnje platform.
Npr. Kako dolgo bomo morali čakati za podporo IceCream Sandvich 4.x.x in iOS 5.x.x ?

@Odisej:

Ti si edini, ki na tem forumu še kaj "dela" na novih področjih. :(
Imaš kakšne izkušnje ali informacije glede mojih dvomov, ki me najedajo ?

odisej
Prispevkov: 1363
Pridružen: 09.05.2003 12:58:10

Re: XE2, Datasnap, ORM, mobilni odjemalci in še kaj

Odgovor Napisal/-a odisej » 13.12.2011 15:44:39

Za lep del teksta sploh ne razumem, kaj govorita. Sm bl na simpl narejen. Če sem prav razumel, potem bo spodnji odgovor zadovoljiv, sicer bo brca v temo.

V naši firmi smo razvili lastnega klienta in lasten server. Pretočimo tako izgled, kot podatke. Zadeva proti kakšni browser tehnologiji izgleda in deluje kar hudo. Vloženega dela ogromno, sam pa o tem pristopu zadnje čase dvomim. Kot primer, zakaj bi uporabnik želel kupiti PC in skener, da bo nekaj počel, če bi u bistvu lahko vse skupaj počel s telefonom. Lahko sicer nadaljujem, kaj upam, da bo prinesla prihodnost, ampak se bom tle ustavil in se torej vprašal, kako je z razvojem za telefone. V dokaj kratkem času sem uspel naštudirati nekaj stvari, ki jih s pridom uporabljam pri programiranju za Android v Eclipsu. Primerov na netu je miljon. Ali misliš, da bo kdaj toliko primerov za Delphi? Nikoli. Torej se mi bolj splača razvoj v Javi. Kljub temu, da se moram kar nekaj na novo naučiti, vsaj najdem rešitev. In torej me FireMonkey sploh ne zanima preveč. Lahko, da si narobe predstavljam stvar, vem pa, da če skupnost ni velika, je težko programirat. In če bi se odloču kaj naprogramirat za iJajaja...jca, bi vzel orodje, s katerim dela večina.

Me pa zanima vsako mnenje okoli teh tem

Edvin
Prispevkov: 22
Pridružen: 13.12.2004 21:50:32

Re: XE2, Datasnap, ORM, mobilni odjemalci in še kaj

Odgovor Napisal/-a Edvin » 13.12.2011 20:21:59

Hja, žal ugotavljam, da se bom moral strinjati s tabo.
Očitno se bo treba na "stara" leta spet učiti nekaj na novo. Tokrat za vsako platformo posebej.
Poleg tega pri nas uporaba Delphija zamira. Vsaj glede na poste tega foruma zgleda tako. Želel bi si, da se motim.

Lp.

PS: Če izračunam na hitro: PC+skener = približno pameten telefon. :idea:

zippo
Prispevkov: 264
Pridružen: 14.07.2002 12:11:29

Re: XE2, Datasnap, ORM, mobilni odjemalci in še kaj

Odgovor Napisal/-a zippo » 14.12.2011 07:52:14

Pozdrav!

Najprej žalosnno ugotavljanje, da imata prav in je Delphi vsak dan bolj v pozabi. Žal, ker meni je všeč delati v Delphiju (čeprav uporabljam tudi druge jezike, npr. C#...).

Glede Android razvoja nimam nobene izkušnje, že nekaj časa pa se oziram okoli in iščem kako orodje, ki bi zadostilo mojim potrebam. V bistvu mi je cilj najti orodje, s katerim rabim vedeti čimmanj jezikov. Zgleda čudno, ampajk za eno spletno stran moraš obvladati npr. C#, Jquery, HTML oblikovanje, malo AJAX-a, JSON,.. itd. Sej ne rečem, več znaš, več veljaš, ampak enostavno ne de se mi slediti vsem tem zadevam.

Recimo v C# je lepo delati spletne servise (res je enostavno, ampak... so malo "Microsoftovi" - WCF), ni pa mi všeč delati spletne uporabniške vmesnike. Podporo WinPhonetu nisem preveri, vendar predvidevam, da pbo podobna kot ostali + GUI + koda :). Za iPhone ne nameravam programirati predvsem zaradi Applove (fašistične) politike, prej bi pomislil na Android, samo me nekako ne veleče delat v Javi.

Glede RemObjects, meni je zadeva načeloma všeč, je pa res, da sem le "oškrbnil" trial verzijo, ker imam proti koncu leta bolj malo časa (se vidi tudi na moji "hitrosti" pri odgovorih). Sploh pa so pri Delphi-ju web servisi nekoliko bolj bogo zastopani, tako za odjemalce kot za napisati enega, vsaj v proffessional verziji. Za DataSnap pa ne mislim odšteti toliko denarja, kolikor za Enterprise verzijo.

Zakaj vračati objekte in datasete za pregled? Načeloma če vračam po npr 1.000 - 2.000 vrstic je občutno hitreje (ali pa manj CPU consuming) vrniti kot originalni TDataset, kot pa pretvarjati v listo objektov. Problem se ne pojavi pri testu, ampak pri 50 odjemalcih. Ne razumem točno, kaj pomeni "buferiranje podatkov", zato imam tukaj dva odgovora: Če si mislil na cache za večkratnike enakih podatkov, potem mislim, da imaš prav. Če pa misliš na session-e, potemlahko uporabiš Hydro, ki podpira seje za več strežnikov, baje da ni slaba rešitev, a je nisem preizkušal.

zippo
Prispevkov: 264
Pridružen: 14.07.2002 12:11:29

Re: XE2, Datasnap, ORM, mobilni odjemalci in še kaj

Odgovor Napisal/-a zippo » 14.12.2011 08:05:18

Še nekaj glede Delphi-ja.

Sam načeloma vedno najdem, kar rabim, tako da načeloma še vedno obstaja skupnost, ki dela v njem. Problem je v drugih zadevah, npr:

- Nima vgrajene enostavne rešitve za digitalno podpisovanje in delo s certifikati. Tukaj me je morda razvadil C#, mislim pa, da je podobno pri Javi.

- Vsako napredno zadevo so po moji oceni preveč "skomponentizirali". ClientDataseti, DataAdapterji, WebProducerji,.. itd. Po pravici povedano še vedno ne vem, kaj počnejo WebProducer, PageProducer, DatasetProvider, celotno paleto WebSnap in Web services,.. itd. Včasih je povezati vse v delujočo celoto pravi podvig.

- Spletne storitve so slabo podprte. Tudi importer za WSDL deluje nekoliko čudno in včasih naredi nedelujočo kodo odjemalca.

- Narediti serverski del je po mojem mnenju nerodno - ISAPI je neroden, vezan si na Win okolje (to sicer ni glih "krivda" Delphija) in namestiti v novejše verzije IIS je včasih mučno (tudi to ni kriv Delphi, ampak nakazuje, kako proizvajalci vidijo bodočnosti ISAPI). Manjava modula zahteva ustavitev spletnega strežnika,... itd. Nerodno.

odisej
Prispevkov: 1363
Pridružen: 09.05.2003 12:58:10

Re: XE2, Datasnap, ORM, mobilni odjemalci in še kaj

Odgovor Napisal/-a odisej » 14.12.2011 08:10:15

Ne bi blo pa fer do Delphija, če bi pozabil omeniti tole. Trenutno razvijam štiri stvari, ki v vključujejo Android in serverski del. Vsi serverski deli so napisani v Delphiju. Ena varjanta je tako, kot pri inventuri osnovnih sredstev, kjer je aplikacija že sama server, druga pa, da je serverski del service. Da bi napisal serverski del kako drugače si trenutno ne morem zamisliti. In Delphi mi zaenkrat nudi vse, kar sem potreboval.

Edvin
Prispevkov: 22
Pridružen: 13.12.2004 21:50:32

Re: XE2, Datasnap, ORM, mobilni odjemalci in še kaj

Odgovor Napisal/-a Edvin » 14.12.2011 08:40:25

@Zippo:

Res je. Zopet se moram strinjati s tabo. Glede povezovanja navzen je Delphi neuporaben.
Oziroma, da ne bom preveč grob. Je uporaben, vendar nikdar ne veš kdaj boš naletel na mino.
Enkrat ne dela tak importer, drugič drug. Vedno moraš nekaj šraufati.
Ali drugače povedano - poznati moraš podrobnosti, ki so npr. v WCFju skrite.

Če gledamo na to iz vidika hitrega razvoja, za kar se Delphi razglaša (RAD) bi morali to poštimat.

Pa še ena zadeva me bega. Ko sem namestil Delphi, sem malo pregledal mape. Na rootu Delphija je datoteka RADStudioXE2_ThirdPartyLicense.rtf,
ki mi povzroča dodatne skrbi. Če jo pravilno razumem, delphi sestavlja cel kup opensource in drugih projektov, ki niso v lasti "Borlanda" !
Kako mislijo vse to vzdrževati ? Kaj če nekaj ključnih projektov pade oz. se prenehajo razvijati. Kaj potem ?

@Odisej:

Tudi tvoje stališče drži. Dokler se držiš Delphija (server in client), je vse lažje. Takoj pa ko "pogledaš" malo na okoli je takoj precej težje.

Da ne bom slučajno moje pisanje napačno razumljeno.
V glavnem razvijam v Delphiju že 17 let. Malo sem že siv. ;) Do sedaj nisem nikdar dvomil v vizijo razvoja.
Zadnje čase pa imam občutek, da zadeve sicer mogoče gredo v pravo smer, samo zopet prepočasi.

Kaj za hudiča pri Embarcaderu mislijo ?
Izdajo novo verzijo XE2. Firemonkey, livebinding - boom ne rečem. Ampak, nedokončana zadeva.
Ni celega kupa komponent, ki v VCL ju so. Že odločitev, da predelaš VCL aplikacijo v FM je težka.
Če pa imaš za to na voljo manj komponent pa je brezveze.

Bodi dovolj negativne energije. Upam, da mi kdo na forumu vlije novega upanja.
Mogoče bi lahko Primož kaj napisal na to temo - npr. kaj bo novega v XE3, saj je bolj znan v Embarcaderu...

Odgovori