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



Samankaltaiset tiedostot
Peppi-Uutiset. No: 1 / 2013 PEPPI VOIMAA JA VÄÄNTÖÄ

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

Federoitu keskitetty sovellus

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

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

ID Task Name Duration Start Finish Predecessors Resource Names. Actual Finish % Complete

Opetushallitus. ServiceMix POC

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

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

ID Task Name Duration Start Finish Predecessors Resource Names

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

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

AYJ/JM. SADe -ohjelma Oppijan verkkopalvelut Oppijan keskitetyt palvelut

Työeläkeyhtiö Varma. IBM Software Day Tuukka Tusa, Digia

Ristiinopiskelun kehittäminen -hanke


Versio 1.0 Sivu 1/13. Koulutuksen suunnittelijan ja opettajan. Projektin väliraportti

Kuntien integraatioalusta. Hannes Rauhala

OTM-HANKE. Opintohallinnon tietojärjestelmän modernisointi - tilannekatsaus

Kohti palvelukeskeistä arkkitehtuuria RAPORTTI

Kansallinen digitaalinen kirjasto Käyttöliittymä Finna Aki Lassila / Kehittämispäällikkö / Kirjastoverkkopalvelut

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

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet

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

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

Hankesuunnitelma. Novus-Hanke. Novus-Hanke. YYL:n tietojärjestelmien kokonaisuudistus HANKESUUNNITELMA. LIITE 1

Yhteinen opintohallinnon järjestelmä

Koulutuksen suunnittelijan ja opettajan palvelut projekti (Peppi) Ohjausryhmän 9. kokous

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

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

TIETOMALLI JA TIETOVARASTO PALVELUKONSEPTI

Tiedonsiirto- ja rajapintastandardit

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

EI ENÄÄN MUUTOKSIA TÄHÄN!

LIITE 2: Jyväskylän Kankaan alueen palveluiden hallinta- ja toimintamallit

Pilviväylä projekti

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

KOSKI ohjausryhmän kokous

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

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Digitaalisen palvelukerroksen tekninen pilotti

TEKNOLOGIATUOTEVALINNAT. 1. Esityskerros. Liferay Portaali ja sisällön-/dokumentinhallinta

Korkeakoulurajat ylittävän opiskelun toteutus. Opetuksen tietojärjestelmien integraatioprojekti

Wiki korvaa intranetin. Olli Aro

Yhteinen alusta digitaaliseen opetukseen kysymyksiä ja alustavia ajatuksia

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

Ajankohtaista Ilmoitin.fi:stä

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

PerustA - Perustietovarantojen viitearkkitehtuuri. Liite 3: Tietojärjestelmäarkkitehtuurin. integraatioarkkitehtuuri

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

Kansallinen Palvelutietovaranto (PTV)

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

OTM-HANKKEEN SIDOSRYHMÄSEMINAARI

Kansallinen palveluarkkitehtuuri TUNNISTUSPALVELU INFO

Valppaan asennus- ja käyttöohje

Please note! This is a self-archived version of the original article. Huom! Tämä on rinnakkaistallenne.

UNA PoC-yhteenveto CGI Aino Virtanen

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

Tekninen suunnitelma - StatbeatMOBILE

Kokoelmahallintajärjestelmän Vesa Hongisto

Kiinteistöjen paloturvallisuuden ajankohtaispäivät 2016 Muuttuva ympäristö ja teknologian haasteet Palontorjunnan laitteistot Lauri Lehto,

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

Työharjoittelujärjestelmän kehitysprojektin taustatutkimus

Kohti palvelukeskeistä arkkitehtuuria. RAPORTTI versio 1.1.

Projektinhallintaa paikkatiedon avulla

Helsingin urbaani luovuus käyttöön: Open311 kaupunkilaisten palautekanavana. Hanna Niemi-Hugaerts

Henkilöliikenteen telematiikan kansallinen järjestelmäarkkitehtuuri TelemArk

Kansallisen paikkatietoportaalin kehittäminen

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Mikä Apotti- ekosysteemi on miten se luo yhteistyötä eri toimijoiden kanssa

Keskitetyn integraatiotoiminnon hyödyt

TeliaSonera Identity and Access Management

Kuntatoimijoiden yhteistyö sote-sektorin sähköisen asioinnin kehittämisessä

Uuden sukupolven verkko-oppimisratkaisut Jussi Hurskainen

Peppi projekti: Selvitys lukujärjestyksien suunnittelutyökaluista. Versio

VYPEdit verkkosivualusta SVY-toimijoille

Espoon arkkitehtuurin kehittäminen - Tiedonhallinta ja arkkitehtuuri kaupungin näkökulmasta

ADE Oy Hämeen valtatie TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus:

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

MatTaFi projektin HAKA-pilotti

HARAVA-PALVELU AVOIMEN LÄHDEKOODIN TEKNOLOGIOILLA ALPO-seminaari 2013

SOPIMUS ASIAKAS- JA POTILASTIETOJÄRJESTELMÄSTÄ

ABB Drives and Controls, Koneenrakentajan ja laitetoimittajan yhteistoiminta toiminnallisen turvallisuuden varmistamisessa

Arkkitehtuuri muutosagenttina

J2EE vs..net Olli Sakari

Valinnanvapauspalveluiden rajapinnat, tietotarpeet

Omatietovaranto. Jari Suhonen, THL Jari Suhoenn/ OPER

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

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

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

PEPPI. Peppi-tietojärjestelmä ratkaisee koulutuksen suunnittelun ja toteutuksen haasteet ennennäkemättömällä tarkkuudella ja tehokkuudella.

Ohjelmistojen suunnittelu

Järjestelmäarkkitehtuuri (TK081702)

MAKUFI. Avoimen tuotteen hallintamalli Maakuntien verkkopalvelusivustot

Liiketoimintajärjestelmien integrointi

PILETTI. Tekninen vaatimusmäärittely. v. 0.2

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Kuntien yhteentoimivuusseminaari. Tietomallien laatiminen Taina Nurmela projektipäällikkö, Helsingin kaupunki

Tässä kertauksena SOA ja palvelu.

Transkriptio:

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

Peppi-projekti Projekti aloitettu keväällä 2010 Projektin tehtävänä on määritellä, suunnitella ja toteuttaa uusi koulutuksen suunnittelutyökalujen muodostama palvelupohjainen (SOA) palvelukokonaisuus Projekti toteutetaan Metropolia ammattikorkeakoulun ja Tampereen ammattikorkeakoulun laatiman yhteistyösopimuksen mukaisesti. Toimittajana Eduix Oy. Vaiheet 1. vaiheen tuloksena toiminnallinen- ja tekninen vaatimusmäärittely (valmis) 2. vaiheen tavoitteena on toteuttaa palvelut vaatimusmäärittelyn mukaisesti (aloitettu keväällä 2011) 3. vaihe on käyttöönotto ja koulutus. Tavoiteaikataulu vuoden 2013 loppuun mennessä.

Peppi-projekti Projektin kotisivut: http://wiki.metropolia.fi/display/peppi/ Peppi-projektissa toteutettavat kokonaisuudet: opetussuunnittelu vuosisuunnittelu työpöytien yhteiset palvelut opettajapalvelut resurssien suunnittelu- ja varausväline raportointi-, tieto- ja seurantapalvelut sääntömoottori Demo: https://peppi.eduix.fi/

Miksi Peppi? Lähtökohdat: Nykyinen järjestelmäarkkitehtuuri on syntynyt vuosien saatossa ja johtanut sekavaan tulokseen Järjestelmien ylläpito ja häiriötilanteiden selvittäminen on koettu ongelmalliseksi Arkkitehtuurin monimutkaisuus tekee hankalaksi kustannusten arvioimisen ja jatkokehittämisen Tiedon kopiointi aiheuttaa sen, että tiedon omistajuus järjestelmien välillä hämärtyy ja tiedon eheys voi vääristyä Sekava järjestelmäarkkitehtuuri heikentää tietoturvaa Tiedot on kuvattu eri tavoin, joka hankaloittaa palveluiden ja toimintojen suunnittelua.

Nykytila

Kohti parempaa arkkitehtuuria Esiselvitysvaiheessa Eduix Oy:n asiantuntijat kävivät läpi yhdessä asiakkaan kanssa nykyisen järjestelmäarkkitehtuurin aiheuttamat ongelmat sekä selvittivät, miten nykyiset ongelmat voitaisiin ratkaista. Palvelupohjainen arkkitehtuuri koettiin sopivimmaksi, koska se mahdollistaa palveluiden uudelleenkäytön. Samaan aikaan selvitettiin voitaisiinko ratkaisussa käyttää Kuali-yhteisön ratkaisuja (www.kuali.org). Palveluväylätuote (ESB) valittiin PoC-projektien tulosten perusteella Evaluoinnit tehtiin seuraavia skenaarioita vasten: https://wiki.kuali.org/display/kulrice/soa+questions+-+eduix

Tavoitetila (Kuva: Metropolia) Huom! Metropolian yleinen tavoitetila. Ei koske vain Peppiä.

Miten Peppi on rakennettu?

Pepin arkkitehtuurin periaatteet Sääntö 1, SOA-metodologia Tietoa käsitellään palveluiden/palvelurajapintojen kautta. Palveluiden tulee olla autonomisia, toinen palvelu ei kontrolloi niiden toimintaa. Niitä voidaan ajaa hajautetusti. Ne eivät ole sidottuja toisen palvelun sisäiseen toimintaan. Palveluiden tulee olla löyhästi sidottuja toisiinsa, palvelut ovat sidoksissa toisiinsa vain rajapintojen kautta. Tällöin palvelun sisäinen toteutus on vaihdettavissa. Palveluita voidaan uudelleenkäyttää. Sääntö 2, Standardeihin pohjautuvat rajapintaratkaisut Rajapinnat julkaistaan SOAP-pohjaisina Webservice-rajapintoina tai Resttyyppisinä rajapintoina. Olennaista on, ettei julkaistu rajapinta luo riippuvuutta mihinkään tiettyyn alustaan. Sääntö 3, Palvelurajapintojen erottaminen käyttöliittymistä Käyttöliittymiä ei sidota tiukasti palvelun sisäiseen toteutukseen, jolloin palveluita voidaan uudelleenkäyttää ja käyttöliittymiä voidaan uudistaa moduuli kerrallaan.

Eduix SOA Platform (ESP) Peppi on toteutettu ESP-arkkitehtuurin mukaisesti ESP:llä tarkoitetaan Eduixin tapaa tehdä palvelupohjaisia järjestelmiä Kuvaa käytettävät teknologiat ja standardit sekä itse palvelualustalle että sillä ajettaville palveluille ja integraatioille Ottaa lisäksi kantaa palveluiden suunnitteluun ja dokumentointiin, testaamiseen sekä sovelluskehityskäytäntöihin Sisältää EduGUI-kirjaston, jonka avulla käyttöliittymiä voidaan toteuttaa ohjelmointikielestä riippumatta

ESP-arkkitehtuuri

ESP-palvelualusta ESP-arkkitehtuurin keskeisin komponentti on ESP-palvelualusta, joka koostuu Apache ServiceMix4 -ESB-tuotteesta ja Eduixin siihen tekemistä laajennoksista (ESP Feature). Palvelualusta toimii ajoympäristönä palvelumoduuleille ja integraatioille. ServiceMix4 on avoimen lähdekoodin Enterprise Service Bus (ESB) -tuote, joka perustuu OSGi -teknologiaan. ServiceMix4:n ydin on Apache Karaf, joka on kevyt OSGi runtime -ympäristö. Karaf laajentaa OSGi containeria tarjoamalla toimintoja mm. OSGi-moduulien hallintaan.

ServiceMix4 ja ESP ServiceMix4 on käytännössä Karaf + mukaan paketoidut, OSGivalmiit ja standardeihin perustuvat teknologiakomponentit, joita hyödyntämällä palvelut ja integraatiot rakennetaan. Spring, Apache CXF, Apache Camel, Apache ActiveMQ, JBI Teknologiakomponentit ovat valinnaisia ja asennuskohtaisesti voidaan valita, mitä niistä halutaan käyttää. Turhat komponentit kannattaakin jättää aktivoimatta. ESP:ssä ServiceMix4 on paketoitu oletuksena seuraavilla komponenteilla:

ServiceMix4 ja ESP, jatkoa... ESP:ssä ei yleensä käytetä JBI:tä, koska Camelin avulla samat asiat voidaan tehdä helpommin ja yksinkertaisemmin. Ratkaisu olla käyttämättä JBI:tä on linjassa SMX:n kehityspolun kanssa, sillä se tulee olemaan lähes varmasti deprecated tulevassa ServiceMix5-versiossa. ESP laajentaa ServiceMix4-perusasennusta ESP Feature -teknologiakomponentin avulla. Tarjoaa valmiita palveluita ja muita laajennoksia, joita tarvitaan tyypillisessä järjestelmätoimituksessa. Näitä ovat mm.: Event-service: Palvelu, jonka avulla muut palvelut voivat tiedottaa tapahtuneista muutoksista palveluväylälle. Unit-service: Geneerinen palvelu hierarkisen tietomallin tallentamiselle. Palvelun avulla voidaan toteuttaa esim. organisaatiorakenne

Palvelut Palvelut ovat Javalla ohjelmoituja moduuleita, jotka voivat julkaista rajapintoja myös OSGI-säiliön sisällä. Kutsut palveluiden välillä tehdään OSGI-säiliön sisällä ilman että viestejä täytyy muuttaa eri muotoon lähetyksen ajaksi. Palveluiden koostaminen ei tällöin kuormita järjestelmää yhtä paljon kuin jos koostaminen tehtäisiin eri SOAP-rajapintoja käyttäen. Julkaistu SOAP/Rest-rajapinta toimii ainoastaan fasadina käyttöliittymäkerrokselle sekä ulkopuolisille järjestelmille.

Enterprise Integration Patterns (EIP) Integraatiot Palvelut ohjelmoidaan rajapintoja vasten, jotka on erotettu omiin OSGI-bundleihin. On kuitenkin tilanteita joihin sopii paremmin perinteisempi EIP-tyyppisten integraatioiden käyttäminen: Palvelut täytyy kytkeä vanhaan ns. legacy-järjestelmään, johon ei ole olemassa ohjelmallista rajapintaa. Käytännössä integraatio täytyy tehdä joko siirtotiedoston tai tietokantayhteyden avulla. Palveluiden toimintoihin halutaan liittää asiakaskohtaisia laajennuksia, jotka liittyvät ESP-palvelualustan ulkopuolisiin järjestelmiin. Esimerkiksi Pepissä palvelut lähettävät muutoksista viestejä JMS-jonoon. Tapahtuma-palvelu puolestaan kuuntelee jonoon tulevia viestejä ja lähettää niitä eri integraatioille. Esimerkki: Kun opintojaksototeutus julkaistaan, palvelu lähettää siitä viestin tapahtuma-jonoon. Tämän jälkeen tapahtuma-palvelu huomaa viestin ja luo toteutukselle työtilan esimerkiksi Confluenceen, portaaliin tai Moodleen ja siirtää toteutuksen tiedot Winhaan.

ServiceMix4 ja EIP ServiceMix 4 sisältää kaikki tarvittavat komponentit palveluiden ajonaikaiseksi ympäristöksi sekä erilaisten EIP-tyyppisten integraatioiden tekemiseen.

Käyttöliittymät ESP-palvelualustan käyttäminen ei edellytä sitoutumista mihinkään tiettyyn käyttöliittymäteknologiaan. Peppi-projektissa käyttöliittymät on tehty portletteina ja ajonaikaisena ympäristönä käytetään Liferay 6.x -portaalia. Käyttöliittymien toteuttamista varten on tehty EduGUIkäyttöliittymäkirjasto, joka ei pakota sitoutumaan mihinkään tiettyyn käyttöliittymäsovelluskehykseen tai ohjelmointikieleen. EduGUI-komponentit ovat käytännössä HTML/CSS/JavaScriptkokoelmia Mahdollistaa käyttöliittymäkerroksen ja liiketoimintalogiikan kehitystyön järkevän erottamisen erillisiksi kehitysprosesseiksi Käyttöliittymäkerroksen toteuttava koodi on helposti optimoitavaa ja siten nopeampaa kuin esim. komponenttikirjastojen käyttö.

Peppi-kokemuksia Peppi Eduixin suurin SOA-projekti, pitää sisällään kaikki opetuksen suunnittelun, vuosisuunnittelun ja lukujärjestyssuunnittelun toiminnallisuudet Toteutettu ESP-palvelualustan avulla Toteutus aloitettu kesällä 2011. OPS-osio jo Tamkilla pilotointikäytössä helmikuussa 2012 Huomiot toteutuksesta Käyttöliittymät keskustelevat palvelukerrokseen ainoastaan SOAP/Restrajapintojen kautta Rajapinnat on lähtökohtaisesti suunniteltu siten että tietoa siirretään vain tarpeellinen määrä, mutta kuitenkin siten että prosessoinnin määrä käyttöliittymäkerroksessa olisi mahdollisimman vähäinen. Rajapintojen käyttäminen ei näy loppukäyttäjälle millään tavoin Rajapinnat toimivat nopeasti Käyttöliittymäsuunnittelijat eivät tarvitse palvelualustaa asennettuna omille kehityskoneilleen

ESP ja ServiceMix4-koulutus Eduix tarjoaa koulutusta ESP-arkkitehtuurin mukaiseen kehitykseen ServiceMix4:n avulla. Kaikki Eduixin kouluttajat ovat käyneet FuseSourcen pitämän Eduixille räätälöidyn kurssin: Developer Training for Apache ServiceMix 4.x with Apache Camel Implementing Enterprise Integration Patterns using OSGI. Kurssien sisältö on rakennettu pitkän integraatiokokemuksen sekä Peppi-projektista saatujen käytännön SOA-kokemusten perusteella. Eduix tarjoaa seuraavat valmiit koulutuspaketit: Palveluiden tekeminen Servicemixiin OSGI-teknologian avulla Camel-integraatioiden tekeminen Servicemixiin