Verkkopalvelu
Verkkopalvelu ( englanniksi web service tai web services ) on tekniikka, joka käyttää protokollia ja standardeja, joita käytetään tietojen vaihtamiseen sovellusten välillä. Eri ohjelmointikielillä kehitetyt ja millä tahansa alustalla toimivat ohjelmistosovellukset voivat käyttää verkkopalveluita tietojen vaihtamiseen tietokoneverkoissa , kuten Internetissä . Yhteentoimivuus saavutetaan ottamalla käyttöön avoimia standardeja . OASIS- ja W3C - organisaatiot ovat toimikuntia, jotka vastaavat verkkopalveluiden arkkitehtuurista ja sääntelystä.
W3C määrittelee verkkopalvelun seuraavasti :
Verkkopalvelu on ohjelmistojärjestelmä, joka on suunniteltu tukemaan koneiden välistä vuorovaikutusta verkon yli yhteentoimivalla tavalla. Siinä on tietokoneella (erityisesti WSDL :ssä) käsiteltävässä muodossa kuvattu käyttöliittymä, jonka kautta sen kanssa on mahdollista olla vuorovaikutuksessa SOAP -sanomien vaihdon kautta , jotka tyypillisesti lähetetään XML -serialisoinnilla HTTP :n yli yhdessä muiden verkkostandardien kanssa. .W3C [ 1 ]
Yhteentoimivuuden parantamiseksi verkkopalveluiden eri toteutusten välillä on luotu WS-I- organisaatio , jonka tehtävänä on kehittää erilaisia profiileja näiden standardien määrittelemiseksi entistä kattavammin. Se on kone, joka käsittelee verkkoasiakkaiden pyyntöjä ja lähettää heille pyydetyt resurssit.
Arkkitehtuuri
Verkkopalveluarkkitehtuurissa on kolme osapuolta: verkkopalvelun tarjoaja, verkkopalvelun pyytäjä ja julkaisija. Palveluntarjoaja lähettää palvelun julkaisijalle WSDL -tiedoston , jossa on verkkopalvelun määritelmä. Palvelun pyytäjä ottaa yhteyttä julkaisijaan ja selvittää palveluntarjoajan (WSDL-protokolla) ja ottaa yhteyttä palveluntarjoajaan ( SOAP -protokolla ). Palveluntarjoaja vahvistaa palvelupyynnön ja lähettää strukturoidut tiedot XML-muodossa SOAP-protokollaa käyttäen. Palvelun pyytäjä vahvistaa XML-tiedoston uudelleen XSD -tiedoston avulla .
Käytetyt standardit
- Web Services Protocol Stack : joukko palveluita ja verkkopalveluiden protokollia.
- XML ( Extensible Markup Language ): vakiomuoto vaihdettaville tiedoille.
- SOAP ( Simple Object Access Protocol ) tai XML-RPC ( XML Remote Procedure Call ): protokollat, joihin vaihto muodostetaan.
- Muut protokollat: XML-tietoja voidaan myös lähettää sovelluksesta toiseen käyttämällä normaaleja protokollia, kuten Hypertext Transfer Protocol ( HTTP ), File Transfer Protocol (FTP) tai Simple Mail Transfer Protocol (SMTP).
- WSDL ( Web Services Description Language ): on verkkopalveluiden julkinen käyttöliittymäkieli. Se on XML-pohjainen kuvaus verkkopalveluiden kanssa kommunikoinnissa tarvittavista toiminnallisista vaatimuksista.
- UDDI ( Universal Description, Discovery and Integration ): protokolla tietojen julkaisemiseen verkkopalveluista. Voit tarkistaa, mitkä verkkopalvelut ovat saatavilla.
- WS-Security ( Web Service Security ): OASIS :n ( Organisation for Advancement of Structured Information Standards ) hyväksymä suojausprotokolla. Se takaa toimijoiden autentikoinnin ja lähetettyjen viestien luottamuksellisuuden.
- REST ( Representational State Transfer ): arkkitehtoninen tyyli, joka HTTP -protokollaa käyttäen tarjoaa API :n , joka käyttää kutakin menetelmäänsä (GET, POST, PUT, DELETE jne.) voidakseen suorittaa erilaisia toimintoja sovelluksen välillä, joka tarjoaa palvelun verkkosivusto ja asiakas.
- GraphQL, vaihtoehtoinen arkkitehtuuri RESTille.
Verkkopalveluiden edut
- Ne tarjoavat yhteentoimivuuden ohjelmistosovellusten välillä riippumatta niiden ominaisuuksista tai alustoista, joille ne on asennettu.
- Verkkopalvelut edistävät tekstipohjaisia standardeja ja protokollia, jotka helpottavat niiden sisältöön pääsyä ja niiden toiminnan ymmärtämistä.
- Niiden avulla eri maantieteellisillä paikoilla sijaitsevien eri yritysten palvelut ja ohjelmistot voidaan helposti yhdistää integroitujen palvelujen tuottamiseksi.
Verkkopalveluiden haitat
- Transaktioiden suorittamiseksi niitä ei voida verrata niiden kehitysasteelle hajautetun laskennan avoimiin standardeihin , kuten CORBA ( Common Object Request Broker Architecture ).
- Sen suorituskyky on heikko verrattuna muihin hajautettuihin laskentamalleihin, kuten Java Remote Method Invocation (RMI), CORBA tai Distributed Component Object Model (DCOM). Se on yksi tekstipohjaisen muodon käyttöönoton haitoista. Ja XML:n tavoitteiden joukossa ei ole tiiviys tai käsittelytehokkuus.
- HTTP:n avulla he voivat ohittaa palomuuripohjaiset suojatoimenpiteet, joiden säännöt yrittävät estää tai valvoa ohjelmien välistä viestintää esteen molemmilla puolilla.
Syitä verkkopalvelujen luomiseen
Pääasiallinen syy Web-palvelujen käyttöön on se, että niitä voidaan käyttää HTTP over Transmission Control Protocol (TCP) -protokollan kanssa verkkoportissa 80. Koska organisaatiot suojaavat verkkojaan palomuurilla (jotka suodattavat ja estävät paljon Internet-liikennettä), ne sulkevat lähes kaikki TCP-portit. paitsi 80, joka on juuri se, jota verkkoselaimet käyttävät . Verkkopalvelut käyttävät tätä porttia siitä yksinkertaisesta syystä, että niitä ei ole estetty. On tärkeää huomata, että verkkopalveluita voidaan käyttää minkä tahansa protokollan kautta, mutta TCP on yleisin.
Toinen syy on se, että ennen SOAP :n olemassaoloa ei ollut hyviä rajapintoja muiden verkkoon kytkettyjen tietokoneiden toimintojen käyttämiseen. Ne, jotka olivat olemassa, olivat ad hoc ja vähän tunnettuja, kuten Electronic Data Interchange (EDI), Remote Procedure Call (RPC) tai muut API .
Kolmas syy siihen, miksi Web-palvelut ovat erittäin hyödyllisiä, on se, että ne voivat tarjota suuren riippumattomuuden verkkopalvelua käyttävän sovelluksen ja itse palvelun välillä. Tällä tavalla yhden ajan kuluessa tapahtuvien muutosten ei pitäisi vaikuttaa toiseen. Tämä joustavuus tulee yhä tärkeämmäksi, kun suuntaus rakentaa suuria sovelluksia pienemmistä hajautetuista komponenteista yleistyy joka päivä.
Lähivuosina tarjottavien palvelujen laadun ja määrän odotetaan paranevan uusien standardien pohjalta.
Alustat
Verkkopalveluiden sovelluspalvelimet :
- JBoss J2EE Open Source -sovelluspalvelin Red Hat inc.:ltä.
- Oracle Fusion -väliohjelmisto
- IBM Lotus Domino alkaen versiosta 7.0
- Axis ja Jakarta Tomcat -palvelin (Apacelta)
- Macromedia ColdFusion MX
- Sun Microsystemsin Java Web Services Development Pack (JWSDP) (perustuu Jakarta Tomcatiin )
- JONAS (osa ObjectWebistä avoimen lähdekoodin aloitetta)
- Microsoft .NET
- Novell exteNd (perustuu J2EE - alustaan )
- WebLogic
- WebSphere
- JAX-WS ja GlassFish
- Zope on Python-ohjelmointikielellä kehitetty olio- verkkosovelluspalvelin .
- AttachmateWRQ:n VERASTREAM IBM- ja VT-isäntäsovellusten modernisointiin tai integrointiin
Katso myös
- Application Programming Interface (API)
- palvelutoimisto
- maailman laajuinen verkko
- semanttinen verkko
- SAIPPUA
- SOA
- WebAPI
Viitteet
- ^ "Verkkopalvelusanasto § Verkkopalvelu" . W3C . 11. helmikuuta 2004 Haettu 24. kesäkuuta 2018 .