Omat työkalut
Osiot
Olet täällä: Etusivu > @CSC-lehden arkisto > 2007 > @CSC 3/2007 > Työvuot havainnollisiksi Tavernalla
Sivun toiminnot

Työvuot havainnollisiksi Tavernalla

Taverna (http://taverna.sourceforge.net/) on graafinen työvuo-ohjelma. Taverna soveltuu palveluarkkitehtuuriin, SOA (Service Oriented Architecture), ja sen tarkoitus on mahdollistaa hajautetun järjestelmän sujuva käyttö.

Taverna on kehitetty MyGrid-projektissa bioinformatiikkatyövoiden tekoon. Tavernan lisenssi on LGPL (GNU Lesser General Public License). Javalla toteutettuna se toimii niin Windownsissa, Linuxissa kuin OSX:ssäkin.

Tavernan Web Service -ominaisuudet perustuvat Apachen Axis [2] SOAP-toteutukseen. SOAP on määrittely rakenteisen ja tyypitetyn XML:lla merkatun tiedon vaihtoon hajautetuissa ympäristöissä. Tavernalla  SOAP-palveluiden käyttö ei vaadi ohjelmointia, mutta käytössä on tiettyjä rajoituksia. Esimerkiksi Tavernan biotausta näkyy kaikkien numeeristen tyyppien kuten kokonais- ja liukulukujen puuttumisena nykyisessä versiossa.

Kokemuksen mukaan Taverna ymmärtää SOAP-palvelun määrittelevän WSDL:n [1] (Web Services Description Language) tyyleistä parhaiten document/literal wrapped –tyylin. Lähes kaikki tähtitieteen SOAP-palvelut ovat julkistaneet määrittelynsä vain RPC/encoded –tyylillä, jota Axis-kirjasto käyttää oletuksena. Axis:lla toteutetut palvelut vaativatkin WSDL-tiedoston muokkausta.

Taverna käyttää työvuon tehtävistä termiä processor, joka voi aiheuttaa sekaannusta. Tässä tekstissä processorista käytetään termiä työkalu.

Reflex

Suomen liittymismaksu ESO:on (European Southern Observatory) suoritetaan työnä. Tätä varten on perustettu Sampo-projekti, jossa on mukana henkilöitä mm. Helsingin yliopistosta ja CSC:ltä.

Tärkein projektin tuottamista ohjelmista on ESO Reflex, jossa Tavernan käyttöliittymä on muokattu Wizard-tyyliseksi ja tehty liittymä ESO:n kaukoputkilta tulevan datan käsitteleville C-ohjelmille. Myös käyttäjän omien työkalujen liittämistä työvuohon on helpotettu omilla Python- ja IDL-työkaluilla.

Sivuprojektina ESO:n omien ohjelmien liittämisen lisäksi on kokeiltu Tavernalle luontevaa Virtuaaliobservatiorion (VO)  (tähtitieteen Web Services) käyttämistä. Huolimatta Tavernan rajoituksista onnistui kolmea eri palvelua käyttävän työvuon toteuttaminen.

1. Sesame

Sesame [4][5] on tähtitieteen nimipalvelin. Se palauttaa aurinkokunnan ulkopuolisen kohteen sijainnin (koordinaatit) taivaalla. Taustalla ovat Simbad-, NED- ja Vizier-tietokannat.

Alkuperäiseen WSDL-tiedostoon täytyi lisätä tyhjä soapaction määrittely

 <wsdlsoap:operation soapAction=""/>,

jotta Tavernan WSDL-työkalu olisi sen ymmärtänyt. WSDL-versiomme on osoitteessa

http://www.eso.org/sampo/reflex/instructions/workflows/Sesame.wsdl

XPath [6] ( XML Path Language) on lyhytsanainen (=ei-XML) tapa viitata XML-datan alkioihin. Tavernan XPath -työkalulla oleellinen tieto löytyy helposti VO:n XML vastauksista.


2. MAST

MAST [7] (Multi-Mission Archive at Space Telescope) on käytettävissä SIAP:lla (Simple Image Acceess Protocol). SIAP on REST-arkkitehtuurin mukainen eli sen käyttö sujuu kuten normaalin www:n. Tavernassa tämä mahdollistaa yksinkertaisemman Get_web_page_from_URL työkalun WSDL-työkalun sijaan. Palvelun tulos on XML-muotoinen VOTable, jonka sisältö esimerkkityövuossa esitetään käyttäjälle projektissa kehitetyllä VOTableviewer-työkalulla.

VOTableviewer näyttämien kuvan metatietojen perusteella käyttäjä valitsee kuvan tai pikemminkin sen osoitteen, siihen viittaavan URLin. MAST sijaitsee stsci:ssa, Space Telescope Science Institute, Baltimore:ssa.

3. WESIX


WESIX [8] (Web Enabled Source Identification and Cross-matching) on Web Service -liittymä standardiin tähtitieteen kuvien analyysipakettiin SExtractor:iin. Sen tarjoaa Pittsburgh:in yliopisto. Palvelulle sopii syötteeksi myös kuvaan viiottava URL, mikä on tärkeää etäkäyttäjien kannalta.

Sen sijaan että kuva siirtyisi edestakaisin Atlantin yli Baltimoresta vaikkapa suomalaisen käyttäjän koneelle ja takaisin analyysiin Pittsburgh:iin, riittää kun WESIXille lähetetään pelkkä URL. Palvelu osaa itse hakea kuvan, mikä tässä tapauksessa optimoi tiedonsiirron.

Yleisesti käytettäessä WSDL:lla kuvailtua palvelua Java-ohjelmasta, täytyy Axis kirjaston mukana tulevalla WSDL2Java ohjelmalla generoida  koodi palveluoliolle. Muutokset palvelussa vaativat koodin uudelleen generoinnin ja usein myös asiakasohjelman päivityksen. Mutkikkaat tyypit tuottavat paljon generoitua koodia, joka asikasohjelman tekijän täytyy ymmärtää. Toivottavasti tulevaisuudessa WSDLssa voisi olla tietotyyppien kuvauksen lisäksi linkki public domain kirjastoon, jota voisi käyttää generoidun koodin sijasta.

Koska WESIX vaatii kokonaislukusyötteen, mitä tyyppiä Taverna ei tukenut, palvelun käyttö täytyi toteuttaa generoimalla koodia ja kirjoittamalla oma Java-ohjelma palvelun käyttämiseksi. Sitä kutsutaan Tavernan beanshell -työkalusta[3].

Astrogrid plugin

AstroGrid on Ison-Britannian hallituksen rahoittama avoimen lähdekoodin projekti Virtuaaliobservatorion (VO) suunnitteluun ja rakentamiseen. Projekti on sovittanut kehittämänsä VO:ta (esim. SIAP) käyttävät asiakasohjelmat työkaluiksi Tavernan plug-in -liitäntään. Lisäksi projekti on toteuttanut useita VO-palveluita käyttäviä työvoita Tavernaan. [9]

[1] http://en.wikipedia.org/wiki/WSDL

[2] http://ws.apache.org/

[3] http://www.beanshell.org/intro.html

[4] http://cdsweb.u-strasbg.fr/cdsws/name_resolver.gml

[5] http://cdsweb.u-strasbg.fr/doc/sesame.htx

[6] http://www.w3.org/TR/xpath20/

[7] http://archive.stsci.edu/

[8] http://nvogre.phyast.pitt.edu:8080/wesix/index.jsp

[9] http://www.adass.org:8080/Conferences/2007/Venue/
people/organizers/people/participants/abstract?abstract_id=206

 

Pekka Järveläinen
pekka.jarvelainen at csc.fi