World Wide Web og databaser - våren '96Harald Holone InnledningI kurset Databaser inngår en større praktisk oppgave. Temaene våren '96 er beskrevet på databasekursets WWW-sider. Noen grupper jobbet med kopling mellom WWW og relasjonsdatabasen Oracle. Vi hadde litt erfaring med betatesting av en serie slike produkter fra Firmaet WebLogic og valgte derfor å jobbe med disse.I denne artikkelen beskrives de produktene som vi brukte i kurset, utviklingen av produktene og to av studentoppgavene som ble gjennomført med WebLogics produkter.
WebLogicWebLogic er et firma fra San Francisco i California. De har utviklet et system som bruker Javateknologi for å gjøre databasene Oracle, Sybase og SQLServer tilgjengelig fra WWW. Firmaet ble startet i 1995 og synes å ha blitt en av markedslederne på dette feltet.
Produktene som ble betatestet våren '96Her er en oversikt over de produktene studentene brukte i sine hovedoppgaver. Produktene er utviklet en del siden kurset ble avsluttet, se neste avsnitt for en oppsummering av WebLogics produkter i dag.
WebScriptDette produktet består av en del Javaobjekter som gjør det mulig å lage html-dokumenter, noe som kan brukes til f.eks å lage dynamiske WWW-sider. Med litt Java (eller C++) programmeringserfaring er det enkelt å lage Javaprogrammer med WebScript. Med Java programmer menes at applikasjonen blir kjørt på serversiden uten grafisk grensesnitt, til forskjell fra Java appletter som blir lastet ned til klienten og kjørt der.
dbKonaDenne gruppen med Javaobjekter gjør selve koplingen mot databasen. Her finnes objekter som beskriver databasen, tabeller, queries osv. Kombinert med WebScript er dbKona en grei måte å lage WWW-sider som henter informasjon fra en relasjonsdatabase. Dette er også et produkt som det er lett å komme igang med, forutsatt kjennskap til Java (eller C++) og databaser (SQL). Også dbKona kjøres på serversiden, det lastes altså ikke ned noen applet til klienten. I en dbKona applikasjon opprettes kontakt med databasen, transaksjonen blir gjort og kontakten brytes. For hver transaksjon må forbindelsen opprettes på nytt. For enkle søkegrensesnitt eller presentasjoner i html-format er kombinasjonen htmlKona og dbKona en effektiv løsning som er enkel å bruke.
dbKona/T3For å lage grafiske brukergrensesnitt og mer avanserte koplinger mot databasen har WebLogic laget dbKona/T3. Pakken består av et serverprogram (T3Server) som må kjøres på databaseserveren, og Javaobjekter som brukes for å kommunisere med denne serveren. Med dbKona/T3 kan man lage Java-appletter, f.eks grafiske klientapplikasjoner, som hentes ned fra serveren og kjøres hos klienten. Til forskjell fra et dbKona program vil en T3 klient opprette og holde en forbindelse mot databasen helt til den logger seg av. Her ligger det store muligheter til å lage plattformuavhengige klientapplikasjoner.
Produktserien sommeren '96Siden vi brukte WebLogics produkter i databasekurset er de videreutviklet. Produktene som er beskrevet over er ikke helt kompatible med JDBC (Java DataBase Connectivity), dette er rettet på nå. Her følger en kort oversikt som beskriver produktene slik de er idag.
jdbcKonaDette er JDBC drivere for flere plattformer (WindowsNT, Solaris, SGI). WebLogics JDBC-drivere er skrevet direkte mot databasenes egne biblioteker. Dette gir en fleksibel løsning med god ytelse.I jdbcKona finnes det også jdbcKona/T3 som er laget for å kommunisere med WebLogics T3Server og JDBC-driverene.
dbKonaDenne gruppen med Javaobjekter er nå modifisert slik at den kommuniserer med databasen via JDBC. Den kan brukes mot alle JDBC-drivere.
htmlKonaDette er den delen som tidligere het WebScript (se over).
eventKona/T3Dette er en server som håndterer eventer på serversiden. En stor fordel med eventKona/T3 er at eventer kan genereres av flere forskjellige applikasjoner i nettverket, inkludert Java, Perl, Visual Basic osv. Eventene kan f.eks brukes til å starte andre Javaprogrammer og appletter, starte lagrede prosedyrer osv.
remoteKona/T3Denne gruppen med Javaobjekter gjør det mulig å starte Javaprogrammer på en annen server. Dette kan være ønskelig f.eks av sikkerhetshensyn eller prosessorkrevende oppgaver som man ikke ønsker å utføre i klientapplikasjonen.
StudentoppgaveneDe to oppgavene som beskrives under skal legges tilgjengelig på vår databaseserver. Det vil bli lagt en link til oppgavene fra våre databasesider så fort de er lagt ut.
OppskriftsdatabaseEn av studentgruppene i databasekurset valgte å bruke koplingen WebScript og dbKona for å løse sin oppgave. Målet var å lage en database med oppskrifter, der du kunne søke etter en ingrediens og få tilbake alle oppskriftene som inneholdt denne ingrediensen.Dette ble løst ved å lage to Javaprogrammer, et som henter ut en liste med aktuelle oppskrifter og et som henter ut en spesiell oppskrift. På databasen ligger det to tabeller, en som inneholder oppskriftene (med ID, tittel og selve oppskriften) og en tabell som inneholder stikkord og oppskriftens ID. Kommunikasjonen mot det første Javaprogrammet skjer via en html form, der brukeren skriver inn navnet på ingrediensen det skal søkes etter. Det første Javaprogrammet startes fra denne formen, og det slår opp i stikkordtabellen for å få tilbake ID'en på de oppskriftene som bruker denne ingrediensen. Disse ID'ene blir brukt for å hente ut tittelen på de aktuelle oppskriftene, og det blir laget et html-dokument som inneholder klikkbare oppskriftsnavn. Hvert oppskriftsnavn er en peker til det andre Javaprogrammet med oppskriftens ID som parameter. Det andre Javaprogrammet blir utført når det klikkes på en av de aktuelle oppskriftene. ID'en som er sendt med som parameter blir brukt for å hente ut den oppskriften som brukeren valgte.
PersonregisterEn annen gruppe valgte å lage en Java applet ved hjelp av dbKona/T3. De laget en klientapplikasjon som jobber mot en tabell som inneholder bl.a navn, email-adresse, homepage URL osv. Resultatet ble en klientapplikasjon der man kunne legge til, slette, søke og endre informasjon i et grafisk grensesnitt. Det er også mulig å gå direkte fra denne appletten til den URL'en som er registrert på de forskjellige personene.Å bruke dbKona/T3 krever mer av utvikleren enn bruk av WebScript/dbKona, men mulighetene er mye større når det gjelder interaktivitet mot informasjonen i databasen.
KonklusjonSelv om dette var en betatest viste det seg å være et godt og stabilt produkt som er ganske lett å bruke. Nå i løpet av sommeren stoppes denne betatestingen og produktet blir kommersielt. Selv om WebLogic er en god kandidat til å bli brukt i neste databasekurs har vi ikke bestemt oss om det er dette produktet vi vil satse på. Det finnes mange produkter på nettet som kunne være aktuelle, og listen over produkter som bruker JDBC for kommunikasjon med databasene er omfattende. Det som er åpenlyst er at dette er en type teknologi som vil ha stor betydning i klient/tjener-markedet. Forutsetningen for å ta det i bruk er at man har noe erfaring med html og javaprogrammering.
ReferanserWebLogichttp://www.weblogic.com/
JDBC
Høgskolens databasesider
Copyright: 1996, Høgskolen i Østfold. Last Update: 28.06.97, Thomas Malt. |