Liite 1: OpenESB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. OpenESB. Sivu 1

Samankaltaiset tiedostot
Liite 1: ServiceMix skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma

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

Palveluiden kehittäminen vaikeutuu merkittävästi. Yhden palvelun päivitys voi tuoda mukanaan huomattavan määrän piilokustannuksia.

Kohti palvelukeskeistä arkkitehtuuria. RAPORTTI versio 1.1.

Kohti palvelukeskeistä arkkitehtuuria RAPORTTI

Valppaan asennus- ja käyttöohje

Uutta Remote Support Platform 3.1 -versiossa

Peppi - Koulutuksen suunnittelijan ja opettajan palvelut. Tekninen vaatimusmäärittely

Suomi.fi-palveluväylä. Palvelulupaus ja tiekartta

Järjestelmäintegraatio

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

Perinteiset asennuspaketit

Suomi.fi-palveluväylä. Palvelulupaus ja tiekartta

Project-TOP QUALITY GATE

Suomi.fi-palveluväylä. Palvelulupaus ja tiekartta

Juhani Gurney Teknologiajohtaja. Peppi-projekti ja ESP (Eduix SOA Platform)

SmartShip Connect Lite lisäosa WooCommerce alustalle (c) Webbisivut.org

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

Convergence of messaging

Visma Software Oy

Selvitysraportti. MySQL serverin asennus Windows ympäristöön

VERKON ASETUKSET SEKÄ WINDOWSIN PÄIVITTÄMINEN

Opetushallitus. ServiceMix POC

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

Kooste kotitehtävien vastauksista. Kotitehtävä 6 - Ylläpito- ja kehittämismalli

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Kansallinen palveluarkkitehtuuri TUNNISTUSPALVELU INFO

The administrative process of a cluster. Santtu Rantanen Valvoja: Prof. Jorma Jormakka

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

UCOT-Sovellusprojekti. Asennusohje

Ylläpitodokumentti Mooan

Pilviratkaisut ovat entistä suositumpia. Mutta mikä on oikea ratkaisu sinun maailmassasi? Lähde matkalle läpi avaruuden, ajaan ja maalaisjärjen

Uutta Remote Support Platform 3.0 -versiossa

JulkICTLab projektien tilannekatsaukset 06/2015

Visma Nova Webservice Versio 1.1 /

Ylläpito. Ylläpidon lajeja

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

JulkICT Arkkitehtuuripankki - QPR EnterpriseArchitect asennusohje

Järjestelmäraportti. X-Road.eu versio 5.x. Tiedoston nimi Järjestelmäraportti X-RoadEU.docx Tekijä. Mikael Puusa Hyväksyjä. Tuula Kanerva Tila

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kansallisen palveluväylän viitearkkitehtuuri JUHTA Hankejohtaja Pauli Kartano Valtiovarainministeriö

SmartShip lisäosa WooCommerce alustalle (c) Webbisivut.org

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Joki ICT Oy:n julkaisujärjestelmään Palveluväyläintegraation toteuttaminen

Federoitu keskitetty sovellus

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä

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

Paytrail lisäosa WooCommerce alustalle (c) Webbisivut.org

Metropolian tietojärjestelmäarkkitehtuuri. Nykytilan selvitys & esitys tulevaisuuden arkkitehtuurista

S11-09 Control System for an. Autonomous Household Robot Platform

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen

Kansallinen palveluväylä - yleiskuva ja tilanne nyt , Jyväskylä Pauli Kartano Valtiovarainministeriö, JulkICT

Tiedonsiirto- ja rajapintastandardit

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS TYÖASEMALLE

FuturaPlan. Järjestelmävaatimukset

OpenSUSE Build Service

TETRA-laajakaistatoistin Kuvaus ja vaatimukset

Facta Kuntarekisteri. Facta asennus testiin ja tuotantoon. Helsingin kaupunki

Finnaa arkistoille. Aki Lassila Arkistot

Suomi.fi-palveluväylä

Kansallisen palveluväylän pilotoinnin tukeminen. JulkICTLab-projektihakemus

Linuxissa uusi elämä 1

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

Viestit-palvelun viranomaisliittymän ohjelmointiohje. Java-esimerkki

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Muistitko soittaa asiakkaallesi?

Visma Avendon asennusohje

Potilastiedon arkiston tilannekatsaus

Rajapinnat kuntajärjestelmissä #Kuntamarkkinat

1 YLEISKUVAUS Kaapelikaistaliittymä Palvelun rajoitukset PALVELUKOMPONENTIT Päätelaite Nopeus...

Muutokset suoran sanoma-asioinnin webservicepalvelun

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

TOIMIJAREKISTERIN TOTEUTUKSEN JA YLLÄPIDON HANKINTA - HANKINNAN YKSI- LÖINTI HUOM!

Tekninen suunnitelma - StatbeatMOBILE

Mitä muutoksia pilvipalvelut tulevat aikaansaamaan tietoteknisten ratkaisujen hankinta- ja toimitusmalleissa? Miten pilvipalvelut muokkaavat

Pedacode Pikaopas. Web Service asiakasohjelman luominen

13/20: Kierrätys kannattaa koodaamisessakin

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

Maanmittauslaitoksen nimistö Spatialite-tietokantana. - kuvitettu ohje Quantum GIS ohjelmaa varten

Kansallinen palveluväylä

Comet pysäköintimittarin asennus ja kytkeminen tietokoneeseesi (Windows XP) USB-kaapelilla.

Facta Kuntarekisteri. Facta 4.2 asennus testiin ja tuotantoon. Helsingin kaupunki

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

1 YLEISKUVAUS Valokaistaliittymä Palvelun rajoitukset PALVELUKOMPONENTIT Päätelaite Nopeus...

Ohjelmiston testaus ja laatu. Testaustasot

XDW-projektissa rakennetut palvelut

Facta Kuntarekisteri. Facta 4.0 asennus testiin ja tuotantoon. Helsingin kaupunki

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Oodin versiot, havaittujen virheiden korjaus sekä kehitysehdotusten eteneminen

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

FyKe-Mopin opettajanohje

UNA PoC-yhteenveto CGI Aino Virtanen

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

UML:n yleiskatsaus. UML:n osat:

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Transkriptio:

Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu PoC tulos Palvelun uusi versio on voitava Palveluiden kehittäminen vaikeutuu asentaa tuotantoon vanhan tilalle merkittävästi. Yhden palvelun päivitys siten, että vanhaa rajapintaa vasten voi tuoda mukanaan huomattavan tehdyt 8 integraatiota säilyvät määrän piilokustannuksia. ehjinä asennuksen jälkeen ilman muutoksia integraatioihin ja mahdollinen päivityskatko on mahdollisimman lyhyt. Yksittäinen palvelu on ollut käytössä 6 vuotta ilman että palvelua on jouduttu kertaakaan muuttamaan. Palvelu tarjoaa rajapinnan ja tätä vasten on tehty 8 kriittistä integraatiota, joiden tulee olla jatkuvasti toiminnassa. Palveluun on tarkoitus tehdä uusia ominaisuuksia sekä laajentaa ja muuttaa palvelun ulkoista rajapintaa. Liiketoiminta muuttuu ja tätä varten tarvitaan uusi palvelu tukemaan uutta tarvetta. Palvelulle löytyy valmis komponentti, mutta se on toteutettu eri tekniikalla/eri kielellä kuin muut alustaan liittyvät palvelut Palvelu on voitava liittää palvelualustaan vaikka palvelun toteuttava komponentti on tehty eri tekniikalla kuin millä olemassaolevat komponentit on tehty. Yksittäisen palvelun rajapintaa ja palvelun olinpaikkaa on mahdollista muuttaa ilman että siitä koituu ongelmia siihen liitetyille integraatioille. Todettu tekemällä abstrakteja palvelukuvauksia, joihin muut palvelut voivat liittyä. Palvelun toteutus voidaan piilottaa täysin muilta palveluilta. Palvelua varten täytyy kehittää uusi ESB-tuotteeseen on saatavilla useita komponentti vaikka tarjolla olisi valmis komponentteja(binding component), joilla voidaan koeteltu komponentti. Pahimmassa kytkeytyä erilaisiin rajapintoihin/protokolliin. tapauksessa komponentit voidaan ostaa Testattu mm. tiedosto, tcp/ip, http, soap, jdbc, ejb - vain tietyltä toimittajalta. komponentteja. Komponentin käyttöönotto vaatii integraatiossa hyvän dokumentaation/tuen työkaluille, koska sisältävät spesifejä konfigurointeja. JBI-komponentit ovat teoriassa liitettävissä toiseen JBI-standardia tukevaan tuotteeseen, mutta käytännössä kirjastoristiriidat estävät komponentin siirtämisen tai siirtämiseen liittyy riski rikkoa alustan toiminnallisuus. Sivu 1

Järjestelmään ollaan tekemässä uutta palvelua, joka toteutetaan koostamalla olemassaolevia palveluita. Palvelun toiminta tulee testata kunnolla muita palveluita vasten ennen sen tuotantoon asennusta. Järjestelmästa voidaan luoda testiympäristö sekä olemassaolevia palveluita vastaavat testipalvelut. Testien aikana tietovirtaa palveluiden välillä voidaan tarkastella. Palvelun kehittäjä on Palvelualusta voidaan listata tekemässä uutta siiheen liitetyt palvelut ja niiden hakupalvelua, mutta ei tiedä toimintaperiaatteet. että sellainen on jo olemassa. Tuotantoon asennetaan virheellisesti toimivia komponentteja Tehdään päällekäisiä palveluita, jolloin ylläpidon määrä ja kustannukset kasvavat. Alustan palveluita on helppo korvata testaukseen tarkoitetuilla "stub"-palveluilla. Bpel-moduulissa on mukana lokitusominaisuus, jolla on mahdollista tehdä palvelimen lokiin tulostuksia muunnettavista sanomista. PoC-projektin aikana toteutettiin myös oma loki-palvelu, jolla voidaan tehdä keskitettyä lokitusta tietokantaan. Tietovirtaa on mahdollista seurata erillisillä tuotteilla, mutta PoC projektin aikana näitä ei ehditty tarpeeksi testaamaan. Palvelimen hallintaliittymästä näkee kaikki asennetut komponentit sekä niiden palvelukuvaukset. Palvelun kehittäjä tekee uutta palvelua ja huomaa että palvelussa voitaisiin hyödyntää olemassaolevia palveluita. Olemassaolevat palvelut eivät kuitenkaan tarjoa ulkoista rajapintaa. Palvelualustan kehitys ja tuki loppuu. Palvelualustaan on liittetty lukuisa määrä palveluita ja integraatioita. Palvelualustaan on voitava tehdä palveluita siten, että muut palvelut voivat hyödyntää helposti palvelun tarjoamia rajapintoja. Vanhojen järjestelmien on pystyttävä kommunikoimaan palvelualustan kanssa tietokantayhteyden tai siirtotiedoston avulla. Palvelualusta voidaan vaihtaa toiseen tuotteeseen kohtuullisella vaivalla ja ilman että palveluita joudutaan tekemään uudelleen. Tehdään päällekäisiä palveluita, jolloin ylläpidon määrä ja kustannukset kasvavat. Uusi palvelualusta ja integraatiot joudutaan toteuttamaan alusta alkaen, jolloin kustannukset ovat erittäin suuret. Liittymäkomponenttien(Binding component) avulla on mahdollista julkaista palvelurajapinta tukeutuen siirtotiedostoihin tai tietokantatauluihin. Teoriassa onnistuu JBI-standardin avulla. Käytännössä nykyisillä tuotteilla tämä ei ole mahdollista tai siirtämiseen liittyy suuri riski. Ongelma liittyy kirjastoristiriitoihin. Seuraavan sukupolven tuotteissa tähän on tulossa parannus OSGI-teknologian myötä. Sivu 2

Palvelun kehittäjä on tekemässä integraatiota, joka johon liittyy 5 palvelua. Palveluiden rajapinnat eivät tue transaktioita. Palvelun kehittäjän tulee olla varma että häiriön sattuessa integraatio ei jää virheelliseen tilaan eikä tieto pääse vääristymään. Palvelualusta ei toimi odotetulla tavalla. Palvelualustaan on voitava tehdä transaktionaalisia palveluita ja palvelualustan on tuettava hajautettuja transaktioita. Palvelualustaan liittyvän dokumentaation taso tulee olla hyvä sekä mahdollinen tuki helposti saatavilla. Palvelualustan toiminta voidaan tarkastaa alustan lähdekoodista ja tarvittaessa voidaan suorittaa pikakorjaus itse palvelualustan lähdekoodiin. Monimutkaisia integraatioita ei voida tehdä tai ylläpito vaikeutuu merkittävästi. Integraation testaaminen on vaikeaa ja vauriolähtökohta kasvaa. Palvelut joudutaan tekemään toisin kuin on suunniteltu. Palvelua ei voida toteuttaa. Pahimmassa tapauksessa koko palvelualusta joudutaan vaihtamaan. Kokeiltu transaktionaalisuutta :ssä olevan bpel-komponentin avulla. Transaktiot suhteellisen uusi ominaisuus bpel-moottoreissa. Saatu transaktiot kuitenkin toimimaan, mutta tuotantokäyttöä ajatellen liikaa ongelmia. Palveluita suunniteltaessa huomioitava integraatioprosessit vs. liiketoimintaprosessit. Transaktiot soveltuvat lyhytkestoisiin integraatioprosesseihin ja prosessiin liittyvien rajapintojen täytyy myös tukea transaktioita. JOS palveluiden rajapinnat eivät tue transaktioita ei transaktionaalisuutta voi saavuttaa(korkeintaan kompensaatiota voidaan tehdä) Dokumentaatio puutteellinen. Integraatioissa ilmeneviä ongelmia voidaan jäljittää konfigurointitiedostosta ja lähdekoodista. Ongelman syyt ovat pääteltävissä ja usein korjattavissa. Versiossa 2.2 ilmennyt huomattavan paljon ongelmia netbeans-työkalussa. NetBeans-työkalun kehitys tulee myös loppumaan näillä näkymin SOAn osalta. On tehty uusi palvelu, joka on tarkoitus asentaa tuotantoon. Komponenttien kehittämiseen tarkoitettu kehitystyökalu toimii huonosti. Uuden palvelun asennus ei saa aiheuttaa käyttökatkoja muissa alustaan liitetyissä palveluissa. Komponentti voidaan kehittää/toteuttaa usealla eri kehitystyökalulla. Komponentin rakenteen tulee olla niin yksinkertainen, että sitä voidaan tarkastella ilman erityistä kehitystyökalua. Komponentin konfiguraatiot ovat löydettävissä nopeasti. Ylläpito vaikeutuu ja hidastuu. Järjestelmäpäivitykset vaikeutuvat. Uusien palveluiden kehittäminen on hidasta ja kallista. Palveluita on mahdollista asentaa dynaamisesti jos asennuspaketti on eri. Abstraktien palvelukuvausten toimivuutta itsenäisesti asennettavien pakettien välillä ei ehditty tarpeeksi testaamaan. kehitykseen tarkoitettu työkalu (NetBeans) on liian buginen. Osa palveluista jouduttiin tekemään aiemmalla versiolla. Paketointi ja konfiguraatioit ovat kuitenkin ymmärrettävissä, joten periaatteessa paketoinnin voi tehdä muillakin työkaluilla. Ajan puutteen vuoksi paketointia eri työkaluilla ei testattu. Sivu 3

2. Palvelun ylläpitäjän näkökulma Palvelualustassa on tapahtunut vakava häiriötilanne. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu PoC tulos Ylläpitäjän tulee saada tieto Palvelun käyttökatko pitenee. tapahtuneesta häiriöstä. Alustaan on mahdollista tehdä lokituspalveluita. Quality of Service(QoS)-toiminnallisuutta testattiin, mutta viestin uudelleenlähetystä ei saatu toimimaan. Kokeiltu ajaa BPEL-moottoria persistoidussa tilassa ja havaittu että integraatiota yritetään uudelleen mikäli viestinkäsittelyssä tapahtuu virhe. Tämä voi kuitenkin myös generoida dublikaattiviestejä tietylle palvelulle, etenkin jos transaktioita ei ole käytössä. Ylläpitäjä on saanut viesti vakavasta häiriötilanteesta. Ylläpitäjä voi nähdä yhdestä paikasta järjestelmän kokonaistilan sekä järjestelmässä tapahtuneet häiriöt ja niiden aiheuttajat. Ylläpitäjä A on saanut Ylläpitäjät näkevät helposti ilmoituksen, että palvelu A ei järjestelmien väliset riippuvuudet toimi oikein. ja löytävät häiriönaiheuttajan Ylläpitäjä B on saanut nopeasti. ilmoituksen, että palvelu B ei toimi oikein. Ilmoituksista ei kuitenkaan näe häiriön syytä. Palvelut A ja B on integroitu kolmanteen palveluun, joka aiheuttaa häiriön molemmissa järjestelmissä. Ylläpito vaikeutuu ja aiheuttaa pitkiä käyttökatkoja. Ylläpitäjät tekevät turhaan työtä etsiessään häiriön syytä väärästä paikasta. :n bpel-moottorissa prosessin viestit voidaan persistoida, joillin ne on löydettävissä tietokannasta. OpenEsb kirjoittaa lokia palvelimen lokiin. Monitorointiin liittyviä työkaluja ei ehditty testata tarpeeksi. Periaatteessa implementoitu lokituspalvelu voitaisiin hyödyntää keskitettynä virheviestien tallennuspalveluna. :ssä Bpel-prosesseista on mahdollista generoida dokumentteja. :n kehitystyökalut näyttävät riippuvuussuhteet. Palveluiden käyttö kasvaa rajusti. Palvelualustan suorituskykyä Koko palvelualusta joudutaan voidaan lisätä klusteroinnin avulla. vaihtamaan tai osasta palveluita luopumaan. Sivu 4 Ei ehditty testaamaan.

Palvelualustaan on kytketty uusi palvelu, jossa oleva vika aiheuttaa liikaa kuormaa palvelualustalle säännöllisin väliajoin. Palvelu joudutaan päivittämään. Palvelun rajapintoja käyttää kriittinen integraatio, joka lähettää palvelulle viestejä asynkronisesti. Integraation täytyy pystyä toimimaan huoltokatkon ajan. Järjestelmään tehdään tietoturva-auditointi tai epäillään että järjestelmään on yritetty tehdä tietoturvahyökkäys. Palvelimelle on asennettu 3 palvelua, jotka on liitetty toisiinsa. Palvelimen osoite vaihtuu. Palvelualustan hallintatyökaluilla voidaan tarkastella palvelun tilaa ja siihen liittyviä tietovirtoja. Palvelun päivityskatkos ei saa aiheuttaa häiriötilannetta integraatioihin mikäli käytetään asynkronista tiedonsiirtoa. Palvelualustaan liitetyt palvelut ja integraatiot voidaan listata ja tarkastaa niiden näkyvyys sisäverkon ulkopuolelle. Palvelualustassa tapahtuvaa tietovirtaa voidaan tarkastella. Ylläpitä saa kokonaiskäsityksen järjestelmässä käytössä olevista tietoturvaan liittyvistä teknologioista. Palveluiden on pystyttävä olemaan yhteydessä toisiinsa vaikka palvelimen osoite vaihtuisi, ilman että palveluita joudutaan konfiguroimaan uudelleen. Ongelmien selvitys vaikeutuu. Kynnys asentaa uusia palveluita tai päivityksiä kasvaa. Lisää ylläpitotyötä ja kynnys asentaa uusia palveluita tai päivityksiä kasvaa. Riski hyökkäyksen onnistumisesta kasvaa, jos tietoturvan varmistaminen keskitetysti ei onnistu. Ylläpidon määrä kasvaa. Riski siihen, että jokin vanha palvelu hajoaa muutoksen yhteydessä on erittäin suuri. QoS-toiminnallisuuden avulla tietyn rajapinnan käyttäjäkuormaa voidaan rajata. Monitorointiin tarkoitettuja työkaluja ei ehditty riittävästi testata. Bpel-moottorissa on mahdollisuus tallentaa prosessin tila käsittelyn ajaksi. Viestien korrelaatioita ei ehditty testata. Viestien korrelaatiolla ilmaistaan avaintieto, jolla persistoitu prosessi-instanssi voidaan ladata uudelleen muistiin(prosessit voivat olla usean kuukauden kestoisia liiketoimintaprosesseja) Asennettujen komponenttien rajapinnat ovat löydettävissä. :ssä on mahdollista myös disabloida tiettyjä portteja ulospäin, tällöin palvelut ovat vain käytössä palveluväylän sisäisesti. Testatttu siten että tehty ejb-palvelu abstraktin palvelukuvauksen pohjalta ja disabloitu palvelun http-portti. Abstraktien palvelukuvausten avulla palvelut eivät tiedä toistensa fyysistä olinpaikkaa. Suurta palvelukokonaisuutta ei ilman ko. ominaisuutta pystytä järkevästi ylläpitämään. Sivu 5