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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 web-ohjelmointi Teoria ja ohjelmointitehtävät J2EE web-ohjelmointi 3 JOHDATUS OPISKELUUN...7 Opiskelu kurssilla... 7 Kurssin sisältö... 7 Aikataulu...

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

Muutamia peruskäsitteitä

Muutamia peruskäsitteitä Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä

Lisätiedot

.NET 2006 ja sen jälkeen

.NET 2006 ja sen jälkeen .NET 2006 ja sen jälkeen Ahti Haukilehto FC Sovelto Oyj Microsoft Regional Director, Finland Superior tools, niin mitkä? Visual Studio Team System Team Foundation Server DSL Tools 2 Visual Studio Team

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

Software Signing System System overview and key domain concepts

Software Signing System System overview and key domain concepts Software Signing System System overview and key domain concepts Copyright 2004 F-Secure Corporation. All rights reserved. Contents 1 System overview...1 2 Main domain concepts...2 3 Roles and user groups...3

Lisätiedot

Delegaatit ja tapahtumakäsittelijät

Delegaatit ja tapahtumakäsittelijät 14 Delegaatit ja tapahtumakäsittelijät Toinen käyttökelpoinen keksintö C#-kielessä ovat delegaatit. Periaatteessa ne palvelevat samaa tarkoitusta kuin C++:n funktio-osoittimet. Delegaatit ovat kuitenkin

Lisätiedot

Järjestelmäkehitys EJB komponenttien avulla

Järjestelmäkehitys EJB komponenttien avulla Järjestelmäkehitys EJB komponenttien avulla Eeva-Liisa Lehto Helsinki 8.11.2000 Seminaariesitelmä Ohjelmistotuotantovälineet Tietojenkäsittelytieteen laitos Helsingin yliopisto 2 SISÄLTÖ: 1. Johdanto...3

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

Olio-ohjelmointi: Luokkien toteuttaminen. Jukka Juslin

Olio-ohjelmointi: Luokkien toteuttaminen. Jukka Juslin Olio-ohjelmointi: Luokkien toteuttaminen Jukka Juslin Luokkien kirjoittaminen Tähän mennessä on käytetty valmiiksi määritettyjä luokkia. Nyt opimme kirjoittamaan omia luokkia olioiden kuvaamiseksi Seuraavaksi

Lisätiedot

Konesali ilman rajoja Kongressi A 5.3.2013

Konesali ilman rajoja Kongressi A 5.3.2013 Konesali ilman rajoja Kongressi A 5.3.2013 t SC Orchestrator 2012 SP1 Harri Puupponen 5.3.2013 t 2012 Microsoft Corporation. All rights reserved. Sisältö Yleistä Arkkitehtuuri Uudet ominaisuudet Demoja

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

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

Metsälamminkankaan tuulivoimapuiston osayleiskaava

Metsälamminkankaan tuulivoimapuiston osayleiskaava VAALAN KUNTA TUULISAIMAA OY Metsälamminkankaan tuulivoimapuiston osayleiskaava Liite 3. Varjostusmallinnus FCG SUUNNITTELU JA TEKNIIKKA OY 12.5.2015 P25370 SHADOW - Main Result Assumptions for shadow calculations

Lisätiedot

VHDL-piirikuvaus ja simulointi Quartus II ja ModelSim Altera Edition -ohjelmilla

VHDL-piirikuvaus ja simulointi Quartus II ja ModelSim Altera Edition -ohjelmilla Vaasan yliopisto Sivu: 1/9 VHDL-piirikuvaus ja simulointi Quartus II ja ModelSim Altera Edition -ohjelmilla Tässä dokumentissa opastetaan, miten -kurssin VHDLtehtävissä tarvittavia ohjelmia käytetään.

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Olli Opiskelija (123), olli.opiskelija@foo.fi Maija Mallioppilas (321), maija.mallioppilas@foo.fi 13.3. 2007 1 Sisältö 1 Tietokannan kuvaus 3 1.1 Tietokannan rakenne..................................

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

Web Services tietokantaohjelmoinnin perusteet

Web Services tietokantaohjelmoinnin perusteet ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...

Lisätiedot

SISÄLLYSLUETTELO. Sisällysluettelo. ALKUSANAT... III Palaute... III Kirjailijat... III

SISÄLLYSLUETTELO. Sisällysluettelo. ALKUSANAT... III Palaute... III Kirjailijat... III Sisällysluettelo V SISÄLLYSLUETTELO ALKUSANAT... III Palaute... III Kirjailijat... III JOHDANTO... XV Kirjan sisällöstä... XV Kirjan lukemiseen liittyviä ohjeita... XV Viime hetken lisäys...xvi OSA I DELPHI

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

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden

Lisätiedot

Inteno FG101 R2 modeemi - päivitysohje

Inteno FG101 R2 modeemi - päivitysohje 1 (8) Inteno FG101 R2 modeemi - päivitysohje Tätä ohjetta tai sen osaa ei saa kopioida tai välittää missään muodossa ilman DNA Oy:n kirjallista suostumusta. Tavaramerkit ja Inteno ovat Inteno Broadband

Lisätiedot

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1 Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto

Lisätiedot

server "Ismo" $ uname -a Linux ismo 2.6.26-2-686 #1 SMP Thu Sep 16 19:35:51 UTC 2010 i686 GNU/Linux $ cat /etc/issue Debian GNU/Linux 5.

server Ismo $ uname -a Linux ismo 2.6.26-2-686 #1 SMP Thu Sep 16 19:35:51 UTC 2010 i686 GNU/Linux $ cat /etc/issue Debian GNU/Linux 5. server "Ismo" $ uname -a Linux ismo 2.6.26-2-686 #1 SMP Thu Sep 16 19:35:51 UTC 2010 i686 GNU/Linux $ cat /etc/issue Debian GNU/Linux 5.0 \n \l Tapani Aalto 0602225 Oliver Huuhtanen 0701353 Group: LNS10C1

Lisätiedot

HARJOITUS 2: Käyttäjien ja käyttäjäryhmien luominen, Active Directory Users and Computers

HARJOITUS 2: Käyttäjien ja käyttäjäryhmien luominen, Active Directory Users and Computers HARJOITUS 2: Käyttäjien ja käyttäjäryhmien luominen, AD Users and Computers Domain Name System, DNS * Active Directory, AD * Windows Server 2008 * * Tehtävä 1 Tomi Stolpe Turun AKK 11.11.2009 SISÄLLYSLUETTELO

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

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Moniperintä 2 Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Oliomallinnus TITE.2040 Hannu K. Niinimäki 1 Delegointi 1 Moniperinnän toteuttaminen

Lisätiedot

MySQL Maestro. Aleksi Korpela IST4SO Markus Lamminaho IST4SO

MySQL Maestro. Aleksi Korpela IST4SO Markus Lamminaho IST4SO MySQL Maestro Aleksi Korpela IST4SO Markus Lamminaho IST4SO 1. MAESTRON ASENTAMINEN... 2 2. MYSQL MAESTRON KÄYNNISTÄMINEN JA TESTIKANNAN LUOMINEN... 6 2.1 Taulujen luominen kantaan... 10 2.2 Käyttäjän

Lisätiedot

Navistools Standard. Navistools

Navistools Standard. Navistools Navistools Standard Navistools on Naviswork pohjainen Asset management sovellus, jota käytetään laitoksen, infrakohteen tai rakennuksen elinkaarenaikasen tiedonhallintaan, suunnittelusta työmaavaiheen

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

Tietokannan webbikytkentä. Janne Petäjä

Tietokannan webbikytkentä. Janne Petäjä Tietokannan webbikytkentä Janne Petäjä Helsinki 7. huhtikuuta 2003 Relaatiotietokannat nyt - seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Tietokannan webbikytkentä Janne Petäjä Relaatiotietokannat

Lisätiedot

Web Service torilla tavataan!

Web Service torilla tavataan! Web Service torilla tavataan! Jari Putula Avarea Oy COPYRIGHT BY AVAREA 2009 1 Google Trends COPYRIGHT BY AVAREA 2009 2 1 1. Mahdollistajat 2. Web service? 3. KISS 4. Miksi? 5. Analogia 6. Ajax 7. Esimerkki

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Opintojakso TT00AA11 Ohjelmoinnin jatko (Java) Tavoite Opiskelija ymmärtää olio-ohjelmoinnin problematiikan. Opiskelija osaa määritellä ja käyttää itse

Lisätiedot

Visual Basic -sovelluskehitin Juha Vitikka

Visual Basic -sovelluskehitin Juha Vitikka Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen

Lisätiedot

API:Hack Tournee 2014

API:Hack Tournee 2014 apisuomi API:Hack Tournee 2014 #apihackfinland Twitter: @ApiSuomi API:Suomi - Suomen metarajapinta apisuomi Apisuomi kerää vertailutietoa ja arvosteluja rajapinnoista madaltaen avoimen datan uudelleenkäytön

Lisätiedot

GPRS-lisäpalvelu INTERNET-ASETUKSET

GPRS-lisäpalvelu INTERNET-ASETUKSET GPRS-lisäpalvelu INTERNET-ASETUKSET GPRS-lisäpalvelu Internet-asetukset 2(22) Sisällysluettelo 1 INTERNET-ASETUKSET MICROSOFT WINDOWS 95/98... 3 1.1 MODEEMIN ASENNUS... 3 1.2 APN:N ASETTAMINEN... 3 1.3

Lisätiedot

Käyttöohje. Teknocalor MagiCAD plugin

Käyttöohje. Teknocalor MagiCAD plugin Käyttöohje Teknocalor MagiCAD plugin Sisältö Teknocalor MagiCAD plugin... 1 Ohjelman asentaminen... 1 Tarvittavat ohjelmat... 1 Asennus... 1 Ohjelman käynnistäminen... 2 Ohjelman käyttäminen... 3 Teknocalor

Lisätiedot

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004 Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;

Lisätiedot

Java EE -sovelluksen resurssien suojaus Case: Toyme Lab Oy

Java EE -sovelluksen resurssien suojaus Case: Toyme Lab Oy Tampereen ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma Eemeli Pyöttiö Opinnäytetyö Java EE -sovelluksen resurssien suojaus Case: Toyme Lab Oy Työn ohjaaja Työn tilaaja Tampere 6/2009 Tieto- ja

Lisätiedot

Directory Information Tree

Directory Information Tree IP-osoite / Host taulu, jossa neljä 8 bit lukua esim. 192.168.0.10/24, unix, linux, windows windows\system32\drivers\etc DNS (Domain Name System), muuttaa verkkotunnuksen IPosoitteeksi. X.500 perustuu

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

Tiedon suojaaminen ja hallinta. Sytyke seminaari 17.3.2016

Tiedon suojaaminen ja hallinta. Sytyke seminaari 17.3.2016 Tiedon suojaaminen ja hallinta Sytyke seminaari 17.3.2016 Pasi Parkkonen Ruuvari kourassa 80-luvulla C64, Amiga, Atari, Spectrum, MSX2+, kymmenien PC tietokoneiden kasausta Yliopisto-opintoja ja intti

Lisätiedot

As-0.3200 Automaatio- ja systeemitekniikan projektityöt

As-0.3200 Automaatio- ja systeemitekniikan projektityöt As-0.3200 Automaatio- ja systeemitekniikan projektityöt Projektityön loppuraportti SQL-tietokannan päivitystyökalu Java-kielellä Opintopistemäärä: 5 op / tekijä Projektin aloituspäivämäärä: 16.9.2008 Projektin

Lisätiedot