• Ei tuloksia

3. INFORMAATION JAKELUALUSTAT

3.2. Invision

Invision (Quay Financial Software Limited) [7] on tiedontuottajista ja laitteistotyypistä riippumaton reaaliaikaisen informaation jakelujärjestelmä, joka tarjoaa palvelut muuttuvan fmanssitiedon välittämiseen tiedonsiirtoverkossa. Se on myös tiedon esittämisjärjestelmä, jonka pääasiallisia käyttökohteita ovat reaaliaikaiset kaupankäyntijärjestelmät. Invision mahdollistaa myös tiedon vastaanottamisen useilta tiedontuottajilta yhteen järjestelmään, tiedon käyttäjille jakelun kontrolloimisen, esitystavan muuttamisen halutuksi ja tiedon käsittelyn omilla sovelluksilla. Invision tarjoaa myös suuren joukon asiakaspään sovelluksia välitetyn tiedon seurantaan ja analysointiin, kuten päätöksenteon tukijärjestelmiä.

Järjestelmä perustuu yleisimpien laitteisto-, ohjelmisto- ja verkkostandardien ja ratkaisujen käyttöön.

Tämä lisää järjestelmän riippumattomuutta laitteisto- ja ohjelmistotoimittajista. Myös järjestelmän palveluiden integrointi asiakkaan olemassa olevaan tietojärjestelmään helpottuu. Samalla tarve laiteinvestointeihin vähenee, sillä Invision-järjestelmät voivat toimia samassa tiedonsiirtoverkossa kuin asiakkaan järjestelmät, ja loppukäyttäjän Invision-sovellukset voivat toimia esimerkiksi samassa PC:ssä kuin asiakkaan omat sovellukset.

Avoin järjestelmäarkkitehtuuri mahdollistaa tiedon vastaanottamisen Invision-järjestelmään mahdollisimman monilta tiedontuottajilta ja tiedon syöttämisen useisiin eri toimittajien loppukäyttäjän sovelluksiin useilla eri tavoilla. Kun tieto on vastaanotettu Invision-järjestelmään, pyrkii se siirtämään tietoa loppukäyttäjille tavalla, joka minimoi ulkoisen tiedon vastaanottomäärät ja näin vähentää asiakkaan tiedonsiirtokustannuksia. Tässä erilaiset tiedon puskurointimenetelmät ovat tärkeitä. Samalla tärkeitä ovat käyttäjäystävälliset liittymät järjestelmän palveluihin. Ne tarjoavat useita eri tapoja loppukäyttäjälle ja asiakkaan omille kehittäjille käyttää järjestelmän palveluja jopa ilman perinteistä ohjelmointia.

Ulkoinen tietolähde

Ulkoinen tietolähde

Palvelu-linkki

Palvelu-linkki

Palvelu-linkki

Lähiverkko

Työasema Työasema

Kuva 3.1. Invision arkkitehtuuri

Invision-järjestelmän arkkitehtuuri perustuu työasemista ja palvelulinkeistä (.service gateway) koostuviin lähiverkkoihin (.Local-Area Network, LAN) (kuva 3.1). Palvelulinkit hallitsevat yhteyksiä ulkoisiin tietolähteisiin ja välittävät niiltä saapuvaa tietoa Invision-järjestelmään. Työasemat tarjoavat palvelut tiedon seuraamiseen ja edelleenkäsittelyyn. Useita mainituntyyppisiä verkkoja voi olla järjestelmässä yhdistettynä toisiinsa sillalla ja nämä verkot voivat käyttää toistensa Invision-palveluja

useilla eri tavoilla (kuva 3.2).

Sijaintipaikka 1

Sijaintipaikka 2

Kuva 3.2. Invision-järjestelmät

Invision arkkitehtuuri perustuu asiakas/palvelin-malliin käyttäen hyväksi rinnakkaisen ja hajautetun laskennan menetelmiä. Sovellusten välinen tiedonsiirto on kahdenvälistä ja yhteydellistä. Näin pystytään helpommin havaitsemaan mahdolliset fyysiset häiriöt tiedonsiirtoyhteyksissä ja palvelujen tarjoaminen kaukoverkoilla {Wide-Area Network, WAN) on käytännöllisempää.

Invisionin arkkitehtuurissa on käytetty useita eri menetelmiä vikasietoisuuden ja luotettavuuden takaamiseksi. Kriittisin piste Invision-järjestelmän toiminnan kannalta ovat palvelulinkit. Yhteen palvelulinkkiin voidaan yhdistää useampia yhteyksiä ulkoisesta tietolähteestä, jolloin yhden yhteyden katketessa yhteys tietolähteeseen todennäköisemmin säilyy. Useamman yhteyden toimiessa voidaan kuormaa jakaa useamman linjan kesken ja näin parantaa suorituskykyä. Varsinainen palvelulinkki voidaan myös jakaa useammalle fyysiselle keskusyksikölle, jotka toimivat yhteistyössä lähiverkon sisällä ja muodostavat yhden loogisen palvelun. Näin yhden keskusyksikön vioittuminen ei estä kyseisen palvelulinkin toimintaa. Invision-järjestelmän asiakaspää voidaan asettaa ottamaan yhteys automaattisesti uuteen palvelimeen käytetyn vioituttua. Samalla voidaan jakaa myöskin palvelun aiheuttamaa kuormaa useamman keskusyksikön kesken.

Asiakaspäät lähettävät säännöllisin aikavälein ns. heartbeatsiestiä kaikille palvelulinkeille, joihin ne ovat yhteydessä. Näin ollen palvelulinkin vioittuminen havaitaan aina viimeistään tämän aikajakson kuluttua, jolloin asiakassovelluksen käyttäjiä voidaan informoida menetystä yhteydestä. Järjestelmä yrittää aina havaitun katkoksen jälkeen automaattisesti uutta yhteyttä palvelulinkkiin ja uuden

yhteyden synnyttyä asiakaspään tieto päivitetään ajantasaiseksi ja syntyneestä yhteydestä tiedotetaan asiakassovelluksen käyttäjälle.

Invision toimittaa useita sovelluksia asiakaspäähän tiedon vastaanottamiseen ja analysointiin. Tämän lisäksi tarjotaan useita tapoja käyttää hyväksi järjestelmän välittämää tietoa:

Dynamic Data Exchange (DDE) sallii kaksisuuntaisen tiedonvälityksen ohjelmille, jotka toimivat joko MS-Windows, MS-Windows NT, MS-Windows 95 tai OS/2 ympäristössä. DDE:tä tukevat ohjelmat voivat vastaanottaa reaaliaikaista tietoa Invision-järjestelmästä. Näistä esimerkkinä mainittakoon reaaliajassa päivittyvät taulukkolaskimen taulukot. Invision-järjestelmälle voidaan myöskin lähettää tietoa DDE:n välityksellä joko näytettäväksi tai edelleen välitettäväksi. DDE- linkkien käyttöä helpottaa mahdollisuus kopioida linkkejä suoraan Invisionin omista näytöistä muihin ohjelmiin leikkaa/liimaa-menetelmällä.

• Sovellusohjelmointirajapinnat (API) tarjoavat mahdollisuuden tiedon lähettämiseen Invision- järjestelmään ja tiedon vastaanottamiseen Invision-järjestelmästä omissa sovelluksissa. Samalla SQL tietokantatuki sallii päivittyvän tiedon siirtämisen automaattisesti haluttuun SQL-tietokantaan Invision-järjestelmästä. Käytännöllinen esimerkki ominaisuudesta on tietyn hyödykkeen historiallisen hintakehityksen keräämisessä tietokantaan.

• Invision makrokieli mahdollistaa Invision-järjestelmän palvelujen muokkaamisen omaan käyttöön sopivaksi. Makroilla voidaan automatisoida järjestelmän toimintoja ja käsitellä järjestelmän välittämää tietoa useilla eri tavoilla. Niitä voidaan käyttää myös tiedon välittämiseen järjestelmän sisällä palvelusta toiseen.

Arviointi

Invision-järjestelmään on valmiiksi saatavana useimpien suurten tiedontuottajien tietoa vastaanottavat palvelulinkit, joita edellisessä luvussa kutsutaan myös nimellä 'feedhandler'. Myöskin omien palvelulinkkien rakentaminen on mahdollista niitä tiedontuottajia varten, joille sitä ei ole valmiiksi kirjoitettu. Näiden palvelulinkkien rakentamista varten Invision-järjestelmässä on API, jonka välityksellä tietoa järjestelmään syötetään. Vastaava API on saatavilla myös niitä varten, jotka haluavat rakentaa ohjelmia, jotka vastaanottavat järjestelmästä tietoa. Invision-järjestelmässä asiakasohjelman on tiedettävä, mikä palvelin haluttua palvelua tarjoaa. Asiakasohjelman pitää ottaa erikseen yhteys kaikkiin palvelimiin, joiden palveluja se haluaa käyttää ja palvelimen on erikseen välitettävä tieto kaikille sitä haluaville asiakasohjelmille. Vaatimus palvelun sijaintiläpinäkyvyydestä jää siis toteutumatta. Invision ei myöskään toteuta aiemmin mainittua tilaaja/julkaisija-mallia. Invision takaa kuitenkin joko tiedon siirtymisen vastaanottajalle tai tiedon siirtotien vikaantumisesta asetetussa ajassa vastaanottajalle ja lähettäjälle. Palvelulinkkien rakentamiseen käytetty API huolehtii tiedon puskuroinnista vastaten useimmiten tuleviin kyselyihin suoraan puskurimuistista. Näin kyetään

lyhentämään useimpien palvelujen vasteaikaa. Myös eri lähiverkossa sijaitsevan palvelun käyttö on mahdollista. Invision täyttää perusvaatimuksista siis viisi (TuoR, KulR, TAjant, Pusk, TuYL).

Invision-järjestelmässä Vikasietoisuus hoidetaan lähinnä palvelulinkeillä. Mahdollisuus ottaa useita yhteyksiä palvelulinkistä tiedontuottajaan mahdollistaa palvelulinkin toiminnan jatkamisen, vaikka osa yhteyksistä tiedontuottajaan vikaantuisi. Samaa ominaisuutta voidaan käyttää myös suorituskyvyn parantamiseksi jakamalla kuormaa eri linjoille. Toisaalta se, että asiakasohjelman on itse havaittava palvelun toimimattomuus ja otettava yhteys etukäteen määriteltyyn vaihtoehtoiseen palvelulinkin laitteistoon, monimutkaistaa asiakasohjelmien hallintaa ja luontia. Järjestelmän suorituskykyä voidaan parantaa jakamalla palvelulinkkejä useammille fyysiselle laitteistolle. Palvelulinkkien jakoa voidaan myös käyttää vikasietoisuuden parantamiseksi. Järjestelmä ei kuitenkaan automaattisesti tasaa kuormaa eri laitteistojen välillä, vaan asiakasohjelmille etukäteen määrätään, mihin laitteistoihin ne ovat yhteydessä. Palvelujen lisääminen dynaamisesti voi siis olla melko hankalaa.

Invision sisältää ominaisuuksia, joilla voidaan jonkin verran estää järjestelmän asiakasohjelmien aiheuttamaa tahatonta tai tahallista häirintää. Palvelulinkit ovat kiinni järjestelmässä ODS-rajapinnan (Object Distribution System) kautta. Sen tehtävänä on tarkistaa asiakasohjelmien oikeuksia palvelun käyttöön ja jakaa palvelua etukäteen määriteltyjen prioriteettien mukaan eri asiakasohjelmille kilpailutilanteissa.