Merita Pankin kokemuksia olioista työasemasovelluksissa

Merita Pankin edeltäjäpankeissa on jo vuosia hyödynnetty oliotekniikoita ottamalla pieniä askelia järjestelmäkehityksen osa-alueilla. Merita Pankin systeemityömalli tulee liittämään oliot kokonaisvaltaisemmin systeemityöhön jo esitutkimuksesta alkaen.

Pankin atk-toiminta

Pankki kehittää atk-järjestelmiä asiakaspalvelun tueksi. Alkujaan pääasiallisia käyttäjiä ovat olleet pankkitoimihenkilöt konttoreissa, mutta 80-luvun jälkipuoliskolta alkaen yhä enenevässä määrin asiakkaat itse automaateilla tai omilla työasemillaan.

Pankkitoiminnan kehittyessä tarvitaan pankissa uudenlaisia järjestelmiä vaativien ja vaihtelevien asiantuntijatehtävien tueksi. Liiketoiminnan monipuolistuessa pankki voi tarjota asiakkailleen järjestelmiä ja atk-palveluita uusilta alueilta, esim. sijoittamisen ja rahoituksen tueksi.

Arkkitehtuuri- ja rakentamistapamuutokset sykleissä

Pankissa järjestelmiä rakennetaan sovittuun arkkitehtuuriin nojautuen. Arkkitehtuuria ja rakentamistapaa kehitetään ympäristön ja tarpeiden muuttuessa pala kerrallaan. Konversioita tehtäessä siirtymäkaudet ovat niin pitkiä, että viimeisintä virtausta läpiajettaessa kaikkiin järjestelmiin, on jo uusi ajattelutapa näköpiirissä. Järjestelmät on suunniteltava siten, että vanha toimii ja on hyötykäytössä aikansa, jonka jälkeen vastaava tarve toteutetaan uudella tekniikalla. Välillä tehtävä suurempi harppaus maksetaan joko etu- tai jälkikäteen venyttämällä usein sekä tekijöiden että käyttäjien mielestä tuskastuttavan kauan käytössä olleiden järjestelmien elinikää.

Arkkitehtuuritavoitteita

Suljetusta avoimemmaksi

Pankin DOS-pohjaiset työasemasovellukset ovat olleet melko suljettuja arkkitehtuuriltaan. Lähes kaikki järjestelmän osat ovat olleet itse rakennettuja ja ne ovat kommunikoineet pankissa kehitettyyn standardiin nojautuen. Erityisesti kaikki käyttöliittymät on rakennettu itse, jotta niistä on voitu tehdä yhtenäisiä.

Windows-tekniikkaan siirtymisen yhtenä perusteluna on ollut mahdollisuus käyttää joustavasti valmisosia ja -ohjelmia. Tarkoituksena on standardoida yleinen kommunikointitapa sekä pankissa rakennettujen sovellusten kesken että niiden ja ulkoisten sovellusten välille. Microsoftin Office-tuotteet on valittu toimistojärjestelmän pohjaksi, joten ensimmäiset kokeilut tehdään OLE-tekniikalla. Koska työasema on vielä 16-bittinen, on tässä kohtaa jarruteltu.

Asiakkaalle toimitettavissa järjestelmissä on avoimuus vielä tärkeämpää - pankin toimittaman ohjelman avulla hoidetaan vain osa asiakkaan kirjanpitoon ja laskentatoimeen liittyvistä tehtävistä, joten kommunikointitarve eri sovellusten välillä on ilmeinen. Lisäksi asiakkaan tekniset ympäristöt vaihtelevat, mikä lisää vaatimuksia.

Nopeampaan rakentamiseen

Liiketoiminta kehittyy ja käyttäjien tarpeet muuttuvat yhä nopeammin. Sovelluksia on voitava koota palapelimäisesti itse tehdyistä ja ostetuista komponenteista yhdessä liiketoiminnan asiantuntijoiden ja käyttäjien kanssa protoilemalla. Pankissa Windows-sovellusten arkkitehtuurin kulmakivenä ovat yleiskäyttöisiksi ja pitkäikäisiksi kehitettävät liiketoimintaluokat (toteutusväline C++), joiden vastuulla on pankkitoiminnan säännöistä huolehtiminen. Visual Basicillä rakennetaan käyttöliittymän esittämisosa (presentation), jota voidaan kevyellä panoksella kehittää edelleen tai joka voidaan korvata kokonaan tarpeiden muuttuessa. Esittämisosan ja liiketoimintaolioiden välissä toimivat keskusteluluokkien oliot (C++), jotka ohjaavat käyttöliittymän viestejä liiketoimintaolioille ja muodostavat saamistaan vastauksista tietoja ja palautetta käyttäjälle. Ideana on se, että liiketoiminnan sääntöjen muuttuessa ei käyttöliittymän esittämisosan tarvitse heti muuttua. Vastaavasti käyttöliittymässä tarvittava uusi palvelu saattaa olla jo liiketoimintaluokassa toteutettuna.

Uudelleenkäytöstä yhdessä ympäristössä siirrettävyyteen

Uudelleenkäyttö on koko ajan ollut tärkeä periaate systeemityössä. Eri teknisissä ympäristöissä on ollut omat yleisohjelmakirjastonsa, joita on ahkerasti hyödynnetty.

Työaseman Windows-ympäristöön on ensiksi toteutettu yleisiä teknisiä palveluita ja tietotyyppejä C++-luokkina. Näistä kaikissa ympäristöissä mielekkäät palaset voidaan irrottaa ja siirtää eri ympäristöihin.

Esimerkki: sellaisten koodien kuten postinumero, valuuttakoodi, käsittelyyn on työasemassa C++-luokka, joka lukee sallitut koodit verkkopalvelimen tiedostosta. Samat koodit on tallennettu myös keskuslaitetiedostoihin. C++-luokka, joka tarkastaa koodin, voidaan siis siirtää myös keskuslaitteelle, jolloin se on suoraan keskuslaitteelle yhteyden ottavien asiakasovellusten käytettävissä.

Monipuolisempaa (korkeammalla abstraktiotasolla olevaa) palvelua tarjoavat liiketoimintaluokkien oliot ovat myös vielä työasemassa ajettavia, mutta jatkossa niitä voidaan ajatella siirrettäviksi keskuslaitteelle tai verkkopalvelimelle. Tällöin esim. erilaisissa itsepalvelusovelluksissa voidaan tehdä suoraan samat tarkistukset kuin pankin omissa työasemasovelluksissa.

Dynaamista linkkausta ja olioiden uudelleenkäyttöä binaaritasolla (esim. OLE Server) pidetään suurena mahdollisuutena päästä joustavaan komponenttipohjaiseen systeemityöhön. Windows-ympäristössä parin vuoden aikana saadut kokemukset DLL-kirjastojen versionhallinnan vaikeudesta ovat näyttäneet kolikon kääntöpuolen. Jotta järjestelmät pysyvät hallinnassa ja ajonaikaisilta ongelmilta vältytään, on kehitettävä keinot, joilla komponenttien välisiä riippuvuuksia voidaan kuvata ja hallita.

Bottom-up: tietotyypit

Järjestelmiä on aina kehitetty myös alhaalta ylöspäin siten, että on rakennettu pienet aliohjelmat päivämäärän tarkastamiseen ja muihin vastaaviin tarpeisiin. Yhteen aikaan arveltiin että kehittyy suuret ADA-kielisten pakettien markkinat, joista tällaisia palveluita ostetaan, myöhemmin samaa povattiin C++-luokkakirjastoista. Kehittimissä palvelut ovat yleensä valmiina ohjelmointikielen tietotyyppeinä.

Pankin työasemasovelluksissa tehtiin ensimmäiset oliokokeilut kehittämällä C-kielisiä DOS-sovelluksia varten pankkitoiminnassa tarvittavat perustietotyypit, joista mitään ei sellaisenaan saisi kaupan hyllyltä. Käyttöliittymän rakentamisväline, Dycom Oy:n kehittämä D-Screen, antoi mahdollisuuden kiinnittää ikkunassa esiintyvän tekstikentän itse tehtyyn tietotyyppiin. Jo DOS-sovelluksissa, jotka eivät juuri ole oliopohjaisia, on tietotyypeistä ilmiselvästi hyötyä:

Pankin tietotyyppivalikoima:

Windows-sovelluksille samat tietotyypit toteutettiin C++-luokkina. Näistä voidaan tehdä siirrettäviä ja esim. Internet-käyttöliittymissä hyödynnettäviä.

Järjestelmien kuvaamisessa tietohakemistotasolla on tarkoituksen mukaista käyttää näitä tietotyyppejä, vaikka tietoja ei vielä oliokantoihin tallennettakaan.

Top-down: oliomallinnus

Järjestelmän määrittelyvaiheessa on harjoiteltu oliomallintamista täydennettynä käyttötilanneanalyysillä (Use Case). On haettu sellaisia menetelmiä ja kielenkäyttöä, joka soveltuu yhteistyöhön käyttäjien ja liiketoiminnan asiantuntijoiden sekä muiden sidosryhmien kanssa.

Yksinkertaisestakin käyttötilanneanalyysistä on ollut hyötyä järjestelmän käyttäjäryhmien ja tehtäväjaon hahmottamiseen sekä käyttöliittymän suunnitteluun.

Tuleva systeemityömalli tuonee avun siihen, että liiketoimintaa analysoitaessa kehitettävä oliomalli siirtyy saumattomasti toteutuksen pohjaksi ja säilyy todellisuutta vastaavana myös ylläpitovaiheessa.

Tietotyypin GcAccountNr (tilinumero) tarjoamat palvelut:

Marketta Priha
Merita Pankki
Merita Data
Systeemityön kehittäminen
00020 Merita
puh. 90-165 26255
marketta.priha@merita.merita.mailnet.fi