HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit Transaction Processing Monitor... 8 Oliobrokerit Object Request Broker (ORB)... 8 Etäkutsut - Remote Procedure Call (RPC)... 9 Sanomajonot Message Oriented Middleware (MOM)... 9
HELIA TiKo-05 2 (9) ODBC (Open Database Connectivity) Microsoftin toteutus X/OPEN Sql Access Group:n (SAG) määrittelemästä SQL CLI -standardista. Standardin tavoitteena yksinkertaistaa tietokantojen käyttöä sovellusohjelman kannalta. ODBC-rajapintaa käyttämällä ohjelmaa tehtäessä ei tarvitse periaatteessa tietää, minkä valmistajan relaatiokantaa käytetään, vaan sovellus käyttää kaikkia kantoja samalla tavoin. Tietokantatuotteiden valmistajat (tai muut ohjelmistotuottajat) puolestaan valmistavat toimivat ajurit erikseen kullekin tietokantatuotteelle.
HELIA TiKo-05 3 (9) Sovellusohjelmat käyttävät ODBC.DDL:n tarjoamaa rajapintaa. ODBC-ajurit huolehtivat siitä, että eri tietokantatuotteiden erityisominaisuudet otetaan huomioon; niiden tulee esimerkiksi muuntaa ODBC-määrittelyn mukaiset funktiot tietokantatuotteessa oleviksi vastaaviksi funktioiksi, koska eri tietokantatuotteissa on samoja toimintoja tekevillä funktioilla eri nimiä. Ajurit tekevät myös tiedon esitystapojen eroista johtuvat muunnokset. ODBC- ajurit huolehtivat lisäksi tietokantayhteyksien luonneista ja puruista sekä tapahtumankäsittelystä. FAP (Formats And Protocols) huolehtii verkkoyhteyksistä kunkin tuotteen mukaisesti. DBMS- tietokantaohjelmat toteuttavat ODBCrajapinnan kautta ohjelmoidut toimenpiteet riippuen siitä, mitä toimintoja kanta tarjoaa. Jos kannan ominaisuuksiin ei kuulu jokin ODBCrajapinnan mukainen toiminto, ei sitä tällöin voida toteuttaa.
HELIA TiKo-05 4 (9) Esimerkki tietokantapalvelin rakenteesta: VB-sovellus + Oracle-tietokanta Työasema Sovellus *.exe Palvelin ODBC driver manager DBMS specific driver DBMS specific network driver Tietoliikenneohjelmisto Tietoliikenneohjelmisto DBMS specific network driver DBMS Oracle DB Odbc.dll Sqora.dll ora7win.dll Sqltcp.dll
HELIA TiKo-05 5 (9) JDBC (Java Database Connectivity) Javakieleen on kehitetty ODBC-rajapintaa vastaava menettely. Jos jollekin tuotteelle ei ole olemassa JDBCajureita, voidaan JDBC toteuttaa myös tuotteelle olevan ODBC- ja javan ODBC-bridge ajureiden avulla. JDBC- ajureita voidaan käyttää vain javakielessä. JDBC-yhteydet tietokantoihin voidaan luoda erilaisista javan toteutusympäristöistä, kuten sovelluksista (applications), sovelmista (applets), servleteistä, JSP:stä sekä JavaBeans- ja EJB-komponenteista.
HELIA TiKo-05 6 (9) Middleware Perinteinen ohjelmistojako 1. Varusohjelmat 2. Sovellusohjelmat Varusohjelmat vastaavat tietokonejärjestelmän toiminnasta (keskusyksikkö ja oheislaitteet) Sovellusohjelmat palvelevat ihmisen tietojenkäsittelytarpeita 1. Yleiskäyttöiset valmisohjelmat / toimisto-ohjelmat 2. Erityiskäyttöön räätälöidyt ohjelmistot Tietoliikenne? Middleware ~ huonosti määritelty termi? helpottaa varusohjelmiston ja sovellusohjelmiston rajaaluetta Tyypillinen tehtävä prosessien välinen kommunikointi Peittää sovelluksilta teknisiä mm. tietoverkkoihin ja tietoliikenteeseen liittyviä yksityiskohtia Vähentää sovellusohjelmointitarvetta Pakottaa suunnittelemaan ohjelmiston palvelupohjaisesti (oliopohjaisesti)
HELIA TiKo-05 7 (9) Middleware luokittelu Tietokantamiddleware Olio-brokerit (ORB) ODBC JDBC CORBA DCOM Middleware TP-monitorit (DTP) Sanomatekniikat (MOM) Etäkutsut (RPC)
HELIA TiKo-05 8 (9) Tietokanta -middleware Tietokantapalvelinpohjaisissa järjestelmissä Usein tietokantatoimittajakohtaisia ratkaisuja, esim. ODBC vaatii alleen tietokantatoimittajakohtaisen rajapinnan työasemaan Sovellukset kutsuvat tietokantapalveluja SQL:n tai ODBC:n kautta Perustason tekniikkana yleensä RPC-kutsut Tapahtumamonitorit Transaction Processing Monitor Huolehtivat tapahtumien eheydestä hajautetussa ympäristössä, tavoitteena yhtä luotettava tapahtumankäsittely kuin keskuskoneympäristöissä Sovellukset kutsuvat palveluja TP-monitorin kautta, joka reitittää kutsut palvelimille Tärkeimpiä tuotteita BEA Systemsin TUXEDO, MS:n Transaction Server, IBM:n CICS Oliobrokerit Object Request Broker (ORB) Oliopohjaisen sovelluksen hajautusmalli Hajautus piilotetaan sovellusohjelmoijalta CORBA (Common Object Request Broker Architecture) COM / DCOM (Distributed) Component Object Model CORBA ja Microsoftin OLE ActiveX (COM, DCOM) ovat perusratkaisuiltaan samantyyppisiä, mutta CORBA toimii heterogeenisissä ympäristöissä ja DCOM ainoastaan Windows ympäristössä
HELIA TiKo-05 9 (9) Etäkutsut - Remote Procedure Call (RPC) Tekniikka, jossa sovellukset voivat kutsua funktioita tai aliohjelmia, jotka todellisuudessa sijaitsevat jossain muussa koneessa Sovelluksen ei tarvitse tietää, missä palvelu sijaitsee Sovelluksen linkityksessä koodiin sijoitetaan pieni ohjelmanpala (stub), jonka tehtävä on etsiä verkosta kyseinen palvelu ja aktivoida se kuten aliohjelmakutsu, eli sovellus jää odottamaan, kunnes palvelu on suoritettu Sanomajonot Message Oriented Middleware (MOM) Sovellukset siirtävät sanomia erityisen sanomajonon kautta Ratkaisusta riippuen jonoon voi kirjoittaa 1 tai useampia sovelluksia ja sieltä voi poimia yksi tai useampia palvelimia Ratkaisu takaa, että jonoon kirjoitettu sanoma tullaan jossakin vaiheessa käsittelemään Sovellus ei jää odottamaan vastausta Erityisesti asynkroniseen käsittelyyn ja eräajoihin mutta tarvittaessa myös ajantasakäsittelyyn