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



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

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

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

HSMT J2EE & EJB & SOAP &...

W3C ja alueellinen standardointi

Tiedonsiirto- ja rajapintastandardit

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

Kurssijärjestelyt. CS-1180 Verkkojulkaisemisen perusteet (5 op) Hanna Hämäläinen Informaatioverkostot / Mediatekniikan laitos

HOJ J2EE & EJB & SOAP &...

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

Ohjelmistoarkkitehtuurit. Syksy 2008

W3C ja Web-teknologiat

W3C: teknologia ja (tieto)yhteiskunta

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

Paikkatiedot ja Web-standardit

Kurssijärjestelyt. ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mari Hirvi Informaatioverkostot / Mediatekniikan laitos

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

Luento 12: XML ja metatieto

OHJ-4301 Sulautettu Ohjelmointi

SOA & Ajax Sanahelinää vai toimivaa käytäntöä sähköisessä asioinnissa? Fenix hankejohtaja Harri Juuti Projektipäällikkö Teemu Karvonen

Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server. Infotilaisuus klo 10:00

P e d a c o d e ohjelmointikoulutus verkossa

W3C, Web-teknologiat ja XML

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

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

XML johdanto, uusimmat standardit ja kehitys

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Ohjelmistoarkkitehtuurit. Syksy 2010

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

Ohjelmistoarkkitehtuurit. Syksy 2007

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

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

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

W3C ja Web-teknologiat

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Tervetuloa opiskelemaan DIGITAALI- TEKNIIKKAA! Digitaalitekniikan matematiikka Luku 0 Sivu 1 (9)

atbusiness Tietoturvatorstai

J2EE vs..net Olli Sakari

Web-palveluiden alusta Axis2

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

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

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

Ohjelmistoarkkitehtuurit. Kevät

Hohde Consulting 2004

Ohjelmistojen mallintaminen, mallintaminen ja UML

Verkkopalveluiden saavutettavuus

Viimeinen rajoite (hypermedia as the engine of application state) tarkoittaa käytännössä sitä, että palvelimelta saadut vastaukset sisältävät URIt

Perinteiset asennuspaketit

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

Liiketoimintajärjestelmien integrointi

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

SOAPin nimen Object on harhaanjohtava, koska SOAPissa ei ole objektiviittauksia. Tähän ja muihin SOAPin puutteisiin palataan niin ikään myöhemmin.

Keskitetyn integraatiotoiminnon hyödyt

Taltioni teknisen alustan arviointi

Sakari Olli Tieturi OY. SOA - ajattelutapa vai teknologia

TIEY1 Opintojen ohjattu suunnittelu (2 op) eli LuK-vaiheen HOPS-ohjaus eli Opettajatuutorointi

IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus

Hajauta yhdistäen ja yhdistä hajauttaen: Web Services

Ajankohtaisia SOA tutkimusteemoja

Tietojärjestelmien integroiminen hyödyntämällä palvelupohjaista arkkitehtuuria. CASE: Metropolia. Jaakko Rannila & Tuomas Orama 1

Kansallinen palveluväylä

Päihittääkö J2EE.NETin SOAn pohjana?

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Korkeakoulujen yhteentoimivuusmalli

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

Myös opettajaksi aikova voi suorittaa LuK-tutkinnon, mutta sillä ei saa opettajan kelpoisuutta.

Tietojärjestelmän osat

TIE Ohjelmistojen suunnittelu. Luento 2: protot sun muut

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

SOA ja/tai tietoturva?

Valtionhallinnon arkkitehtuurin kehittäminen

JHS-järjestelmä ja avoimet teknologiat. Tommi Karttaavi

Integrointi. Ohjelmistotekniikka kevät 2003

Hieman lisää malleista ja niiden hyödyntämisestä

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Rajapintapalvelujen INSPIRE-yhteensopivuus

Attribuutti-kyselypalvelu

Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke

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

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

Kokonaisarkkitehtuuri sosiaali- ja terveydenhuollossa

SAMLINK VARMENNEPALVELU PALVELUKUVAUS OHJELMISTOTALOILLE

W3C ja Web-teknologiat

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

Opintosuunnitelma. Suunta: Tietoliikenneohjelmistot ja -sovellukset Pääaine: Tietoliikenneohjelmistot Sivuaine: Yritysturvallisuus

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet

XML - mahdollisuudet ja kehitys

JULKISTEN VERKKOPALVELUJEN LAATUKRITEERISTÖN KONSEPTI

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Semanttiset web-palvelut AS Syksy Eetu Mäkelä, Tuukka Ruotsalo

Transkriptio:

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

Yleistä Esitietovaatimukset OHJ-1400 Olio-ohjelmoinnin peruskurssi (pakollinen) OHJ-5010 Hajautettujen järjestelmien perusteet (suositus) OHJ-5100 Seittiohjelmointi (suositus) MATHM-47150 Rakenteiset dokumentit (mat, suositus) Muuta harjoitustöiden suorittaminen edellyttää Javaohjelmointikielen tuntemusta Kurssimateriaali koostuu kalvoista (engl.) sekä niihin liitetystä selittävästä lisämateriaalista (suom.) Vierailuluennoista Myös muuta dokumentaatiota (joka ei kuulu tentittävään materiaaliin) on tarjolla kurssin verkkosivuilla 2 Kurssilla käydään läpi kertausluonteisesti perusteet XML-kielestä ja kielioppimääritysten antamisesta XML Schema kielen avulla. Kertaus ei kuitenkaan ole riittävä XML-kielen perusteelliseksi oppimiseksi. Suositeltava tapa tutustua XML-standardiperheeseen on suorittaa matematiikan laitoksen järjestämä kurssi Rakenteiset dokumentit.

Kurssijärjestelyistä Tentti Harjoitustyöt Pakollisia, minimipistemäärä saavutettava Kaksi harjoitustyötä 1. Palveluiden ja eri tyyppisten asiakkaiden toteuttaminen 2. Palveluorkestraatioiden mallinnus ja toteutus Viikkoharjoitukset ja harjoitustyöassistenttien päivystysajat Työkaluympäristöjen asennus ja niiden käyttöön tutustuminen Harjoitustöihin liittyvät kysymykset Kysymykset on hyvä lähettää etukäteen sähköpostitse Anna.Ruokonen@tut.fi Mikko.Hartikainen@tut.fi 3 Kurssi on hyvin harjoitustyöpainotteinen. Kurssin harjoitustyöt ovat pakollisia. Ensimmäisen harjoitustyön pääpaino on Web-palvelutekniikoissa: palveluiden ja asiakassovellusten toteuttaminen (We-palveluiden ja ReST-palveluiden asiakkaat). Toisessa harjoitustyössä keskitytään palveluiden yhdistämiseen.

Sisältö 1) XML-pohjaisen tiedon prosessointi jäsentäminen, prosessointi Tutustuminen yleisimpiin jäsentäjäratkaisuihin, perusperiaatteet ja käyttötarkoitukset seuraavista: SAX DOM StAX XML-pohjainen tieto ja ohjelman tietorakenteet 2) XPath Käydään läpi lyhyesti, oleellisin osin 4 Kurssilla käydään läpi DOM- ja SAX-jäsentäjien käyttöä ja ominaisuuksia. Niiden käytöstä annetaan myös käytännön esimerkkejä. Nämä tiedot on hyödynnettävissä ensimmäisessä harjoitustyössä. Lisäksi tutustutaan StAXiin, joka pyrkii yhdistämään DOMin helppouden ja SAXin tehokkuuden. Joissain tapauksessa XML-pohjaisen tiedon hyödyntäminen ohjelmassa ei kuitenkaan ole aivan suoraviivaista. Näin on erityisesti silloin, kun XML-merkkauksen mukainen rakenne ja ohjelman tietorakenteet eivät vastaa toisiaan. Kurssilla käydään läpi myös XPath-kieleen, joka itsessään ei ole XML-pohjainen mutta sillä on runsaasti sovelluksia ja sitä käytetään osoittamaan XML-dokumentin eri rakenteisiin monissa muissa XML-pohjaisissa kielissä.

Sisältö 3) Web-palvelut ja palveluorientoituneet arkkitehtuurit Web-palveluiden idea ja visio SOA (Service-Oriented Architecture) Web-palveluiden arkkitehtuurista ja suunnittelusta palvelu- ja asiakasnäkökulmat suunnittelu- ja toteutusprosesseista legacy-järjestelmien paketointi legacy-järjestelmät miksi paketointi on välttämätöntä tai se kannattaa? edellytykset ja odotukset paketoinnille huomioitavia asioita paketoinnin toteuttamisessa 5 Web-palvelukonsepti ja siihen liittyvät teknologiat muodostavat kurssin ydinaihealueen. Webpalvelukonseptin käyttöönotto on lisääntynyt viime vuosia huomattavasti. Koska konseptiin liittyvät suunnittelua tukevat menetelmät ja siihen liitettävät teknologiat ovat vielä nuoria, liittyy Webpalveluiden todelliseen käyttöön myös useita ongelmia. Palveluiden ohjelmistoarkkitehtuuria ja suunnittelua tukevat menetelmät ja ohjeet ovat esimerkiksi vielä varsin kehittymättömiä tai ne ovat usein tiettyyn toteutustapaan sidottuja. Kurssilla esitellään muutamia yleisiä ydinasioita, jotka palveluiden suunnittelussa tulee ottaa huomioon. Kurssilla esitellään toisen ja kolmannen harjoitustyön toteuttamisessa käytettäviä työkaluja ja annetaan esimerkkejä niiden käytöstä. Työkalut esitellään viikkoharjoituksissa, joissa käydään läpi myös niiden asentaminen. Web-palvelu itsessään saattaa hyvin usein olla olemassa oleva ohjelmisto, joka halutaan ottaa käyttöön tai joka halutaan integroida laajempaan kokonaisuuteen. Tällöin ko. ohjelmalle tulee tehdä Webpalvelurajapinta paketoimalla se sopivasti. Legacy-järjestelmän uudelleenkäyttö saattaa olla vaihtoehto uuden järjestelmän toteuttamiselle, jonka tulee korvata ko. vanha järjestelmä. Tällöin tulee kuitenkin arvioida esimerkiksi paketoimisen antamat hyödyt ja haitat, uuden järjestelmän rakentamiseen liittyvä työ, legacy-järjestelmän luotettavuus, odotukset legacy-järjestelmän käyttöarvosta tulevaisuudessa jne.

Sisältö 4) Web-palvelut ja palveluorientoituneet arkkitehtuurit (jatkuu) SOAP käyttötarkoitus ja ominaisuuksia soveltuvuus ja haitat WSDL käyttötarkoitus ja ominaisuuksia tietosisältö rekisterit yleiset vaatimukset ja ominaisuudet tiedon kategorisointi 6 Web-palvelukonseptin toteuttamiseksi on käytössä kieliä, jotka ovat saavuttaneet käytännön standardin aseman. Esimerkiksi sovellusten välinen kommunikointi tapahtuu yleisimmin SOAP-kielen avulla. WSDL on taas yleisimmin käytetty kieli palveluiden etsimiseksi ja kuvaamiseksi. Kurssilla esitellään nämä kielet ja niiden syntaksit. Web-palvelukonseptin kannalta oleellisia ovat myös rekisterit. Kurssilla käydään läpi yleisiä palvelurekistereiden ominaisuuksia ja vaatimuksia.

Sisältö 5) Web-palvelut ja palveluorientoituneet arkkitehtuurit (jatkuu) SOAP+WSDL+UDDI yhteensovitus konseptin tämän hetken ongelmat Palveluiden orkestrointi BPEL ja BPMN WS-I yhteisö yhteisön merkitys, idea ja tavoitteet ReST ja WADL: miten ne poikkeavat SOAP+WSDL -lähestymistavasta? 7 Web-palvelusysteemien toteuttamisessa ei itse palveluiden ja asiakassovellusten toteuttaminen aina riitä. Usein on oleellista tukea monimutkaisempia transaktioita eli karkeasti ottaen eri palveluiden ja palvelukutsujen ketjutusta. Pääpaino Web-palvelututkimuksessa ja ko. teknikoiden kehittämisessä onkin siirtymässä tuohon suuntaan, josta käytetään myös termiä programming-in-large. Tämä termi viittaa siihen, että itse palvelut oletetaan ja niiden ajatellaan olevan tietyssä mielessä peruspalikoita, joita hyödyntäen ja joita koostamalla itse järjestelmiä kasataan. Palveluiden koostamiseen ei kurssin harjoitustöissä kuitenkaan tutustuta. Osittain käytettävien teknologioiden jatkuvan kehityksen ja niiden sallivien vaihtoehtoisten käyttötapojen vuoksi on Web-palveluiden käytössä käytännössä usein törmätty esimerkiksi yhteensopivuusongelmiin. WS-I (Web Service Interoprability) on yhteisö, joka mm. pyrkii määrittelemään oheistusta, suosituksia ja tarkennuksia esimerkiksi SOAP ja WSDL kielten käyttöön. WS-I yhteisö on saavuttanut nopeasti laajasti tukea. Esimerkiksi useimmat Web-palvelutyökalujen tuottajat ovat mukana WS-I yhteisössä ja/tai ottavat työkaluissaan WS-I:n suositukset huomioon. Kurssilla tutustutaan myös ReST-palveluihin sekä ReST- ja toisaalta SOAP+WSDL lähestymistapojen eroihin.

Sisältö 6) turvallisuus XML-pohjaisessa viestinvälityksessä viestinvälityksen turvallisuusominaisuudet luottamuksellisuus, koskemattomuus, autentikointi, kiistämättömyys käyttöoikeudet turvallisuusomaisuudet eri tasoilla 1. taso (kuljetusprotokollat ja mekanismit), esim. SSL 2. taso (Web-palvelujen kielet jne.), esim. WS-Security, sis. esim. kielet XML Encryption ja XML Signature XML Encryption ja XML Signature kielten perusperiaate kaikkia teknisiä detaljeja ei spesifikaatioista käydä läpi 8 Liiketoiminnan kannalta kriittisissä kommunikointiskenaarioissa XML:n kaltaisen merkkipohjaisen kielen käyttö sellaisenaan sisältää turvallisuusriskejä. Digitaalisia allekirjoituksia ja kryptausmenetelmiä voidaankin käyttää turvallisen viestinvälityksen toteuttamiseksi. Webpalvelukonseptissa turvallisuus voidaan huomioida eri tasoilla: Internet-pohjainen HTTP-yhteys voidaan esimerkiksi turvata SSL:n avulla ja toisaalta SOAP-viesteihin voidaan liittää digitaalisia allekirjoituksia ja kryptattuja osioita. Kurssilla käydään läpi perusvaatimuksia ja ominaisuuksia, jotka tulee huomioida turvallisessa viestinvälityksessä. Lisäksi tutustutaan lyhyesti WS Security suositukseen, joka puolestaan käyttää esim. XML Encryption ja XML Signature -kieliä.

Informaatiota kurssista http://www.cs.tut.fi/kurssit/ohj-5201/ Luennot ja luentomateriaali harjoitustyöt suositeltavaa oheismateriaalia kirjoja ja verkkosivustoja webser@tut.fi uutisryhmä: tut.ot.webser 9

Harjoitustyöt Harjoitustöiden määrittely Anna Ruokonen ja Mikko Hartikainen Harjoitustyöassistentit Anna Ruokonen (1. harjoitustyö), TE116 kysymykset mieluiten etukäteen sähköpostitse: Anna.Ruokonen@tut.fi Mikko Hartikainen (2. harjoitustyö), TE117) kysymykset mieluiten etukäteen sähköpostitse: Mikko.Hartikainen@tut.fi 10

Informaatiota kurssin aihepiiristä http://www.cs.tut.fi/kurssit/ohj-5201/ kurssikirjallisuus W3C Suomen toimisto: www.w3c.tut.fi Toiminta Esitelmäarkisto, Raporttiarkisto, W3C-suositukset, Koulutus W3C: www.w3.org standardit, Web-palvelut, muut XML-pohjaiset kielet OASIS: www.oasis-open.org SOA, Web-palvelut, turvallinen viestinvälitys, XML:n prosessointi OMG: www.omg.org SOA, palveluiden koordinointi, mallinnus Web-palvelukonseptia tukevat työkalut ja menetelmät IBM, Sun, Microsoft, Oracle jne. 11