Tietokantaohjelmoinnin tekniikkoja Java-kielellä

Koko: px
Aloita esitys sivulta:

Download "Tietokantaohjelmoinnin tekniikkoja Java-kielellä"

Transkriptio

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

2 i Tietokantaohjelmoinnin tekniikkoja Java-kielellä Ville Kuokkanen Relaatiotietokannat nyt seminaari Tietojenkäsittelytieteen laitos Helsingin yliopisto Helsinki 6. helmikuuta 2003, 10 sivua Tämä seminaaripaperi esittelee tietokantaohjelmoinnin tekniikkoja Java-kielellä. Paperissa keskitytään lähinnä relaationalisen tiedon käsittelyyn JDBC-ohjelmointirajapinnan avulla. Aluksi esitellään JDBC-ohjelmointirajapinnan uusin versio 3.0, jonka jälkeen keskitytään kuvaamaan sen tarjoamia tietokantayhteys- ja transaktionhallintaohjelmointitekniikoita. Paperissa on erityisesti huomioitu Java 2 Platform, Enterprise Edition (J2EE) arkkitehtuurin tietokantaohjelmoinnille asettamat vaatimukset.

3 ii Sisältö 1. JOHDANTO YHTEYDENHALLINTA DATASOURCE YHTEYSALTAAT TRANSAKTIONHALLINTA HAJAUTETUT TRANSAKTIOT JCA JA JDBC YHTEENVETO... 8 LÄHTEET... 9

4 1 1. Johdanto JDBC API on Java-kielen ohjelmointirajapinta relaationalisen tiedon käsittelyyn. Sen avulla Java-sovellukset voivat kommunikoida yhden tai useamman tietovaraston kanssa. Useimmiten tietovarastona toimii relaatiotietokanta, jonka käsittelyyn käytetään SQLkieltä. [ElH01] JDBC-spesifikaatio (specification) perustuu Open Group (aikaisemmin X/Open) SQL CLI (Call Level Interface) [Ope95] tietokantaohjelmointirajapintaan, joka on myös C- kielisen ODBC-ohjelmointirajapinnan perustana. [ElH01] JDBC API esiteltiin ensimmäisen kerran tammikuussa 1997, jolloin sen tarkoitus oli tarjota keskeiset palvelut relaatiotietokantojen käsittelyyn. Myöhemmin JDBC 2.1 [WhH98] ja JDBC 2.0 Optional package [WhH99] määrittelyt lisäsivät ohjelmointirajapintaan keinot kehittyneempien tietokantaoperaatioiden toteutukseen sekä SQL99 tarjoamien uusien tietotyyppien käsittelyyn. JDBC 2.0 Optional package toi mukanaan myös keinot tietokantojen käsittelyyn sovelluspalvelimien (application server) sovelluskomponenttien (application component) avulla.[sun01] Näiden kehittyneiden määritysten myötä JDBC:stä tuli Java 2 Platform, Enterprise Edition (J2EE) arkkitehtuurin tarjoama peruspalvelu.[sha01a] Viimeisin versio JDBC-spesifikaatiosta on JDBC API 3.0 [ElH01]. Siinä on yhdistetty JDBC 2.1 (java.sql) ja JDBC 2.0 Optional package (javax.sql) määrittelyt sekä liitetty se osaksi Java TM 2 Platform, Standard Edition, version 1.4 (J2SE TM ) alustaa [ElH01]. JDBC 3.0 määrittely on myös osa J2EE version 1.4 alustan (platform) määrittelyä [Sha02]. Versio 3.0 mahdollistaa myös muiden kuin relaatiopohjaisten tietovarastojen käsittelyn. Tällaisia tietovarastoja voivat olla esimerkiksi tiedostojärjestelmät sekä olioperustaiset tietojärjestelmät. SQL99 standardi on olennaisena osana JDBC 3.0 määrittelyä. SQL99 ominaisuuksista on toteutettu ne, jotka tulevat todennäköisesti olemaan laajalti tuettuja seuraavan viiden vuoden aikana (arvio vuodelta 2001). [ElH01]

5 2 Tässä paperissa tullaan käsittelemään joitakin JDBC:n kehittyneitä ominaisuuksia, kuten tietolähteitä (data source), yhteysaltaita (connection pool), hajautettuja transaktioita (distributed transactions) sekä J2EE-alustan tietovarastoyhteyspalvelun JCA (J2EE Connector architecture) ja JDBC-tietokantayhteyspalvelun yhdistämistä. 2. Yhteydenhallinta Connection-olio edustaa JDBC-ajurin avulla tietovarastoon luotua yhteyttä, jossa tietovarastona voi toimia mikä tahansa tietojärjestelmä, jolle JDBC-ajuri on toteutettu. Sovellusohjelmalla voi olla useita Connection-olioita, jotka voivat viitata yhteen ainoaan tai useaan erilliseen tietovarastoon. [ElH01]. Perinteinen tapa yhteyden luomiseen client-server ympäristössä tapahtuu Driver- Manager luokan metodin DriverManager.getConnection avulla. Esimerkissä 1. on esitetty JDBC-sovelluksen yhteydenluontiprosessi. // Ajurin lataus. Luo instanssin acme.db.driver ajurista. // Tämän jälkeen ajuri on sovellusohjelman saatavilla Class.forName("acme.db.Driver"); // Argumenttien luonti getconnection metodikutsua varten. // Käytetään JDBC-ODBC siltaa yhteyden luontiin String url = "jdbc:odbc:dsn"; String user = "SomeUser"; String passwd = "SomePwd"; // Connection-olion luonti DriverManagerin avulla Connection con = DriverManager.getConnection(url, user, passwd); Esimerkki 1. Ajurin lataus ja Connection-olion luonti DriverManagerin avulla. [ElH01] Toinen tapa yhteyden luomiseen tapahtuu DataSource-rajapintaa käyttämällä. DataSourcen ideana on kätkeä käyttäjältä fyysisen tietokannan sijaintitiedot, jolloin yhteyden luonti tapahtuu hakemalla tietokannalle annetun loogisen nimen avulla DataSourcerajapinnan toteuttava instanssi. Haettu DataSource-instanssi hallitsee kyseisen tietokannan yhteyksien luomisen. JDBC API määrittelee myös kaksi tärkeää DataSourcelaajennusta: yhteysaltaan määrittelevän ConnectionPoolDataSourcen ja sekä hajautettuihin transaktioihin kykenevien yhteyksien luojan XADataSourcen.

6 3 Seuraavissa aliluvuissa käsitellään DataSource- sekä ConnectionPoolDataSourcerajapintojen käyttöä. XADataSource-rajapintaa käsitellään hajautetun transaktionhallinnan yhteydessä kappaleessa DataSource JDBC-spesifikaatio suosittelee käyttämään tietokantayhteyden muodostamiseen DataSource-rajapintaa [ElH01]. DataSourcen tarjoamien yhteyksien muodostamiseen käytetään tietokannan loogista nimeä, jolloin alla olevan fyysinen tietokannan tiedot piilotetaan asiakasohjelmilta. Tällöin saavutetaan se etu, että fyysisen tietokannan sijainti tai koko tietojärjestelmä voidaan haluttaessa vaihtaa. DataSource-rajapinta voidaan toteuttaa, joko JDBC-ajurissa itsessään tai sitten sovelluspalvelin tarjoaa palvelun, jonka avulla JDBC-ajuri voidaan konfiguroida osaksi sovelluspalvelimen yhdistyvyyspalveluita. Jotta DataSource-instanssia voitaisiin käyttää sovellusohjelmassa, tulee sen looginen nimi liittää osaksi nimipalvelua [ElH01]. Javan nimipalvelu on nimeltään JNDI (Java Naming and Directory Interface ) [JNDI99]. DataSource-rajapinta voidaan toteuttaa siten, että se läpinäkyvästi toteuttaa yhteyksien varastoimisen (connection pooling, ConnectionPoolDataSource) tai sen tarjoamat yhteydet ovat hajautettuihin transaktioihin kykeneviä (XADataSource). Sovellusohjelmien yhteyksien nouto tapahtuu myös näissäkin tapauksissa DataSource-rajapintaa käyttämällä. JDBC-spesifikaatio määrittelee joukon ominaisuuksia (properties), joita käytetään identifioimaan ja kuvaamaan DataSource-toteutusta [ElH01]. Ominaisuuksien määrä riippuu siitä onko kyseessä DataSource-, ConnectionPoolDataSource- vai XADataSourcerajapinnan olio. Kaikkien Datasource-toteutusten tulee kuitenkin toteuttaa descriptionominaisuus. Taulukossa 1. on esitetty DataSourcen standardiominaisuudet.

7 4 Property Name Type Description databasename String name of a particular database on a server datasourcename String a data source name; used to name an underlying XADataSource object or ConnectionPoolDataSource object when pooling of connections is done description String description of this data source networkprotocol String network protocol used to communicate with the server password String a database password portnumber int port number where a server is listening for requests rolename String the initial SQL rolename servername String database server name user String user s account name Taulukko 1. DataSourcen standardiominaisuudet [ElH01]. JDBC-sovellusohjelmat eivät käsittele suoraan DataSource-ominaisuuksia vaan ne asetetaan sovelluspalvelimen hallintatyökaluilla. DataSource-olion liittäminen sovelluspalvelimen nimiavaruuteen tapahtuu JNDI-nimipalvelun avulla. Esimerkissä 2. esitetään kuinka JNDI-nimipalvelun avulla voidaan VendorDataSource-olio ottaa käyttöön (deploy) J2EE-sovelluspalvelimessa. // Luodaan VendorDataSource olio ja asetetaan sen ominaisuudet VendorDataSource vds = new VendorDataSource(); vds.setservername("my_database_server"); vds.setdatabasename("my_database"); vds.setdescription("data source for inventory and personnel"); // Käyeteään JNDI:tä rekisteröimään uusi VendorDataSource olio. // Haetaan JNDI-juurikonteksti ja sidotaan looginen nimi // "jdbc/acmedb" uuteen luotuun VendorDataSource olioon. Context ctx = new InitialContext(); ctx.bind("jdbc/acmedb", vds); Esimerkki 2. VendorDataSource-olion käyttöönotto sovelluspalvelimessa. [ElH01] Tämän jälkeen jdbc/acmedb-niminen DataSource on sovellusohjelmien käytössä. Esimerkissä 3. esitetään kuinka sovellusohjelma voi JNDI-nimipalvelun avulla hakea yhteyden jdbc/acmedb tietokantaan. // Haetaan initial context Context ctx = new InitialContext(); // Haetaan "jdbc/acmedb" loogista nimeä vastaava DataSource-olio ja // käytetään sitä yhteyksien luontiin. DataSource ds = (DataSource)ctx.lookup("jdbc/AcmeDB"); Connection con = ds.getconnection("user", "pwd"); // tässä välissä suoritetaan normaaleja JDBC-käskyjä // yhteyden sulkeminen

8 5 con.close(); Esimerkki 3. Yhteyden luominen DataSourcen avulla [ElH01] 2.2 Yhteysaltaat Tavallisessa DataSource toteutuksessa sovelluksen Connection-olion ja fyysisen tietokantayhteyden välillä on 1:1 vastaavuus [ElH01]. Tämä tarkoittaa sitä, että sovellusohjelman Connection-olio suljettaessa myös fyysinen tietokantayhteys lakkaa olemasta. Fyysisen tietokantayhteyden luominen sekä sulkeminen ovat usein raskaita operaatioita. Erityisesti J2EE-sovellusympäristössä, jossa client-istunnot (client session) ovat usein hyvinkin lyhyitä, uuden yhteyden luominen vaikuttaa tehokkuuteen ratkaisevasti. Esimerkiksi jokainen tilattoman Session-pavun (Stateless Session Bean) metodi voi luoda ja sulkea uuden Connection-olion. Ratkaisu tähän on yhteyksien varastoiminen yhteysaltaiden (connection pool) avulla [ElH01, Sha01a]. Yhteysaltaat varastoivat fyysisiä tietokantayhteyksiä välimuistissa, josta niitä jaetaan sovellusohjelmien käyttöön. Näin säästytään turhilta ja aikaa vievältä yhteyksien avaamisilta ja sulkemisilta. Yhteysallas voidaan toteuttaa joko JDBC-ajurissa ConnectionPoolDataSourcerajapinnan avulla, jota sovelluspalvelin käyttää yhteysaltaan luonnissa ja hallinnassa tai sovelluspalvelin voi tarjota DataSource-wrapperin, joka toteuttaa yhteyksien varastoinnin. JDBC 3.0-spesifikaatio esittelee uutena ominaisuutena myös valmisteltujen käskyjen varastoinnin ( prepared statement pooling). Tällöin yhteyksien varastoinnin lisäksi varastoidaan myös PreparedStatement-oliota [ElH01]. JDBC API määrittää joukon ominaisuuksia, joita voidaan käyttää ConnectionPoolDataSource-toteutuksen yhteyksien varastoinnin hallitsemiseen [ElH01]. Taulukossa 2. on esitetty ConnectionPoolDataSourcen standardiominaisuudet.

9 6 Property Name Type Description maxstatements int The total number of statements that the pool should keep open. 0 (zero) indicates that caching of statements is disabled. initialpoolsize int The number of physical connections the pool should contain when it is created minpoolsize int The number of physical connections the pool should keep available at all times. 0 (zero) indicates that connections should be created as needed. maxpoolsize int The maximum number of physical connections that the pool should contain. 0 (zero) indicates no maximum size. maxidletime int The number of seconds that a physical connection should remain unused in the pool before the connection is closed. 0 (zero) indicates no limit. propertycycle int The interval, in seconds, that the pool should wait before enforcing the current policy defined by the values of the above connection pool properties Taulukko 2. ConnectionPoolDataSourcen standardit ominaisuudet [ElH01]. Yhteyksien ja valmisteltujen käskyjen varastointi ei näy suoraan sovellusohjelmalle, vaan se käyttää normaaliin tapaan DataSource-rajapinnan käskyjä yhteyksien noutamiseen kuten Esimerkissä 3. Erona on se, että ohjelman suorittaessa komennon con.close() fyysistä tietokantayhteyttä ei suljetakkaan, vaan Connection-olio palaa takaisin yhteysaltaaseen, josta se voidaan luovuttaa jonkun toisen sovellusohjelman käyttöön. 3. Transaktionhallinta JDBC version 3.0 transaktionhallinta pohjautuu SQL99-spesifikaatioon ja se on suunniteltu yhteensopivaksi Java Transaction API (JTA) määrityksen kanssa [ChM99]. JDBC:n transaktiohallinta sisältää kolme käsitettä [ElH01]: Auto-commit toiminto (auto-commit mode) Transaktion eristyneisyystasot (transaction isolation levels) Jatkoaloituskohta (Savepoints) Auto-commit toiminolla määritellään transaktioiden automaattinen rajaus. Transaktion eristyneisyystasoilla määritellään transaktion eristyneisyys muista samaan aikaan suoritettavista transaktiosta. Jatkoaloituskohta on JDBC 3.0 määritelty uusi ominaisuus transaktion hienorakenteisempaan suoritukseen. Jokaisen JDBC yhteensopivan (JDBC compliant) ajurin pitää tukea transaktioita [ElH01].

10 7 Nämä säännöt pätevät yhden Connection-olion suorittamaan transaktioon kuten myös useita Connection-olioita sisältävään hajautettuun transaktioon. Seuraavassa aliluvussa käsitellään hajautettujen transaktioiden toteutusta JDBC:llä. 3.1 Hajautetut transaktiot Hajautetussa transaktiossa on kyse transaktiosta, joka sisältää useita tietokantayhteyksiä yhteen tai useampaan tietovarastoon. Hajautettujen transaktioiden ympäristö koostuu seuraavista osista [ElH01] : Tapahtumankäsittelijä (transaction manager) hallitsee globaalin transaktion suoritusta. Käyttää tähän kaksi-vaihe commitointia (two-phase commit). Tapahtumankäsittelijä on tyypillisesti JTA-toteutus sovelluspalvelimessa. XADataSource, XAConnection ja XAResource rajapinnat toteuttava JDBC-ajuri. Sovellukselle näkyvä DataSource-toteutus, joka toimii liittymänä XADataSource-olioon ja hoitaa yhteydet tapahtumankäsittelijään. Sovelluspalvelin toteuttaa yleensä tämän. Resurssinkäsittelijä (recource manager) hoitaa varsinaisen alla olevan tiedon hallinnan. JDBC:ssä resurssinkäsittelijöinä ovat tietokannan hallintajärjestelmät. Useimmiten hajautettujen transaktioiden ympäristönä toimii kolmitasoiseen arkkitehtuuriin perustuva järjestelmä, joka koostuu asiakaskerroksesta (client tier), välikerroksesta (middle tier) ja tietovarastokerroksesta (EIS tier). Asiakaskerroksen muodostavat järjestelmän asiakassovellukset. Välikerroksena toimii yleensä J2EE-palvelin, joka hoitaa globaalin transaktion hallinnan. Tietovarastokerroksena ovat järjestelmän relaatiotietokannat, joille löytyy hajautettuihin transaktioihin kykenevät JDBC-ajurit. Esimerkiksi seuraavassa tarvitaan hajautettua transaktiota. Sovellusohjelma kutsuu EJBpavun A metodia, joka päivittää tietokantaa X. Tämän jälkeen EJB-papu A kutsuu toisen EJB-pavun B metodia, joka lähettää JMS-viestin päivityksen toteutuksesta käyttäen JMS-sanomanvälityspalvelua. Tällöin J2EE-palvelimen tapahtumankäsittelijä huolehtii siitä, että sekä tietokantapäivitys että JMS-sanomalähetys tulevat suoritettua ja vahvistettua (commit) tai sitten molemmat tapahtumat perutaan (rollback).

11 8 4. JCA ja JDBC J2EE Connector Architecture 1.0 (JCA) spesifikaatio määrittelee yleiset säännöt resurssisovittimista (resource adaptor) J2EE-alustalla [Sha01b]. Resurssisovitin toimii J2EEympäristössä ulkoisen järjestelmän ja sovelluspalvelimen standardina yhdistämiskeinona. JCA määrittelee myös resurssisovittimen pakkausmuodon, jonka avulla resurssi voidaan ottaa käyttöön (deploy) J2EE-palvelimissa. JCA-määrittelyn mukaisen resurssisovittimen toteuttamiseen JDBC-ajurille on olemassa useita vaihtoehtoja [ElH01]: Kirjoitetaan JDBC-ajurille joukko luokkia, jotka toteuttavat JCAmäärityksen säännöt. Toteutetaan järjestelmälle resurssisovitin sellaisenaan. Sun on esitellyt hiljattain myös JDBC TM Connector-tekniikan, jonka avulla JDBC-ajuri voidaan muuntaa JCA-standardin mukaisiksi resurssisovittimeksi [Sun02]. JDBC Connector- tekniikan suurin etu on siinä, ettei JDBC-ajurin koodia tarvitse ollenkaan muuttaa. 5. Yhteenveto Tässä seminaaripaperissa on käsitelty tietokantaohjelmoinnin tekniikkoja Java-kielellä. Paperissa on pääasiassa keskitytty esittelemään JDBC version 3.0 tarjoamia tietokantayhteyspalveluja sekä hajautettujen transaktioiden hallintaa. Lisäksi on esitelty JDBCtietokantayhteyspalvelun muuntaminen J2EE-alustan JCA-standardin mukaiseksi tietovarastoyhteyspalveluksi. JDBC on saavuttanut vankan aseman relaatiotietokantaohjelmoinnissa. Erityisesti olemassa olevien yritystietojärjestelmien integrointi osaksi yritysten WWWliiketoimintapalveluita on vauhdittanut JDBC-tekniikan kehitystä.

12 9 Lähteet ChM99 Cheung S., Matena V., Java Transaction API (JTA) Specification, Version 1.0.1, Final Release, Sun Microsystems, April 29, [ ] ElH01 Ellis J., Ho L., JDBC 3.0 Specification, Final Release, Sun Microsystems, December 1, [ ] JNDI99 Java Naming and Directory Interface (JNDI) API Specification 1.2, Sun Microsystems, July 14, [ ] Ope95 Data Management: SQL Call Level Interface (CLI), Open Group Technical Standard, The Open Group, March [ ] Sha01a Shannon B., Java 2 Platform, Enterprise Edition Specification Version 1.3, Final Release, Sun Microsystems, August 22, [ ] Sha01b Sharma R., J2EE Connectors Specification, Version 1.0, Final Release, Sun Microsystems, August 22, [ ] Sha02 Shannon B., Java 2 Platform, Enterprise Edition Specification Version 1.4, Proposed Final Draft 2, Sun Microsystems, November 12, [ ] Sun01 JDBC Technology Guide: Getting Started, Sun Microsystems, [ ] Sun02 JDBC TM Connector 1.0 Early Access Release, Sun Microsystems, [ ]

13 10 WhH98 White S., Hapner M., JDBC 2.0 Standard Extension API Specification, Version 1.0, Final Release, Sun Microsystems, December 7, [ ] WhH99 White S., Hapner M., JDBC 2.1 API Specification, Version 1.1, Final Release, Sun Microsystems, October 5, [ ]

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

RDBMS - Yhteyskäytännöt

RDBMS - Yhteyskäytännöt HAAGA-HELIA Heti-09 1 (11) RDBMS - Yhteyskäytännöt Johdanto... 2 Upotettu SQL... 3 ESQL esimerkki... 4 ODBC... 5 Visual Basic ja ADO... 6 JAVA ja JDBC... 7 JDBC esimerkki... 8 Oracle ja JDBC... 9 Connection

Lisätiedot

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) HAAGA-HELIA ICT1TA006: Ohjelmointi 1 /5 Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) (Lähteet: Oracle java jdbc Tutorial, Arvo Lipitsäinen: Tietokannan käsittely JDBC:n

Lisätiedot

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 HSMT Tietokannoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

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

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

EXEC SQL BEGIN DECLARE SECTION

EXEC SQL BEGIN DECLARE SECTION Tietokantaohjelmointi Tietokantaa käytetään harvoin suoraan kyselyliittymän kautta Tyypillisesti käyttö tapahtuu sovellusohjelman kautta Sovellusohjelmaa laadittaessa vaihtoehtoja tietokantakäsitettelyn

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

käännös käännösvaiheessa tarkasettaan linkitys

käännös käännösvaiheessa tarkasettaan linkitys Upotettu SQL Ohjelmoitaessa 3GL kielillä, käytetään relaatiotietokantaa yleensä esikääntäjien avulla. Tietokannan valmistaja toimittaa funktiokirjaston, jota esikääntäjän avulla hyödynnetään. Ongelmaksi

Lisätiedot

Java ja tietokannan käsittely (JDBC)

Java ja tietokannan käsittely (JDBC) Java ja tietokannan käsittely (JDBC) Javan tietokannan käsittely luokat (java.sql.*) Yhteys tietokantaan Tietokannan yhteyden sulkeminen Tiedon haku tietokannasta Tiedon päivitys tietokantaan Transaktio

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

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -

Lisätiedot

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 Tietokantaohjelmointi 23.2.2000. Harri Laine 1. SQL:n käyttö ohjelmissa

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 Tietokantaohjelmointi 23.2.2000. Harri Laine 1. SQL:n käyttö ohjelmissa SQL:n käyttö ohjelmissa Tietokannan käyttö ohjelmasta Miksi vuorovaikutteinen käyttö ei riitä? kielen hallinta: maallikot? yhdistetään yleiskielen ja tietokantakielen edut, mm.» monimutkaisempi laskenta»

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

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

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

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.4-0-201505291153 Pekka Muhonen 8/12/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes

Lisätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents

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

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

Lisätiedot

7.4 Variability management

7.4 Variability management 7.4 Variability management time... space software product-line should support variability in space (different products) support variability in time (maintenance, evolution) 1 Product variation Product

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

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

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja Lohtu-projekti Ylläpitäjän dokumentti Versiohistoria: 1.0 12.5.2003 Ensimmäinen versio Andreas Asuja Helsinki 12. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja, Mari Muuronen, Seppo Pastila, Virve Taivaljärvi

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

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Sovelluksen jako palvelimiksi: Palvelin on sille annettuun vastuulliseen tehtävään erikoistunut sovellusosa. Käyttöliittymäpalvelin (Web-palvelin) vastaa käyttöliittymän toteuttamisesta. Web-palvelin toteuttaa

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

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

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo TIEKE Verkottaja Service Tools for electronic data interchange utilizers Heikki Laaksamo TIEKE Finnish Information Society Development Centre (TIEKE Tietoyhteiskunnan kehittämiskeskus ry) TIEKE is a neutral,

Lisätiedot

Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy. 2005 Mermit Business Applications

Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy. 2005 Mermit Business Applications Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy Esityksen sisältö Mermit yrityksenä Perustiedot Toimintamalli Mermit työpaikkana ohjelmistoinsinöörille Esimerkkiprojekti

Lisätiedot

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä 2016 IX Olioiden välisistä yhteyksistä Sisältö 1. Johdanto 2. Kytkentä 3. Koheesio 4. Näkyvyydestä 2 Johdanto n Ohjelmassa syntyy kytkentöjä olioiden välille Toivottuja ja epätoivottuja n Näkyvyys vaikuttaa

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen... 10 Loki-tiedosto... 11

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito

SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos Insert lauseella on kaksi muotoa: insert into

Lisätiedot

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU IIO30120 DATABASE DESIGN / TIETOKANTOJEN SUUNNITTELU JA IIO30220 DATABASE MANAGEMENT / TIETOKANNAN HALLINTA FYYSINEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI,

Lisätiedot

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja. Matematiikan oppifoorumi Ylläpito-ohje Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen Ohjaaja Jukka Eskola Ohjelmistotuotantoprojekti 17.12.1999 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen

Lisätiedot

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy Kehitysohje ETL-työkalu Versio Pvm Tekijä Kuvaus 0.1 15.1.2005 Timo Sallinen Ensimmäinen versio 0.2 26.1.2005 Timo Sallinen Täydenetty pohjaa 0.3 06.02.2005 Mika Suvanto Pieniä täydennyksiä ja oikolukua

Lisätiedot

Ylläpitäjät, järjestelmäarkkitehdit ja muut, jotka huolehtivat VMwareinfrastruktuurin

Ylläpitäjät, järjestelmäarkkitehdit ja muut, jotka huolehtivat VMwareinfrastruktuurin KOULUTUSTIEDOTE 1(6) VMWARE VSPHERE 5: INSTALL, CONFIGURE AND MANAGE II Tavoite Koulutuksen jälkeen osallistujat hallitsevat VMware vsphere -ympäristön asennuksen, konfiguroinnin ja hallinnan. Koulutus

Lisätiedot

Oracle 11g tietokannan päivityksen tarjoamat hyödyt ja kustannussäästöt

Oracle 11g tietokannan päivityksen tarjoamat hyödyt ja kustannussäästöt Dedicated to Your Success. Oracle 11g tietokannan päivityksen tarjoamat hyödyt ja kustannussäästöt Puitesopimustoimittaja Pasi Parkkonen Director, Citrus Solutions Oy pasi.parkkonen@citrus.fi 040-5905307

Lisätiedot

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Esimerkki: Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Luo tietokanta Koulu. Tietokantaan lisätään 3 taulua. Kurssit-taulu: kurssiid not null primary key INTEGER aineid not

Lisätiedot

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj SUOMEN KUNTALIITTO Sosiaali- ja terveysyksikkö Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj ~ (operatiiviset-/tiedonjakelu-/si~llönhallinta~velluk~et)

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely HAAGA-HELIA Heti-09 1 (14) Transaktionkäsittely Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen...

Lisätiedot

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

812341A Olio-ohjelmointi Peruskäsitteet jatkoa 812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää

Lisätiedot

Open Access & Open Data & Tulosten suojaus Horisontti ohjelmassa. Liisa Ewart Lakimies Sopimus- ja kustannusasioiden NCP VTT 27.3.

Open Access & Open Data & Tulosten suojaus Horisontti ohjelmassa. Liisa Ewart Lakimies Sopimus- ja kustannusasioiden NCP VTT 27.3. Open Access & Open Data & Tulosten suojaus Horisontti 2020 - ohjelmassa. Liisa Ewart Lakimies Sopimus- ja kustannusasioiden NCP VTT 27.3.2017 Desca -mallisopimuksen kohdan 8.4. ohje Dissemination Be aware

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

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

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000 HELIA 1 (15) Luento 2.7 Toiminnallisuutta tietokantaan... 2 Deklaratiivinen eheysvalvonta... 2 Proseduraalinen eheysvalvonta... 3 Eheysvalvonnan suunnittelusta... 4 Sääntöjen määrittely... 4 Toteutusvaihtoehdot...

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

ZYXEL 645R MODEEMIN ASENTAMINEN SILLATTUUN SAUNALAHDEN ADSL- LIITTYMÄÄN

ZYXEL 645R MODEEMIN ASENTAMINEN SILLATTUUN SAUNALAHDEN ADSL- LIITTYMÄÄN ZYXEL 645R MODEEMIN ASENTAMINEN SILLATTUUN SAUNALAHDEN ADSL- LIITTYMÄÄN VERSIO 1.0 JIPPII GROUP OYJ 1 DOKUMENTIN TARKOITUS Tervetuloa Saunalahden ADSL-liittymän käyttöönottoon opastavaan ohjeeseen! Tämän

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

JDO Java Data Objects

JDO Java Data Objects hyväksymispäivä arvosana arvostelija JDO Java Data Objects Kasper J. Nora Helsinki 17. maaliskuuta 2003 Seminaari Relaatiotietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos ii JDO - Java

Lisätiedot

Dell Fluid Data TM solutions

Dell Fluid Data TM solutions Dell Fluid Data TM solutions Älykästä tallennuksen virtualisointia Dell Compellent Juha_Ekstrom@dell.com 2.11.2011 Virtualisointi & Älykkyys Virtualisointi tarkoittaa tietojenkäsittelyssä tekniikkaa, jolla

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI SQL - KIELI TIETOJEN MUOKKAUS MARKKU SUNI Tarkastellaan tauluissa olevien tietojen muokkausta muokkauskäskyjä: INSERT UPDATE DELETE Kysymys kuuluu: Voiko tietoja muokata

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

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Teollisuusautomaation tietoturvaseminaari Purchasing Manager, Hydro Lead Buyer, Industrial Control Systems 1 Agenda / esityksen tavoite

Lisätiedot

Ohje kehitysympäristöstä. Dokumentti: Ohje kehitysympäristöstä.doc Päiväys: 15.03.2005 Projekti : AgileElephant

Ohje kehitysympäristöstä. Dokumentti: Ohje kehitysympäristöstä.doc Päiväys: 15.03.2005 Projekti : AgileElephant AgilElephant Tekijä: Petri Kalsi Omistaja: ElectricSeven Dokumentti:.doc Päiväys: 15.03.2005 Aihe: Sivu 1 of 6 Dokumenttihistoria Muutoshistoria Revision Revision Yhteenveto muutoksista Revision tekijä

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

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta 1. Johdanto (käsitteitä) 2. Tietokannan talletusrakenteet 3. Tietokannan hakemistorakenteet 4. Kyselyiden käsittely ja optimointi

Lisätiedot

HITSAUKSEN TUOTTAVUUSRATKAISUT

HITSAUKSEN TUOTTAVUUSRATKAISUT Kemppi ARC YOU GET WHAT YOU MEASURE OR BE CAREFUL WHAT YOU WISH FOR HITSAUKSEN TUOTTAVUUSRATKAISUT Puolitetaan hitsauskustannukset seminaari 9.4.2008 Mikko Veikkolainen, Ratkaisuliiketoimintapäällikkö

Lisätiedot

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot) SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert

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

TEHTÄVÄ 3: * Tehtävä 1, ** Tehtävä 2

TEHTÄVÄ 3: * Tehtävä 1, ** Tehtävä 2 TEHTÄVÄ 3: Symantec Endpoint Protection Manager, SEPM asetukset, asennustiedoston tekeminen, asennus asiakaskoneisiin ja niiden keskitetty hallinta Server 2008 käyttöjärjestelmässä Symantec Endpoint Protection

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI Tarkastellaan tietokantojen perusominaisuuksia taulujen suhteita toisiinsa tietokantojen suunnittelun alkeita Id enimi snimi muuta 1 Aki Joki xxx 2 Esa Elo yyy Id katuos

Lisätiedot

Pedacode Pikaopas. Tietokantaa hyödyntävän sovelluksen luominen

Pedacode Pikaopas. Tietokantaa hyödyntävän sovelluksen luominen Pedacode Pikaopas Tietokantaa hyödyntävän sovelluksen luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, Netbeans-työkalulla luodaan uusi yksinkertainen Java DB -tietokantaa hyödyntävä sovellus. Opas kattaa

Lisätiedot

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36 !!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat

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

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely 1 Ominaisuudet Kun tutkimme työasemapohjaisia sovelluksiamme, tarvitaan joskus tietoa: mikä on käyttöjärjestelmä mikä on käytössä oleva

Lisätiedot

Oraclen syvin ydin. Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija. OUGF syysseminaari 2002 Sivu 1

Oraclen syvin ydin. Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija. OUGF syysseminaari 2002 Sivu 1 Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija OUGF syysseminaari 2002 Sivu 1 Oracle 8i (8.1.7) muistinkäyttöä ja viritystä: SGA ja PGA mitä ne on ja niihin vaikuttavat init.orat SGA:n rakenne Kannan

Lisätiedot

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Jouni Huotari Martti Laiho (materiaali on osa virtuaaliammattikorkeakoulun Tietokantaosaaja-opintokokonaisuutta) opintokokonaisuutta)

Lisätiedot

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation FinFamily Asennus / Installation 1 Sisällys / Contents FinFamily Asennus / Installation... 1 1. Asennus ja tietojen tuonti / Installation and importing data... 4 1.1. Asenna Java / Install Java... 4 1.2.

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

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

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

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012)

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012) IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012) TEHTÄVIÄ/KYSYMYKSIÄ Määrittele tapahtuma (transaction) tapahtumien hallinta Mitä ovat tapahtuman ACIDominaisuudet?

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

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

SQL SERVER 2012 PARALLEL DATA WAREHOUSE APPLIANCE

SQL SERVER 2012 PARALLEL DATA WAREHOUSE APPLIANCE SQL SERVER 2012 PARALLEL DATA WAREHOUSE APPLIANCE Toukokuu, 2013 Pekka Pykäläinen Tuote- ja ratkaisupäällikkö Application Platform Microsoft HYÖDYNNÄ KAIKKI KÄYTETTÄVISSÄ OLEVA TIETO NEW WORLD OF DATA

Lisätiedot

VMwaren keskitetty työasemaratkaisu

VMwaren keskitetty työasemaratkaisu VMwaren keskitetty työasemaratkaisu Santeri Stolt Järjestelmäasiantuntija VMware Finland Työasemia virtualisoidaan - nyt By the end of 2010, all new PC deployments will be virtualized. Brian Gammage and

Lisätiedot

Group 2 - Dentego PTH Korvake. Peer Testing Report

Group 2 - Dentego PTH Korvake. Peer Testing Report Group 2 - Dentego PTH Korvake Peer Testing Report Revisions Version Date Author Description 1.0 Henrik Klinkmann First version Table of Contents Contents Revisions... 2 Table of Contents... 2 Testing...

Lisätiedot

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen Tietojärjestelmä tuotantoympäristössä Tausta ja tavoitteet Tausta Kurssilla on opiskeltu suunnittelemaan ja toteuttamaan tietokanta, joka on pieni perustuu selkeisiin vaatimuksiin on (yleensä) yhden samanaikaisen

Lisätiedot

Suomi.fi-palvelutietovaranto

Suomi.fi-palvelutietovaranto Suomi.fi-palvelutietovaranto PTV-rajapinnat ja integraatiot teemakoulutus Teema: Teema: PTV:n versio 1.3 IN-rajapinta / metodien rakenne 15.12.2016 Tavoitteet ja sisältö Tavoitteet Tiedottaa PTV:n IN-rajapinnan

Lisätiedot

2. Olio-ohjelmoinista lyhyesti 2.1

2. Olio-ohjelmoinista lyhyesti 2.1 2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin

Lisätiedot

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI Tavoite: Suunnitella käyttäjien tarvitsemat turvallisuusmekanismit ja säännöt. Toisin sanoen: tehdä tietokannasta turvallinen ja luotettava. Muistutus: Tietokanta

Lisätiedot

Mitä uutta ConfigMgr 2012 SP2 ja 2016? Panu Saukko ProTrainIT Oy panu.saukko@protrainit.fi

Mitä uutta ConfigMgr 2012 SP2 ja 2016? Panu Saukko ProTrainIT Oy panu.saukko@protrainit.fi Mitä uutta ConfigMgr 2012 SP2 ja 2016? Panu Saukko ProTrainIT Oy panu.saukko@protrainit.fi Pääkehityskohteet Mobiililaitehallinta Cloud first, mobile first näkyy käytännössä Windows 10 tuki Nykyisten ominaisuuksien

Lisätiedot

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

Mammutti vai elefantti?

Mammutti vai elefantti? Mammutti vai elefantti? Tänään tarjolla Arkkitehtuuri - baseline Esittelyssä Elefantti ylhäältä ja alhaalta teoriaa ja kokemuksia Elefantti vs. Mammutti Kuka vie peliä ja millä säännöillä Meidän esimerkki

Lisätiedot

TW- WLAN 802.11ac SOVITTIMEN ASENNUSOHJE

TW- WLAN 802.11ac SOVITTIMEN ASENNUSOHJE TW- WLAN 802.11ac SOVITTIMEN ASENNUSOHJE Copyright TeleWell Oy Tekniset tiedot: - - - - - - - Yhteensopiva IEEE 802.11b/g/n/ac - standardien kanssa Taajuusalueet 2.4 GHz ja 5 GHz Maksiminopeus: 300 Mbps

Lisätiedot

Omat Lähdöt ohjelmointirajapinta: Versio 1.01

Omat Lähdöt ohjelmointirajapinta: Versio 1.01 Sivu 1(19) Omat Lähdöt ohjelmointirajapinta: Versio 1.01 Seasam House Oy Helsingin seudun liikenne Hyväksynyt: Päivämäärä: Hyväksynyt: Päivämäärä: www.seasam.com Sivu 2(19) Versio historia Versio 0.01

Lisätiedot

Portugalin tasavallan aloite neuvoston päätökseksi Schengenin konsultointiverkoston (tekniset eritelmät) osan 1 muuttamisesta

Portugalin tasavallan aloite neuvoston päätökseksi Schengenin konsultointiverkoston (tekniset eritelmät) osan 1 muuttamisesta Conseil UE EUROOPAN UNIONIN NEUVOSTO Bryssel, 26. lokakuuta 2007 (07.11) (OR. en) PUBLIC 14215/07 LIMITE VISA 334 COMIX 924 ILMOITUS Lähettäjä: Vastaanottaja: Asia: Puheenjohtajavaltio Viisumityöryhmä

Lisätiedot

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0 CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved

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