Integrointi
ERP (Toiminnanohjausjärjestelmä) Henkilöstö, palkanlaskenta Kirjanpito Myynti Myynti Myyjät Laskutus, reskontrat Tietovarasto Extranet Asiakas Asiakas- rekisteri Varasto- kirjanpito Tuotannon ohjaus ERP
Miksi ERP? 1/2 Pakettiohjelman edut: Nopea toimitusaika Edullinen (!?!) Laatu testattu Yksi järjestelmä kattaa kaikkien (??) tarpeet -> Periaatteessa vain asiakassovellus/näkymä järjestelmään muuttuu käyttäjän mukaan Tiedon kulun nopeus (esim. varastosaldon seuraaminen tai myynti-laskutus-kirjanpito)
Miksi ERP? 2/2 Tiedon jakaminen fyysisestikin eri paikkojen välillä on helppoa Automatisointi, esim. tilaus -> laskutus -> kirjanpito/reskontra tilaus <-> varasto -> tuotanto -> osto tilaus <-> asiakastiedot
ERP:n rajoitteet On sopeuduttava arkkitehtuuriin On sopeutettava omat toimintatavat tuotteeseen tai tehtävä mittavia muutoksia valmiiseen pakettiin Integrointi muiden järjestelmien kanssa on todellinen haaste Pystyttäminen joka tapauksessa mittava projekti Järjestelmät usein suljettuja – kuitenkin muuttumassa avoimiksi ja www-pohjaisiksi Jättimäinen kaikki-tai-ei-mitään-paketti – kuitenkin muuttumassa modulaarisiksi ja avoimiksi
ERP - WWW
??? Integrointitilanne Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät ??? Laskutus, reskontrat Extranet Asiakas Asiakas- rekisteri Varasto- kirjanpito Tuotannon ohjaus
Integraation taso Tiedon integrointi API-tasoinen integraatio Usein riittävä Tietosisällön määrittely, vastaavuuksien tunnistaminen Valmiuden useimmissa nykyjärjestelmissä API-tasoinen integraatio CORBA, DCOM, Java RMI Metodi- ja UI-taso
Sovellusten integrointi Vaatimukset Vaatimukset Vaatimukset Varottava liian korkean integrointitason tavoittelemisen teknologiahuumaa Legacy Systems -ongelmat Integrointi-ohjelmistojen hyödyntäminen
Ohjelmiston kokonaiskustannukset Ohjelmiston hinta Ohjelmiston käyttöönotto/muokkaus Koulutus Laitteistosta, tietoliikenteestä yms. aiheutuvat kulut Ylläpitokulut IT-henkilöstökulut (käyttöönotto, ylläpito, tuki)
Järjestelmien välinen kommunikointi – one to one Suoraan Järjes-telmä 1 Järjes-telmä 2 Täytyy tuntea toinen järjestelmä – ongelma varsinkin, kun useita järjestelmiä Ei salli muutoksia Synkroninen – suorituksen keskeytyminen
Järjestelmien välinen kommunikointi – one to one Middle- ware Järjes-telmä 2 Asynkroninen Esim. Yksinkertainen jonokäsittelijä Tiedon muunnokset – voidaan päivittää toista järjestelmää toisen tietämättä Reititys – ei tarvitse tietää toisen sijaintia
Many to Many Many-to-Many MW Järjestelmä 3 Järjestelmä 2 Järjestelmä 4
Message Broker Tiedon muunnokset Jonokäsittelijä Säännöt tiedon muunnosta ja reititystä varten Reitityslogiikka Tietää, kuka vastaa mistäkin palvelusta Voi lähettää saman viestin myös useille Tietää, ketkä kaikki tarvitsevat mitäkin tietoa Missä muodossa kukakin tietoa tarvitsee
Hajautetut oliot (Distributed objects) Integroinnin taso Tiedon jakaminen < toiminnallisuuden jakaminen Uusiin järjestelmiin Etua, kun on tarve jakaa paljon yhteisiä metodeja Corba vs. DCOM Periaatteena, että sovelluksen ei tarvitse paikallistaa kutsuttava oliota
CORBA Standardi olioiden jakamisen toteutukseen OMG (Object Management Group): IBM, Apple, Sun ym. Julkaistiin vuonna 1991, mutta ei tuloksia vielä monee vuoteen sen jälkeen Tuki useimmille ohjelmointikielille Ongelmia: Suorituskyky Palautumismekanismien puuttuminen Huono skaalautuvuus
CORBA TOTEUTUS Olio 1 Olio 2 ORB IDL = Interface Definition Language Stub IDL Skeleton ORB IDL = Interface Definition Language ORB = Object Request Broker
Kutsu asiakkaan kannalta Paikkatuntumaton Palvelintuntumaton Ohjelmointikieliriippumaton Toteutusriippumaton Laitearkkitehtuurista riippumaton Käyttöjärjestelmästä riippumaton Protokollista riippumaton Siirtokerroksesta (fyysinen verkkoyhteys) riippumaton
ORB:n toiminta palvelua pyydettäessä Paikallistaa kohdeolion Aktivoi palvelinohjelman, jos se ei ole käynnissä Siirtää pyynnön parametrit Odottaa prosessin suoritusta Palauttaa paluuarvon Palauttaa poikkeuksen, jos ei onnistu