Ero sivun ”Palvelukeskeinen arkkitehtuuri” versioiden välillä

[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
MystBot (keskustelu | muokkaukset)
p Botti muokkasi: tr:Hizmet-yönelimli mimari
Ei muokkausyhteenvetoa
Rivi 3:
SOA-arkkitehtuurin mukaan palveluita käyttävinä osapuolina toimivat esimerkiksi toiset sovellukset tai palvelut, jotka käyttävät palveluita yleensä tietoverkkojen (esimerkiksi [[Internet]]in) kautta avointen rajapintojen ja tekniikoiden (esimerkiksi [[Web service|Web Services]]) avulla. SOA-arkkitehtuurin hyödyntämisellä pyritään saavuttamaan entistä avoimempien sekä helpommin integroitavien järjestelmien toteuttaminen. SOA:n odotetaan tuovan ohjelmistojen tuottamisprosesseihin tehokkuutta vähentämällä uusien järjestelmien toteuttamiseen kuluvaa aikaa ja kustannuksia. Helpommalla integroitavuudella tavoitellaan sitä, että uudet sovellukset pystyisivät kommunikoimaan vanhojen, jo olemassa olevien sovellusten kanssa, jolloin myös tietojärjestelmien jälleenkäytettävyys voi lisääntyä.
 
SOA-arkkitehtuurin avulla voidaan saavuttaa etuja sekä (a) organisaatioiden olemassa olevien sisäisten, omien sovellusten välisessä vuorovaikutuksessa, että (b) ulkoisten sovellusten kanssa tapahtuvassa vuorovaikutuksessa. Tämän on tarkoitus toteutua riippumatta sovelluskehitystekniikoista ([[käyttöjärjestelmä]]t, [[ohjelmointikieli|ohjelmointikielet]] ja -tekniikat jne.). Palveluiden pitäisi olla "läpinäkyviä", siten, että jos niiden sisäinen toiminta muuttuu (esimerkiksi palveluita kehitetään teknisesti tai uusia toimintoja lisätään), niiden käyttö tulisi säilyä entisellään eikä tarvetta muutoksien tekemiseen palveluita käyttäviin sovelluksiin tulisi olla.
 
==Tavoitteita==
 
SOA on suunniteltu ratkaisemaan samalla kertaa ainakin kaksi keskeistä ongelmaa;haastetta:
# uusien järjestelmien nopeampinopeamman kehittäminenkehittämisen ja jakelu sekäjakelun
# eri järjestelmien välinenvälisen integrointiintegroinnin.
Tietojärjestelmien integrointitarkoituksiin on toki ollut jo vuosikymmeniä mitä erilaisimpia tekniikoita ja ratkaisuja (mm. järjestelmäkohtaiset ratkaisut, [[COM]]/[[DCOM]], [[CORBA]], [[Java]] RMI, [[XML RPC|XML-RPC]]), mutta yleinen ja yhteisesti käytettävä "standardi" on puuttunut, ja järjestelmien integrointi on jäänyt oikeinkin tehtynä hyvin työlääksi ja kalliiksi, mutta siitä huolimatta joustamattomia ratkaisuja tuottamattomaksi työksi.
 
SOA eroaa perinteisestä järjestelmien keskinäisestä integroinnista siten, että SOA-mallin mukaiset järjestelmät ovat toisiinsa heikosti sidottuja, mutta silti korkeatasoiseen, usein "älykkääseen" vuorovaikutukseen keskenään pystyviä sovelluspalveluita. SOA-mallissa ajatellaan siten jokaisen järjestelmän sisältävän palvelurajapinnan, minkä kautta sovellus voi tarjota toimintojaan "ulkopuolelle";, periaatteessa verkon kautta kaikille sallimilleen järjestelmille.
 
SOA-mallin mukaan toteutettujen järjestelmien palveluiden yhteistoiminta pohjautuu rakenteellisiin ja järjestelmäriippumattomiin palvelukuvauksiin (esimerkiksi Web Service -ratkaisuissa käytetyt WSDL-kuvaukset). Palveluiden kuvaukset "piilottavat" palvelun tarjoajien järjestelmä- ja tekniikkaspesifit osat;. palvelunPalvelun käyttäjällä ei pitäisi edes olla tarvetta tietää millä tekniikoilla palvelu on toteutettu. SOA on täysin "teknologianeutraali";, sillä se ei ota kantaa tekniikoihin (esimerkiksi Java, [[.NET]]) tai ohjelmointikieliin (Java, [[C sharp|C#]], [[PHP]], [[C++]], [[Perl]], [[Ruby]] jne.). Tämä neutraalius mahdollistaa riippumattoman järjestelmien välisen vuorovaikutuksen ja lisää huomattavasti ohjelmistojen jälleenkäytettävyyttä;. kerranKerran hyvin tehtyä palvelua voidaan käyttää periaatteessa rajattomasti muissa sovelluksissa.
 
Toinen SOA:an liittyvä käsite on dynaaminen integrointi;. sovellustenSovellusten pitäisi pystyä automaattisesti paikantamaan tarvitsemansa palvelut, valita sopivista palveluista käyttökelpoisin ja kytkeytyä siihen automaattisesti, palvelun sisältämää rajapintaa hyväksikäyttäen. Tähän käyttötarkoitukseen voidaan hyödyntää [[UDDI]]:n (''Universal Description, Discovery and Integration'') kaltaisia, palveluiden kuvaamiseen ja rekisteröintiin soveltuvia tekniikoita.
==Palveluprosessien kuvaaminen ja hallinta==