agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
Integrointi
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
ERP (Toiminnanohjausjärjestelmä)
Tietovarasto
Laskutus,
reskontrat
Asiakas-
rekisteri
Varasto-
kirjanpito
Kirjanpito
Henkilöstö,
palkanlaskenta
Extranet
ERP
Tuotannon
ohjaus
Myynti
Asiakas
Myyjät
Myynti
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
Miksi ERP? 1/2
Pakettiohjelman edut:
Nopea toimitusaika
Edullinen (!?!)
Laatu testattu
Yksi järjestelmä kattaa kaikkien (??) tarpeet
-> Periaatteessa vain asiakassovellus/näkymä järjestelmäänmuuttuu käyttäjän mukaan
Tiedon kulun nopeus (esim. varastosaldonseuraaminen tai myynti-laskutus-kirjanpito)
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
Miksi ERP? 2/2
Tiedon jakaminen fyysisestikin eri paikkojen välillä onhelppoa
Automatisointi, esim.
tilaus -> laskutus -> kirjanpito/reskontra
tilaus <-> varasto -> tuotanto -> osto
tilaus <-> asiakastiedot
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
ERP:n rajoitteet
On sopeuduttava arkkitehtuuriin
On sopeutettava omat toimintatavat tuotteeseen taitehtävä mittavia muutoksia valmiiseen pakettiin
Integrointi muiden järjestelmien kanssa on todellinenhaaste
Pystyttäminen joka tapauksessa mittava projekti
Järjestelmät usein suljettuja – kuitenkinmuuttumassa avoimiksi ja www-pohjaisiksi
Jättimäinen kaikki-tai-ei-mitään-paketti – kuitenkinmuuttumassa modulaarisiksi ja avoimiksi
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
ERP - WWW
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
Integrointitilanne
Laskutus,
reskontrat
Asiakas-
rekisteri
Varasto-
kirjanpito
Kirjanpito
Henkilöstö,
palkanlaskenta
Extranet
Tuotannon
ohjaus
Myynti
Asiakas
Myyjät
Myynti
???
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
Integraation taso
Tiedon integrointi
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
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
Sovellusten integrointi
Vaatimukset Vaatimukset Vaatimukset
Varottava liian korkean integrointitasontavoittelemisen teknologiahuumaa
Legacy Systems -ongelmat
Integrointi-ohjelmistojen hyödyntäminen
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
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)
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
Järjestelmien välinen kommunikointi– one to one
Suoraan
Järjes-telmä 1
Järjes-telmä 2
Täytyy tuntea toinen järjestelmä – ongelmavarsinkin, kun useita järjestelmiä
Ei salli muutoksia
Synkroninen – suorituksen keskeytyminen
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
Järjestelmien välinen kommunikointi– one to one
Asynkroninen
Esim. Yksinkertainen jonokäsittelijä
Tiedon muunnokset – voidaan päivittää toistajärjestelmää toisen tietämättä
Reititys – ei tarvitse tietää toisen sijaintia
Järjes-telmä 1
Järjes-telmä 2
Middle-
ware
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
Many to Many
Many-to-Many
MW
Järjestelmä 2
Järjestelmä 3
Järjestelmä 4
Järjestelmä 5
Järjestelmä 6
Järjestelmä 1
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
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
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
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 paikallistaakutsuttava oliota
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
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
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
CORBA TOTEUTUS
Olio 1
Olio 2
IDL
Stub
IDLSkeleton
ORB
IDL = Interface Definition Language
ORB = Object Request Broker
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
Kutsu asiakkaan kannalta
Paikkatuntumaton
Palvelintuntumaton
Ohjelmointikieliriippumaton
Toteutusriippumaton
Laitearkkitehtuurista riippumaton
Käyttöjärjestelmästä riippumaton
Protokollista riippumaton
Siirtokerroksesta (fyysinen verkkoyhteys) riippumaton
agora
TUMMAP~1
Ohjelmistotekniikka kevät 2003
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