Sisäinen integraation ratkaisut

Slides:



Advertisements
Samankaltaiset esitykset
Palvelut ja tiedot käyttöön: Palveluväylä
Advertisements

Tietokannat: MySQL ja PostgreSQL. Yleistä • Relaatiotietokantaohjelmisto, jolla voidaan luoda, ylläpitää ja muuttaa ja hallinnoida tietokantoja • Avoin.
Open source testaustyökalut
Testaus ja testausympäristöt
Moniverkkoliityntä asiakkaan näkökulmasta
1 Java-kieleen pohjautuvien ohjelmien käyttökohteita Ohjelmat Appletit JavaBeans JavaScript Java Server Pages (JSP) Java Servletit J2ME, mobiililaitteet.
Integrointi.
Turvallinen ja tehokas kertakirjautuminen webbipalveluihin Pekka Lindqvist
Tietotekniikan hankintojen toimintaprosesseja. •Esivalmistelut  teknologiat, tuotteet, testaukset, markkinat, infra •Hankintojen suunnittelu  tietohallintopalvelut/teknologia-
Suunnitelma ohjelmiston testaukseen
Rajapintaratkaisut Peppi-projektissa
© 2012 Tieto Corporation Vaatimukset ja Testaus – Kokemuksia TestausOSYn seminaari , Tapiola Erkki Pöyhönen Lead Test Manager Tieto, Enterprise.
Yhteenvetoa ydin- rajapintojen aamupäivän PlugIT-työpajasta Marko Sormunen PlugIT, Kuopion yliopiston atk-keskus
Ohjelmiston elinkaarimallit
ICT2015 Suomi tietotekniikan soveltamisen kärkimaaksi
Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio Calypso IP Calypso IP Tilannekatsaus
PlugIT-seminaari Työpaja 2, ma 27.10: Kertomus- ja koodistoliittymät ja kansallisten hankkeiden yhteistyö Kertomus(arkisto)rajapinnat, klo.
Performance testing of TETRA 1. SISÄLTÖ  TETRA standardointi  ICT- yrityksen toteutus  Testaus- prosessi  Motivaatio testaukseen  Vaiheet/ osa-prosessit.
LVI: vaihtoehtoiset etenemistavat Tavoitteisiin liittyvät kysymykset Opiskelijalle saumaton palvelu paikan vastaanotosta ilmoittautumiseen.
T Projektikatselmus GenCode PS iteraatio
Testaus Tiptopissa draft Mats Lindstedt, Mika Rintala.
Tekoäly-sovellusten levittäminen WWW-ympäristössä
Mikko Arasmaa / Tietohallinto
Ketterä kehitys käytännössä – TFS & Meteor
Maanmittauslaitoksen paikkatiedon palvelualustan pilotti - avoin rajapinta Jakob Ventin Korkeakoulujen valtakunnalliset IT-päivät
Kuvittele jos Yrityksellänne olisi käytössään IT- linkkuveitsi, jolla hallitsette useita Yrityksenne tiedonhallinnan haasteita?! 1. Yrityksen tiedostojenhallinta.
Osaamisen ja sivistyksen parhaaksi Opintopolku.fi tilannekatsaus KoTVejaos
Finnan kehittämisideoiden hallinta LUONNOS Heli Kautonen ja Aki Lassila Konsortioryhmän kokous
OHJP Kalenteriprojekti – Statusraportti iteraatio4 loppu
Mentortapaaminen Elma, Agenda Tilannekatsaus –Tehtyä –Tekemättä –Demo Ongelmia Palautteen pohdintaa Personal SE-esityksiä.
Ohjelmistojen suunnittelumenetelmät ja –työkalut
(mukaellen Haikala & Mikkonen 2011, 29)
Selainkäyttöliittymän tuotantoprosessi Klikkaamalla pääotsikoista tietosi karttuu. Sininen mökki toimii paluupainikkeena. Selainkäyttöliittymän tuotantoprosessi.
Esa Ramstadius Jussi Iltanen MTT Agronet portaali.
UKJ ja ulkoiset järjestelmät AAPA ja FUCIO –yhteistyöpalaveri Ari Ahlqvist.
Ohjelmistotekniikka ja projektinhallinta, 4 op
Heikki Salokanto Valvoja: prof. Jukka Manner Ohjaaja: DI Pekka Pajuoja, TEKES Sovelluskehitysympäristön virtualisoinnin tuomat edut ja haitat.
SerAPI Saara Savolainen Esa Paakkanen Marko Suhonen 1 OID-kohde OID- generointi (ja -kyselyt?)
Sähköisen työskentelyn ja verkostoitumisen palveluympäristö.
1 Arkkitehtuuriin liittyvien kuvien teko Sekvenssikaavio Komponenttikaavio Luokkakaavio Ohjausryhmän palaveri Toimitussisällön tarkastelu Vaatimusten läpikäynti.
Aihe: J2ME Log4J Esittäjä: Lokki-projekti Pvm: Loppuesittely.
Osaamisen ja sivistyksen parhaaksi Käytettävyystestaus Oppijan verkkopalvelukokonaisuudessa Hanketiimi Satu Meriluoto.
Lyhyt johdanto CVS:ään (ict1td002 - Ohjelmointitaito)
KANSALLISKIRJASTO - Kirjastoverkkopalvelut UKJ toteutusvaihtoehtojen tutkiminen Minna Kivinen, UKJ-ohjausryhmän kokous
IT-standardisoinnin vuosiseminaari
Pakkanen -arkkitehtuurin siirto toteutustekniikoihin
Tik Tietojenkäsittelyopin ohjelmatyö Palautuspalaveri 1 Projektin esittely lyhyesti Projektin tilanne Vaiheen lopputulokset Seuraavan vaiheen (MÄ)
Tik Tietojenkäsittelyopin ohjelmatyö Palautuspalaveri 3 Projektin esittely lyhyesti Projektin arviointi –projektin tila –suunnitelmat P1-vaiheelle.
Tik Tietojenkäsittelyopin ohjelmatyö Palautuspalaveri 2 Projektin esittely lyhyesti Projektin tilanne Vaiheen lopputulokset Seuraavan vaiheen (SU)
T Projektikatselmus Ampel Projektisuunnitteluvaihe (Versio 1.0)
Osaamisen ja sivistyksen parhaaksi Hakeutujan palvelut ja todennetun osaamisen rekisteri Tilannekatsaus Antti Ylä-Jarkko.
Verkonhallinta Henri Sihvola Jarkko Pulli. Verkonhallinnan vaatimukset Vaatimukset kuvattu ISO:n CMIP- verkonhallintastandardissa –Kokoonpanon hallinta.
Verkkopalveluiden IT-palvelunhallintamalli A-klinikkasäätiölle
S11-08 Workflow-tuote tuotantojärjestelmien integraatiossa Projektisuunnitelma.
KANSALLISKIRJASTO - Kirjastoverkkopalvelut Mukaan Finnaan - mukaantuloprosessin vaiheet Finna-koulutus Palvelusuunnittelija Susanna Eklund Kansalliskirjasto.
Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.3.
Kansallinen palveluväylä Hankejohtaja Pauli Kartano Valtiovarainministeriö.
Kansallinen palveluväylä PERTIVA-kokous
Sosiaali- ja terveydenhuollon organisaatio- ja palvelutiedon hallinta
Sote-tieto hyötykäyttöön -strategia 2020
VARDA-hankkeen esittely
Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4
Data Care - Datapalvelu Palvelupaketti suojareleiden datan hallintaan
Ketterä ohjelmistokehitys
Vaatimusmäärittely kehitysprosessissa
Helsinki Metropolia University of Applied Sciences
Kansallinen palveluväylä
Vaatimusanalyysin hallintatyökalu
KOKONAISARKKITEHTUURIN ARVIOINTI
Video 4: Avoimen ja yhteisen rajapinnan hallintasuunnitelma
Esityksen transkriptio:

Sisäinen integraation ratkaisut 10.2.2012

Osa-alueet Integraatiokeskus Palvelurekisteri Palveluiden reititys Palveluiden versioiden hallinta Hajautetut transaktiot Transformaatiot (tarvittaessa) Synkronisuus/Asynkronisuus Tietoturva (Tunnistaminen ja roolit) Hallintajärjestelmä (Palvelurekisteri) Lokitus (Tapahtumaloki, vastaava kuin LUOVAssa käytössä oleva) Palvelurekisteri Palveluiden elinkaaren hallinta Palveluiden hallinta Palveluväylän hallinta Palvelun dokumentit Liittymä version- ja konfiguraationhallintaan

Ohjelmisto Linux version 2.6.32.13-0.5-default - ajoalusta Oracle 11g Standard Edition Release 1 - 11.1.0.7.0 – tapahtumalokin tietokantapalvelu DB2 v9.1 – palvelurekisterin tietokanta 32-bit SDK for Linux, Java 2 Technology Edition, v5.0 SR6 – ajoympäristön Java-versio IBM WebSphere Application Server Network Deployment 7.0 (32/64) bit - palvelinohjelmisto F5 kuormantasaus

Vaatimukset 1 Järjestelmät saatava integroitumaan keskenään Hallintajärjestelmä palveluiden versioiden ja järjestelmien välisille rajapinnoille Nopea integraatiototeutus, voitava tehdä yhdessä päivässä suurimmassa osassa tilanteita Järjestelmien kirjanpito ja palvelukutsujen tilastointi ja tilastoinnin hyödyntäminen Asynkroniset kutsut (esim. tulostusta varten) Hajautetut transaktiot Luotettava sanomanvälitys Monitorointi Systeemitilastot Lokitiedot

Vaatimukset 2 Geneeriset xml-rajapinnat Järjestelmien väliset kutsut aina integraatiojärjestelmän kautta Keskitetty palveluhakemisto Sanomakehys hallintaa ja reititystä varten Sanomien yksilöinti Autentikointi ja autorisointi Kutsurajapintojen määrä on rajallinen Järjestelmä mahdollistaa dynaamiset reititykset Systeemitilastot SLA n tarpeellisuutta on hieman kritisoitu, ehkä se mitä tuosta saataisiin irti on kutsukertoja, kutsujen kestoja, virheiden määrää per palvelu jne.

Miltä ratkaisu näyttää

Palvelurekisteri Kelassa rakennettu rekisteri Java-palveluille (vaihtoehtoina oli mm. WSRR ja UDDI). Toimii sekä teknisenä että informatiivisena rekisterinä Sisäinen integraatio käyttää rekisteriä dynaamisesti -> hakee palvelun osoitteen ym tiedot ajonaikaisesti Palvelun omistaja/vastuuhenkilö vie palvelun tiedot rekisteriin Palvelurekisterin ominaisuudet Palveluiden hallinta helpottuu -> kaikki yhdessä paikassa Versionti Palvelun tarjoama rajapinta näkyvissä sekä välitettävät tiedot Toimii teknisenä tukena palvelua kutsuvaa sovellusta rakentavalle kehittäjälle Antaa toimeksiantajalle/määrittelijällä tiedot olemassa olevista palveluista

- Dokumentti, palvelun osoite, skeeman juurielementti, nimiavaruus, nimiavaruuden etuliite olennaisia tietoja operaatioiden nimen ohella

Ohjelmoija tarvitsee TO- koodaukseen XML-esimerkkisanoman tai skeeman Jos liittyy jostain ei-java järjestelmästä skeema on tarpeen

Tapahtumaloki Sovellusloki tietokannassa Kaikki väylän kautta menevät sanomat Luovan lokin kopio Sanomien katselu tapahtuman kautta

Korrelaatiotunnisteella haetaan lokitietoja

Testaus SoapUI ”Kela-laajennuksin” Base64-koodaus/dekoodaus LTPA token muodostus Sanomakehyksen täydennys Käytetty Kanta-järjestelmän testauksessa Laajennukset helpottamaan testaamista Ohjelmoijan, palvelun vastuuhenkilön ja testaajan käyttöön samat testitapaukset

SoapUI-kutsuesimerkki soapUI:lla testaus, testit voidaan tehdä tässä esim. yksi steppit jossa laitetaan tiedot sanomakehykseen

…jatkuu Vaatii sen että integraatiokeskuksen wsdl haetaan soapUI:n palvelurekisteristä haetaan esimerkki- xml- sanoma kun halutaan että testit voi toistaa niin monistetaan testisteppejä ja vaihdetaan parametreja

…jatkuu - Tässä yksi esimerkkitulos

Palvelun kutsuminen Integraatiokeskuksen kautta (tapahtumat) Tässä vähän isompana kokonaisuutena

Ohjelmoinnista RAD pluginit Esimerkkikoodit wsdl ja skeema RADiin on tehty pari pluginia, voi alustaa client- projektin. Policy setit kopioi projektiin Toinen plugin generoi Java-luokista skeemoja ja esimerkki- XML-sanomia Esimerkkikoodeja löytyy CVS:stä ja Jasken palvelunteko-ohjeesta. Wsdl ja skeema on jätetty pois itse koodauksesta, koska sanomakehys mallissa niitä ei tarvita = Java-luokat on se mikä on tarpeellinen java-ympäristössä

Palvelun kutsuesimerkki Kutsuva sovellus Integraatiokeskuksen rajapinnan WSDL-kuvauksen sekä IntegraatiokeskusClient.jar –paketin - Kutsuvaan ei generoida WSDL:stä client javaluokkia, ne on IntegraatiokeskusClient.jar –paketissa - Exceptionit otetaan kiinni

Palvelun WS-rajapinta esimerkki -Web-service rakennetaan esimerkiksi EJB- palvelun päälle tekemällä uusi Web- projekti ja lisäämällä sinne Java-luokka, johon tehdään metodit, joista muodostuvat WS- operaatiot. - Konstruktoriin rajoitukset, millä roolilla tullaan sisään – riippuu sovelluksen ja palvelun käyttöoikeuksista

…jatkuu metodit annotoidaan annotaatiolla @WebMethod, jolloin niistä generoituu automaattisesti wsdl ja skeemat - @WebMethod annotaatio kertoo että luokka on WebService. - @WebResult kertoo että palautetaan ArkkiI- kehyksen mukainen Source- tyyppinen vastaussanoma. Tämä on ns. tyypittämätön rajapinta, jota suositellaan käytettäväksi. - @WebParam parametrina source-tyyppiset oliot Muunnetaan source:n sisältämä xml -> TO luokaksi ja poistetaan syötteestä tietoturvaongelmia (injektiot jne.) Haetaan tiedot ja muunnetaan ne takaisin xml-muotoon ja palautetaan source-tyyppisenä

SOA-toimisto Palveluluettelon ylläpitäminen Varmistaa, että olemassa olevat palvelut saadaan projektien yhteydessä käytettäväksi väylän kautta Projektien ja hankkeiden SOA- palveluiden käytön katselmointi SOA- palvelukuvausten katselmointi ja hyväksyntä Palveluiden toteutus- ja muutosaikataulujen viestintä ja aikataulujen ylläpito Palveluiden toteutus- ja muutosaikataulujen toteutumisen seuranta Projektien tukeminen SOA- palveluiden käyttöä suunniteltaessa SOA- palvelukuvausten ja palveluluettelon sisällön laadun valvonta 1-2 kertaa vuodessa tehtävä vertailu SOA- palveluiden käyttötilaston ja SOA- palvelukuvausten suorituskyky / käytettävyystietojen välillä Palautteen ja ideoiden vastaanotto

Ohjeet Palvelun kutsuminen ja tekeminen Palvelun testaaminen Y:\JAVA\Jaske\Julkaisut\versio1.0\Ohjeet\Jaske_palvelun_teko-ohje.pdf Palvelun testaaminen Y:\JAVA\Jaske\Julkaisut\versio1.0\Ohjeet\soapUIohje.pdf http://wiki.kela.fi/w/TukiWiki/ETUAintegraatio

LISÄMATSKUA: SOA-palveluiden kutsu 1 Järjestelmän A client kutsuu Apurekisteripalvelun versiota 2.0 metodia getKielitiedot saadakseen kielten aukikirjoituksen 2 Integraatiokeskus vastaanottaa kutsun, hakee Palvelurekisteristä kutsua vastaavan palvelun osoitteen (tekee muut toimenpiteensä) vastaanottaa ApurekisteriPalvelun palauttamat tiedot ja palauttaa sen kutsuvalle 3 Palvelurekisteri sisältää Apurekisteripalvelusta versiot 2.0, 3.0 (4.0) ja 5.0 4 ApurekisteriPalvelu v2.0 palauttaa vastaussanoman. Huomioi että ApurekisteriPalvelu 2.0 ja 3.0 ovat sama sovellus, jossa palvelun sisältöä ja rajapintaa on muutettu siten että muutokset eivät riko versiota 2.0 kutsuvia sovelluksia! 5 Järjestelmän B client kutsuu Apurekisteripalvelun versiota 3.0 metodia getKielitiedotUudet saadakseen kielten aukikirjoituksen kielitietoihin ja kielitiedon voimassaolon. 6 Järjestelmän C client kutsuu Apurekisteripalvelun versiota 5.0 metodia getKielet saadakseen kielten aukikirjoituksen kielitietoihin ja kielitiedon voimassaolon sekä muita lisättyjä tietoja. 7 ApurekisteriPalvelu 5.0 on Java 8 kehitetty sovellus, jossa palvelun sisältöä ja rajapintaa on muutettu siten että muutokset rikkovat version 2.0 ja 3.0 toiminnallisuuden ja rajapinnan!   Kun client 1 ja 2 haluavat kutsua ApurekisteriPalvelu v5.0 ne joutuvat koodaamaan operaation getKielitiedot -> getKielet nimellä. Milloin teen muutokset nykyiseen versioon palvelusta? - muutan palvelun eri tekniikalle eri palvelimelle, ei näy muuten kutsuvalle - muutan palvelun ulkoiseksi palveluksi - lisään operaation rajapintaan tietoja - poistan tai muutan operaatioista tietoja, joita kukaan ei käytä - lisään operaatioita - poistan tai uudelleen nimeän operaatioita, joita kukaan ei käytä - muutan palvelun logiikkaa siten että se ei vaikuta kutsuvien koodiin Milloin teen uuden version palvelusta? - poistan rajapinnasta tietoja, joita muut käyttävät tai nimeän niitä uudelleen - muutan sen ulkoiseksi palveluksi (toistaiseksi näin selkeyden vuoksi) - poistan palvelusta operaatioita tai nimeän niitä uudelleen - muutan palvelun logiikkaa siten että se vaikuttaa kutsuvien koodiin (rikkoo kutsuvat asiallisesti)