Assemblix-uutiskirje lähetetään MikroPC.netin uutiskirjeen tilaajille. Voit halutessasi poistua lähetyslistalta omista asetuksista.



Tiistai 9.3.2004 klo 16:30

Windows XP -koodaajille korjauspaketillinen opiskelua ja testailua
Sunilta vaaditaan avointa Javaa
Symbian OS 8.0 valmis
WS-I jäsenteli tietoturvariskejä

SOA - seuraava arkkitehtuurisi?

Arkkitehtuuririntamalla on muodostumassa uusi trendi. Kaikkialla on hiljalleen alkanut esiintyä termi service-oriented architecture eli tuttavallisesti SOA. Mitä tämä sitten käytännössä merkitsee ja miten se vaikuttaa sovelluskehittäjiin ja -arkkitehteihin?

Gartnerin arvion mukaan vuoteen 2008 mennessä 60% yrityksistä toteuttaa tietojärjestelmänsä SOA-mallin mukaisesti. Kun katsoo, miten vakavasti Microsoft, IBM ja muut isot pelurit suhtautuvat SOAan, saattaa se hyvinkin olla mahdollista. Tätä auttaa myös se, että vanhat järjestelmät on mahdollista muuttaa SOA-kelpoisiksi jälkeenpäinkin.

SOA != web services

Ensimmäinen ja yleinen virhekäsitys on, että SOAn kuvitellaan merkitsevän arkkitehtuurin toteuttamista web serviceillä tai muutaman web service -rajapinnan ulospäin avaamista.

Ensinnäkin "service" SOA:ssa ei viittaa ainoastaan web serviceihin - vaikka voivat ne toki olla niitäkin - vaan mihin tahansa rajapintaan, joka mahdollistaa sanomien lähettämisen ja vastaanoton. Näin ollen SOAn mukaiset rajapinnat voidaan rakentaa COMilla, CORBAlla, JMS:llä, MSMQ:lla ja tietenkin alustariippumattomilla web serviceillä. Web service on siis protokolla muiden joukossa, kun taas SOA on kokonainen paradigma.

Service-rajapinta ei myöskään välttämättä merkitse sitä, että se olisi julkaistu yrityksen ulkopuolisille tai valituille kumppaneille. Hyvin toteutettu SOA helpottaa myös sisäistä kehitystä, sillä prosesseja on helpompi hallita ja uudelleenkäyttää.

SOA = prosessirajapinnan lisäys

Aikaisempia oppeja olio-ohjelmoinnista tai n-tier -arkkitehtuurien mukaisista järjestelmistä ei tarvitse unohtaa. Nämä voivat edelleen olla järjestelmän perustana, kunhan eivät näy liiketoimintalogiikkaa käyttäville.

SOA tuo entiseen  malliin uuden palvelukerroksen, joka yksinkertaistaa oliorajapintoja käyttöliittymiä ja integrointia kehittäviin päin. Palvelukerroksesta voidaan sen jälkeen ohjata suurempia kokonaisuuksia kerralla.

Kyse ei ole kuitenkaan puhtaasta facade-patternista, vaikkakin pattern-guru Martin Fowler saattaakin SOAn yhteydessä puhua remote facadesta

Käyttöliittymäkehittäjien ja integroijien ei tarvitse sisäistää miten järjestelmän sisäinen oliomalli toimii, vaan he kutsuvat yksinkertaisia palvelurajapintojen komentoja kuten "Lisää tilaus" tai "Tarkista luottotiedot".

Tärkeää on se, että palvelurajapinta julkistaa kokonaisiin prosesseihin liittyviä kutsuja, jotka käsittelevät kerralla suurempia kokonaisuuksia. Näin saadaan myös vähennettyä ja yksinkertaistettua "kallista" liikennettä käyttöliittymän, ja liiketoimintalogiikkakerroksen, sekä erityisesti joukko-operaatioihin optimoitujen relaatiotietokatojen välillä.



SOAn löyhästi kytketty (loosely-coupled) malli tuo myös joustavuutta, sillä vaikka alla piilevä implementaatio muuttuisi, ei se välttämättä näy palvelurajapinnassa mitenkään. Prosessien muuttuessa palvelurajapintaa kutsutaan eri tavalla sitä kontrolloivassa ratkaisussa.

Esimerkiksi BizTalk Serverin kaltaiset message broker -tuotteet on helppo valjastaa kontrolloimaan prosessia. Graafinen orkestraatio mahdollistaa muutokset prosessinkulkuun ilman muutoksia koodiin, mikäli palvelurajapinnat on selkeästi toteutettu. Näin tekniikka ei sanele yrityksen liiketoiminnan suuntaa tai hidasta muutoksen toteuttamista, kuten pitääkin olla.



Lisää skaalautuvuutta

Skaalautuvuutta helpottaa esimerkiksi se, että käyttöliittymän lomakkeelle voidaan hakea SOA-rajapinnan avulla kaikki tiedot yhdellä pyynnöllä useamman pienen sijaan. Kuten vanha sääntö sanoo: "On parempi siirtää 1000 tavua yhdellä kertaa, kuin yksi tavu 1000 kertaa".

Esimerkiksi web-sivu voi sisältää useita, dynaamisia elementtejä, joihin tiedot haetaan tietokannasta. Usein näkee ratkaisuja, joissa yhden sivun näyttämiseksi tehdään useita pyyntöjä tietokantaan. Tämä merkitsee ennen pitkää huonoa skaalautuvuutta, jota ei aina välimuistiratkaisuillakaan voida korjata.

Forresterin tutkimuksen mukaan käyttäjä poistuu sivulta, ja harvoin palaa, mikäli lataukseen menee neljä sekuntia pidempään. Parempi lähestymis­tapa skaalautuvuuden ja suorituskyvyn kannalta olisi siis tietojen nouto kannasta yhdellä pyynnöllä. Saadulla paketilla täydennetään sitten portaalin tai käyttöliittymän lomakkeen tiedot.

Valkoiset hevoset apuun

SOA merkitsee uusia haasteita sovellusten toteuttamiseen, mikä merkitsee myös muutoksia työkalurintamalla. Esimerkiksi Microsoftilla on tulossa liuta teknologioita ja tuotteita, jotka helpottavat SOA-mallisten sovellusten toteuttamista ja SOA tulee näkymään laajemmin varmasti myös Java-puolen tarjonnassa, erityisesti J2EE-sovellus­palvelimissa.

Yksi tärkeimmistä parannuksista seuraavassa Visual Studio .NETissä on epäilemättä Whitehorse-koodinimellä kulkeva mallinnustyökalu, joka on kehitetty erityisesti SOAa ajatellen. Aiheesta löytyy vielä suhteellisen niukasti tekstejä ja varsinkin kuvia, mutta jotain käsitystä saa esimerkiksi MSDN TV:n Whitehorse-videosta.

Muita Microsoftin SOAa tukevia teknologioita ovat esimerkiksi Indigo ja äskettäin julkaistu BizTalk Server 2004. Shadowfax on SOAa toteuttava esimerkkiarkkitehtuuri, jota toteutetaan yhteisövoimin GotDotNetin Workspaces-projektina.

Java-rintamalla tullaan näkemään erilaisia parannuksia ja laajennuksia J2EE-toteutuksissa, kuten WebSpheressä ja WebLogicissa. Esimerkiksi Blue Titan Softwaren Network Director 2.0 tuo WebLogiciin SOA-laajennuksen.

Oli käyttöjärjestelmä tai kehitysalusta mikä tahansa, SOA on selkeästi suunta, mihin ollaan menossa. Se ei tietenkään sovi kaikkiin tilanteisiin, mutta tietojärjestelmiä toteuttaessa sitä kannattaa harkita yhtenä vaihtoehtona.

Joni Moilanen

Kirjoittaja työskentelee Sinisessä Meteoriitissa ohjelmistoarkkitehtinä ja on MikroPC-lehden vakituinen avustaja.




Uutiset

 

Windows XP -koodaajille korjauspaketillinen opiskelua ja testailua

Windows XP:n toinen korjauspaketti tuo käyttöjärjestelmään paljon turvamuutoksia, joista puolestaan aiheutuu kerrannaisvaikutuksia Windows-ohjelmoijille ja web-sivujen rakentelijoille.

Microsoft on aloittanut hyvissä ajoin tiedotus- ja koulutuskampanjan, jolla se pyrkii varmistamaan että ohjelmoijat ehtivät testaamaan ja tarvittaessa muokkaamaan koodinsa SP2-yhteensopivaksi. Yhtiö on julkistanut kehittäjille suunnatun XP2-tiedotussivuston MSDN-verkkopalveluunsa. MSDN- ja Technet-tilaajille jaetaan parhaillaan testauskäyttöön XP2:n betaversiota.

Korjauspaketin turvamuutokset jakaantuvat neljään pääryhmään: verkko, muisti, liitetiedostot ja selailu. Näiden lisäksi SP2 tuo Windows Installer -asennusmoottorista uuden 3.0-version, jossa tuetaan päivitysten delta-siirtoa. Korjauspakettien tiedostokokoa saadaan uudella siirtotavalla pienennettyä nykyisestä reippaasti.

Verkkosuojaa parantava Windows Firewall hallitsee RPC-portit ja suodattaa liikennettä prosessin omistajan käyttäjätunnuksen perusteella älykkäästi. Kehittäjille on tarjolla myös uusia rajapintoja palomuurin porttiavausten hallintaan.

DCOM-tekniikkaan on kehitetty entistä hienojakoisemmat oikeustasomäärittelyt. Etä- ja paikalliskutsujen turvatasot on nyt määriteltävissä erikseen.

Muistisuojauksen perustana on prosessoreiden tukema mekanismi, jolla erotellaan ohjelmakoodia sisältävät muistilohkot muista datalohkoista. NX- eli No Execute -merkinnällä varustettujen muistialueiden sisällön suorittaminen aiheuttaa poikkeuskeskeytyksen. Muistisuojauksen hyödyntäminen edellyttää koodin uudelleenkääntöä uusimmalla Visual Studio .NET -versiolla.

Liitetiedostojen turvalliseen käsittelyyn on lisätty käyttöjärjestelmätasoinen Attachment Execute Service -palvelu, jolla korvataan aiempi AssocIsDangerous()-mekanismi. Sovellukset voivat tarkistaa liitetiedoston käsittelysäännöt uudella IAttachmentExecute::CheckPolicy -kutsulla.

Selainmoottorissa on rajoitettu pop up -ponnahdusikkunoiden villiä automaattiavautumista. Vain erikseen luetelluilla sivustoilla on lupa avata käyttäjän selaimessa ponnahdusikkunoita. Skriptimoottoriin on lisätty poikkeustilan käsittelylohko, jotta ohjelmoija voi luoda vaihtoehtoisen näkymän ponnahdusikkunan kieltotilanteessa.

Microsoft tekee XP-korjauspakettiin liittyen muutoksia myös Visual Studio .NET -kehitysvälineeseen ja .NET-ajoympäristöön.

Yleiseen loppukäyttäjäjakeluun SP2:n odotetaan valmistuvan vuoden puolivälin kieppeillä.

 

Sunilta vaaditaan avointa Javaa

Kehittäjäyhteisöissä on viime aikoina alettu vaatia Sunilta entistä avoimempaa Java-strategiaa. Keskustelua vauhditti helmikuun puolivälissä Open Source Initiativen johtajan Eric S. Raymondin avoin kirje, jonka tämä kirjoitti vastineeksi Sunin pääjohtajan Scott McNealyn analyytikkotapaamisessa pitämälle puheelle.

Kirjeessä Raymond haukkuu Sunin avoimen koodin linjauksia epämääräisiksi ja pelottelee tekniikan olevan uhattuna, mikäli lähdekoodin ja standardien hallintaa ei vapauteta. Raymond rinnastaa Javan vuonna 1984 Sunin julkaisemaan NFS-tekniikkaan viitaten sen nopeaan yleistymiseen.

Myös IBM on lähestynyt vastikään Sunin johtajia samasta aiheesta: Suuri sininen ehdotti riippumattoman Java-toteutusprojektin aloittamista tarjoten tähän kehitysresursseja ja muutenkin aktiivista yhteistyökumppanuuttaan.

 

Symbian OS 8.0 valmis

Symbian OS -käyttöjärjestelmän suurpäivitys 8.0:aan on valmistunut. Mobiililaitteissa ja varsinkin Nokian älypuhelimissa suositun käyttöjärjestelmän uusi versio tarjoaa muun muassa vaihtoehtoisen reaaliaikaytimen, uudet Java-ajoympäristöt (CLDC 1.1:n ja MobileMedia sekä 3D-toiminnot), SyncML-pohjaisen laitehallinnan ja parannetun multimediapinon (Media Device Framework).

Aiemman perusytimen rinnalle kehitetyn reaaliaikaytimen ansiosta laitevalmistajat voivat rakentaa yhteen mikropiiriin perustuvia puhelinmalleja. Nykyisissä laitetoteutuksissa kuten Texas Instrumentin OMAP:issa piirejä on oltava kaksi: yksi kännykän radioliikenteelle ja toinen käyttöliittymälle.

Uuden käyttöjärjestelmän saapumista päätelaitteisiin on odoteltava vielä tovi. Vastikään 3GSM-tapahtumassa julkistettujen puhelinten kuten Nokian 9500-kommunikaattorin käyttöjärjestelmänä on vanhempi Symbian OS 7.0.

 

WS-I jäsenteli tietoturvariskejä

Web-sovelluspalvelujen standardeja ja tekniikan kaupallista käyttöä koordinoiva WS-I julkisti helmikuun lopulla web services -tieto­turvaa käsittelevän WS-I Security Scenarios -dokumentin esiversion.

Dokumentin tehtävänä on selvittää web-sovelluspalvelujen soveltamiseen liittyviä turvahaasteita ja uhkia sekä näihin soveltuvia suojauskeinoja. Julkaisussa ei vielä esitetty lopullisia toimintamalleja vaan erilaisia vaihtoehtoja ja jotakin "kättä pidempää" nykyisten turvastrategioiden suunnittelijoille.

WS-I julkaisee myöhemmin tänä vuonna Basic Security Profile -dokumentin, jossa esitetään yhteisiä turvakäytäntöjä eri valmistajien toteutusten vakioimiseksi.



Kehittäjäaiheisia linkkivinkkejä

"Mono and dotGNU: what's the point?"
  Mono ja dotGNU yltävät parhaimmillaan ehkä 99 prosenttiin esikuvastaan. Viimeinen prosentti on kuitenkin monelle ratkaiseva!

BSOD-ruudulle bannereita?
  Olisikohan XP SP2:ssa Blue Screen of Death valjastettu vihdoin kaupalliseen käyttöön?

"Solving and creating captchas with free porn"¨
  Spammaajat käyttävät ilmaista pornoa "captchojen" murtamiseen.




Aiemmin ilmestyneet Assemblix-kirjeet:

  • Ammatti: suomalainen ohjelmoija
  • Webin uudet rakennusvälineet
  • Lukittu ja leikelty Longhorn
  • SP2: Tuhoa ja turvaa
  • Microsoft-messut identiteettikriisissä
  • Koodaajan patenttiviidakko
  • Elinkaareutuvaa Microsoft-koodausta
  • Monoa Microsoftille
  • Kuka valvoo koodia?
  • Hidasta hommaa
  • Vapaus valita
  • Paineessa viisasteltu
  • SOA - seuraava arkkitehtuurisi?
  • Koodin tähteet
  • Longhorn-lähetystyöntekijät liikkeellä
  • Miten sujui softabisnes vuonna 2003?
  • Käyttöjärjestelmä ohjaa kehittäjää
  • Mitä siellä toimistossa oikein tapahtuu?
  • Missä viipyy Smartphone?
  • Harmaantuvia koodivelhoja vai välkkyjä moniosaajia?
  • Avantoavusteinen ohjelmointi: suomalaiskoodarin salattu doping?
  • Mini-Assemblix
  • Web-sovelluspalvelujen kypsymistä odotellessa
  • Rekursiivisesti sisältökriittistä rönsyilyä
  • Pääkopan epäsymmetriasta vielä
  • Ohjelmoijantauti
  • Kenen koodia käytät?
  • GOTO kesälaitumelle
  • Sovellusarkkitehtuurien hienosäätöä
  • Koodi pääsee lööppiin
  • Windows-arkkitehtuurin alasajo
  • Avointa propagandaa
  • Uskallatko päästää Microsoftin taskuusi?
  • Softaduunarin äkkisukellus
  • Turvatonta tulevaisuutta
  • Naiset ja menetelmät puhuttivat
  • Sukupuolikoodi
  • Toimiiko äärikoodaus, laihduttaako Atkins?
  • Löysä XML kiihtyy raudalla
  • Java ja oikeusorientoitunut ohjelmointi
  • Ei vielä uhanalainen
  • Valitse vuoden kehittäjäväline
  • Tienaatko riittävästi?
  • Keskinkertaisuus kannattaa?
  • Web services + xml = hype^2
  • Pingviiniksi pingviinin paikalle?
  • Assemblix-pilotti


  • © 2002-2007 X-Telnet Oy   Aineiston uudelleenjulkaisu ilman lupaa kielletty