Eli Socketin yli stringien kirjoittaminen onnistuu kyllä helposti ja näppärästi, mutta miten voi serverin/clientin välillä voi siirtää verkon yli Objecteja, ja tässä tapauksessa ResultSet:jä?
Lukeminen ilmeisesti onnistuu cobra.portable:n InputStreamilla, mutta entä kirjoittaminen...?
Jollain kokemuksia/vastauksia?
Lukeminen ilmeisesti onnistuu cobra.portable:n InputStreamilla, mutta entä kirjoittaminen...?
Jollain kokemuksia/vastauksia?
Vastaukset 5
Vanhimmat
RMI:hän on ainakin Javan normaali tapa käsitellä etäolioita. Se lienee ainakin jonkin verran Corbaa helpompi.
Tuo resultset-objektin luominen etäoliona tuntuu kovin omituiselta. Resultset:han ei ole serialisoituva. Ja tämähän on vaatimus etäolioille. Ainakin Javassa. Mikset voi avata tietokantayhteyttä/-poolia myös molemmista koneista? Vai oletko tekemässä jonkinlaista ApplettiHässäkkää (TM)?
Tarkoituksena olis tehdä tosiaan javalla softa joka tekis kyselyitä kantaan. Mutta koneita joihin tämä softa tulee on aika paljon, joten mä mieluummin tekisin yhden serveriprosessin/softan johon noi clientit ottaa yhteyttä ja joka suorittaa kyselyt. Itse kyselyt on tosi simppeleitä ja nopeita toteuttaa, mutta kanta on jo nyt suht kuormitettu, joten yks lisäsotkija olis mun mielestä ihan tarpeeks.
Serverihän pystyis muuttamaan helpostikin resultsetin tekstiksi ja lähettämään ne eteenpäin clientille, mutta on vähän kökköinen ratkaisu sekin.
Kokemusta kantapavuista...?
Tekevätkö clientit paljon datapäivityksiä, vai tekevätkö ne vain lukuoperaatioita? Päivittyykö palvelimella oleva data jatkuvasti, vai onko kyseessä "vuoden-kerrallaan-voimassaoleva-bussiaikataulu"?
Entä minkälaisia kyselyitä clientit tekevät? Onko välttämätöntä, että clientit pääsevät tekemään parametroituja kyselyitä? Voisiko kyselyiden tulokset cachettaa server-sovellukselle?
Tällä on kohtuullisen suuri merkitys valittavaan malliin.
Yksi mahdollisuus on tehdä EJB-papuja, mutta se on ohjelmoinnillisesti melkoisen vaikeaa. Kokemusta jonkin verran.
Tekevätkö clientit paljon datapäivityksiä, vai tekevätkö ne vain lukuoperaatioita? Päivittyykö palvelimella oleva data jatkuvasti, vai onko kyseessä "vuoden-kerrallaan-voimassaoleva-bussiaikataulu"?
Entä minkälaisia kyselyitä clientit tekevät? Onko välttämätöntä, että clientit pääsevät tekemään parametroituja kyselyitä? Voisiko kyselyiden tulokset cachettaa server-sovellukselle?
Tällä on kohtuullisen suuri merkitys valittavaan malliin.
Yksi mahdollisuus on tehdä EJB-papuja, mutta se on ohjelmoinnillisesti melkoisen vaikeaa. Kokemusta jonkin verran.
Noi clientit saa toisesta softasta parametrin, jonka perusteella pitäis helvetillisperkeleellisestä kannasta hakea pari arvoa. Data ei päivity kovin usein ja clientit tekee vain lukuoperaatioita, mutta tarvittavat taulut on sen verran isoja, etten usko että niitä olis fiksua lähteä cacheamaan mihinkään..
Musta tuntuu että se papuratkaisu vois olla paras tässä tilanteessa. Nyt vaan pitäis sitten opetella niiden käyttö...