Johdatus web-palveluihin

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

Kuvantamisen työnkulku IHE RIS näkökulmasta
Tietokannat: MySQL ja PostgreSQL. Yleistä • Relaatiotietokantaohjelmisto, jolla voidaan luoda, ylläpitää ja muuttaa ja hallinnoida tietokantoja • Avoin.
Kokoelmien kuvailun formaatteja ja standardeja Marit Olander Helsingin yliopiston kirjasto
Johdatus Linuxiin Mauri Heinonen
Active directory.
Web-palveluiden alusta Axis2
JavaScript oliot © Reiska, DOM Oliot  JavaScript sisältää paljon valmiita DOM olioita, on sisältänyt jo DOM level 0 (ns. Legacy DOM) alkaen  WWW-ympäristössä.
JavaScript (c) Irja & Reino Aarinen, 2007
IBM WebSphere Application Server Mediatekniikan Seminaari Mikko Matilainen.
Luku 5 – Tietojen hakeminen sovelluksiin
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö Netbeans ja XAMPP Projektin luominen.
Kökkötraktori-verkkokauppa
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Web Services ©Reino Aarinen, Miksi?  Web Services tekniikalla voi muuttaa valmiit sovellukset Web sovelluksiksi.  Sovellus voi julkaista toiminnon.
Tietokannan suunnittelu
Oppimisaihiot ja standardointi Harto Pönkä,
Erik Fallenius Kevät  Taustaa ◦ Ontologiat  Tavoitteet  Teknologiat ◦ Dojo/AJAX ◦ JSON ◦ SOAP  Projektin kulku  Lopputulos – demo.
EXtensible Markup Language
Internet  Lingua Franca, kaikkien ymmärtämä yhteinen kieli: TCP/IP tai UDP/IP. ”Kaikki maaiman tietokoneet, liittykää yhteen”.  Suomeen 1990-luvun alussa.
Yhteenvetoa ydin- rajapintojen aamupäivän PlugIT-työpajasta Marko Sormunen PlugIT, Kuopion yliopiston atk-keskus
Konvergenssin haasteita Internetin Quality of Service (QoS) –QoS hallinta, tarvitaanko montaa palveluluokkaa? –QoS monitorointi (mittaukset) Kapasiteetin.
BPMN ja hiukan prosessien määrittelystä
PlugIT-seminaari Työpaja 2, ma 27.10: Kertomus- ja koodistoliittymät ja kansallisten hankkeiden yhteistyö Kertomus(arkisto)rajapinnat, klo.
Ketterä kehitys käytännössä – TFS & Meteor
CSS ja sen sovellukset Vesa Jussila. Esitys  Yleistä –Historia –Etuja ja huonoja puolia –Mediatyypit  Käyttö –Laatikkomalli –CSS-taitto –Sovelluksia.
URI Universal Resource Identifier Matti BrockmanMatti Brockman, , TKTLTKTL.
GNU-ohjelmointityökalut Jussi Raunio TI09OHJ
Kontekstinhallinta ja muut rajapintatarpeet Mika Tuomainen Juha Mykkänen SerAPI-projekti, HIS-tutkimus Kuopion yliopisto, Tietotekniikkakeskus, Centek.
JYVÄSKYLÄN YLIOPISTO/COSSE InBCT 2.4/A-KIT 2003 A-KIT Agora Exploratory Environment for Knowledge Discovery Timo Aittokoski Olli Hokkanen Tommi Kärkkäinen.
Web 2.0 tiivistetysti 1. Ohjelmistoalusta on Web. Webtop korvaa Desktopin. Keskeistä yhteisöllisyys ja ”Software as a Service”. 2. Kollektiivisen älyn.
PlugIT-ydinrajapintademo Marko Sormunen PlugIT-projekti, HIS-yksikkö Kuopion tietotekniikkakeskus Kuopion yliopisto
Ydinpalveluiden (käyttäjä, potilas).NET-asiakassovellus: PatientCoreClientDemo PlugIT-loppuseminaari Koulutustyöpaja 1: Avoimet ohjelmistorajapinnat.
vuorovaikutteiset www-sivut1 Palvelinpuolen www- ohjelmointi Dynaaminen Internet  käyttäjän tai selaimen tunnistaminen  käyttäjän toiveiden.
XML Namespaces 1 XML Namespaces provide a method to avoid element name conflicts –name conflict will occur when two different documents use the same element.
Työasemasovelluksen käyttöliittymä sovelluksien käyttöliittymät voidaan jakaa kahteen pääluokkaan: –kohde-toiminto -pohjaisiin (object-action) käyttöliittymiin.
SerAPI Saara Savolainen Esa Paakkanen Marko Suhonen 1 OID-kohde OID- generointi (ja -kyselyt?)
PlugIT-rajapintaesittely ja demo PlugIT-rajapintakoulutus , Kuopio.
JohdantotMyn1 Johdanto Verkkopalvelun koostamiseen käytetään koosteohjelmia ja ohjelmointikieliä. Verkkopalvelun toteutus voi vaatia myös palvelinohjelmointia.
HTTP-välityspalvelimen käyttö tapahtumien keräämiseen Tero Tähtinen Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio.
SerAPI: SERvice-based architecture and web services in healthcare Application Production and Integration – Palveluarkkitehtuuri ja web-sovelluspalvelut.
Ontologia Hanna Hirvonen. Käsite Ontologia ● Peräisin filosofiasta oppi olevaisesta ● Kuvaus tarkasteltavan sovellusalueen käsitteistä ja niiden välisistä.
Shibboleth 2 uudet ominaisuudet & päivän käytännöt Haka koulutus
XHTML-perusteita Teppo Räisänen
Minimitason kontekstinhallinnan määrittely Yhteenveto Mika Tuomainen
Jaakko Markkanen & Ari Laine. Yhteisö, joka kehittää työpöytäympäristöä KDE SC (Software Compilation) Avoimen lähdekoodin ja voittoa tavoittelematon yhteisö.
DTD Teppo Räisänen Liiketalouden yksikkö.
SerAPI-Potilaslista osa I: Alustus , Kuopio Juha Mykkänen, Marko Sormunen, Assi Pöyhölä, Hannu Virkanen.
Toteutus. Ohjelmointikielen valinta Käytetään samaa kuin muutkin Työkalujen laatu Usein asiakas määrää Yleensä valittu jo ennen toteutusta Osaaminen vs.
PlugIT-ydinrajapinnoista Marko Sormunen PlugIT-projekti, HIS-yksikkö Kuopion tietotekniikkakeskus Kuopion yliopisto
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Pakkanen -arkkitehtuurin siirto toteutustekniikoihin
Metatieto ja HTML-dokumentit Markus Virkkala Esa Kaihlanen TJTD63 - Semanttinen Web - 4/2002.
E-Työpaja: Rajapintamääritykset Rajapintamääritysten tilanne (Juha Rannanheimo) Kontekstinhallinta (Mika Tuomainen) Käyttäjä-, käyttöoikeus-,
XML Schema Teppo Räisänen Liiketalouden yksikkö.
SerAPI-Potilaslista työpaja , Kuopio Hannu Virkanen, Marko Sormunen.
HTTP (c) Reino Aarinen, HTTP yhteyskäytäntö Web asiakasohjelmat (yleensä erilaiset selaimet) käyttävät HTTP protokollaa tiedon siirtoon WWW sivustojen.
Ydinpalveluiden (käyttäjä, käyttöoikeus, potilas).NET-palvelutoteutus: CoreServiceDemo PlugIT-loppuseminaari Koulutustyöpaja 1: Avoimet ohjelmistorajapinnat.
XSL Teppo Räisänen
XSL Teppo Räisänen
VliSS-virtual laboratory in survey sampling Risto Lehtonen Jyväskylän yliopisto Matematiikan ja tilastotieteen laitos TieVie-seminaari Jyväskylä.
XML Skeema Määritellään XML:llä Vältetään suurinosa DTD:n puutteista. Datatyypit (string, boolean,...) Voidaan asettaa rajoitteita datatyypeille (minLength,
Miika Kuusinen LTY/Tietoliikenteen laitos 2003
06/11/ Porin korkeakouluyksikkö © Jari Multisilta,2000 Rakenteinen dokumentaatio ja XML Jari Multisilta Porin korkeakouluyksikkö.
Lopuksi. Väliohjelmistot - Lea Kutvonen2 Johdanto - agenda Mitä väliohjelmistolla tarkoitetaan? Väliohjelmistojen rooli ja tehtävät Väliohjelmiston haasteet.
CAF eTool Rekisteröitymisen kautta maksutta käyttöön Kansallinen laatuhanke /TjV 1.
WAP-Sovellusten kehittäminen PL/SQL:llä Kimmo Seppänen Asio-Data Oy.
Web-sovellusten kehittäminen - Johdanto
Välikokeen palautus 35 osallistui kokeeseen
CLT132 Tehtävät (viikko 2).
Esityksen transkriptio:

Johdatus web-palveluihin Marko Sormunen SerAPI-projekti, HIS-yksikkö Tietotekniikkakeskus Kuopion yliopisto Marko.Sormunen@uku.fi

Osa 1... web-palvelut paperilla

Web-palvelut... mitä ne ovat? ” A Web service is a software application identified by a URI [RFC 2396], whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts. A Web service supports direct interactions with other software agents using XML based messages exchanged via Internet-based protocols. A collection of EndPoints.” ” Web services are loosely coupled software components delivered over Internet standard technologies” ”A self-contained, modular application that can be described, published, located, and invoked over the Web. Platform-neutral and based on open standards, Web Services can be combined with each other in different ways to create business processes that enable you to interact with customers, employees, and suppliers. ”

Web-palvelut... mitä niillä tehdään? Nykyisten käytössä olevien sovellusten standardi liittäminen muihin sovelluksiin Uusien sovellusten rakentaminen palvelu-arkkitehtuurin suuntaisesti Sovellusten välinen liikennöinti HTTP:n yli Kansainvälinen toiminta yhteistoiminnallisuuden edistämiseksi yhteiset standardit tärkeimmät organisaatiot: WS-I, W3C ja OASIS Yhdistävä tekijä Java- ja Microsoft-maailman välillä myös Open Source / Unix / Linux –tekijät mukana (Perl, Python, PHP)

Web-palvelut... perusstandardit HTTP (Hypertext Transfer Protocol) viestien siirtoprotokolla TCP/IP:n päällä v1.1 vuonna 1999 XML liittymien ja viestien kuvauskieli v1.0 vuonna 1996 SOAP (Simple Object Access Protocol) viestintä web-palveluiden välillä v1.2 vuonna 2003 WSDL (Web Services Description Language) web-palveluiden liittymien kuvaus

Web-palvelut... ongelmakohdat Standardit pyrkivät edelleen mahdollisimman vapaaseen liittymien kuvaamiseen XML:n avulla useita yhtä hyviä keinoja kuvata samaa toiminnallisuutta turhan monimutkaiset standardit vaikeasti toteutettavia, ongelmia yhteentoimivuudessa vaikea tukea sovelluskehittimissä monimuotoisuuden takia käytännössä vaikeita opiskella Hyödyntämiskohteiden epäselvyydet Liiketoimintaprosessien mallintaminen web-palveluihin vaikeaa HTTP-liikenteestä johtuvat rajoitteet kutsumekanismeissa

Web-palvelut... kehitys? Web Services Interoperability (WS-I) pyrkii ottamaan ”takapakkia” standardeissa tärkein tavoite ei ole toiminnallisuuden monimuotoisuus vaan yhteentoimivuuden parantaminen vain kaksi tapaa julkaista rajapinta-tyylisiä web-palveluita best practises –tyyppisiä määrityksiä WS-I Basic Profile -määritys miten luoda ja julkistaa yhteentoimivia web-palveluita käyttäen SOAP:pia, WSDL:ää ja HTTP:tä

Web-palvelut... lisää kehitystä? WS-I Attachments Profile –määritys miten soveltaa SOAP Attachments –määritystä liitetiedostojen lähettämiseen WS-I Security Basic Profile -määritys miten soveltaa SOAP-viestien allekirjoitus ja salaus WS-Security ja WS-Encryption -standardeja Tulevaisuudessa toivottavasti ”WS-I Business Process Profile”

Web-palvelut... standardeja W3C:n tai OASIS:n määrittelemiä WS-I pyrkii tarkentamaan valmiiden standardien toteutustapoja BPEL Business Process Execution Language yhden liiketoimintaprosessin kuvaus alusta loppuun pohjana Microsoftin ja IBM:n määritykset WS-Security ja WS-Encryption SOAP-sanomien allekirjoitus SOAP-sanomien tai niiden osien salaaminen useita mahdollisuuksia esim. allekirjoituksen esittämiseen WS-I Security Basic Profile –määritys tarkentaa näiden käyttöä

Web-palvelut... muita määrityksiä UDDI (Universal Description, Discovery and Integration) Hakemistopalvelu web-palveluille, mahdollisuutena dynaaminen web-palveluiden käyttö ei juurikaan käytetty WS-Addressing Web-palveluiden päätepisteiden kuvaus WS-Reliability SOAP-viestien luotettava toimittaminen muut WS-määritykset Lista jatkuu aika pitkälti vaikea ennustaa, mitkä näistä jäävät oikeasti elämään osittain päällekkäisiä määrityksiä parhaiten tuntuvat ”menestyvän” määritykset joissa mukana useampia isoista pelaajista (IBM, Microsoft) määritysten omistussuhteet joskus epäselvät

Web-palvelut... kaavakuva XML WS-määritykset WSDL Rajapinnan kuvaus Web-palvelu Viestintä SOAP HTTP HTTPS MIME

Web-palvelut... miksi ne kelpaavat Pääperiaate: ”Ihan sama millä web-palvelun toteutus on tehty” WSDL/SOAP –toiminnallisuus on hyvä myyntikeino IDE-kehittäjille SOAP-liikennöinti on tavallaan ”puolueeton vyöhyke” Microsoftin ja Java/Open Source –maailmojen välillä XML tarjoaa mahdollisuuden lisätä yksinkertaisten palveluviestien päälle monimutkaisia rakenteita ilman että viestin tietosisältö muuttuu HTTP-pohjainen liikennemalli on jo de facto –standardi Internetissä

Osa 2... web-palveluiden kuvaus WSDL:llä

WSDL... mikä se on WSDL-dokumentti on itsenäinen XML-dokumentti joka kuvaa web-palvelun rajapinnat, SOAP-viestien tietosisältöä ja palvelun sijainnin voi sisältää esimerkiksi myös dokumentaatiota rajapinnasta ei sisällä rajapintoihin liittymätöntä tietoa, kuten SOAP-viestien Standardi tapa julkistaa web-palvelu WSDL voidaan generoida automaattisesti olemassa olevasta toteutuksesta WSDL:n formaatti ei ole tehty ihmisille vaan automaattisille työkaluille  vaikeasti ymmärrettävä mutta erittäin monipuolinen

WSDL... mitä sillä voi tehdä WSDL-kieli itsessään vain kuvaa abstraktia tiedonsiirtorajapintaa  WSDL-dokumentin kuvaamat rajapinnat eivät välttämättä ole Remote Procedure Call (RPC)-tyyppisiä  WSDL voi esimerkiksi vain kuvata tietyn muotoisen XML-dokumentin joka siirretään kahden päätepisteen välillä  tarvitaan tietyn muotoinen WSDL-dokumentti, joka voidaan tulkita esitävän RPC-tyyppistä rajapintaa Yleensä WSDL kuvaa kuitenkin RPC-tyyppistä rajapintaa, joka voidaan myös esittää perinteisillä ohjelmointikielillä WSDL-dokumentin avulla voidaan tarvittaessa validoida SOAP-sanomat

WSDL... käyttötavat Kolme peruskäyttötapaa: 1. luodaan runko web-palvelun toteutukselle WSDL-dokumentista 2. otetaan ulkoinen web-palvelu käyttöön WSDL:n avulla luomalla tynkä jota asiakassovellus voi käyttää palvelun kutsumiseen 3. web-palvelua kuvaava WSDL-dokumentti generoidaan jostakin valmiista sovelluksesta tai sen komponentista Kaikki voidaan tehdä automaattisesti työkaluilla, joita löytyy sovelluskehittimistä uusimmissa työkaluissa WS-I Basic Profile –yhteensopivuus HUOM! WSDL:n, tyngän tai rungon käyttö ei ole pakollista, SOAP-sanomat voi tehdä myös ”käsin” ja lähettää ne itse HTTP:n avulla

WSDL... käyttötavat Kaksi WSDL-tyyliä määritelty kutsurajapinta-tyylisille web-palveluille - document ja RPC kummatkin tuottavat perus-web-palvelu -käytössä täsmälleen samanlaisia SOAP-sanomia Microsoft käyttää oletuksena document-tyyliä, mutta tukee myös RPC-tyyliä Java-puolella yleensä RPC-tyyli käytössä oletuksena Kummatkin tyylit ovat yleensä hyvin tuettuja SOAP-välineissä RPC-tyylin tarjoamia mahdollisuuksia SOAP-viestintään voidaan ajatella document-tyylin mahdollisuuksien ”osajoukkona” RPC-tyyliset WSDL-dokumentit ovat hieman yksinkertaisempia

1. Web-palvelun rungon luominen WSDL työkalu runko Palvelutoteutus

2. Web-palvelun käyttöönotto Asiakas sovellus WSDL työkalu tynkä Palvelutoteutus

3. WSDL-dokumentin generointi Palvelutoteutus työkalu WSDL

WSDL:n osat (elementit) karkeasti schema (0-n kappaletta) jokaisen SOAP-viestien osien tietosisällön kuvaus XML-scheman avulla message (2-n kappaletta) jokaisen SOAP-viestin osien luettelo portType (yleensä 1 kappale) jokaisen SOAP-palvelukutsun viestit (parametri-viesti, paluu-viesti, virheilmoitus-viestit) binding (yleensä 1 kappale) SOAP-palvelukutsujen ja esim. liitetiedostojen sitominen HTTP tms. siirtoprotokollaan service (1 kappale) web-palvelun yhteydet ulkomaailmaan, esim. sen HTTP-osoite. Yleensä vain yksi yhteys on edustettuna (HTTP).

Osa 3... EchoApplication-palvelun WSDL-kuvaus

EchoApplication –web-palvelun kuvaus EchoApplication sisältää yhden palvelukutsun (echoText) parametrinä string-tyyppinen teksti paluuarvona string-tyyppinen teksti WSDL on document/literal -tyylinen WS-I Basic Profile 1.1 –yhteensopivuus on tarkistettu Toimivuus: Oracle JDeveloper 10g: Web Service Stub/Skeleton Generator Delphi 7: WSDL Importer .NET Framework 1.1 SDK: WSDL.EXE Apache Axis 1.2: WSDL2Java

EchoApplication... WSDL-dokumentti <?xml version="1.0" encoding="UTF-8"?> <definitions targetNamespace="urn:serapi:SOAPExample" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:impl="urn:serapi:SOAPExample" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <types>...</types> <message>...<message> <portType>...</portType> <binding>...</binding> <service>...</service> </definitions> WSDL-dokumentin osien nimialue Web-palvelun nimialue

EchoApplication... service-elementti <service name=“EchoService"> <port binding="impl:EchoBinding" name=“EchoApplication"> <wsdlsoap:address location="http://localhost/EchoService/services/EchoApplication"/> </port> </service> Web-palvelun nimi Web-palvelun käyttämä HTTP-sidonta (binding) Web-palvelun osoite URL:ina

EchoApplication... binding-elementti <binding name="helloWorldBinding" type="impl:EchoOperations"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name=“echoText"> <wsdlsoap:operation soapAction="urn:serapi:SOAPExample#EchoText"/> <input> <wsdlsoap:body use="literal"/> </input> <output> </output> </operation> </binding> HTTP-sidonnan palvelukutsut (portType) Palvelukutsujen sidontatyyli echoText-palveluKutsun sidonta

EchoApplication... portType-elementti <portType name=“EchoOperations"> <operation name=“echoText"> <input message="impl:echoTextRq"/> <output message="impl:echoTextRsp"/> </operation> </portType> echoText-palvelukutsun SOAP-viestit (input ja output)

EchoApplication... message-elementti <message name=“echoTextRq"> <part element="impl:echoText" name="parameters"/> </message> <message name=“echoTextRsp"> <part element="impl:echoTextResponse" name="parameters"/> echoText-palvelukutsun input ja output- viestien osat

EchoApplication... types-elementti <schema elementFormDefault="qualified“ targetNamespace="urn:serapi:SOAPExample“ xmlns="http://www.w3.org/2001/XMLSchema"> <element name=“echoText"> <complexType> <sequence> <element name="text" type="xsd:string"/> </sequence> </complexType> </element> <element name=“echoTextResponse"> <element name="echoedText" type="xsd:string"/> </schema> </types> echoText-palvelukutsun parametrit (input-viestin sisältö). HUOM! Elementin nimen on oltava echoText! echoText-palvelukutsun paluuarvot (output-viestin sisältö). HUOM! Elementin nimen on oltava echoTextResponse!

Osa 4... Web-palveluiden viestintä SOAP:lla

SOAP-sanoman osa-elementit Header ei ole pakollinen sisältää metatietoa viestistä Body sisältää itse sanoman tietosisällön, esim. kutsuttava web-palvelukutsu ja sille annettavat parametrit muu XML-dokumentti Envelope Header Body

SOAP-viestinvälitys Asiakas Palvelutoteutus Aputyökalu palvelun löytämiseen tynkä runko SOAP-lähettäjä SOAP-vastaanottaja HTTP / HTTPS

SOAP-esimerkki... echoText-kutsu <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/“ xmlns:xsd="http://www.w3.org/2001/XMLSchema“ xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instance"> <soapenv:Body> <echoText xmlns="urn:serapi:SOAPExample"> <text>Jeejee</text> </echoText> </soapenv:Body> </soapenv:Envelope> Body-elementti Web-palvelukutsu parametri

SOAP-esimerkki... echoTextResponse-vastaus <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/“ xmlns:xsd="http://www.w3.org/2001/XMLSchema“ xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instance"> <soapenv:Body> <echoTextResponse xmlns="urn:serapi:SOAPExample"> <echoedText>Palvelu vastaa: Jeejee</echoedText> </echoedTextResponse> </soapenv:Body> </soapenv:Envelope> Vastaus

Osa 5... WS-määritysten käyttö web-palveluissa

Esimerkki: Aikaleiman lisääminen <?xml version = '1.0' encoding = 'UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsu:Creation>2004-11-25T15:16:14+0200</wsu:Creation> </wsu:Timestamp> </soapenv:Header> <soapenv:Body> <echoTextResponse xmlns="urn:serapi:SOAPExample"> <echoedText>Palvelu vastaa:Jeejee</echoedText> </echoedTextResponse> </soapenv:Body> </soapenv:Envelope> Header-elementti Aikaleima (SOAP-vastauksen luontipäivämäärä)

WS-määritykset... käyttö SOAP-sanoman tietosisältö ei muutu Body-elementti säilyy (yleensä) muuttumattomana Body-osio voidaan salata WS-Encryptionilla Vastaanottaja ei välttämättä hyödynnä esim. aikaleimaa mutta se ei haittaa SOAP-sanoman ymmärtämistä

Linkkejä W3C:n standardit WS-I:n määritykset SOAP - http://www.w3.org/TR/soap/ WSDL - http://www.w3.org/TR/wsdl12 WS-I:n määritykset WS-I Basic Profile - http://www.ws-i.org/Profiles/BasicProfile-1.1.html WS-I Attachments Profile - http://www.ws-i.org/Profiles/AttachmentsProfile-1.0.html WS-I Basic Security Profile - http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html