sakari olli tieturi oy soa - ajattelutapa vai teknologia · service –teknologia avulla –j2ee...
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