Lue Oracle Database 10g-tietokannan WWW-palvelut, ja sen palvelukeskeisen arkkitehtuurin rooli.
Lataa tämä artikkeli: Oracle Database 10g-tietokannan WWW-palvelut maksuun hyödyllisyys
Julkaistu marraskuussa 2005
Kuten totesin Web-palvelut-lehdessä julkaistussa artikkelissa kuvataan, web-palvelut voit käyttää alan standardin mekanismi helposti etäsisällössä ja sovelluksen toiminnot, eikä luottaa foorumi tarjoajan sijainnista, palvelu täytäntöönpanoa tai tietojen muoto. Siksi Web services on saavuttaa resurssien virtualisointi (keskeinen vaatimus rakentaa yrityksen verkkoon) on tärkein menetelmä.
Vaikka standardi-pohjainen middleware palvelukeskeisen arkkitehtuurin (SOA) alan saada paljon huomiota, mutta tietokanta Web services (kautta standardeja, kuten HTTP ja SOAP verkkopalvelu mekanismi nimeltä tietokannan toiminnan) on hyvin suosittu. Mukaan 2004 Evans Data Corporationin tutkimuksen mukaan yli kaksi kolmasosaa vastaajista kertoi niitä kehittää tai ottaa käyttöön tietokanta Web-palveluun.
Oracle Database 10g voi olla kahdessa Web-palveluiden tilaa: kuten Web-palvelun avulla puolelle (tietokannasta sisäpuhelu ulkoiset web-palvelut) tai WWW-palvelujen tarjoaja (asiakkaan kautta Internet / Intranet-tietokannan toiminta on kutsuttu suorittamaan nämä toimet, "Virtual ja "). Oracle Database 10g tukee sekä liikennemuotojen - käyttäjätilavirheen, tuottaa Java proxy luokat ja PL / SQL paketti menettelyjen mukaisesti ja antaa Web Service Definition Language (WSDL)-tiedosto sopiva tiedosto ladataan tietokantaan; Kun tuottaja-mallin, tukea SOA on PL / SQL, Java tallennetut, SQL-kyselyitä ja SQL DML julkaistaan verkkopalvelussa. (Lisätietoja löytyy teknisen valkoisen kirjan "Oracle Database 10g, Java DB, JDBC ja tietokanta Web-palvelut, uudet ominaisuudet").
Tässä artikkelissa, aion korkea näiden kahden tietokannan Web-palvelut otetaan käyttöön vaiheittain oppaan ajaa oman tietokannan web-palvelut, esittely, ja selitetään integroidun tietokannan SOA hyödyt ja web-palveluja.
Kehittäminen ja käyttöönotto tietokanta Web-palveluiden, lisätietoja, katso minun kirjoitettu Java ja Web-palveluiden Oracle-tietokannan ohjelmointi kirja (Kirja julkaisee Elsevier Digital Press) Voit ladata "Esikatselu-osa . Kirja sisältää lisää tietokanta Web-palvelun esimerkkiä.
Verkkopalvelujen tietokannan puolella
Tietokanta Web-palvelun avulla puolelta laajentaa tietokannan kautta (SQL-kysely tai erän työpaikka-, projektityö), joka sisältää dynaamisen tiedon (kuten osakekurssin), on-demand uusia tietoja (kuten luottokortin lupa) säännöllinen tietojen muutos (kuten IRS-lomake) tai vanhoista välityksellä (Web-palvelun kääre), ja kaikki web-palvelut voidaan yleensä mekanismeja (kuten online-bioinformatiikka / genomitietokantoja) käyttää tietoja.
Ensinnäkin katsomme, miten tarjota web-palveluja, joilla tuetaan Oracle-tietokanta.
Web-palvelu tuo esiin apuohjelma. Voit OTN muodossa ilmaiseksi ladata tietokanta Web-palveluiden maksuun apuohjelma (vuonna Oracle9i ja Oracle 10g versio), puhdas Java Web Service Client-ohjelma sarja ladataan tietokantaan, muuntaa olemassa olevan tietokannan käyttäjä Web-palveluihin . Tämä on kertaluonteinen toimenpide.
Siirrettiin pois hyödyllisyys alle $ ORACLE_HOME unzip.
Voiko dbwsclient.jar tiedosto ladataan SYS tila (jaettu), tai ladata Web-palvelun puhelun asiakkaan erityistarpeiden tila:% loadjava-u sys / muutos-r-v-f-s-avustuksen julkinen - genmissing sqlj / lib / dbwsclient.jar Seuraavaksi jokaisen puhelun tietokantaan, Web-palveluun, voit tehdä staattinen soittaa (suositus) tai dynaamisesti.
Staattinen Web-palveluiden maksuun (käännöksen yhteydessä). WSDL-tiedosto tietyssä tilanteessa tai palvelun URL, JPublisher (tietokanta-apuohjelman avulla tuotetaan Java luokkien Java-asiakasohjelman sanoi tietokanta toimijoiden) suorittaa kolmesta: tuottaa tukea suoraan tukee Java ja Web Oracle Database käytettäviä palveluja vastaava Java asiakkaan valtakirjalla tuottaa Java proxy PL / SQL kääre paketti SQL ja PL / SQL vedota ulkoiseen Web-palvelujen käyttö lataa kaiken sisällön (jos haluat ladata) ja koska tietokantakaavaa, jos se on tarvittavat oikeudet verkkopalvelusta sinun tulee esille tietty määrä JPublisher Valinnat: proxywsdl - kutsua Web-palveluun WSDL-tiedosto URL käyttäjä - tuottaa PL / SQL-paketti ohjelma tietokantakaavaa (ja salasana)
httpproxy - käytetään tutustua WSDL-tiedosto HTTP välityspalvelimen isäntä ja portti sysuser - tietokanta malli SYSDBA oikeudet, jotta JPublisher luo tiedostot ladata tietokantaan. Jos et julistaa tätä parametria, sinun täytyy ladata manuaalisesti syntyvät tiedostot tietokantaan.
proxyopts - luettelo erityisiä valinnaisia proxywsdl dir - hakemisto kaikista syntyy tallennetut JPublisher Oracle 10g Release 2 tukee myös matriisit alkukantaiset tyypit ja monimutkaisia tyyppejä, kuten JavaBeans.
Katsotaan esimerkkiä. Seuraavat lyhyt esittely käyttäen getQuote web-palvelut (jos ilmaiseksi www.xmethods.net) ja antaa 20 minuutin myöhässä osakekursseja, voit käyttää samankaltaisia dynaamisia liittyvät tiedot Web-palvelun suorittaa demo.
WSDL sijaitsee http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl. Klikkaa "analyysi WSDL linkkiä saadaksesi päätepisteen, Web-palvelu kuuntelee saapuvia pyyntöjä varten kyseisessä paikassa. Päätetapahtuma http://64.124.140.30:9090/soap vuonna, napsauta Toimet-linkkiä päästäksesi toiminnan ja menetelmän nimiä.
Vahvista ensin dbwsa.jar, JDBC ja JPublisher / SQLJ kirjasto ($ OH / sqlj / lib / translator.jar, $ OH/sqlj/lib/runtime12.jar) on CLASSPATH vuonna.
Suorita sitten seuraavat JPublisher komento syntyy verkkopalvelu asiakkaan valtakirjalla ja PL / SQL kääre, ja ne ovat avoimesti lastataan JVM tietokantaan. Jotta Tuotettu koodi voidaan suorittaa oikein tietokanta, varmista, että asiakas on yhteensopiva JDK ja Java Runtime. (Oracle9i Release 2 on yhteensopiva JDK-1.3.x-ja Oracle Database 10g kanssa JDK 1.4.x yhteensopiva, käytin tässä esimerkissä Oracle 10g Release 2 JPublisher.) Lisäksi saat laitteen DBA järjestelmän salasanan.
$ Jpub-u Scott / tiikeri-sysuser järjestelmä / manager-proxywsdl = http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl-proxyopts = tabfun-httpproxy = www-proxy.us.oracle . com: 80-päätetapahtuma = http://64.124.140.30:9090/soap-dir = quotesquotes / src / genproxy / NetXmethodsServicesStockquoteStockQuotePortClientJPub.javaquotes /
plsql_wrapper.sqlquotes / plsql_dropper.sqlquotes / plsql_grant.sqlquotes / plsql_revoke.sqlExecuting lainaa / plsql_dropper.sqlExecuting lainaa / plsql_wrapper.sqlExecuting lainaa / plsql_grant.sqlLoading lainaa / plsql_proxy.jarSQL Valitse jpub_plsql_wrapper.getQuote (''ORCL'') kuin Ote dual, lainaus - 12,6 Voit myös suunnitella erän tehtävämme, säännöllisesti soittaa erityisesti Web-palveluun ja tallentaa tulokset.
Tai voit käyttää UTL_DBWS paketti suorituksen aikana dynaamisesti valtakirja, menetelmä nimi ja parametrit. Paketti tukee dynaamista soittaa liitäntä (DII) (muunnos dynaaminen rukous), jälkimmäinen ajonaikaisen syntyvät palvelu päätepiste liitäntä. Kuitenkin tietokannasta dynaamisesti vedota ulkoiset web-palvelut eivät tällä hetkellä tue monimutkaisia tyyppejä, mutta vain tukea voidaan kuvata SQL tai PL / SQL sisäänrakennettu tyyppisiä XML tyyppi.
Verkkopalvelun tietolähteen (taulukko toiminto). Voit myös Oracle-tietokannan taulukko toiminnon avulla (jotta binary tulosjoukon kuin virtuaalisen pöydän käsittely) peräisin yhden tai useamman verkkopalvelun kyselyn SQL-toimintoja ja koskee tulosjoukon. (Täydellisen Katso esimerkiksi tietokanta Web Service mallikoodia sivu.)
Tässä esimerkissä JPublisher-proxyopts = tabfun vaihtoehtoja Web automaattisesti vastaanottajan pöytä-toiminto kääre. Esimerkiksi Seuraavassa esitetään SQL * Plus, tavoite seurata tarjota (vuodesta tunnus taulukko) symbolien luettelo nimeltä getQuote web-palvelut tuottaa taulukon toiminnot, ja kysely taulukko toiminto.
Ensimmäinen luoda symboli taulukko.
SQL luoda taulukko symbtab (lainaus VARCHAR2 (4)); SQL insert into symbtab arvot (''ORCL''), SQL insert into symbtab arvot (''CSCO''), SQL insert into symbtab arvot ('' QCOM''), SQL insert into symbtab arvot (''qqqq''), SQL insert into symbtab arvot (''GOOG''), SQL insert into symbtab arvot (''EBay''), SQL lisää huomioon symbtab arvot (''YHOO'') SQL sitoutua
Sitten suorittaa seuraavan SQL-komennon, se pöytää vasten soittaa verkkopalvelun kunkin symboli, ja sitten kysely taulukko toiminto (esim. tulosjoukko). Ihannetapauksessa sinun on ehkä Web-palveluihin, on saada useiden parametrien lomake allekirjoittaa ja palauttaa niiden arvot.
SQL col ARG0 muoto a20SQL valitse varmuuskopio bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz tiedot eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint uutiset: 10 uutiset: 11 uutiset: 12 Uutiset: 13 uutiset: 14 uutiset: 15 uutiset: 16 uutiset: 17 uutiset: 18 uutiset: 2 news: 3 news: 4 news: 5 news: 6 news: 7 news: 8 news: 9 outboundLinksMgr.sql siemenet sitemap.html svn tehtävät tmp xml2dict-2008.6-tar.gz xml2dict-luku-vasta taulukosta (jpub_plsql_wrapper.to_table_getQuote (kohdistin (valitse varmuuskopio bin bin_old conf config crawler.tar.gz crawler_bin.tar.gz tiedot eshow eshow_sitemap.html generate.sh google.html google.html.md5 log maint uutiset: 10 uutiset: 11 uutiset: 12 uutiset: 13 uutiset: 14 uutiset: 15 uutiset: 16 uutiset: 17 uutiset: 18 uutiset: 2 news: 3 news: 4 news: 5 news: 6 uutiset : 7 news: 8 news: 9 outboundLinksMgr.sql siemenet sitemap.html svn tehtäviä tmp xml2dict-2008.6-tar.gz xml2dict-luku-vain symbtab)));
ARG0 RES - - ORCL 12.64CSCO 17.12QCOM 43.4QQQQ 38.2799GOOG 353.58EBAY 38.2YHOO 35,427 riviä valittu. Tuotos näyttää tietyn symbolin tarjous.
Voit hakea SQL taulukosta toiminto toimijoiden (MIN, MAX, AVG, jne.). Voit tallentaa arvot ja suunnitelmat erän tehtävämme, säännöllisesti päivittää näitä arvoja, käytä voimaa SQL, kaivostoiminta pöytä.
Yksityiskohtaisempia tietoja löytyy Oracle Database JPublisher opas yksinkertaistaa web-palvelut siirrettiin pois vaihtoehdoista, tai edellä mainitut kirjat olen kirjoittanut.
Tietokanta Web tarjoajan
Käyttö tietokannan Web-palvelun tarjoajan toiminnot, tietokannan toiminnallisuutta voidaan laajentaa Web-palvelun asiakas hakemuksen kautta tavallisella web-palvelut, jotka mahdollistavat tietokannan toteutuksessa toimien ja tiedonhaun.
Esimerkiksi monet asiakkaat tietokannasta resurssien (kuten PL / SQL tallennetut / toiminnot ja paketit, Java tallennetut / toiminnot, ennalta SQL kyselyt, DML ja Oracle Advanced kyselyn yhteydessä) uudelleenkäyttöä varten standardeihin perustuvia web-palveluja. Toisin sanoen palvelu on toteutettu käyttämällä tietokannan tuote, ja ajaa sisällä tietokantaan. Siksi tietokannan kehittäjien ja DBA hallita Java tai Web-palveluiden ilman ohjelmointia voi käyttää niitä.
Tämän tavoitteen saavuttamiseksi, jota voimme käyttää JPublisher toimintoja yhden tai asettaa tietokannan toiminnasta saatiin Java valtakirjalla. Etenkin Oracle Application Server Java proxy-luokan julkaistaan niin standardi J2EE web-palvelut, to mahtuu tietokanta mallia, voit käyttää mallia parametrien ja koodi sukupolven laajennettavissa jälkimmäisen integrointi Web-palveluiden kokoajan. Käyttöönotettua keskikerros muiden J2EE-pohjaisten web-palveluiden, syntyy Web-palvelu päätepiste lähtien Oracle Application Server Runtime-johto.
Web-palvelu puhelu toiminto, Java asiamiesten tietokannassa JDBC vaatii vastaavan toiminnan. Sitten täytäntöönpanon palvelun tietokantaan, tulosjoukon SOAP viestin paketti, ja sitten lähetetään takaisin palveluun pyytää menettelyn.
Lisäksi JPublisher mahdollistaa myös kartoitus Oracle Application Server Web Services Framework eivät tue tietokannan tyyppi, kuten viite kohdistin tai PL / SQL Boolen arvo.
Tarkemmat tiedot, katso JPublisher asiakirjat, Oracle Database Java Developer's Guide ja Oracle Application Server Web Services Developer's Guide.
Panevat täytäntöön ja pakkaus
Jotkut asiakkaat haluavat Web-palvelujen yhteydessä ja tietokanta (Oracle-tietokanta, web-palvelut, nykyinen paketti) erikseen, kun taas muut asiakkaat haluavat käyttää yhdennetyn (Oracle-tietokannan natiivin tuen tietokanta Web palveluntarjoaja). Edut ja haitat kukin täytäntöönpanosta.
Ensinnäkin, suoraan Oracle-tietokannan kautta HTTP käsitellä WSDL ja SOAP-pyynnön ja vastaus on teknisesti mahdollista. Vaikka tämä menetelmä voi tyydyttää yksinkertaisen web-palvelun, mutta se ei voi täyttää yrityksen web-palvelut ja SOA (sen yksityiskohtainen kuvaus myöhemmin) ja skaalautuvuuden vaatimuksiin.
Toiseksi, Web-palvelut ja SOA puitteet myyjät aktiivisesti lisätään uusia määritelmiä (QoS, yhteentoimivuus, jne.) tai lisätä nykyisten normien. Uskon, ja voit ladata Web-palvelun asiakasohjelma useita erilaisia, Web-palvelun tarjoajan ja SOA-ohjelma sarja on monimutkaisempi ja joustava keskimmäisen tason ympäristö (pikemminkin kuin vakaammat RDBMS ympäristö) voidaan hoitaa paremmin .
Kolmanneksi, kuten Oracle, mukaan lukien useimmat toimittajat keskikerros ja RDBMS kerros käyttäen samaa Web services ja SOA puitteet, se voi tietokantaan kerros ja sovelluspalvelin kerrokset tarjota johdonmukainen Web palveluiden kehitystä, tai kokoaminen, käyttöönotto ja hallintaa. Seuraavassa osassa kuvataan etuja tällaisissa pakkauksissa.
Integrointi Oracle tietokannan SOA
SOA on verkkopalvelu standardien ja normien konseptin pohjalta, jonka avulla käyttäjät voivat rakentaa asiakkaan sovelluksiin voidaan yksinkertaisesti rekisteri, johon voidaan tunnistaa ja käyttää palvelua käyttöön yrityksen ristikot. Tiedämme jo, kuinka avoin standardi tietokanta toimia web-palvelut, meillä on syvällisempää ymmärrystä joidenkin seuraavista: miten saada nämä palvelut osana Enterprise SOA.
Tietokannan toiminnan kautta Java proxy julkaisee Web-palvelut niin, että nämä aineet voi periä Oracle Fusion Middleware SOA puitteet (mukaan lukien WS yhteentoimivuus, Web Services luotettavan viestiliikenteen, WS turvallisuus Web-palveluiden hallinta ja BPEL integrointi) yhteentoimivuuden ja QoS: Web-palveluiden yhteentoimivuuden. Huomaa, että yhteentoimivuuden saavuttamiseksi keskeinen sitoutumista kaikilta web-palveluja. WS-I organisaatio kautta WS-I Basic Profile 1.0 eritelmä määritellään Web-palvelut puitteet "yhteentoimivuudella". Ja J2EE varmentaminen ohjelma muistuttaa, WS-I Basic Profile 1.0 valvoa SOAP 1.1, WSDL 1.1, HTTP 1.1, HTTP sitova (tai HTTPS) ja XML-tilassa (osa 1 ja osa 2) tukea. Oracle Fusion Middleware SOA puitteet paitsi täyttää WS-I Basic Profile 1.0, mutta korosti myös, että muiden toimittajien / liiketoiminnan yhteentoimivuuden tekniset tiedot.
Web Services Luotettava Viestit. Oracle Application Server SOAP-pohjaisten web-palveluiden luotettavan viestiliikenteen on avoin, ja välillä web-palvelut tarjoavat luotettavaa SOAP-sanoma. Lähetä viesti ainakin kerran (taattu lähettää) lähetetään enintään kerran (taattu kahtena poistaminen), tai vain lähettää kerran (taattu lähettää ja poistaa päällekkäisyyksiä). Oracle Application Server toteuttaa parhaillaan OASIS-standardi WS-luotettavuus, ja Oracle on OASIS WS-ReliableExchange ryhmä 1, WS-luotettavuus ja WS-ReliableMessaging sulautumisen, jotta teollisuus laajuisen yhteentoimivan luotettavan viestiliikenteen käytetty standardi. Oracle-tietokannan, Web-palveluun voi käyttää näitä palveluja SOA.
WS turvallisuus. WS tietoturvan XML digitaalinen allekirjoitus-määritys tarjoaa turvallisen SOAP viestit, jotka tarjoavat luottamuksellisuuden kautta XML-salauksen ja käyttäjätunnus Token ja X509 Token tarjoamalla todistuksen toimittamista. Oracle Web Services-työkalun avulla voit käyttää välityspalvelinta ja portti varmistaa tietokannan turvallisuuden kautta WS Web Services.
Web-palveluiden hallinta. Oracle Web Services Manager tarjoaa ainutlaatuisen hallinnan kehyksen Web-palveluiden kulunvalvontaan, single sign-on, keskitetty turvallisuuspolitiikka hallinto, Sarbanes-Oxley, Gramm-Leach-Bliley, ja HIPAA ja muut normit, ja seurata WS turvallisuus, web-palvelut luotettavan viestiliikenteen, tallennus ja tilintarkastus. Nämä ominaisuudet läpi useita Java Management Extension (JMX) Management Bean (Mbean) auki.
BPEL integraatio. BPEL on uusi business process mallimääritelmiä, voit käyttää sitä kuin verkkopalvelun työnkulkua. Tietokanta Web Services Oracle BPEL Process Manager on laite (jossa rpc-koodatun ja doc / kirjaimellinen messaging) järjestely monimutkaisten Web-palveluiden osana työnkulkuprosessien.
Päätelmä
Olette nähneet, tietokanta Enterprise SOA Web services on tärkeä rooli. Kuitenkin Oracle DBA ja tietokanta kehittäjän näkökulmasta, tietokanta tärkeimmistä näkökohdista Web services on auttaa niitä uudelleen tietokannan resursseja eikä Java tai SOAP, WSDL ja UDDI ohjelmoinnin vaikutukset.