sakari olli tieturi oy soa - ajattelutapa vai teknologia · service –teknologia avulla –j2ee...

34
SOA - ajattelutapa vai teknologia SOA - ajattelutapa vai teknologia Sakari Olli Tieturi OY

Upload: others

Post on 17-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

  • SOA - ajattelutapa vai teknologiaSOA - ajattelutapa vai teknologiaSakari Olli Tieturi OY

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Tieturi OYTieturi OY•Sakari Olli FM

    –Ohjelmistoarkkitehtuureiden sekä teknologioiden asiantuntija

    •Tieturi OY–Suomen johtava koulutusyritys–Konsultointipalveluiden tarjoaja aiheina mm. systeemityö, arkkitehtuurit ja tietojärjestelmäintegraatio–Integraatioratkaisujen toimittaja yhteistyössä Appelsiinin kanssa

    •Kannattaa vierailla - www.tieturi.fi–Karkkia ja tietoa tarjolla salin takaosassa

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Agenda - SOA - ajattelutapa vai teknologiaAgenda - SOA - ajattelutapa vai teknologia•Mitä SOA tarkoittaa?•Miksi nyt?•SOA arkkitehtuuri käytännössä•Teknologiat - alustariippumattomuus•Web Services - ajattelutapa•SOA - ajattelutapa vai teknologia

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Rakentamisen - hyödyntämisen oravanpyöräRakentamisen - hyödyntämisen oravanpyörä

    Rakennettaessa ja uusittaessa tietojärjestelmiäniiden täysipainoinenhyödyntäminen ei ole aina mahdollista.

    Tietojärjestelmien hyödyn-täminennostaa esille kehittämistarpeita, jotkalaukaisevat järjestelmän uusimisen.

    TIETOTEKNIIKKA-ARKKITEHTUURINUUDISTAMISEN TARVE

    Tietotekniset lähtökohdatNykyisten järjestelmien toiminnalliset puutteellisuudetNykyisten ratkaisujen teknologinen vanhanaikaisuusNykyisten ratkaisujen heikko kustannustehokkuusNykyisten järjestelmien joustamattomuus tuleviin

    tarpeisiin

    Liiketoiminnalliset lähtökohdatTALOUS

    ASIAKAS PROSESSI

    OPPIMINEN-JA KASVU

    VISIO +STATEGIAT

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    SOA (Service Oriented Architecture) - ideologiaSOA (Service Oriented Architecture) - ideologia

    •Liiketoiminta tuo tarpeet ja IT - järjestelmät pyrkivät tukemaan toimintaa tarjoamalla liiketoimintaa tukevia palveluita

    –Aikaisempaa parempi tuki päätöksenteolle –Usein yhdistellään monimutkaisia useisiin järjestelmiin hajautuvia prosesseja

    •Tavoitteena rakentaa entistä selkeämpiä korkean tason palveluita liiketoiminnalle tarjoavia järjestelmiä

    –Järjestelmä koostuu palveluista, joiden taustalla ovat liiketoimintoprosessit

    •Liiketoimintaprosessien ja niiden vaatimusten ymmärtäminen avainasemassa

    –Hankalaa monimutkaisissa ympäristöissä

    •Käytännössä korkeamman tason palveluiden luominen tarkoittaa, että useita järjestelmiä joudutaan integroimaan toisiinsa

    –Tyypillisessä organisaatiossa on vuosien mittaan syntynyt paljon erillisiäsovellussaarekkeita, jotka eivät usein keskustele keskenään

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Liiketoimintaprosessit –kaiken lähtökohta! Liiketoimintaprosessit –kaiken lähtökohta!

    Yritys

    Matkasihteeri TaloushallintoTulosyksikkö

    Organisaatiopohjainen nykytila

    Matkustus MatkalaskuMatkan

    tarve

    Matka Matkan varaus

    Prosessipohjainen uusi ratkaisu

    Matkatoimisto

    Asiakkaanlaskutus

    Matkatoimisto / Internet-paikanvaraus

    Matkan järjestäjä

    Myös liiketoimintaprosesseilla

    on arkkitehtuuri

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Tietojärjestelmien nykytila ja integraatioTietojärjestelmien nykytila ja integraatio

    Järjestelmä tarjoaa luontevalla tavalla palveluja liiketoimintaprosessin edetessäJärjestelmä tarjoaa myös tukea prosessin valvonnalle

    Tieto-varasto

    SQL-Server

    Oracle

    NTNTNT

    Sovelluksia•ERP•Taloushallinto•Logistiikka•Tuotanto•Varasto•Sähköposti•Kalenteri•Räätälöityjä omatarvesovelluksia

    Tietojärjestelmän palvelutLi

    nux

    Linu

    xLi

    nux

    Prosessi

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Käytäntö – paljon erillisiä saarekkeitaKäytäntö – paljon erillisiä saarekkeitaCORBA

    DCOM

    RMI

    SOCKETS

    COPY-PASTE

    RETYPEFAX

    PHONE

    WEB SHOP

    BILLINGSYSTEM

    CREDIT CHECK

    IDENTITY SERVER

    WAREHOUSE

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Mitä uutta?!?Mitä uutta?!?•Näinhän olisi pitänyt olla aina!•Samasta liiketoiminnan ja IT – järjestelmien linkittämisestäollaan puhuttu jo pitkään

    –Eikö tämä ole vuonna 2005 jo todellisuutta?

    •Ollaan järjestelmiä pystytty integroimaan aikaisemminkin–Se on ollut kuitenkin yleensä hankalaa ja kallista

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Miksi nyt?Miksi nyt?•SOA ajattelutapa on ollut pitkään suuri tavoite, jota on ollut hankala toteuttaa puuttuvien teknisten ratkaisujen ja työkalujen takia

    –Teknisenä ratkaisuna saattaa kulminoitua Web Services –tekniikkaan, mutta on vaihtoehtojakin – tuki löyhälle kytkeytyvyydelle–Toisaalta tarjolla on valmiita palvelintuotteita, jotka mahdollistavat liiketoimintoprosessien jakamisen useisiin järjestelmiin vähällävaivalla

    •Käytännössä tietojärjestelmien integrointiin liittyvien standardirajapintojen kehittyminen on luonut mahdollisuuden toteuttaa visiot käytännössä

    –Nimenomaan avoimet ratkaisut ovat kehittyneet valtavasti

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Miksi avoimet teknologiat - Muuttuva maailmaMiksi avoimet teknologiat - Muuttuva maailma•Arkkitehtuurit kehittyvät

    – DNA Arkkitehtuuri, .NET Arkkitehtuuri, J2EE arkkitehtuuri– Arkkitehtuurittomat ratkaisut

    •Kielet ja tekniikat kehittyvät– Cobol, C, C++, Visual Basic, Java, C#

    •Yritysorganisaatiot muuttuvat– Arkkitehtuuri- ja tekniikkavalinnat muuttuvat– Strategisia kauppoja, tytäryhtiöitä, uusia toiminta-aloja,...– Uutta palveluntarjontaa kumppanien kanssa– Uusia kirjanpitosäädöksiä, verosäädöksiä, ...

    • Yritysjärjestelmissä syntyy vuosien varrella toisiinsa liittymättömiä saarekkeita jotka eivät keskustele keskenään!

    – Joskus tieto sovellusten välillä liikkuu vain copy-paste tekniikalla

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    SOA (Service Oriented Architecture) - ideologiaSOA (Service Oriented Architecture) - ideologia•SOA - pohjaisessa suunnittelussa komponenttien rajapintojen suunnittelu lähtee liikkeelle prosessien tukemisesta

    –Komponenttien rajapinnoista tulee parhaimmillaan karkeita ja selkeästi uudelleenkäytettäviä

    •Pohjaudutaan siis hyvän suunnittelun perusperiaatteisiin–Näinhän oli komponenttienkin kanssa–Aikaisemmin liitäntä komponentteihin oli teknologiasidonnainen (DCOM,RMI,ORB)

    •SOA:ssa pyrkimys on sanoutua irti teknologiasta•Tavallisesti SOA:a tukeva arkkitehtuuri rakentuu prosesseista vastaavan keskittimen varaan

    –Message Broker - arkkitehtuuri–Kapseloidaan liiketoiminnan tarpeet uuteen kerrokseen, joka vastaa prosesseista sekä palveluista

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Service-oriented integration architectureService-oriented integration architecture

    IntegrationBusiness Business

    Data

    Prensentation

    Data

    Prensentation

    Business BusinessService interface

    Service interface

    Application A Application A

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    SOA arkkitehtuuri(message brokers)SOA arkkitehtuuri(message brokers)

    Muunnos

    Säännöt

    Reititys

    Middleware

    Omat sovellukset Valmiit sovellukset

    Data

    Ratkaistavat kysymyksetRatkaistavat kysymykset••Business prosessin hallintaBusiness prosessin hallinta••DataData••SiirtotietSiirtotiet••IntegrointiIntegrointi

    MessageMessage BrokerBroker

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    SOA palveluarkkitehtuuriSOA palveluarkkitehtuuri•Ylläpidettävyys tärkeintä•Tärkeimmät suunnittelumallit•Riippuvuuksien vähentäminen

    –Rajapinnat–Fasadit–Välittäjät (factory, broker)

    •Ymmärrettävyyden parantaminen–olioajattelu

    •Komponenttikeskeisyys–olioajattelu ja riippuvuuksien vähentäminen

    Asiakaskyselyt(www)

    Asiakastiedot

    Asiakastietojenylläpito (office)

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    SOA (Service Oriented Architecture) - tilattomuusSOA (Service Oriented Architecture) - tilattomuus•Tyypillisesti yksittäinen palvelu on tilaton

    –Olio- ja komponenttimaailmassa tieto ja sen käsittely paketoidaan yhteen–SOA - maailmassa palvelupyynnön takana varmasti myös tapahtuu tiedon prosessointia, mutta yksittäinen palvelu on itseriittoinen kokonaisuus

    •Tavoitteena, että prosessit voidaan muodostaa koostuviksi yksittäisistä tilattomista palveluista

    Palvelun suorituksen jälkeen käsitelty informaatio järjestelmän näkökulmasta unohtuu

    •Prosessin tilatieto kapseloidaan tyypillisesti integraatiokeskittimeen, joka ohjaa prosessien toimintaa

    –Tilattomina palveluista voidaan luoda yleiskäyttöisiä

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    SOA - teknologiatSOA - teknologiat•SOA ajattelumalli on teknologiariippumaton•Käytännössä tarvitaan kuitenkin välineet, joilla kaunis visio voidaan toteuttaa•Useimmiten vuonna 2005 SOA toteutusten taustalta löytyy paljon teknologioita ja ratkaisuja•Web Service teknologiat ovat kuitenkin lyönyt itsensä vahvasti läpi

    –Alustariippumaton –Yksinkertainen tekniikka–Data liikkuu paikasta toiseen tekstimuodossa

    •Integraatiokeskitin tarjoaa tyypillisesti palvelurajapinnat ulospäin Web Service –palveluina

    –Avoin teknologia – ei suljeta pois mitään tekniikkaa–Ei sitoutuda parhaimmillaan myöskään mihinkään valmistajaan tai tuotteeseen

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    SOA (Service Oriented Architecture) - 2005SOA (Service Oriented Architecture) - 2005•Yhä useampi tuote tarjoaa helppoja tapoja integroitua Web Service –teknologia avulla

    –J2EE – Session Bean komponenteista Web Service - palveluita helposti–.NET – komponenttien luontainen kommunikaatiomenetelmä SOAP–Web Service –palveluita tarjolla jopa Office –sovelluksista

    •Paljon valmiita tuotteita liiketoimintoprosessien mallintamiseenja hallintaan, jos selkeä tapa integroitua on tarjolla

    –MS Biztalk Server – prosessit ja tiedonvälitys helppo hallitaan–RosettaNet – liiketoimintoprosessipohjainen XML -sanasto

    •Integraatioratkaisujen toteuttaminen tukemaan aidosti liiketoimintaa muuttuu taloudellisesti kiinnostavammaksi

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    ServicesServices•Järjestelmät rakennetaan palveluista, jotka noudattavat seuraavia periaatteita:

    •Palvelut ovat autonomisia.•Rajat ovat explisiittisiä (tarkkoja)•Jaetaan vain:

    • Schema = tietorakenteiden kuvaus.• Contract = sopimus siitä miten, milloin ja missä järjestyksessä tietorakenteita

    lähetetään.•Policy: menettelytapa. Kertoo mitä kommunikointi edellyttää (esim. turvallisuus, transaktiot, tilallisuus yms.)

    •Rakenteet voivat olla XML-kieltä, mutta ne voivat olla myös jotain muuta.•Web Service on kyseisen ajattelumallin ensimmäinen ilmentymä, joka ei ole nykyisellään täydellinen.

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Web ServiceWeb Service• Web Service on uudenlainen palvelu; Tyypillisesti julkisessa Internetissä saatavana oleva palvelu jota ohjelmat voivat automaattisesti hyödyntää

    • Taustalla xml joten palvelu on alusta ja kieliriippumaton• Voidaan käyttää etäkutsuihin tai tiedonsiirtoon• Toimii myös palomuurin läpi, mahdollista käyttää pitkälti olemassaoleviainvestointeja ja tekniikoita• Mahdollistaa esim. Java-sovelluksen kutsumaan .NET-sovellusta Internetin yli, tai Perl-web sovellusta• Mahdollistaa esim. .NET tai Perl-sovelluksen kutsumaan Java-sovellusta Internetin yli

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    XML integraatiossaXML integraatiossa

    .NETSystem.NET

    SystemJ2EE

    SystemJ2EE

    System

    SOAP RPC etäkutsuSOAP dokumenttien siirto

    (MS SQL,Oracle, DB2,...)

    (MS SQL,Oracle, DB2,...)

    XML tietokannasta, ADO .NET

    OMA XML Protokolla

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Palvelupyyntö - mikä on viesti (message)?Palvelupyyntö - mikä on viesti (message)?Kutsu:

    123

    Paluu:

    123John

    •Vanha idea uusissa kuorissa?

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Web Service toimintaideaWeb Service toimintaidea

    1. Palvelua etsitään UDDI:sta

    3. Web ServicepalvelupyyntöSOAP:lla

    UDDI

    Palvelun Tarjoaja

    WSDLWS EndPoint

    2. WSDL kuvauksen perusteellatiedetään miten yhteys otetaanja mitä palveluita löytyy

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Web Service tekniikoistaWeb Service tekniikoista•Extensible Markup Language (XML)•Simple Object Access Protocol (SOAP)

    –W3C:n standardoima protokolla (Myös XML Protocol) –Määrittelee yksinkertaisen kirjekuoren jossa tietoa liikkuu verkon yli alustariippumattomasti–Käyttää XML-muotoa ja schemoja, ei ota kantaa mm. tietoturva-asioihin tai palvelun laatuun

    •Web Service Description Language (WSDL)–Määrittelee xml-pohjaisen web-palvelun–Ei vielä standardi, w3c:ssä vasta työn alla - IBM ja Microsoft tehneet paljon työtä sen parissa–WSDL kertoo mitä palveluita on tarjolla ja miten niitä voi kutsua alustariippumattomasti

    •Universal Description, Discovery, Integration (UDDI)–Kuvailee yrityksiä ja niiden toimintoja, matalimmalla tasolla aina teknisiin palvelukuvauksiin asti–UDDI-rekisteristä voi hakea automaattisesti palvelun esim. nimen, sijainnin tai tyypin perusteella

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Web Service ja SOA Web Service ja SOA •On ensiaskel kohti SOA:a. Suunta on oikea, mutta olemme vasta tien alussa.•Tuki perustasolla kaikkialla.•Mukana kaikissa .NET –sovelluksissa.

    –Erittäin helppo toteuttaa ja käyttää. –Jatkossa WinFX ”indigo”, joka on osa Windows ”Longhorn” –käyttöjärjestelmää.–Microsoft on ollut mukana massiivisesti standardintyössä.

    •Java–Sun WSDP v.1.5–J2EE 1.4.Tärkein uudistus on Web Service standardointi osaksi J2EE sovelluspalvelinta.–Apache Axis.–Tätä junaa vetää IBM. Ei Sun.

    •Windows DNA (Microsoftin vanha sovellusarkkitehtuuri, joka korvautui vuonna 2002 .NET:llä).

    –Sisältää tuen noin vuodesta 2001.

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Miksi Web Services?Miksi Web Services?•Vain yksi integraatioratkaisu muiden joukossa

    –Mikään ei pakota ottamaan käyttöön sovelluksissa ellei se anna jotain hyötyä

    •Ratkaisuna poikkeuksellisen avoin ja "low-tech"–Parhaat edut alusta ja kieliriippumattomuus ja mahdollisuus tehdä helposti kutsuja vaikka Internetin yli - läpi useamman palomuurin–Esim. .NET ja Java integraatiot, Applet tai Midlet tai XLet kutsuu internetin yli yrityspalveluita,...

    •SOA periaatteet voidaan kuitenkin toteuttaa myös muilla välineillä

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Web Services sudenkuoppiaWeb Services sudenkuoppia•Tietoturva ja palvelun laatukysymykset etenkin Internetin yli toimittaessa•Web Services määrittelee vain siirtotavat ja kanavan, vielä tärkeämpää on määritellä MITÄ sillä siirretään

    •Esim. ebXML•XML-viestejä vai tyypitettyjä etäkutsuja? (DOC/RPC)•Kaikki toteutukset eivät tue kaikkia SOAP tyyppejä, esim. rakenteiset tyypit

    •Suorituskykyä tulee valvoa ja mitata•Onnistumisen mahdollisuudet parhaat WS-I yhteensopivilla alustoilla, muilla tuurista kiinni•Osa XML standardeista kesken, muuttuva kenttä•Yksinkertaisuus oli syy miksi XML ja Web Services onnistuivat, riskinätekniikoiden monimutkaistuminen

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    WS-* protocolsWS-* protocols•Joukko standardiehdotuksia, jotka pyrkivät tuomaan Web Service –palveluihin mm.

    -Tietoturvan, transaktiot, reitityksen, luotettavuuden yms.

    •Modulaarinen rakenne. Ei yhtä jättimäistä spesifikaatiota.•Standardien luomisessa mukana mm. IBM ja Microsoft. •Useat tekniikat perustuvat SOAP Header tiedon käyttöön, jossa voidaan siirtää varsinaisen datan ulkopuolista tietoa.

    SOAP-ENV:Envelope

    SOAP-ENV:Header

    SOAP-ENV:Body

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    WS-IWS-I•Alunperin Web Service toteutukset olivat kirjavia ja niiden yhteensopivuus onnesta kiinni•WS-I eli Web Service Interoperability määrittelee profiileja joita pyritään toteuttamaan, ne lyövät lukkoon mitä versioita XML-standardeista käytetään•J2EE 1.4 rakentuu WS-I Basic Profile 1.0:n varaan

    •Myös Microsoft .NET tukee tätä tasoa

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    WS-I Basic Profile 1.0WS-I Basic Profile 1.0•SOAP 1.1 •WSDL 1.1 •UDDI 2.0 •XML 1.0 (Second Edition) •XML Schema Part 1: Structures•XML Schema Part 2: Datatypes•RFC2246: The Transport Layer Security Protocol Version 1.0 •RFC2459: Internet X.509 Public Key Infrastructure Certificate and CRL Profile•RFC2616: HyperText Transfer Protocol 1.1 •RFC2818: HTTP over TLS •RFC2965: HTTP State Management Mechanism•The Secure Sockets Layer Protocol Version 3.0

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    WS-SecurityWS-Security•WS-Security ottaa kantaa XML turva-asioihin kuten digitaaliset allekirjoitukset, XML osien kryptaus, jne•EI ole osa J2EE standardia!•Silti toteutettu osalla palvelimista

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    Esim.Esim.

  • Saka

    ri O

    lli T

    ietu

    ri O

    Y

    SOA - ajattelutapa vai teknologiaSOA - ajattelutapa vai teknologia•SOA on ajattelutapa, joka on tullut ajankohtaiseksi kehittyneiden teknologioiden tarjotessa tavan rakentaa konseptin mukaisia järjestelmiä•SOA:n ajattelutapa liiketoimintaa tukevista järjestelmistä ei sinällään ole mitenkään uusi•Toisaalta myös tietojärjestelmien integrointi on ollut arkipäivääjo vuosia

    –Tosin projektit ovat olleet kalliita sekä tuottaneet usein pettymyksiä

    •SOA:n periaatteiden uusi tuleminen rakentuu pitkälti standardi-integraatiorajapintojen kehittymiseen

    –Web Service standardirajapintojen syntyminen sekä yleistyminen on merkittäväsyy periaatteiden leviämiseen

    •Tarjolla on paljon välineitä, jotka tarjoavat tavan yhdistääjärjestelmiä toisiinsa

  • [email protected]