Hajauta yhdistäen ja yhdistä hajauttaen: Web Services



Samankaltaiset tiedostot
Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

HSMT J2EE & EJB & SOAP &...

HOJ J2EE & EJB & SOAP &...

Semanttisen Webin mahdollisuudet yrityksille

Luento 8: XML-tuki ohjelmointikielissä & Web-palvelut

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

J2EE vs..net Olli Sakari

Visma Nova Webservice Versio 1.1 /

Tiedonsiirto- ja rajapintastandardit

Alueelliset tietovarastot ja niiden käyttö. Terveydenhuollon ATK-päivät Janne Saarela

arvostelija OSDA ja UDDI palveluhakemistoina.

The OWL-S are not what they seem

Integraatiotekniikan valinta - tie onnistumiseen.

Järjestelmäarkkitehtuuri (TK081702)

Liiketoimintajärjestelmien integrointi

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Muutokset suoran sanoma-asioinnin webservicepalvelun

Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta

Integraatioratkaisu joukkoviestintäverkkojen esittämiseen paikkatietojärjestelmässä

Pilottipalvelun esittely johtopäätökset

Sovellusarkkitehtuurit

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

SOA/.NET oppitunti siitä, miten johtoasema säilytetään

FuturaPlan. Järjestelmävaatimukset

Web-palvelukonsepti tarjoaa yhden tavan toteuttaa SOA. Tämä tapa perustuu Web-palvelustandardien käyttöön: palvelut kuvataan WSDL-kielen avulla ja

Pilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit

Semantic Web käytännön sovelluksissa. TkT Janne Saarela Profium Oy

Visma Software Oy

Liiketoimintajärjestelmien integrointi

Integrointi. Ohjelmistotekniikka kevät 2003

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä ! Java luokkia n. 5000

Tikon Ostolaskujenkäsittely versio SP1

in condition monitoring

Attribuutti-kyselypalvelu

X-Road ja WFS-rajapinnat, uudet APIt. Pekka Latvala , KaPA ja paikkatietoinfrastruktuurin kärkiteeman työpaja

Tavoitteena yhdistää eri tavoin toteutetut ja eri tavoin toimivat järjestelmät; integration & interoperability.

SOA SIG SOA Tuotetoimittajan näkökulma

Web-palveluiden alusta Axis2

Tuotantokoneen langaton etädiagnostiikka

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Työryhmän selvitys hallituksen. Kuntien ja valtion tietohallinnon menettelytavat-työryhmä. Capgemini Finland Oy

Rajapinnat kuntajärjestelmissä #Kuntamarkkinat


Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Laitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite

XML Finland seminaari : Office 2007 XML dokumenttituotannossa

Kansallisen terveysarkiston liityntäpisteen suunnittelu

Tietojärjestelmien yhteensovittaminen turvallisesti älykkäisiin koneisiin

IBM IT Education Services - DB2 YTR - sertifioinnit

Toimintaympäristön kuvaus. LTC-Otso Myyjän työkalu (POC)

Wopti ja Tuutti - hajautetun sisällönhallinnan kehittäminen

Haka-käyttäjien kokoontuminen Arto Tuomi CSC Tieteen tietotekniikan keskus

Web Service torilla tavataan!

OHJ-5201 Web-palveluiden toteutustekniikat. Kurssisisällöstä. Tarja Systä

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

REST an idealistic model or a realistic solution?

Terveydenhuollon Atk-päivät 2009

XML johdanto, uusimmat standardit ja kehitys

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet

Kaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland

KAOS 2015: Integraatioiden standardointi suunnittelumallien avulla. Ilkka Pirttimaa, Chief ICT Architect, Stockmann ICT

Hintatiedotus ja tietojen välitys. Loppuraportti

Web Services tietokantaohjelmoinnin perusteet

Profium. Smart Information Router (SIR) Janne Saarela Profium Oy. Profium perustettu Pioneeri sisällönhallinnan ratkaisujen kehityksessä

OSI ja Protokollapino

atbusiness Tietoturvatorstai

KADA (Drupal 7) migraatio uuteen (versioon) webiin

W3C ja alueellinen standardointi

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

KODAK EIM & RIM VIParchive Ratkaisut

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

W3C, Web-teknologiat ja XML

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Tekstinkäsittelystä. H4: Tekstinkäsittelyn perusharjoitus. Toimisto ohjelmista

W3C-teknologiat ja yhteensopivuus

Investointien turvaaminen, yhteensopivuuden ja jatkuvuuden varmistamisen kautta

Interfacing Product Data Management System

Paikkatiedot palveluväylässä kehityksen tilanne Väylän varrelta - Kansallisen palveluväylän kehitystilanne -seminaari

Omat Lähdöt ohjelmointirajapinta: Versio 1.01

Sakari Olli Tieturi OY. SOA - ajattelutapa vai teknologia

Tietojen toimittaminen Skeemat Viestit Kansallisen tulorekisterin perustamishanke

Tietojärjestelmäarkkitehtuurit

Visual Basic -sovelluskehitin Juha Vitikka

Paikkatiedot palveluväylässä -hankkeen tilannekatsaus Lassi Lehto

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus

- Jarjestelmaasiantuntija Markku Jaatinen

Tietojen toimittaminen Skeemat Käsittelypalautteen kysely Kansallisen tulorekisterin perustamishanke

Neoxen Systems on suomalainen ohjelmistotalo. Olemme erikoistuneet tiedon- ja oppimisen hallinnan ratkaisuihin.

Ajankohtaista Ilmoitin.fi:stä

Samanaikaisuuden hallinta. tietokantapalvelimessa. Tiedonhallintaa. Alkuper. versio: Jaakko Rantanen Pieniä korjauksia: Jouni Huotari 26.2.

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Ajankohtaista Tullista Päivi Maunuksela-Malinen, Tulli Sanoma-asioinnin tuki/eteläinen tullipiiri

A Service-Oriented Architecture (SOA) View of IHE Profiles

Transkriptio:

Hajauta yhdistäen ja yhdistä hajauttaen: Web Services Janne Saarela janne.saarela@profium.com 17.12.2002 Tampereen oliopäivät Esityksen sisältö Arvolupaus Johdanto teknologioihin Yhteensopivuuden taso tänä päivänä Katsaus ohjelmistotoimittajien tarjoamaan tukeen

Web Services: määrittely Liiketoimintapohjainen määrittely: yrityksen ydinosaamisen julkaiseminen verkkoon Tekninen määrittely heterogeenisten tietojenkäsittely-ympäristöjen integrointiteknologia Vielä teknisempi määrittely XML-muotoisten viestirakenteiden siirto esim. HTTPprotokollan avulla Web Services: arvolupaus Olemassa olevien tietojärjestelmien elinkaaren pidentäminen Web Services kuorrutus tarjoaa avoimiin standardeihin perustuvan kerroksen toiminnallisuuksien aktivointiin -> ROI-laskelmien takaisinmaksuvuodet kasvavat Palvelupohjainen arkkitehtuuri sovelluksien tarjoamat toiminnallisuudet rakennetaan useita prosesseja varten -> reagointinopeus uusiin tarpeisiin paranee

UDDI Johdanto Web Services teknologioihin WSDL SOAP SOAP Simple Object Access Protocol (SOAP) esitelty alun perin vuonna 1998. V1.0: DevelopMentor ja Microsoft edistivät IETF:n kautta RFCmuotoisina V1.1: DevelopMentor, Microsoft, Lotus, Userland ja IBM lähetetty Web-konsortiolle (W3C) ja siitä on tullut nk. NOTE-määrittely NOTE = määrittely, joka ei ole standardi ja jota konsortio ei aktiivisesti promotoi Web-konsortio on vuoden 2000 lopussa perustanut oman työryhmän, joka tekisi SOAP:ista avoimen teknologian XML Protocol Working Group (XMLP) tavoitteena SOAP V1.2 http://www.w3.org/tr/soap12-part1 http://www.w3.org/tr/soap12-part2

SOAP SOAP on XML-viestirakenteinen sovellusten väliseen kommunikointiin kehitetty protokolla SOAP-viestejä voi kuljettaa eri protokollilla HTTP yleisin toteutustapa tällä hetkellä SOAP:in Envelope-rakenne sallii sovellusten päättää mitä tietoa viesteissä kuljetetaan. Ei-XML muotoinen sisältö hallitaan SOAP with Attachments lisämäärittelyn avulla http://www.w3.org/tr/soap-attachments Esimerkki Sovellus voi tehdä esim. nosto-operaation taustajärjestelmässä DB1 käyttämällä HTTPprotokollaa SOAP/HTTP DB1

Oikeamman elämän esimerkki Esimerkki: tilisiirto kahden pankin Web Services järjestelmän välillä kaksi tietokantaa ja kaksi sovelluspalvelinta esim. J2EE/Oracle ja.net/sql Server Tilisiirtopalvelun tulisi kyetä tekemään nosto toisesta tietokannasta ja tekemään pano toiseen tietokantaan. SOAP (nosto) DB1 Internet SOAP (pano) DB2 SOAP ja transaktiot SOAP ei tällä hetkellä tarjoa tukea transaktiolle Haasteet tällä hetkellä atomisuus ja isolaatio miten DB1 tietää että sinne tehty nosto-operaatio oli transaktioon sidottu? mistä DB1 tietää milloin sinne tehty nosto-operaatio saa näkyä muille sovelluksille? ja sama DB2:lle...

Transaktiomalli käytännössä 1. tilisiirto 8. ack 2. begin transaction 3. tee nosto 6. commit phase 1 7. commit phase 2 4. begin transaction 5. tee pano 6. commit phase 1 begin commit1 commit2 rollback rollback DB1 begin commit1 commit2 rollback rollback DB2 7. commit phase 2 WSDL Web Service Description Language (WSDL) määrittelyn takana ovat Microsoft ja IBM Määrittelyn versiot 1.0 ja 1.1 on lähetetty Web-konsortiolle (W3C) ja niistä on tullut nk. NOTE-määrittelyjä määrittelyjä, jotka eivät ole standardeja ja joita konsortio ei aktiivisesti promotoi Web-konsortio on vuoden 2002 alussa perustanut oman työryhmän, joka tekee WSDL-kielestä avoimen standardin. Web Services Description Working Group Tavoiteaikataulu lopulliselle määrittelylle: toukokuu 2003 http://www.w3.org/tr/wsdl

WSDL (jatkuu) WSDL-dokumentti on XML-pohjainen sisältää sekä abstraktin että vähemmän abstraktin tason määrittelyjä: protokolla- ja suoritusympäristöriippumattomia: tietotyypit viestit portit protokolla- ja suoritusympäristöriippuvia: sidonnat porteista protokolliin sidontojen yhdistäminen URIosoitettuihin palveluihin WSDL-esimerkki suomalainen postinumero Client XML XML liukuluku välillä [-60,60] Oheinen esimerkki kuvaa RPC-muotoisen Web Services palvelun, jonka voi esittää WSDLmuodossa Lämpötilapalvelu

WSDL käsitteellisesti Composite XML HTTP WSDL Client Server UDDI Universal Description, Discovery, and Integration (UDDI) määrittelyn takana olivat alunperin Microsoft, IBM ja Ariba UDDI 1.0 syyskuu 2000 UDDI 2.0 kesäkuu 2001 UDDI 3.0 heinäkuu 2002 UDDI-työ on siirretty OASIS-organisaation alle jatkotyötä/standardointia varten

UDDI: toimintaperiaate 1. Uusi yritys rekisteröi palvelunsa johonkin julkiseen UDDIpalvelimeen 2. Julkiset palvelimet replikoivat palvelukuvauksia päivittäin toistensa välillä 3. Palveluja voi hakea mistä tahansa palvelimesta 2 Julkinen Internet 3 1 Private UDDI: toimintaperiaate 1. Yrityksellä on palomuurin takana yksi UDDIpalvelin, johon taustajärjestelmien palvelut rekisteröidään. 2. Tästä palvelimesta voidaan hakea keskitetysti yrityksen ITjärjestelmissä sijaitsevia palveluja. 1 2

UDDI (jatkuu) Palvelujen luokittelu jaettu karkeasti kolmeen: white pages tietoa yrityksestä/palveluntarjoajasta: nimi, yhteystiedot, kuvaus, tunnistin (DUNS, pörssin kaupankäyntikoodi,...) yellow pages toimialaluokittelu: NAICS (US), UN/SPSC (ECMA) geograafinen luokittelu: ISO 3166 green pages palvelun tekniset tiedot: miten palvelut ryhmitellään ja missä ne sijaitsevat Yhteensopivuuden taso tänä päivänä

SOAP-ongelmia kolmella tasolla 1. Kuljetustaso SOAPAction attribuutin käytössä eroavaisuuksia arvo on asetettu tai arvo on asetettu tyhjäksi merkkijonoksi tai koko attribuutti puuttuu Jotkut SOAP-palvelinpään ohjelmistot käynnistävät toiminnallisuuksia tämän attribuutin mukaan ja jotkut eivät Esim. SOAPAction: gettemperature SOAP-ongelmia kolmella tasolla 2. XML-taso Unicode-standardin käyttö XML:n yhteydessä on harvinaisen hyvin kuvattu UTF-8 ja UTF-16 ovat minimivaatimuksia XMLprosessoreille Nk. Byte-Order-Mark (BOM) on pakollinen UTF-16 koodatuissa XML-dokumenteissa siis big vs. little indian koodaus SOAP-toteutuksissa jotkut toteutukset käyttävät BOM:ia myös UTF-8:n yhteydessä ja jotkut eivät

SOAP-ongelmia kolmella tasolla 3. SOAP-taso jotkin SOAP-prosessorit eivät ymmärrä WSDL-kuvauksia, tarvitsevat tyyppi-informaation SOAP-viestissä kulkevien rakenteiden sitomiseksi natiivitietotyypeiksi. toiset taas ymmärtävät eivätkä eksplisiittisesti esitä tietotyyppejä viestirakenteissa. tyyppi-informaation voi indikoida xsi:type attribuutilla SOAP-viestissä <SOAP:Envelope xmlns:soap="soap-uri"> <SOAP:Body SOAP:encodingStyle="soap-enc-uri"> <my:gettemperature xmlns:my="uri"> <postalcode>02600</postalcode> </my:gettemperature> </SOAP:Body> <SOAP:Envelope> Ohjelmistotoimittajien tarjoaman tuen taso

SOAP-ohjelmistotuen tilanne markkinoilla Tuki SOAP V1.1:lle on todella laaja. Puhutaan ehkä n. 50-100 toteutuksesta, joista suuri osa kaupallisia toteutuksia eikä vain akateemisia proof-ofconcepteja. Nähtäväksi jää kuinka paljon W3C muuttaa SOAP V1.1:tä SOAP V1.2:ssa V1.2:sta on 5 jonkin tasoista referenssitoteutusta WSDL-ohjelmistotuen tilanne markkinoilla Kehitysympäristöjä: Altova: XML Spy 4.4, 5.0 BEA: WebLogic Workshop 7.0 Borland: JBuilder + Web Services Kit Cape Clear: CapeStudio ja CapeConnect 3 IBM: WebSphere SDK for Web Services, WebSphere Studio Application Developer Microsoft: Visual Studio.NET Sun: ONE Studio 7

UDDI-ohjelmistotuen tilanne markkinoilla Kehitystyökaluja CapeConnect, GLUE, juddi, Systinet WASP, IONA Palvelimia Fujitsu, IBM, Microsoft, Sun http://www.uddi.org/solutions.html Yhteenveto Arvolupaus Johdanto teknologioihin Yhteensopivuuden taso tänä päivänä Katsaus ohjelmistotoimittajien tarjoamaan tukeen

Yhteystiedot Janne Saarela Profium Oy Lars Sonckin kaari 12 02600 Espoo Tel. +358 (0)9 855 98 000 Fax. +358 (0)9 855 98 002 Email. janne.saarela@profium.com Internet. www.profium.com