Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja, mashupeja. Verkkopalvelujen rajapinnat tarjoavat palveluja, joita ohjelmoijat voivat hyödyntää omissa sovelluksissaan/palveluissaan. Web-rajapintojen avulla voidaan luoda uusia palveluja, yhdistellään sisältöjä eri tietolähteistä 1
Esimerkiksi normaalisti mashup on Googlen karttapalvelua hyödyntävä sovellus. Kartta voi toimia käyttöliittymänä monenlaiselle paikkasidonnaiselle tiedolle. Esimerkiksi valokuvat ja videot voidaan esittää kartalla kuvauspaikkaan perustuen. Web-rajapintojen ovat avoimuudesta ja ohjelmointikielestä riippumattomuuden vuoksi rajapintoja hyödyntävät sovellukset yleistyvät nopeasti. Sovelluksen voi toteuttaa C#-kielellä, javascriptillä,... Ohjelmoijan tehtäväksi jää etäkutsun palauttaman xmlmuotoisen sisällön muokkaaminen omaan sovellukseensa soveltuvaan muotoon. Web-sovellusten lisäksi rajapintaa voivat käyttää työpöytä- ja mobiilisovellukset. Mobiilisovelluksissa ollaan vasta hyödytämässä aina käytettävissä olevan tietoliikenteen mahdollisuuksia. 2
Tietoturva, avoimet web-rajapinnat Pahimpana uhkana pidetään XSS-haavoittuvuutta (Cross-Site-Scripting) Tilanne syntyy, kun web-palvelin ottaa vastaan dataa ulkoisesta lähteestä ja lähettää sen eteenpäin validoimatta ensin sen sisältöä. Suojatuminen edellyttää sivujen ohjelmoijalta tietoturvallisen ohjelmoinnin periaatteiden noudattamista. Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden ja asiakkaiden verkkoihin eri sovellusten välistä tiedonsiirtoa varten. -tekniikan avulla tietoja voidaan siirtää kahden eri sovelluksen välillä Internetin kautta standardoidulla tavalla. (varastotilanne - valvontajärjestelmä) Sovellukset sopivat yhteydestä - standardin protokollien avulla. 3
teknologian avulla on parannettu yritysten sisäisiä projekteja ja prosesseja. mahdollistaa eri muodoissa tuotetun tiedon yhdenmukaisen ja reaaliaikaisen käsittelyn, jolloin tiedot ovat heti käytettävissä. Vanhat ongelman ratkaisu -ohjelmistot voidaan liittää prosessipohjaiseen ajatteluun Web Services teknologialla. Toteuttamalla porttaaleihin prosessien näkymät -standardien avulla voidaan pidentää sovellusten/palveluiden elinkaarta. Käyttäjän ei ole enää tarpeellista käyttää taustalla olevaa vanhaa järjestelmää vanhalla tavalla. Haluttaessa käyttää eri sovellusten tietoja yhdessä mahdollistaa XML-tietojen yhteismitallistamisen. mahdollistaa järjestelmä integraation, mutta ei tarjoa lopullista ratkaisua integraatio-ongelmiin. mahdollistaa järjestelmien nopeamman liittämisen kuin uusien järjestelmien hankinnalla saavutettaisiin. 4
Yhdistämisestä paras hyöty yhdistettäessä loppukäyttäjän palveluita. Useimmiten asiakas-palvelinsovelluksista rakennetaan muiden web-liittymien kaltaisia toteutuksia yhdistettäessä eri yritysten toimintoja. SOA, SOA-arkkitehtuuri perustuu xml:ään ja teknologioihin Mahdollistaa joustavan mukautumisen tuleviin muutoksiin Kustannustehokas Toteutukset perustuvat olemassa oleviin järjestelmiin Tukee avoimuutta Tukee järjestelmien ristiinkäyttämistä SOA, Yhtenä syynä palvelutermin käyttämiselle on termin yleisyys verrattaessa esimerkiksi olioohjelmointia. Yhtenä näkemyksenä on vanhojen asioiden nimeäminen uudestaan SOAssa. Toisaalta SOA tuo mukanaan määritellä palvelut standardin mukaisella tavalla, jolloin palveluiden kehittäminen jatkossa on helpompaa. 5
SOA, Palveluille määritellään rajapinnat monipuolisesti. Tiedonkulussa käytetään standardoituja menetelmiä Tällöin palvelua voidaan hyödyntään jatkossa toteutettaessa uusia palveluita. Myös palvelun käyttötarkoitus voi vaihtua toiseksi. SOA, Normaalisti SOA määritellään käyttämään XML ja palveluita, mutta oikeastaan SOA voi sisältää mitä tahansa teknologiaa. Uusi termi vanhoille asioille Normaalisti SOA arkkitehtuureja toteutetaan Javalla tai.net:lla. Tällöin mahdollistuu olemassa olevien järjestelmien kustannustehokas uudelleenkäyttö. 6