mulle jos haluan ohjelmoida sovelluksen joka
käyttää tietokantaa hyväkseen mikä on oikee
ohjelmointikieli tähän.Mikä olis nimenomaan
tohon tietokantaympäristöön paras valinta???
Lisäpisteitä saa jos sovellusta voi rulettaa
vielä nettiselaimesta!Oon kokeillu pelkästään
seuraavalla kokoonpanolla MsAccess,Frontpage ja
IIS.Ainaski oli helppoo...
käyttää tietokantaa hyväkseen mikä on oikee
ohjelmointikieli tähän.Mikä olis nimenomaan
tohon tietokantaympäristöön paras valinta???
Lisäpisteitä saa jos sovellusta voi rulettaa
vielä nettiselaimesta!Oon kokeillu pelkästään
seuraavalla kokoonpanolla MsAccess,Frontpage ja
IIS.Ainaski oli helppoo...
Vastaukset 5
Vanhimmat
siirtymällä PHP MySql:ään. Sillä voi tehdä mm. tietokantapohjaisia verkkopalveluita yms.
... ei taida edes olla, mutta VB-koodarille soveltuva ohjelmointiympäristö voisi olla ASP. ASP (Active Server Page) on nimensä mukaan palvelinpään ohjelma, jolla ei saa kovinkaan helposti tehdyksi hyvää käyttöliittymää selaimeen. Sillä voi kuitenkin hoitaa esim. MsAccess-tietokantayhteyden serverillä, joka on jo osa sovellustasi.
Käyttöliittymän tekoon suosittelen HTML:n joukon kirjoitettavaa JavaScriptiä tai, jos sovellus edellyttää vähänkin monimutkaisempia juttuja niin Javalla Appletteja. Noilla appleteilla voit tarvittaessa vaikka toteuttaa autenttikoidun ja salakirjoitetun yhteyden palvelimeen, jolloin mm. verkosalakuuntelun mahdollisus estyy.
Viimeisessä on kuitenkin huomattava, että palvelinpään ASP-ohjelman on osattava purkaa käytetty salakielisanoma (esim. triple DES), tai käytettävä jotain Javapohjaista palvelinta (Apache Tomcat 4.xxx), jossa pyörivä Java Servlettisi hoitaa tämän ASP:n vastaavan homman.
Java Servleteistä on kuitenkin huomattava, että ne soveltuvat mainiosti oikeiden tietokantajuttujen tekoon JDBC-rajapintansa kautta, jolloin esim. MySQL voisi olla aika munakas homma.
Osoitteesta www.webappcabaret.com voit vuokrata itsellesi web hosting-palvelun, jossa Java servlet ja MySQL-tietokantajutut pyörii (MySQl on asennettu valmiiksi). Web hosting-vuokra oli viime vuonna jotain 40USD.
Jonttu
Yksi vaitoehto on Javan RMI. Olen tehnyt sellaisia sovelluksia, että käyttöliittymänä on selaimella pyörivät java-appletit. Serverillä on javalla tehdyt RMI-etäoliot, jotka tekevät tietokantahaut (JDBC) ja laskennan. Tulokset palautetaan sitten appleteille.
Systeemin hyvänä puolena on, että raskaammat hommat tehdään serverillä, ja käyttöliittymä voi olla monipuolinen(-mutkainen), kun se on java-appletti. Eikä esimerkiksi servletin tekemä html-sivu.
Homma saattaa kuulostaa monimutkaiselta, mutta ei se kovin hankala ole. Mitään kalliita ohjelmia ei RMI:n takia ainakaan tarvi ostaa, vaan tavittavat työkalut tulee ilmaisen jdk:n mukana.
..tuo RMI-etäolio servletillä? Entä, kuinka toimivaksi tuo etäyhteys on käytännössä osoittautunut ja voiko sen kryptata? Itse olen käyttänyt normaalia servletin doPost()-metodia kryptatulla yhteydellä, mutta siinä joutuu aina tekemään jonkinmoisen komentoparserin, jonka testaaminen syö resursseja.
Kerran luin hieman tuosta RMI:stä, mutta luovuin ajatuksesta, kun se vaikutti hieman liian kompeleksiselta toimiakseen luotettavasti (lue: meni yli hilseen). Voipi hyvinkin olla, että toimii ok, mutta olisi hienoa kuulla kokemuksista hieman lisää.
Jonttu
Ei pyöri etäolio servletillä, mutta servletistä voi kyllä kutsua etäolion metodeja. Serverille pitää käynnistää rmiregistry-ohjelma, joka pitää kirjaa etäolioista. Sitten pitää vielä käynnistää rmid-ohjelma, jos käyttää ns. 'object activation'-tekniikkaa.
Nämä ovat taustapalveluja, ja ne tulee jdk:n mukana.
Sitten jokaista etäoloita varten pitää tehdä rajapinta, jonka avulla appletit kutsuvat etäolion metodeja. Tuon rajapinnan metodien toteutukset on sitten etäolion metodeja. Itse etolio käynnistetään ja merkataan rmiregistryyn pienellä java-ohjelmalla.
Kun kaikki tämä on tehty, voi appletti kutsua etäolion metodeja kuin omiaan. Esimerkiksi jonkinlainen yleiskäyttöinen metodi voisi olla sellainen, että se saa appletilta parametrinä sql-hakulauseen, jonka perusteella tekee jdbc:tä käyttäen haun. Sitten pitää muovata resultsetistä vaikka vektori, joka palautetaan appletille. ResulSet-oliota se ei voi verkon yli palauttaa.
Homma voi kuulostaa hankalalta, mutta kun on saanut nuo 'taustat' pyörimään, ei rmi-tekniikka aiheuta juurikaan vaikeuksia ohjelmointiin. Oikeastaan se yksinkertaistaa joitakin asioita, kun voi siirtää työt appletilta etäoliolle. Olen tehnyt tuollaisella tekniikalla tietokantasovelluksia kolme vuotta, ja mielestäni systeemi on luotettava.