Java EE ja Enterprise JavaBeans 3.0. Harri Valkonen HELSINGIN YLIOPISTO. Tietojenkäsittelytieteen laitos

Koko: px
Aloita esitys sivulta:

Download "Java EE ja Enterprise JavaBeans 3.0. Harri Valkonen HELSINGIN YLIOPISTO. Tietojenkäsittelytieteen laitos"

Transkriptio

1 Java EE ja Enterprise JavaBeans 3.0 Harri Valkonen HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

2 i Sisällys 1 Johdanto EJB ja muut Java EE -teknologiat Enterprise JavaBeans Pysyvyys Transaktiot Turvallisuus Ajastin-palvelu Message Oriented Middleware Java EE Connector architecture Klusterointi Yhteenveto...15 Lähteet 15

3 1 1 Johdanto Java EE, Java platform Enterprise Edition, on laajalle levinnyt ja pitkälle kehittynyt kokoelma korkeantason käsitteitä, ohjelmointistandardeja ja innovaatioita. Ne mahdollistavat suurien, skaalautuvien ja robustien ohjelmien tekemisen. Tässä tekstissä tutustutaan Java EE:hen kuuluvaan Enterprise JavaBeans 3.0 -komponenttiin (EJB) ja sen tarjoamiin väliohjelmisto-tason palveluihin EJB yksinkertaistaa vaikeiden ja laajojen ohjelmistojen tekemistä määrittelemällä joukon komponentteja rajapintoineen ja määrittelemällä palveluorientoituneen ohjelmistoalustan (Application Server). Näin ohjelmistoyhtiö voi keskittyä sovelluslogiikan tekemiseen jättäen palvelut ohjelmistoalustan hoidettavaksi. Koska kaikki on standardoitu, voi ohjelmistoyhtiö vertailla eri valmistajien ohjelmistoalustoja ja valita itselleen parhaimman vaihtoehdon. Käyttämällä Enterprise JavaBeans -teknologiaa ohjelmistoyhtiön ei tarvitse huolehtia muun muassa transaktioista, datan pysyvyydestä (persistent), turvallisuudesta (security), tilan hallinnasta, komponentin elinkaaresta tai säikeistämisestä (threading). Tässä tekstissä kappale kaksi esittelee EJB teknologian tekniset periaatteet yleisellä tasolla ja miten EJB käyttää hyväkseen muita Java EE:n määrittelemiä teknologioita. Kappaleessa kolme esitellään tarkemmin Enterprise JavaBean -teknologiaa keskittyen sen tarjoamiin väliohjelmisto tason palveluihin. Kappale neljä sisältää yhteenvedon. 2 EJB ja muut Java EE -teknologiat Java EE tunnettiin aiemmin J2EE:n nimellä, mutta versiosta 5.0 alkaen Sun Microsystems nimesi uudelleen teknologian Java EE:ksi. Samassa yhteydessä myös J2SE uudelleen nimettiin versiosta 6.0 alkaen Java SE:ksi. Java EE on kokoelma väliohjelmisto tason palveluita, jotka on suunniteltu nopeuttamaan laajojen ja vikasietoisten palvelin -tason ohjelmistojen tekemistä. Uusi Java EE -versio keskittyi pääasiassa yksinkertaistamaan olemassa olevia määrityksiä, mutta esittelee myös EJB 3.0 standardin, JavaServer Faces -määritykseen ja uudistuksia WebServices palveluun. Tässä kappaleessa esitellään lyhyesti osa eri Java EE -teknologioista, joita EJB teknologia käyttää suoraan hyväkseen. Näiden lisäksi Java EE pitää sisällään paljon

4 2 muita teknologioita, joita ei tässä tekstissä käsitellä. Tällaisia teknologioita ovat muun muassa Java Server Pages, JavaMail ja JavaServer Faces [Jav07]. Ensimmäiseksi muista Java standardeista EJB pavun asiakasohjelman tekijä kohtaa Java Naming and Directory Inteface (JNDI) määrityksen, jota käyttämällä asiakasohjelma hankkii EJB pavun etärajapinnan. JNDI palvelun sijainti kerrotaan asiakkaalle esimerkiksi asetustiedoston avulla. Sijainnin selvittämisen jälkeen asiakas voi hankkia palvelusta EJB -pavun etärajapinnan pavun nimen perusteella. Saatuaan etärajapinnan asiakasohjelma voi alkaa kutsumaan sen metodeja. Etärajapinta, joka on muista hajautetuista teknologioista tutun tynkäluokan vastine, ohjaa kutsun sovelluspalvelimessa suoritettavalle papusäiliölle (bean container), joka kutsuu itse EJB papua. Seuraava kuva havainnollistaa edellä kuvattua toimintaa etärajapinnan hankkimisen jälkeen: AppServer Client Remote Interface EJB Container LAN Kuva 1. EJB ohjelma. EJB käyttää etämetodien toteutuksessa hyväkseen Remote Method Invocation (RMI) määritystä. RMI on Java standardi, joka luotiin alun perin Java maailmaan toteuttamaan hajautettujen olioiden etäkutsu mekanismi. Ensimmäisissä versioissa RMI oli rajoittunut pelkästään Javaan eli keskustelevien ohjelmien piti olla kirjoitettu Javalla [Sri06, 65]. Myöhemmissä versioissa Java Remote Method Protocol protokolla korvattiin CORBA (Common Object Request Broker Architecture) teknologian

5 3 käyttämällä protokollalla nimeltä IIOP. Lisäksi määritettiin sovitin palvelu, jolla RMI kutsut pystytään kuljettamaan IIOP:n päällä. Liitos tunnetaan nimellä RMI-IIOP protokolla, joka mahdollistaa esimerkiksi EJB 3.0 pavun kutsumisen C++ -kielellä tehdystä ohjelmasta tai päinvastoin [Sri06, 65]. Sovelluspalvelin tarjoaa useita erilaisia palveluita, joita EJB pavut ja niitä hallinnoivat papusäiliöt voivat käyttää hyväkseen. Palveluvalikoimasta löytyy esimerkiksi etäkutsu-, tietokanta-, nimen selvitys-, transaktio- ja viestintä-palvelut. Seuraavassa kuvassa edellä mainittuja palveluita vastaavat seuraavat Java standardien lyhenteet: RMI, JDBC, JNDI, JTA ja JMS: AppServer Container EJB R M I J D B C J N D I J T A J M S OS Kernel LAN Kuva 2. Sovelluspalvelimen tarjoamia palveluita.

6 4 3 Enterprise JavaBeans 3.0 EJB:n on palvelin päässä toimiva ohjelmistokomponentti, joka voidaan asentaa (deploy) hajautettuun monikerros ympäristöön. Yksi Enterprise bean (papu) voi muodostua yhdestä tai useammasta Java-oliosta, koska komponentti on yleensä isompi kuin vain yksi olio. Huolimatta siitä, miten papu on toteutettu, asiakkaat keskustelevat pavun kanssa käyttäen vain yhtä rajapintaa. Tämän rajapinnan, kuten myös itse pavun, pitää noudattaa Java EE:n määrityksiä. Java EE:n määrittää muutamia metodeita, jotka mahdollistavat papusäiliön hallinnoida papujen elinkaarta ja kontrolloida osaltaan niiden toimintaa. EJB ei ota mitään kantaa itse asiakas-ohjelmaan. Se voi olla mitä vain, esimerkiksi servletti (servlet) tai appletti (applet) tai jopa toinen papu. Koska papua voi kutsua toinen papu, voidaan monimutkainen ongelma osittaa hallittavammiksi osiksi ja ketjuttaa kutsut sopivalla tavalla palvelun toteuttamiseksi. Tämä on erittäin käyttökelpoinen ja voimakas väline EJB teknologiassa. Seuraavassa kuvassa esitellään joitain vaihtoehtoja erilaisista EJB papujen asiakasohjelmista [Sri06, 63]: Kuva 3. Erilaisia EJB järjestelmiä.

7 5 Erilaisia papu-tyyppejä on EJB 3.0 standardissa kolme erilaista: tilaton- (stateless), tilallinen- (statefull) ja viestintä- (message driven) papu. Aikaisemmissa standardeissa mukana ollut entiteetti-papu on korvattu kokonaan uudella teknologialla nimeltään entiteetti (entity), mutta EJB 3.0 tukee myös vanhemmissa standardeissa ollut entiteettipapua. Tilaton -papu on paputyyppi, jolla ei nimensä mukaisesti voi olla mitään tilatietoa. Tilaton papu ei siis tiedä asiakkaasta tai aikaisemmista kutsukerroista mitään. Tilaton - papu on sovelluspalvelimen ja esimerkiksi jäljessä esiteltävän klusteroinnin kannalta paras vaihtoehto. Koska ketä tahansa asiakasta voi palvella mikä tahansa tilaton papu, voi sovelluspalvelin hallinnoida tilattomia papuja hyvin vapaasti. Tilallinen papu on paputyyppi, jota käytetään silloin, kun sovelluksen täytyy muistaa keskustelun tila asiakkaan kanssa. Tilallisella pavulla on siis tilatietoa ja samaa asiakasta palvelee yleensä aina sama papu. Poikkeustapaus on, jos joudutaan vaihtamaan varmistavaan palvelimeen, jolloin palveleva papu on ensisijaisen palvelijan kopio. Klusterointiin ja varmennukseen palataan myöhemmin. Esimerkiksi pankkisovelluksissa pavun täytyy muistaa asiakkaan aikaisemmista toiminnot, joihin tilallinen -papu on oikea vaihtoehto. Tilallinen papu on hallinnoinnin ja klusteroinnin kannalta huomattavasti tilatonta papua vaikeampi tapaus. Viestintä papu on muista poikkeava papu siinä mielessä, ettei sillä ole etärajapintaa ja asiakas ei voi sitä suoraan kutsua. Papusäiliö kutsuu viestintä papua saadessaan viestejä asiakasohjelmilta. Uuden entiteetit eivät siis ole EJB papuja, vaan Java SE versiossa määritettyjä Java luokkia toteuttaen Java Persistence rajapinnan. Lisää entiteeistä ja vanhemmista entiteetti -pavuista seuraavassa kappaleessa. Lukuun ottamatta muutamia poikkeustapauksia kaikki edellä mainitut papu-tyypit voivat yleensä käyttää jäljessä esiteltyjä palveluita. 3.1 Pysyvyys EJB 3.0 standardin edeltäjissä pysyvyys (persistence) -palvelu hoidettiin Entiteettipavuilla (Entity Bean). Papusäiliö hallinnoi entiteetti-papuja samaan tapaan kuin muitakin papuja. Entiteetti-pavut saivat kuitenkin osakseen paljon kritiikkiä huonosta suorituskyvystään [Guo05] ja niinpä EJB 3.0:n myötä entiteetti-pavut korvattiin uudella ja tehokkaammalla tekniikalla nimeltään entiteetit (entities). EJB 3.0 on yhteensopiva

8 6 aiempien määritysten kanssa, joten vanhemmissa standardeissa käytettyjä entiteettipapuja voi käyttää myös EJB 3.0 versiossa. Uuden pysyvyys rajapinnan nimi on Java Persistence, joka on osa Java SE -versiota ja sisältyy siten myös Java EE -versioon. Uusi, molemmille versioille yhteinen rajapinta yhdenmukaistaa ja helpottaa pysyvyys-palveluita tarvitsevien ohjelmistojen tekoa. Java Persistence on normaaleihin Java-olioihin (POJO, Plain Old Java Object) tukeutuva ohjelmointi-rajapinta (API). Määritys sisältää täydellisen olio/relaatio yhteyden (mapping) määrityksen käyttäen Java metadata -merkintöjä (annotation) tai XML kuvaajia (descriptor) kuvaamaan Java olion ja relaatio-tietokannan suhteita [JaP07]. Lisäksi määritys pitää sisällään ilmaisuvoimaisen, SQL-kielen tapaisen kysely-kielen niin staattisille kuin dynaamisille kyselyille. Määritys mahdollistaa myös pysyvyys palveluiden tarjoajan vaihtamisen eli talletuskohde ja muoto voidaan vaihtaa ohjelmallisesti. Mikä tahansa papu tyyppi voi käyttää pysyvyys palveluita. 3.2 Transaktiot Transaktiot yksinkertaistavat ohjelmien tekoa vapauttamalla ohjelmoijan monista vaikeista ohjelmointi-haasteista, kuten virheistä toipumisesta ja monesta yhtä aikaisesta käyttäjästä johtuvista haasteista. Transaktioita käytettäessä ohjelman suorittama työ jakaantuu yksiköihin, joita kutsutaan transaktioiksi. Transaktio järjestelmä takaa, että työyksikkö suoritetaan kokonaisuudessaan loppuun tai virheen sattuessa ohjelman tila palautetaan transaktiota edeltävään tilaan (roll-back). Yleisesti transaktiot määritetään neljän ominaisuuden perusteella: atominen (Atomic), konsistentti (Consistent), eristetty (Isolated) ja pysyvä (Durable). Edellä mainituista englannin kielisistä nimistä saadaan yleisesti tunnettu transaktioita kuvaava lyhenne: ACID [TaS07, 21]. Transaktioita ei esitellä tässä tekstissä tämän syvällisemmin. Niihin voi tutustua tarkemmin esimerkiksi edellä mainitun viitteen kautta. Transaktio-tuki on olennainen osa EJB arkkitehtuuria. EJB pavun tai asiakas-ohjelman tekijän ei tarvitse huolehtia transaktioiden hallinnasta, vaan voivat keskittyä varsinaiseen ohjelmalogiikkaan. EJB pavun ohjelmoija voi valita ohjelmoiko itse transaktio järjestelmän API:a käyttämällä transaktioiden rajat vai käyttääkö ns. julistuksellista lähestymistapaa. Lisäksi yksi mahdollinen tapa on antaa EJB pavun asiakkaan merkitä papu-kutsut transaktioon kuuluviksi (client-controlled transaction).

9 7 Julistuksellisessa lähestymistavassa ohjelmoija ilmoittaa sovelluspalvelimelle mitkä EJB pavun metodeista kuuluvat transaktioon ja EJB papusäiliö hoitaa automaattisesti transaktioiden hallinnan [JSR06, 316]. Näin ohjelmakoodi pysyy siistinä, koska ylimääräistä transaktioihin liittyvää koodia ei tarvitse kirjoittaa. EJB 3.0 standardi tukee pelkästään ns. matalia (flat) transaktioita, joten transaktiot eivät voi olla sisäkkäisiä (nested) [JSR06, 316]. EJB 3.0 hyödyntää transaktioissa muita Java standardin määrittelemiä ohjelmointirajapintoja. Java Transaction API (JTA) määrittelee rajapinnan transaktio managerin ja muiden hajautettuun transaktioon osallistuvien tahojen kesken, jotka ovat itse ohjelma, resurssi-managerit (esim. tietokanta) ja sovelluspalvelin. Java Transaction Service (JTS) puolestaan määrittelee sidoksen CORBA:n Object Transaction Service:n (OTS) tarjoamaan rajapintaan. CORBA on pitkään olemassa ollut standardi hajautettujen järjestelmien tekoon. CORBA on täysin laite, käyttöjärjestelmä, ohjelmointikieli tai toimittaja riippumaton standardi, joka on monella tapaa ollut EJB:n esikuva [Rom99, ]. JTS tarjoaa transaktioiden yhteensopivuuden CORBA arkkitehtuurissa käytetyn mekanismin kanssa. JTA voi käyttää hyväkseen JTS:n tarjoamia palveluita, mutta itse EJB pavun ohjelmoija käyttää vain JTA rajapintaa. Koska EJB 3.0 standardi vain suosittelee JTS -rajapinnan käyttöä, voi eri sovelluspalvelimen transaktiot olla toteutettu epäyhteensopivalla tavalla, jolloin hajautettua transaktiota ei voida hajauttaa eri valmistajien sovelluspalvelimille [Sri06, 286]. 3.3 Turvallisuus Laajat väliohjelmistot käyttävät tyypillisesti jotain tärkeää liiketoiminta-resurssia. On luonnollista, että näitä tärkeitä resursseja pitää suojella luvattomalta käytöltä. Turvallisten järjestelmien rakentaminen on aina tasapainoilua lisääntyvän kompleksisuuden, vähentyvän suorituskyvyn, ylläpidettävyyden ja toiminnallisuuden kanssa. Siksi on tärkeää, että osataan tunnistaa kyseisen järjestelmän turvallisuus-riskit ja valita oikea suojautumistaso. Tyypillisesti turvallisuus käsite jakautuu seuraaviin alikäsitteisiin: vastapuolen tunnistaminen (authentication), suoritus-oikeudet (authorization), datan koskemattomuuden turvaaminen ja datan luottamuksellisuuden säilyttäminen.

10 8 Autentikointi tapahtuu tyypillisesti käyttäjätunnuksen ja salasanan avulla tai perustuu julkiseen digitaaliseen allekirjoitukseen. Kun tunnistettu käyttäjä käyttää järjestelmää, vaaditaan järjestelmältä yleensä suoritus-oikeuksien tarkistaminen, eli vain tietyt käyttäjät tai käyttäjäryhmät voivat suorittaa tiettyjä operaatioita. Datan koskemattomuudella tarkoitetaan sitä, ettei kolmas osapuoli voi muokata tai vääristää dataa, kun dataa siirretään verkon yli. Datan luottamuksellisuus pyritään tyypillisesti säilyttämään soveltamalla erilaisia kryptaus algoritmejä datalle, jottei kolmas osapuoli pysty lukemaan viestiä, vaikka onnistuisikin sen kaappaamaan. Java Authentication ja Authorization Service (JAAS) määrittelee rajapinnat, joita käyttämällä Java ohjelmat, mukaan lukien EJB-pavut, voivat tunnistaa käyttäjän ja tarkistaa heidän oikeutensa. EJB käyttää jo olemassa olevia turvallisuus standardeja datan suojaamiseen siirron aikana, kuten Secure Socket Layer (SSL / TSL) määritystä [AlB03]. JAAS mahdollistaa sovelluspalvelimen automaattisesti vahvistaa annetut kirjautumistiedot riippumatta turvallisuuspolitiikan toteuttavasta järjestelmästä. Sovelluspalvelin voi vahvistaa tiedot esimerkiksi tietokannasta, asetustiedostoista tai tarkoitukseen suunnitellusta kolmannen osapuolen tarjoamasta järjestelmästä. Riippumatta toteutustavasta vahvistaminen voidaan toteuttaa implisiittisesti sovelluspalvelimen toimesta [Sri06, 329]. Käyttäjän tunnistamisen jälkeen sovelluspalvelin tarkastaa käyttöoikeudet ennen pavun metodeiden kutsumista. Jokaisella turvallisella pavulla on olemassa oma turvallisuuspolitiikka (security policy), jonka pavun ohjelmoija määrittelee joko ohjelmoimalla turvallisuustarkistukset itse pavun koodiin tai julistamalla turvallisuus-politiikan, jolloin papusäiliö toteuttaa julistetun politiikan. EJB tukee myös turvallisuus-rooleja, jolloin uusia käyttäjiä ja rooleja voidaan lisätä tai poistaa koskematta itse papujen koodiin [Sri06, 329]. 3.4 Ajastin-palvelu Ajastustoiminnot ovat tyypillinen enterprise tason ohjelmistojen vaatimus väliohjelmistoille. Esimerkiksi enterprise sovellus voi olla pankkijärjestelmä, joka on ruuhkautunut päivisin, mutta yöllä on huomattavasti hiljaisempaa. On viisasta ajastaa huolto- ja siivous -toimenpiteet suoritettavaksi hiljaisempaan aikaan.

11 9 EJB 2.1 versio toi mukanaan EJB ajastin-palvelun (Timer Service). Palvelu määrittää useita rajapintoja, joita käyttämällä sovelluspalvelin voi kutsua takaisin (call-back) papuja, kun asetettu aikaraja umpeutuu. Call-back -metodeissa voidaan suorittaa mitä tahansa tiettyyn aikaan haluttua ohjelmakoodia. Vanhemman määrityksen mukaiset Entiteetti-pavut, sekä stateless- ja message-driven pavut voivat rekisteröityä ajastinpalveluun, mutta statefull pavut tai uuden määrityksen mukaiset Java Persistence entiteetit eivät voi [Sri06, 368]. Tulevissa EJB:n versiot todennäköisesti tukevat ajastinpalvelua myös edellä mainituille käsitteille. Ajastin-palvelua käytettäessä on hyvä huomata, ettei se sovellu reaali-aika laskentaan eli määritys ei takaa, että palvelu kutsuu aina tarkasti oikeaan aikaan rekisteröitynyttä papua. Sen sijaan takaisin-kutsu tapahtuu suunnilleen annettuun aikaan. Java standardi ei määrittele tarkasti säikeiden ajastamis-käytäntöä, joten se vaihtelee eri Java virtuaali koneiden (JVM) välillä. Lisäksi roskienkeruu algoritmin suorittaminen aiheuttaa epädetermistisyyttä. 3.5 Message Oriented Middleware Etäkutsut, kuten RMI- tai CORBA tekniikkaan pohjautuvat, tai suoraan TCP/IP protokolla-pinon kuljetuskerroksen päälle tehdyt hajautetut sovellukset eivät välttämättä aina ole tarkoitukseen soveltuvia ja ohjelman vaatimukset täyttäviä. Edellä mainittujen ratkaisuiden huono puoli on, että molempien keskustelevien osapuolten on oltava suorituksessa, jotta kommunikointi voi onnistua. Tämän ongelman ratkaisemiseen on kehitetty viesti-orientoituneita väliohjelmistoja (Message-Oriented Middleware, MOM). Perusidea MOM pohjaisessa järjestelmässä on, että lähettäjän ja vastaanottajan ei tarvitse olla koko kommunikoinnin ajan suorituksessa. Lähettäjä voi lähettää viestin ja jatkaa suoritustaan (asynkrooninen viestintä), vaikka viestin käsittelevä asiakas-ohjelma olisi kaatunut. MOM ottaa viestin vastaan ja toimittaa sen asiakkaalle, kun asiakasohjelma ottaa uudelleen yhteyttä MOM ohjelmistoon. Lisäksi MOM tarjoaa yleensä toimitus-takuun säilömällä viestit esimerkiksi kiintolevylle laitevikojen tai vakavien ohjelmistovirheiden varalta. Viestillä voi olla monta asiakasohjelmaa eli MOM voi monistaa viestin usealle eri asiakkaalle. Eri viestintä -tyypeistä käytetään termejä point-to-point, jossa jokaisella viestillä on vain ja ainoastaan yksi kuluttuja, mutta eri viesteillä voi olla eri kuluttajat (ja tuottajat). Toinen viestintä tyyppi on ns. publish / subscribe malli, jossa yksi tai useampi tuottaja tuottaa

12 10 viestejä yhteen tai useampaan ns. topic :iin. Kuluttajat rekisteröityvät kiinnostavaan topic:iin ja MOM välittää viestit jokaiselle topic:iin rekisteröityneelle kuluttajalle. MOM pohjaiset järjestelmät ovat hyvä ratkaisu, jos viestinnän ei tarvitse olla lähes reaaliaikaista, johon etäkutsut ja TCP/IP ovat parempi vaihtoehto [TaS07, 145]. Java EE tukee MOM ajattelutapaa tarjoamalla Java Message Service (JMS) - määrityksen. Ennen JMS -standardia monet valmistajat tarjosivat omia MOM paradigman mukaisia tuotteita, joka johti kaaokseen tuotteiden yhteensopimattomuuden takia. Nykyään JMS standardi on laajasti tuettu eri valmistajien toimesta mahdollistaen eri valmistajien tuotteiden yhteensopivuuden. JMS määrittää kaksi rajapintaa: viestien lähetykseen ja vastaanottamiseen tarkoitetun rajapinnan, sekä palveluntarjoaja rajapinnan, joka abstrahoi palveluntarjoajan itse palvelusta. JMS toteuttaa molemmat edellä mainitut MOM ajattelutavan mukaiset viestintä tyypit [Sri06, 161]. EJB 1.3 standardin myötä esiteltiin uusi paputyyppi nimeltään Message Driven Bean (MDB) [JaM07]. MDB tarjoaa EJB maailmassa MOM ajattelutavan mukaiset palvelut, jotka perustuvat JMS määritykseen. MDB:a ei voi kutsuta suoraan, vaan papusäiliö kutsuu papua saadessaan viestin asiakas-ohjelmalta, joka JMS standardin ansiosta voi olla mikä tahansa JMS määrityksen toteuttava ohjelma. Seuraava kuva havainnollistaa MDB:n ja sovelluspalvelimen toimintaa JMS viestinnässä [Sri06, 170]:

13 11 Kuva 4. JMS:n ja EJB:n yhteistoiminta. MOM pohjautuville sovelluksille on monta hyvää käyttökohdetta, kuten esimerkiksi sähköposti- ja ryhmäohjelmistot (groupware), sekä taustaprosessien välinen kommunikointi. Lisäksi erinomainen käyttökohde ovat hajautetut tietojärjestelmät ja hajautetut tietokannat. Esimerkiksi tietokanta-kysely, joka tarvitsee tietoa useasta tietokannasta, voidaan pilkkoa pienempiin kyselyihin ja ohjata oikeaan tietokantaan MDB:n avulla [TaS07, 152]. 3.6 Java EE Connector architecture Java EE Connector Architecture käsitteestä käytetään tässä tekstissä JCA akronyymiä, jota ei pidä sekoittaa Java Cryptography Architecture:een. JCA on standardoitu sovelluskehys, joka on suunniteltu enterprise tason ohjelmistojen sulauttamiseen. Käyttämällä JCA:ta ohjelmoija voi käyttää hyväkseen yrityksellä jo olemassa olevia perintö-järjestelmiä (legacy systems). Lisäksi yritysfuusioiden synnyttämät tarpeet eri yhtiöiden järjestelmien yhteensovittamiseksi voidaan helposti hoitaa JCA tekniikan avulla.

14 12 JCA standardoi tavan kuinka sovelluspalvelin ja perinne-järjestelmän välinen yhteistyö hoidetaan. Aikaisemmin ilman standardia tapahtuneet integroinnit johtivat yksilöllisiin ratkaisuihin, joita oli vaikea ymmärtää ja ylläpitää. JCA määrittää lisäksi useita palveluita, jotka vapauttavat ohjelmoijan monesta järjestelmätason ohjelmointiongelmasta, kuten säikeistyksestä, transaktioista, turvallisuudesta ja yhteydenhallinnasta. Järjestelmätason ohjelmointi on erityistaitoja vaativa laji ja lisäksi se lisää huomattavasti kehitys-, testaus- ja asennusaikaa. JCA:n avulla sovelluspalvelin voi hoitaa edellä mainitut asiat ohjelmoijan puolesta perinne-järjestelmiä integroitaessa. Perinne-järjestelmän ja sovelluspalvelimen väliin kehitetään ns. resurssi-sovitin (Resource Adapter). Sovelluspalvelin kutsuu sovitinta sovelluksen suorituksen eri vaiheissa ja sovittimen tehtävä on hoitaa kommunikointi perinne-järjestelmän kanssa. Sovitin voi implementoi erilaisia sopimuksia sovelluspalvelimen kanssa, kuten esimerkiksi yhteyden-hallintasopimus, joka mahdollistaa ns. yhteys-varaston (pool) perustamisen tai turvallisuus-sopimus, joka mahdollistaa turvallisen yhteyden perinnejärjestelmään [Sri06, 440]. Muita sopimuksia ovat transaktioiden hallintasopimus, jossa mahdollistaa perinnejärjestelmän osallistumisen transaktioon tai elinkaaren hallintasopimus, jota käyttämällä sovelluspalvelin hallinnoi sovitinta [Sri06, 441]. Työn hallintasopimuksella sovitin voi delegoida työtä sovelluspalvelimelle, joka suorittaa työn omassa säikeessään [Sri06, 441]. Lisäksi JCA:sta löytyy sisään tulevan transaktion (transaction inflow) sopimus, jolla perinne-järjestelmä voi sisällyttää kutsun sovelluspalvelimeen osaksi omaa transaktiotaan tai sisään tulevan viestin (inflow message) sopimus, jolla sovitin voi asynkroonisesti toimittaa viestin sovelluspalvelimelle [Sri06, 441]. JCA kehystä käyttämällä EJB papu voi esimerkiksi ottaa yhteyttä Java Native Interface:a käyttämällä C++ -kielellä tehtyyn ohjelmaan. 3.7 Klusterointi Java EE standardi ei määrittele klusterointi palvelua, mutta jokainen tyypillisesti EJB:n toteuttava sovelluspalvelin tukee jollain tapaa klusterointia [Sri06, 508]. Standardin puutteesta johtuen klusterointi on sovelluspalvelin kohtaista, mutta pääperiaatteiltaan kaikki noudattavat jotain jäljessä esitellyistä tavoista. Seuraavaksi tarkastelemme hieman tarkemmin klusterointia, vaikka EJB 3.0 standardi ei sitä määritäkään. Asia on kuitenkin niin tärkeä laajoille ohjelmistoille, että tulevaisuuden EJB -standardeissa asiaan otetaan todennäköisesti kantaa.

15 13 Tyypillisesti korkealaatuisilta enterprise -ohjelmistoilta vaaditaan suurta luotettavuutta ja saatavuutta. Luotettavuudella tarkoitetaan, että järjestelmä toimii määrityksensä mukaisesti oikein kaiken aikaa. Saatavuudella taas tarkoitetaan aikaa, jolloin järjestelmä on palvelemassa asiakkaitaan eli saatavuutta pienentää esimerkiksi huoltotauot tai järjestelmän täydellinen kaatuminen. Lisäksi odotetaan, että järjestelmä pystyy palvelemaan paljon asiakkaita ja asiakkaiden määrän kasvaessa järjestelmä voidaan mukauttaa kasvaneeseen asiakasmäärään. Vaatimuslistaan kuuluu myös hyvä suorituskyky eli kaikki asiakkaat saavat palvelua riittävän nopeasti. Järjestelmän hallittavuus nousee myös tärkeäksi, koska laajaa järjestelmää valvoo ja huoltaa tyypillisesti useampi henkilö. Enterprise järjestelmän perusvaatimukset voidaankin tiivistää seuraavasti: luotettavuus (reliability), saatavuus (availability), hallittavuus (servicebility) ja skaalautuvuus (scalability) [Sri06, ]. Näihin haasteisiin vastataan EJB maailmassa yleisesti klusteroinnilla. Klusteroinnin perusperiaatteena on käytettävissä olevien resurssien monistaminen, jolla saavutetaan vikasietoisuutta ja enemmän laskentatehoa. Klusteri on ryhmä samanlaisia palvelin-tason koneita, joista jokainen tarjoaa täysin samanlaisen palvelun. Asiakas ottaa yhteyttä ns. julkisivu koneeseen tai tarkoitusta varten suunniteltuun sulautettuun järjestelmään, joka vain uudelleenohjaa palvelupyynnön jollekin klusterin palvelimista. Näin klusteri näyttää asiakkaalle vain yhdeltä koneelta. Klusteri voi toteuttaa kuorman tasausta (load balancing) reitittämällä asiakkaan palvelupyynnön vähiten kuormitetulle palvelimelle klusterissa. Seuraava kuva havainnollistaa kuormantasaus -klusteria käytännössä [Sri06, 510] : Kuva 5: Kuormantasaus -klusteri.

16 14 Klusteroinnilla voidaan parantaa myös järjestelmän vikasietoisuutta, koska järjestelmästä voidaan poistaa ns. kriittinen palvelin (single-point of failure), joka kaatuessaan pimentää koko järjestelmän. Vikasietoisuuden parantaminen on huomattavasti kuormantasausta haasteellisempi tehtävä, koska ohjelman tila täytyy toisintaa usealle koneelle (replication). Lisäksi liikennettä ohjaavan koneen tai sulautetun järjestelmän täytyy osata reitittää liikenne ensisijaisen palvelimen kaatuessa varmentavalle palvelimelle. Seuraava kuva havainnollistaa toisintamista [Sri06, 511] : Kuva 6. Toisinnettu järjestelmä. Käytännössä klusterin julkisivua hoitava ohjelmisto osaa hoitaa yhtä aikaa niin kuormantasauksen kuin toisintamisenkin, mutta on hyvä huomata näiden asioiden olevan erillisiä toimintoja. Lisäksi klusteria rakennettaessa kannattaa tarkoin harkita kuin paljon toisintamista asiakkaat todella tarvitsevat, koska toisinnetun tiedon ylläpitäminen vaatii paljon prosessointia ja tietoliikenne-kapasiteettia. EJB valmistajat hoitavat klusteroinnin pääsääntöisesti kolmella eri tavalla: JNDI tasolla, papusäiliö tasolla tai käyttämällä älykkäitä etärajapintoja (tynkäluokkia, smart stub). JNDI tavassa JNDI konteksti sitoo useita ekvivalentteja olioita yhteen nimeen ja voi siten hajauttaa liikennettä eri palvelimille. Papusäiliö tavassa papua hallinnoiva säiliö voi toisintaa tiedon suoritetuista toimenpiteistä toisella palvelimella pyörivällä papusäiliölle tai pyytää toista säiliötä suorittamaan osan omien papujensa laskennasta ja uudelleen ohjata kutsut toiselle palvelimelle [Sri06, 517]. Älykäs tynkäluokka lähestymistavassa tynkäluokka voi tuntea useita eri palvelimia ja voi siten hajauttaa kutsut useammalle palvelimelle. Nykyään tynkäluokka lähestymistapa on suosituin tapa toteuttaa klusterointi, mutta tapa sitoo samalla käyttäjänsä tiettyyn valmistajaan, koska lähestymistapaa käytettäessä on käytettävä valmistajan tarjoamia kääntämis-työkaluja,

17 15 jotta klusterointi logiikan rakentaminen automaattisesti on ylipäätään mahdollista [Sri06, 517]. Nykypäivänä klusterit voivat olla todella laajoja, esimerkiksi suositut palvelut Hotmail ja Google ovat hajautettu tuhansille eri palvelimille [Che02]. Enterprise tason järjestelmän tekemisen vaikeutta kuvaa hyvin se tosiasia, että näinkin suuresta hajautuksesta huolimatta järjestelmän saatavuus nousee harvoin 99,9% tasoon, joka esiintyy yleisesti korkealaatuisten enterprise tason järjestelmien vaatimuksissa [Che02]. 4 Yhteenveto Nykyajan verkottuneessa maailmassa ohjelmistoilla voi olla todella paljon käyttäjiä. Lisäksi ohjelmistojen vaatimukset ja monimutkaisuus ovat kasvaneet todella hurjaa tahtia viime vuosina. Kasvaviin haasteisiin on vastattu mm. monikerros arkkitehtuureilla. Monikerros arkkitehtuureissa merkittävin kerrosten ero on alue, jolla kerros toimii. Esityskerroksen (front-end) tarpeet poikkeavat hyvin paljon palvelin-puolen (back-end) tarpeista. EJB teknologia on suunniteltu vaativien palvelin-puolen operaatioiden tekemiseen, kuten vaativaan transaktioiden hallintaan tai korkean tason viesti-pohjaisen kommunikaation tekemiseen. Lisäksi EJB teknologia mahdollistaa sovellusten korkean saatavuuden turvatussa, vikasietoisessa ympäristössä. Java EE ja sen mukana EJB standardi ovat koeteltuja ja hyväksi havaittuja standardeja rakentaa nykyajan vaatimukset täyttävä laaja ohjelmisto. Lähteet AlB03 Allen, P.,Bambara, J., Sun Certified Enterprise Architect for J2EE Study Guide. McGraw-Hill/Osborne, 2003, kappale 10. Che02 Chen, M., et al., Pinpoint: problem determination in large, dynamic Internet services. IEEE, Proceedings International Conference on Dependable Systems and Networks, 2002, sivut Gio00 Giotta, P. et al, Professional JMS programming. Wrox press, 2000, sivut Guo05 Guo, C., et al., The research on the software architecture of negotiatory synthetical forecasting GDSS based on J2EE. Proceedings of the Ninth

18 16 International Conference on Computer Supported Cooperative Work in Design, Coventry University, UK, toukokuu 2005, sivut JaP07 Java Persistence API FAQ. Sun Microsystems, 2007, [ ] JaM07 Java Message Service API FAQ. Sun Microsystems, 2007, [ ] Jav07 Java EE Technologies at a Glance. Sun Microsystems, 2007, [ ] Jee07 Java EE 5. Sun Microsystems, 2007, [ ] JSR06 Java Specification Request 220: Enterprise JavaBeansTM,Version 3.0, EJB Core Contracts and Requirements. Sun Microsystems, Rom99 Mastering Enterprise JavaBeans and the Java 2 Platform, Enterprise Edition. Wiley, Sri06 Sriganesh R., Brose G., Silverman H., Mastering Enterprise JavaBeans 3.0. Wiley, TaS07 Tanenbaum, A., Steen, M., Distributed Systems, Principles and Paradigms. Prentice Hall, 2007.

HOJ J2EE & EJB & SOAP &...

HOJ J2EE & EJB & SOAP &... HOJ J2EE & EJB & SOAP &... Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/18 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

HSMT J2EE & EJB & SOAP &...

HSMT J2EE & EJB & SOAP &... HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

Sovellusarkkitehtuurit

Sovellusarkkitehtuurit HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit

Lisätiedot

Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä

Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä Hajautettujen järjestelmien rakentaminen - Jini Ohjelmistotuotantovälineet-seminaarin esitelmä Anu K. Leponiemi (anu@lepo.net) Helsingin yliopisto Tietojenkäsittelytieteen laitos Helsinki 2000 SISÄLLYSLUETTELO

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.1/15 HSMT (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot:

Lisätiedot

Aurinkoenergiajärjestelmien etäseurantajärjestelmä

Aurinkoenergiajärjestelmien etäseurantajärjestelmä Aurinkoenergiajärjestelmien etäseurantajärjestelmä Janne Raitaniemi (Bitec Oy) Saku Rantamäki (SAMK) Aurinkoenergiajärjestelmien luonne järjestelmien odotettu elinkaari on pitkä investoinnin kannattavuus

Lisätiedot

Java Platform, Enterprise Edition (Java EE)

Java Platform, Enterprise Edition (Java EE) Kuka? Java Platform, Enterprise Edition (Java EE) Yleiskatsaus Janne Kuha janne.kuha@descom.fi Descom Oy IBM Certified Enterprise Developer IBM Certified System Administrator Sisältö Mikä on Java EE /

Lisätiedot

Tulevaisuuden Internet. Sasu Tarkoma

Tulevaisuuden Internet. Sasu Tarkoma Tulevaisuuden Internet Sasu Tarkoma Johdanto Tietoliikennettä voidaan pitää viime vuosisadan läpimurtoteknologiana Internet-teknologiat tarjoavat yhteisen protokollan ja toimintatavan kommunikointiin Internet

Lisätiedot

Tietokantaohjelmoinnin tekniikkoja Java-kielellä

Tietokantaohjelmoinnin tekniikkoja Java-kielellä Tietokantaohjelmoinnin tekniikkoja Java-kielellä Ville Kuokkanen Helsinki 6. helmikuuta 2003 Relaatiotietokannat nyt seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos i Tietokantaohjelmoinnin

Lisätiedot

Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server. Infotilaisuus 3.12.2014 klo 10:00

Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server. Infotilaisuus 3.12.2014 klo 10:00 Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server Infotilaisuus 3.12.2014 klo 10:00 Yleistä Ohjelmistoteknologioiden koulutukset 2014-2015 3: Internet sovellusten ohjelmointi Java Server

Lisätiedot

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa J2EE - EJB Session Bean Teoria ja ohjelmointitehtävät J2EE - EJB Session Bean 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7 YLEISKATSAUS KURSSIN SISÄLTÖIHIN... 7

Lisätiedot

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000 Case TUHTI 17.12.2002 1 TietoEnator 2002 Projektin tunnuslukuja! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999! Otettu tuotantokäyttöön syksyllä 2001! Proof of Concept (5 henkilöä 4 kk) ->

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden

Lisätiedot

www.solita.fi solita@solita.fi

www.solita.fi solita@solita.fi www.solita.fi solita@solita.fi JAVA-SOVELLUSTEN RAKENTAMINEN INTEGROITUUN YMPÄRISTÖÖN Jarno Peltoniemi Solita Oy 10.5.2005 Aiheet Johdanto Portaalit, portletit Oracle Portal Java-sovelluksen rakentaminen

Lisätiedot

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla Petri Tumppila/Bemecon Oy, petri.tumppila@bemecon.fi Tuomas Pystynen/Deepbase Oy, tuomas.pystynen@deepbase.com OUGF 4.11.2004 Agenda Ympäristö

Lisätiedot

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Konnektorit ohjelmistoarkkitehtuurissa 18.9.2012 1 Konnektorit (connectors) Konnektori (connector) (liitos) Arkkitehtuurielementti, jonka tehtävänä on mahdollistaa ja hallita komponenttien

Lisätiedot

Tiedonsiirto- ja rajapintastandardit

Tiedonsiirto- ja rajapintastandardit Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta Hajautettu tietokanta Jokainen hajautettu tietokanta muodostaa oman kokonaisuutensa Loogisesti yhtenäinen data on hajautettu tietokantoihin (eri

Lisätiedot

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n suojaama sähköposti

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n suojaama sähköposti Kuljetus- ja sovelluskerroksen tietoturvaratkaisut Transport Layer Security (TLS) ja Secure Shell (SSH) TLS Internet 1 2 Transport Layer Security (TLS) Sopii monenlaisille sovellusprotokollille, esim HTTP

Lisätiedot

Interfacing Product Data Management System

Interfacing Product Data Management System Interfacing Product Data Management System Tekijä: Työn valvoja: Mats Kuivalainen Timo Korhonen Esitelmän sisältö Työn suorituspaikka - Ideal Product Data Oy Käsitteitä Työn tavoitteet Työn tulokset 1/5

Lisätiedot

J2EE vs..net Olli Sakari

J2EE vs..net Olli Sakari TEEMA-ARTIKKELI J2EE vs..net Olli Sakari J2EE ja.net ovat tietojärjestelmäteknologioita, joiden varaan suuri osa tulevaisuuden tietojärjestelmistä tulee rakentumaan. Molemmat teknologioista tarjoavat välineitä

Lisätiedot

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

Lisätiedot

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit Viestinvälitysarkkitehtuurit

Lisätiedot

The administrative process of a cluster. Santtu Rantanen Valvoja: Prof. Jorma Jormakka

The administrative process of a cluster. Santtu Rantanen Valvoja: Prof. Jorma Jormakka The administrative process of a cluster Santtu Rantanen Valvoja: Prof. Jorma Jormakka Sisällysluettelo Johdanto Yleistä HA klustereista Tietoturva klustereissa Hallintaprosessi Johtopäätökset Johdanto

Lisätiedot

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy Oracle10 g Web Services Sisältö Service Oriented Architecture (SOA) Web Services Service Oriented Architecture Service Oriented

Lisätiedot

Tietojärjestelmäarkkitehtuurit

Tietojärjestelmäarkkitehtuurit Tietojärjestelmäarkkitehtuurit ITK130 Johdatus ohjelmistotekniikkaan Syksy 2003 Sami Kollanus 1 Aluksi Tietojärjestelmäarkkitehtuurit vs. ohjelmistoarkkitehtuurit Pohjana Tietojärjestelmäarkkitehtuurit

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

Palveluperustaiset arkkitehtuurityylit

Palveluperustaiset arkkitehtuurityylit Palveluperustaiset arkkitehtuurityylit Mukana palvelun tarjoajia ja palvelun käyttäjiä Perusajatuksena tyypillisesti tarjota johonkin resurssiin liittyviä palveluita 1 Asiakas-palvelin -arkkitehtuurit

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet Järjestelmäarkkitehtuuri (TK081702) Integraation tavoitteita Lähtökohta Web-palvelut Asiakasrekisteri ERP, Tuotannon ohjaus Tuotanto Myynti Intranet Extranet? CRM Johdon tuki Henkilöstö Kirjanpito Palkanlaskenta

Lisätiedot

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit 7 Viestipohjaisten yritysjärjestelmien suunnittelumallit Hohpe G., Woolf B.: Enterprise Integration Patterns. Addison-Wesley 2004. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 Viestinvälitykseen

Lisätiedot

in condition monitoring

in condition monitoring Etäteknologioiden automaatiosovellukset Using e-speak e in condition monitoring tutkija professori Hannu Koivisto Sisältö Tausta Globaali kunnonvalvontajärjestelmä E-speak globaalissa kunnonvalvontajärjestelmässä

Lisätiedot

Tavoitteena yhdistää eri tavoin toteutetut ja eri tavoin toimivat järjestelmät; integration & interoperability.

Tavoitteena yhdistää eri tavoin toteutetut ja eri tavoin toimivat järjestelmät; integration & interoperability. Integrointi? Tavoitteena yhdistää eri tavoin toteutetut ja eri tavoin toimivat järjestelmät; integration & interoperability. Joitain motivaattoreita... 1. Enterprise Application Integration: Eri organisaatioissa

Lisätiedot

6. Arkkitehtuurityylit

6. Arkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit - Kerrosarkkitehtuurit - Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit - Asiakas-palvelin arkkitehtuurit - Viestinvälitysarkkitehtuurit

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä? Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää

Lisätiedot

Älysopimusten kehittäminen. Sopimus suuntautunut ohjelmointi

Älysopimusten kehittäminen. Sopimus suuntautunut ohjelmointi Älysopimusten kehittäminen Sopimus suuntautunut ohjelmointi There are currently 5,000 blockchain developers. By 2020, we project a global need for over 500,000 - ConsenSys Älysopimus alustat q Ethereum

Lisätiedot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi

Lisätiedot

Toimilohkojen turvallisuus tulevaisuudessa

Toimilohkojen turvallisuus tulevaisuudessa Toimilohkojen turvallisuus tulevaisuudessa Turvallisuusseminaari ASAF 30.10-1.11.2006 Mika Strömman Teknillinen korkeakoulu 1 Sisältö Luotettavuuden lisääminen hyvillä tavoilla Toimilohkokirjastot Turvatoimilohkot

Lisätiedot

Web-palveluiden toteutus älykortille

Web-palveluiden toteutus älykortille älykortille Jukka Hänninen Valvoja: Prof. Raimo Kantola Ohjaaja: DI Kaj Höglund, Elisa Oyj Sisältö Työn tausta Standardointi Älykortin web-palvelin Toteutus Hyödyt ja mahdollisuudet Kohdatut ongelmat Lopputulos

Lisätiedot

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Tietokannan hallinta-opintojakson selvitysraportti Huhtikuu 2010 Mediatekniikka ICT/Teknologia Tämän teosteoksen käyttöoikeutta koskee Creative

Lisätiedot

Vaivattomasti parasta tietoturvaa

Vaivattomasti parasta tietoturvaa Vaivattomasti parasta tietoturvaa BUSINESS SUITE Tietoturvan valinta voi olla myös helppoa Yrityksen tietoturvan valinta voi olla vaikeaa loputtomien vaihtoehtojen suossa tarpomista. F-Secure Business

Lisätiedot

Dart. Ryhmä 38. Ville Tahvanainen. Juha Häkli

Dart. Ryhmä 38. Ville Tahvanainen. Juha Häkli Dart Ryhmä 38 Ville Tahvanainen Juha Häkli 1.LYHYESTI Dart on luokkapohjainen, yksiperintäinen, puhdas olio-ohjelmointikieli. Dart on dynaamisesti tyypitetty. Sovellukset on organisoitu modulaarisiksi

Lisätiedot

Liiketoimintajärjestelmien integrointi

Liiketoimintajärjestelmien integrointi Liiketoimintajärjestelmien integrointi Vierailuluento 12.12.2016 Esa Heikkinen Mystes Oy Agenda Liiketoimintajärjestelmien integrointi EAI: Enterprise Application Integration EAS: Enterprise Application

Lisätiedot

Suomen avoimien tietojärjestelmien keskus COSS ry

Suomen avoimien tietojärjestelmien keskus COSS ry Viisaat hankinnat: Avoimuudet uusissa JIT 2015 -ehdoissa JulkICTLab-seminaari 20.11.2015 Martin von Willebrand, puheenjohtaja Avoin arkkitehtuuri Luo jäsenien menestystarinoita avoimilla ratkaisuilla Avoimet

Lisätiedot

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov) Tietoliikenne II (2 ov) Kevät 2001 Liisa Marttinen Kurssikirja: Tanenbaum, Computer Networks (3. Painos) Tietoliikenne II Kertausta ja täydennystä Tietoliikenne I - kurssin asioihin perusteellisemmin laajemmin

Lisätiedot

/ ta. Osaa kvalitatiivisella tasolla arvioida sovelluksen hajauttamisen hyötyjä ja haittoja.

/ ta. Osaa kvalitatiivisella tasolla arvioida sovelluksen hajauttamisen hyötyjä ja haittoja. Hajautetut järjestelmät 7.3.2006 / ta Pääteema Esitiedot Lähestyy oppimistavoitteita Hajautuksen tavoitteet ja ongelmat Hajautetun järjestelmän rakenne Käyttöjärjestelmät ja tietoliikenne: - hallitsee

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät 2012-2013

Ohjelmistoarkkitehtuurit. Kevät 2012-2013 Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestipohjaisten yritysjärjestelmien suunnittelumallit 1 Viestinvälitykseen perustuvat yritysjärjestelmät Peruselementit:

Lisätiedot

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Mikä on IT arkkitehtuuri? Liiketoimintamalli määrittelee IT arkkitehtuurin IT arkkitehtuuri ottaa kantaa sovelluksen laadullisiin vaatimuksiin

Lisätiedot

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri Palomuuri Teoriaa Palomuurin tehtävä on estää ei-toivottua liikennettä paikalliseen verkkoon tai verkosta. Yleensä tämä tarkoittaa, että estetään liikennettä Internetistä paikallisverkkoon tai kotikoneelle.

Lisätiedot

JMS RIO PR1. TKTL s2008. Tekijät: Aki Valkama Lauri Savolainen Niklas Jahnsson

JMS RIO PR1. TKTL s2008. Tekijät: Aki Valkama Lauri Savolainen Niklas Jahnsson JMS RIO PR1 TKTL s2008 Tekijät: Aki Valkama Lauri Savolainen Niklas Jahnsson Sisällys 0 Johdanto...3 1 Menetelmän perusidea...4 1.1 JMS:n komponentit...4 1.1.1 Provider...4 1.1.2 Client...4 1.1.3 Producer...4

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

Tietoliikenne II (2 ov)

Tietoliikenne II (2 ov) Tietoliikenne II (2 ov) Kevät 2001 Liisa Marttinen Kurssikirja: Tanenbaum, Computer Networks (3. Painos) Tietoliikenne II Kertausta ja täydennystä Tietoliikenne I - kurssin asioihin perusteellisemmin laajemmin

Lisätiedot

Tietokanta (database)

Tietokanta (database) Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT Oliotietokannat Nääsvillen Oliopäivät 2004 15.12.2004 Pekka Kähkipuro Kehitysjohtaja, FT pekka.kahkipuro@sysopen.fi Oliotietokanta Idea: pysyvän tiedon tallentaminen suoraan oliomuodossa Tietosisältö ja

Lisätiedot

Liiketoimintajärjestelmien integrointi

Liiketoimintajärjestelmien integrointi Liiketoimintajärjestelmien integrointi Vierailuluento 2.3.2015 Esa Heikkinen Mystes Oy Agenda Liiketoimintajärjestelmien integrointi EAI: Enterprise Application Integration EAS: Enterprise Application

Lisätiedot

JavaRMI 1 JAVA RMI. Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko

JavaRMI 1 JAVA RMI. Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko JavaRMI 1 JAVA RMI Rinnakkaisohjelmoinnin projekti 1 osa C Tekijät: Taru Itäpelto-Hu Jaakko Nissi Mikko Ikävalko JavaRMI 2 Table of Contents...1 JAVA RMI...1 Yleistä...4 Arkkitehtuuri...5 Java RMI kerrosarkkitehtuuri...5

Lisätiedot

Sisältö. Tapahtumienhallinta. Tapahtumat (transaktiot) Kaupallinen tapahtuma (transaktio)

Sisältö. Tapahtumienhallinta. Tapahtumat (transaktiot) Kaupallinen tapahtuma (transaktio) Sisältö Janne Kuha Descom Oy Tapahtumat ja ACID-ominaisuudet. Tapahtumamonitorit ja niiden kehitys. Java2 Enterprise Edition lyhyt esittely. Tapahtumanhallinta ja J2EE. IBM WebSphere sovelluspalvelin -

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA, Järjestelmäarkkitehtuuri (TK081702) SOA SOA-arkkitehtuuri perustuu xml:ään ja Web Services teknologioihin Mahdollistaa joustavan mukautumisen tuleviin muutoksiin Kustannustehokas Toteutukset perustuvat

Lisätiedot

Sisäilmaston mittaus hyödyntää langatonta anturiteknologiaa:

Sisäilmaston mittaus hyödyntää langatonta anturiteknologiaa: Ismo Grönvall/Timo/TUTA 0353064 Tehtävä 5: Sisäilmaston mittaus hyödyntää langatonta anturiteknologiaa: Ihmiset viettävät huomattavan osan (>90 %) ajasta sisätiloissa. Sisäilmaston laatu on tästä syystä

Lisätiedot

SAP. Lasse Metso 14.1.2011

SAP. Lasse Metso 14.1.2011 SAP Lasse Metso 14.1.2011 Toiminnanohjausjärjestelmä engl. Enterprise Resource Planning, ERP Integroitu tietojärjestelmä joka palvelee kaikkia yrityksen osastoja. Tuotantoyrityksistä liikkeelle lähtenyt

Lisätiedot

Integraatiotekniikan valinta - tie onnistumiseen.

Integraatiotekniikan valinta - tie onnistumiseen. Integraatiotekniikan valinta - tie onnistumiseen markus.andersson@commit.fi http://www.commit.fi 1 Agenda Järjestelmäintegroinnin nykytila Menestystekijät Teknologiatekijät Tekijöistä onnistunut projekti

Lisätiedot

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest). 1 Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä.

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri

Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri Ohjelmistoarkkitehtuuri Verkotettu multimedia Käyttöliittymä Middleware Tietoliikenne 1 2 Multimedian vaikutukset Mediavirtojen puskurointi 3 4 Ohjelmointi Selain-ohjelmistoarkkitehtuuri 5 6 WWW-arkkitehtuuri

Lisätiedot

13/20: Kierrätys kannattaa koodaamisessakin

13/20: Kierrätys kannattaa koodaamisessakin Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy

Lisätiedot

Kymenlaakson Kyläportaali

Kymenlaakson Kyläportaali Kymenlaakson Kyläportaali Klamilan vertaistukiopastus Tietoturva Tietoturvan neljä peruspilaria 1. Luottamuksellisuus 2. Eheys 3. Saatavuus 4. (Luotettavuus) Luottamuksellisuus Käsiteltävää tietoa ei paljasteta

Lisätiedot

Tikon ostolaskujen käsittely

Tikon ostolaskujen käsittely Toukokuu 2013 1 (7) 6.3.0 Copyright Aditro 2013 Toukokuu 2013 2 (7) Sisällysluettelo 1. Käyttäjäasetukset... 3 2. Yleiset parametrit... 3 3. Kierrätysasetukset... 3 4. palvelimen tiedot... 4 5. lähetyksen

Lisätiedot

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,

Lisätiedot

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,

Lisätiedot

IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus

IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus Teknologia-arkkitehtuuri ja rajapinnat/integraatiot 21.3.2019 Sisältö Alustojen asemoituminen ja pilvivalmius Arkkitehtuuriperiaatteet

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

Tekninen suunnitelma - StatbeatMOBILE Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in

Lisätiedot

OSI ja Protokollapino

OSI ja Protokollapino TCP/IP OSI ja Protokollapino OSI: Open Systems Interconnection OSI Malli TCP/IP hierarkia Protokollat 7 Sovelluskerros 6 Esitystapakerros Sovellus 5 Istuntokerros 4 Kuljetuskerros 3 Verkkokerros Linkkikerros

Lisätiedot

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus 582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen

Lisätiedot

Pilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit

Pilvi 9.0. Arkkitehtuuri. Esimerkki arkkitehtuurit Esimerkki arkkitehtuurit Sivu 2/8 Sisällysluettelo 1. Johdanto... 3 1.1. Termejä... 3 2. Web hosting ilman kuormantasausta... 4 3. Web hosting kuormatasaus ja bastion... 5 3.1.... 5 3.2. Kuvaus... 5 4.

Lisätiedot

EJB-komponenttien tietokantakytkentä

EJB-komponenttien tietokantakytkentä hyväksymispäivä arvosana arvostelija EJB-komponenttien tietokantakytkentä Antti Harkola Helsinki 17. huhtikuuta 2003 Relaatiotietokannat nyt seminaari Helsingin yliopisto Tietojenkäsittelytieteen laitos

Lisätiedot

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Se edullisempi tietokanta Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Rasmus Johansson rasmus.johansson@microsoft.com Ratkaisumyyntipäällikkö (Sovellusalusta) Microsoft Oy Miten

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestipohjaisten yritysjärjestelmien suunnittelumallit Viestinvälitykseen perustuvat yritysjärjestelmät Peruselementit:

Lisätiedot

11/20: Konepelti auki

11/20: Konepelti auki Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon

Lisätiedot

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri Arkkitehtuuri Termieditorin käyttö vaatii kirjautumisen. Peruskäyttäjälle myönnetään erikseen aineistokohtaisia luku- ja muokkausoikeuksia. Järjestelmän ylläpitäjä (admin) saa ylläpitää kaikkia aineistoja.

Lisätiedot

Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari

Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari 4.11.2004 Jari Kuokka Tuoteasiantuntija Oracle Finland Oracle Developer Suite 10 g JDeveloper Reports

Lisätiedot

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti5004000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 4.6.2007,

Lisätiedot

29.11.2015. Työasema- ja palvelinarkkitehtuurit IC130301. Storage. Storage - trendit. 5 opintopistettä. Petri Nuutinen

29.11.2015. Työasema- ja palvelinarkkitehtuurit IC130301. Storage. Storage - trendit. 5 opintopistettä. Petri Nuutinen Työasema- ja palvelinarkkitehtuurit IC130301 5 opintopistettä Petri Nuutinen 5 opintopistettä Petri Nuutinen Storage Storage hallinnassa tärkeää saatavuus laajentaminen turvaaminen optimointi Storagen

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

FuturaPlan. Järjestelmävaatimukset

FuturaPlan. Järjestelmävaatimukset FuturaPlan Järjestelmävaatimukset 25.1.2017 2.2 Hermiankatu 8 D tel. +358 3 359 9600 VAT FI05997751 33720 Tampere fax. +358 3 359 9660 www.dbmanager.fi i Versiot Versio Päivämäärä Tekijä Kommentit 1.0

Lisätiedot

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti

Lisätiedot

KODAK EIM & RIM VIParchive Ratkaisut

KODAK EIM & RIM VIParchive Ratkaisut ATK Päivät 2006 Mikkeli KODAK EIM & RIM VIParchive Ratkaisut 29.-30.5. 2006 Stefan Lindqvist HCIS Sales Specialist Health Care Information Systems Kodak Health Group 3/24/2013 1 Arkistoinnin haasteita

Lisätiedot

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot