EJB-komponenttien tietokantakytkentä
|
|
- Albert Ahola
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 hyväksymispäivä arvosana arvostelija EJB-komponenttien tietokantakytkentä Antti Harkola Helsinki 17. huhtikuuta 2003 Relaatiotietokannat nyt seminaari Helsingin yliopisto Tietojenkäsittelytieteen laitos
2 EJB-komponenttien tietokantakytkentä Antti Harkola Seminaari: Relaatiotietokannat nyt Tietojenkäsittelytieteen laitos Helsingin yliopisto 17. huhtikuuta 2003 sivumäärä 12 Tämä seminaaripaperi esittelee lyhyesti J2EE-arkkitehtuuria keskittyen sen tietokantakytkennän toteutuksen käsittelyyn. Lopuksi esitellään myös muutamia suorituskykyyn liittyviä testituloksia. Avainsanoja: J2EE, EJB, relaatiotietokanta, JDBC, SessionBean, EntityBean ii
3 Sisältö 1. Johdanto J2EE-arkkitehtuuri EJB-komponentit Istuntopavut Tilalliset istuntopavut Tilattomat istuntopavut Tietopavut CMP BMP Suorituskyky Yhteenveto...11 Lähteet...12 iii
4 1. Johdanto Tietokantayhteydet voidaan J2EE-ympäristössä (Java TM 2 Platform, Enterprise Edition) hoitaa usealla eri tavalla. Tämä esitys käsittelee tietokantayhteyksien hallintatavat EJBkomponenttien (enterprise java beans) ja servlettien avulla. EJB-komponentit jaetaan istuntopapuihin (session bean), tietopapuihin (entity bean) ja viestipapuihin (message-driven bean). Istuntopapujen ja servletien tietokantayhteys toteutetaan yleensä käyttäen JDBC:tä (Java Database Connectivity). Tietopavut voivat käyttää tietokantaa myös suoraan, jolloin ohjelmiston kehittäjä välttyy SQL:n kirjoittamiselta [J2T03]. Viestipapuja ei ole tarkoitettu tietokantayhteyksien käyttöön, joten niitä ei tässä seminaaripaperissa käsitellä. Aluksi käydään läpi muutamia J2EE:n perusasioita käsitteiden ja ympäristön ymmärtämiseksi. Seuraavaksi tutustutaan erilaisten EJB-komponenttien ominaisuuksiin ja niiden tapoihin käsitellä tietokantaa. Lopuksi tutustutaan kahden eri pro gradu tutkielman tuloksiin komponenttien tietokantayhteyksien suorituskyvystä. 2. J2EE-arkkitehtuuri J2EE on komponenttipohjainen teknologia suurien hajautettujen tietojärjestelmien suunnitteluun, kehitykseen ja toteuttamiseen. J2EE perustuu hajautettuun monitasoiseen (multitier) malliin, jossa järjestelmän eri osat voivat olla fyysisesti kaukanakin toisistaan. J2EE:n etuja ovat mm. alustariippumattomuus, komponenttien uudelleenkäytettävyys, sisäisen tiedon kuvaaminen XML:llä ja joustava transaktion hallinta [J2T03]. J2EE:n tasot erotetaan toisistaan seuraavasti: - Asiakastaso (client-tier) käsittää komponentit, joita ajetaan käyttäjän koneessa, esimerkiksi selainohjelma. 1
5 - Verkkotasoon (web-tier) kuuluvat sovelluspalvelimilla sijaitsevat komponentit, joita asiakas käyttää verkon kautta, yleensä lähinnä servletit, jsp-sivut, ym. käyttöliittymäelementit. - Liiketoimintatasolla (business-tier) olevat komponentit sijaitsevat myös sovelluspalvelimilla ja niiden tehtävänä on hoitaa järjestelmän toimintalogiikka. - Informaatiotasolla (Enterprise information system tier, EIS-tier) tarkoitetaan pysyvän tiedon tallennuspaikkoja, joita ovat lähinnä tietokantapalvelimet. 3. EJB-komponentit Kuvassa 1 on esitetty kuinka tieto kulkee tietokannan ja asiakkaan välillä. Servletit voivat käyttää tietokantaa myös itse JDBC:n avulla, mutta EJB-komponenttien käyttö helpottaa järjestelmän ylläpitoa ja lisää uudelleenkäytettävyyttä. Servlettien tulisi siis keskittyä tiedon esittämiseen (käyttöliittymä) kun taas EJB-komponentit hoitavat tietojen käsittelyn. Kuva 1. Sovelluslogiikka EJB-pavuissa [Ehr01] 2
6 EJB-komponentit toimivat säiliöissä (container). Säiliön asetuksilla määritellään mm. käyttöoikeudet ja transaktioiden käsittelysääntöjä. Myös JNDI-palvelut (Java Naming and Directory Interface TM ) saadaan säiliön kautta. Lisäksi säiliö huolehtii servlettien ja EJB-papujen elinkaaresta ja tietokantojen yhteysaltaista (connection pool). Seuraavaksi perehdytään tarkemmin istunto- ja tietopapuihin sekä tietokantayhteyden hallintaan niiden avulla. 3.1 Istuntopavut Istuntopapu kuvaa asiakasta J2EE-palvelimella. Käyttääkseen palvelimella sijaitsevia palveluja asiakas kutsuu istuntopavun metodeja. Istuntopapu on aina asiakaskohtainen, ei jaettu (shared). Se ei myöskään ole luonteeltaan pysyvä (persistent), sillä sen tietoja ei yleensä tallenneta mihinkään, kun asiakas lopettaa palveluiden käytön Tilalliset istuntopavut Istuntopapua sanotaan tilalliseksi (stateful), jos sen attribuutit sisältävät tietoja papua käyttävästä asiakkaasta. Muuttujien arvot kuvaavat käyttäjän ja pavun välistä tilaa, jota kutsutaan usein myös keskustelutilaksi (conversational state). Esimerkki tilallisesta istuntopavusta [J2T03]: public class CartBean implements SessionBean { String customerid; String customername; Vector contents; public void ejbcreate(string id, String name) throws CreateException { if (id == null) { throw new CreateException("Null id not allowed."); 3
7 else { customerid = id; customername = name; contents = new Vector(); public void addbook(string title) { contents.addelement(title); public void removebook(string title) throws BookException { boolean result = contents.removeelement(title); if (result == false) { throw new BookException(title + " not in cart."); public Vector getcontents() { return contents; public CartBean() { public void ejbremove() { public void ejbactivate() { public void ejbpassivate() { public void ejbload() { public void ejbstore() { public void setsessioncontext(sessioncontext sc) { Tilattomat istuntopavut Tilattomat istuntopavut eroavat tilallisista siten, että niiden attribuutit eivät kuvaa tietyn asiakkaan ja istuntopavun välistä tilaa. Tilattomia istuntopapuja käytetään silloin, kun asiakkaan tyypillä ei ole väliä. Tilattomuuden ansiosta yhdellä istuntopavulla voidaan palvella useita 4
8 asiakkaita. Tyypillisesti tällaiset pavut ovat hyvin yksinkertaisia. Hyvä esimerkki voisi olla vaikkapa tietyn usein kysytyn tietokannan tiedon hakeminen kuten myyntiraportti tai hinnasto. 3.2 Tietopavut Toisin kuin istuntopavut tietopavut kuvaavat yleensä luonteeltaan pysyvää tietoa. Tyypillisesti yksi tietopapu kuvaa yhtä tietokannan taulua ja tietopavun instanssi yhtä taulun riviä. Kun tiedon käsittely lopetetaan, halutut muutokset tallennetaan tietokantaan ja tietopapu voidaan myöhemmin palauttaa sisällöltään samanlaisena. Koska tietopavut ovat pysyviä, niillä on oltava yksiselitteinen tunniste (primary key). Lisäksi tietopavut ovat jaettuja, eli niitä voi käyttää samanaikaisesti useampi asiakas. Niillä voi olla myös relaatioita toisiinsa, esim. tilaus ja tilausrivi [Rom01]. Tietopapujen pysyvyydestä voidaan huolehtia kahdella eri tavalla. Ohjelmistokehittäjä voi hoitaa asian itse, jolloin tiedon hakemiseen ja tallentamiseen liittyvät tietokantalauseet kirjoitetaan tietopavun metodeihin (Bean-Managed Persistence, BMP). Toinen tapa on antaa J2EE-palvelimen säiliön hoitaa samat asiat (Container-Managed Persistence, CMP) [J2T03] CMP Jos tiedon hakeminen ja tallentaminen jätetään J2EE-palvelimen vastuulle, ei tietopapuihin tarvitse kirjoittaa lainkaan SQL-lauseita, ja säiliö huolehtii myös tietopapujen relaatioista. Säiliö käyttää tietopapujen käsittelyyn säiliön konfiguraatiossa (deployment descriptor) kuvatun tiedoston (abstract schema) määrittelyjä. Nämä määrittelyt kirjoitetaan käyttäen hyvin SQL:n kaltaista EJB QL (Enterprise JavaBeans Query Language) kieltä. Suurin hyöty tällaisista tietopavuista on ohjelmiston siirrettävyys ja tietopapujen uudelleenkäytettävyys. Samat komponentit toimivat suoraan eri valmistajien tietokantojen päällä ilman että koodiin tarvitsee tehdä lisäyksiä tai muutoksia. Lisäksi papujen koodi on lyhyempää ja selkeämpää. 5
9 3.2.2 BMP Toinen vaihtoehto on hoitaa tietokannan käsittely kokonaan itse. Ensin tarvitaan tietokantayhteys, joka saadaan JNDI:n avulla seuraavasti [J2T03, J2E03]: private String dbname = "java:comp/env/jdbc/databasename"; InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup(dbname); java.sql.connection con = ds.getconnection(); Connection-olion kautta voidaan suorittaa tietokantaoperaatioita käyttäen JDBC-yhteyksistä tuttuja metodeja. Seuraava lista kertoo, mitä tietokantaa käsitteleviä metodeja EJB-pavulla on ja mitä ne tekevät: - ejbcreate() luo pavun tietokantaan, alustaa muuttujat, palauttaa tunnisteen - ejbpostcreate() suoritetaan heti ejbcreaten jälkeen, usein tyhjä - ejbremove() poistaa pavun kuvaaman tiedon tietokannasta - ejbload() hakee pavun esittämän tiedon tietokannasta - ejbstore() tallentaa pavun sisällön tietokantaan - ejbfindbyprimarykey() hakee pavun tunnisteen avulla Esimerkiksi ejbcreate() -metodi voisi olla seuraavanlainen: public String ejbcreate(string id, String name) throws CreateException { if (id == null) { throw new CreateException ("A null value for id is not allowed."); 6
10 try { insertrow(id, name); // Accessing database here catch (Exception ex) { throw new EJBException("ejbCreate: " + ex.getmessage()); this.id = id; this.name = name; return id; InsertRow()-metodissa otetaan yhteys tietokantaan ja java.sql.connection-olion metodeja käyttäen luodaan uusi rivi tietokantaan ja suljetaan yhteys [J2S03]. Pavut saadaan kotirajapinnan (Home Interface) kautta. Seuraava esimerkki näyttää kuinka SavingsAccountHome-rajapinnan kautta saadaan SavingsAccount-papuja [J2T03]: public interface SavingsAccountHome extends EJBHome { public SavingsAccount create(string id, String firstname, String lastname, BigDecimal balance) throws RemoteException, CreateException; public SavingsAccount findbyprimarykey(string id) throws FinderException, RemoteException; 4. Suorituskyky Tässä kappaleessa perehdytään kahden eri pro gradu tutkielman tuloksiin J2EE-ympäristön komponenttien tietokantayhteyksien suorituskyvystä. Ensimmäiset tulokset on poimittu Ehrlundin tutkielmasta [Ehr01]. Tutkielmassa mitattiin suorituskykyä sekä pienellä että suurella 7
11 taulun tietomäärällä. Tässä esitetyt tulokset on saatu suuriin tauluihin tehdyillä operaatioilla. Transaktioiden mahdollista käyttöä tai niiden vaikutusta ei otettu testissä huomioon, mikä on saattanut vaikuttaa tuloksiin. Listaus 100 riviä: tapa aika (ms) Istuntopapu CMP BMP Servlet Haku 10 riviä: tapa aika (ms) Istuntopapu CMP 5595 BMP 4064 Servlet 3391 Päivitys 10 riviä: tapa aika (ms) Istuntopapu CMP 5752 BMP 4463 Servlet
12 Päivitys kahteen tauluun: tapa aika (ms) Istuntopapu CMP BMP Servlet 3532 Lisäys 10 riviä: tapa aika (ms) Istuntopapu CMP 1663 BMP 1717 Servlet 3092 Poisto 10 riviä: tapa aika (ms) Istuntopapu CMP 2222 BMP 2313 Servlet 3921 Saaduista tuloksista voidaan tehdä ainakin se johtopäätös, että istuntopapujen käyttö on keskimäärin nopeampaa kuin muiden tapojen käyttäminen. Istuntopavut eivät vaikuttaisi koskaan olevan selvästi muita tapoja hitaampia, kun taas kahteen eri tauluun kohdistunut päivitys on tietopavuilla jopa kertaa muita tapoja hitaampaa. Katajanheimon pro gradu tutkielmassa [Kat02] saatiin samansuuntaisia tuloksia. Tietopapujen ajoittainen heikko suorituskyky näyttäisi jopa entisestään korostuvan. Toisaalta tietopapujen keskinäiset erot näyttävät muuttuneen, minkä voisi selittää paremmin toteutetut 9
13 SQL-lauseet tai erot transaktion hallinnassa. Katajanheimo ei tutkinut eroa istuntopavuilla ja servleteillä tehtyjen JDBC-toteutusten välillä, mutta otti lisävertailukohteeksi PL/SQL:n. Lisäksi mukana on suhdeluku, joka määrittää mittaustulokselle kertoimen verrattuna nopeimpaan mittaustulokseen. Lisäys: tapa aika (ms) suhdeluku JDBC 6,1 1,00 CMP 7,5 1,24 BMP 8,8 1,46 PL/SQL 11,0 1,82 Päivitys: tapa aika (ms) suhdeluku JDBC 5,9 1,00 CMP 18,9 3,19 BMP 14,3 2,41 PL/SQL 8,3 1,40 Joukon päivitys: tapa aika (ms) suhdeluku JDBC 377, 6 1,00 CMP 4748,5 12,58 BMP 4584,0 12,14 PL/SQL 483,8 1,28 10
14 Haku: tapa aika (ms) suhdeluku JDBC 6,0 1,00 CMP 250,1 41,62 BMP 175,9 34,48 PL/SQL 12,5 2,07 Näiden tutkimustulosten perusteella ohjelmistokehittäjien on tarkasti harkittava mitä toteutustapaa käyttää, jos suorituskyvyllä on suuri merkitys. Vaikka J2EE-arkkitehtuurissa suositellaankin yleensä käytettäväksi tietopapuja tietokantayhteyksien toteuttamiseen, näyttäisivät istuntopavut tai jopa suora yhteys servletistä käsin olevan suorituskyvyn kannalta yhtä hyvä tai parempi vaihtoehto. 5. Yhteenveto J2EE:n tietokantakytkentä voidaan toteuttaa käyttämällä EJB-komponentteja tai suoraan servleteillä. Tietokantoja käsittelevät EJB-komponentit voidaan jakaa istuntopapuihin ja tietopapuihin. Istuntopavut eivät ole pysyviä ja edustavat yleensä jotain asiakkaan toimintoa. Tietopavut ovat pysyviä ja ne kuvaavat yleensä tietokannan tauluja. Tietopavun instanssi puolestaan kuvaa tietokannan riviä. Tietopapu voidaan toteuttaa käyttämättä SQL:ää, jolloin komponenttien siirrettävyys ja uudelleenkäyttö on helpompaa. Vaikka tietopavut on ensisijaisesti tarkoitettu tietokantojen käsittelyyn niiden suorituskyky on suurilla tietomäärillä selvästi huonompi kuin istuntopapujen tai servletien. Suorituskykyyn voivat tosin vaikuttaa transaktion hallinta, kyselyiden toteutus ja käytetyn tietokantapalvelimen tyyppi. 11
15 Lähteet [Ehr01] Ehrlund Sampo, pro gradu -tutkielma: Tietokannan käsittelytavan vaikutus ohjelmiston suorituskykyyn J2EE-ympäristössä, [Kat02] Katajanheimo Tero, pro gradu -tutkielma: Sovelluspalvelimen ja relaatiotietokannan välinen kommunikointi, [Rom01] Roman, E., Mastering Enterprise JavaBeans TM and the Java 2 Platform, 2 nd Edition, John Wiley & Sons Inc, 2001 [J2T03] J2EE-tutorial: [J2E03] Java TM 2 Platform Enterprise Edition, v 1.4 API Specification: [J2S03] Java TM 2 Platform, Standard Edition, v API Specification:
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ätiedotJava 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ätiedotHSMT 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ätiedotTietokannat 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ätiedotP 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ätiedotTietokannat 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ätiedotJava 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ätiedotTietokantaohjelmoinnin tekniikkoja Java-kielellä
Tietokantaohjelmoinnin tekniikkoja Java-kielellä Ville Kuokkanen Helsinki 6. helmikuuta 2003 Relaatiotietokannat nyt seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos i Tietokantaohjelmoinnin
LisätiedotOhjelmistojen 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ätiedotHOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10
HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)
LisätiedotHOJ 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ätiedotOhjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
LisätiedotOhjelmointi 2 / 2010 Välikoe / 26.3
Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään
LisätiedotOlio-ohjelmointi Javalla
1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi
LisätiedotTehtä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ätiedotJohdanto 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ätiedotRinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti
Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi
LisätiedotHSMT 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ätiedotKoira 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ätiedotLohtu-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ätiedotRDBMS - 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ätiedotHelia 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ätiedotkää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ätiedotOhjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.
Välikoe / 20.3 Vastaa neljään (4) tehtävään. Jos vastaat 5:een, 4 huonointa arvostellaan. Kunkin tehtävän vastaus eri konseptille. 1. Pöytätesti Pöytätestaa seuraava ohjelma. Tutki ohjelman toimintaa pöytätestillä
LisätiedotTietojä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ätiedotJava-API, rajapinnat, poikkeukset, UML,...
Java-API, rajapinnat, r poikkeukset, UML,... Janne Käki 12.10.2006 Keskeisimmät Java-API:n pakkaukset API = Application Programming Interface eli sovellusohjelmointirajapinta (!) pakkaus (engl. package)
LisätiedotPino S on abstrakti tietotyyppi, jolla on ainakin perusmetodit:
Pino (stack) Pino: viimeisenä sisään, ensimmäisenä ulos (LIFO, Last In, First Out) -tietorakenne kaksi perusoperaatiota: alkion lisäys pinon päälle (push), ja päällimmäisen alkion poisto (pop) Push(alkio)
LisätiedotMikä yhteyssuhde on?
1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
LisätiedotTehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki
Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,
LisätiedotUML ja luokkien väliset suhteet
UML ja luokkien väliset suhteet -Luokan kuvaaminen UML-tekniikalla -Yhteyssuhde ja koostumussuhde 1 Luokan kuvaaminen UML-tekniikalla : Luokka - attribuutti1 : tietotyyppi # attribuutti2 : tietotyyppi
LisätiedotProjektinhallintaa paikkatiedon avulla
Projektinhallintaa paikkatiedon avulla Tampereen Teknillinen Yliopisto / Porin laitos Teemu Kumpumäki teemu.kumpumaki@tut.fi 25.6.2015 1 Paikkatieto ja projektinhallinta Paikkatiedon käyttäminen projektinhallinnassa
LisätiedotT Henkilökohtainen harjoitus: FASTAXON
T-76.115 Henkilökohtainen harjoitus: FASTAXON Suunnittelumallit Group: Muuntaja Pentti Vänskä 52572W 2 1. Toteutus Tämä henkilökohtainen harjoitustyö käsitteli suunnittelumallien (Design Patterns) käyttöä
LisätiedotSovellusarkkitehtuurit
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ätiedotAction 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ätiedot582104 Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta
582104 Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta 1 Tietojen pysyvyys liiketoiminnan edellytys Tällä kurssilla on keskitytty oliomenetelmiä hyödyntävään ohjelmistojen mallintamiseen
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman
Lisätiedot1 Tehtävän kuvaus ja analysointi
Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.
LisätiedotSisältö. 2. Taulukot. Yleistä. Yleistä
Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä
LisätiedotAJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML
AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen
Lisätiedot812341A 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ätiedotWritten 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ätiedotYleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.
2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä
LisätiedotMicrosoft 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ätiedotTietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä
hyväksymispäivä arvosana arvostelija Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä Tuomas Husu Helsinki 20.2.2010 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto
LisätiedotSisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
LisätiedotRajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
LisätiedotOhjelmistoteknologioiden 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ätiedotJava kahdessa tunnissa. Jyry Suvilehto
Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,
LisätiedotToisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.
Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä. JUnit-ympäristö 1. Luo tests -pakkaukseen uusi luokka. Nimeä VHTestit. 2. Laita VHTestit periytymään TestCase:sta
LisätiedotWeb 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ätiedotHarjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:
Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,
LisätiedotOhjelmointikielet 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ätiedot4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
LisätiedotArkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14
Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2
LisätiedotTiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas
Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä
LisätiedotKompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma
1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely
LisätiedotP 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ätiedotJä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ätiedotA274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen
Lisätiedot9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.
Lisätiedot18. Abstraktit tietotyypit 18.1
18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
LisätiedotLuokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.
1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).
LisätiedotSisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto
Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
LisätiedotJava UI-komponentit (JTable) Juha Järvensivu juha.jarvensivu@tut.fi 2007
Java UI-komponentit (JTable) Juha Järvensivu juha.jarvensivu@tut.fi 2007 JTable Datan esittäminen taulukkomuodossa Datan valitseminen taulukosta Datan muokkaaminen (lisääminen, muokkaaminen, poistaminen)
LisätiedotYlläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie
Ylläpitodokumentti Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Helsinki 16.7.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
LisätiedotA) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)
1(37) PERIYTYMINEN (inheritance) YLILUOKKA (superclass) ALILUOKKA (subclass) A) on käytännöllinen ohjelmointitekniikka = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) B) on käsitteiden
LisätiedotFuturaPlan. Järjestelmävaatimukset
FuturaPlan Järjestelmävaatimukset 25.1.2017 2.2 Hermiankatu 8 D tel. +358 3 359 9600 VAT FI05997751 33720 Tampere fax. +358 3 359 9660 www.dbmanager.fi i Versiot Versio Päivämäärä Tekijä Kommentit 1.0
Lisätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien
LisätiedotJReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002
JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä
LisätiedotWWW-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ätiedotTietorakenteet, laskuharjoitus 3, ratkaisuja
Tietorakenteet, laskuharjoitus 3, ratkaisuja 1. (a) Toistolauseen runko-osassa tehdään yksi laskuoperaatio, runko on siis vakioaikainen. Jos syöte on n, suoritetaan runko n kertaa, eli aikavaativuus kokonaisuudessaan
LisätiedotJAVA-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ätiedotJAVA-OHJELMOINTI 3 op A274615
JAVA-OHJELMOINTI 3 op A274615 JFC & Swing, Look & Feel, Events Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
Lisätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. X Poikkeusten käsittelystä
812347A Olio-ohjelmointi, 2015 syksy 2. vsk X Poikkeusten käsittelystä Sisältö 1. Yleistä poikkeusten käsittelystä 2. Poikkeuskäsittelyn perusteita C++:ssa 3. Standardissa määritellyt poikkeukset 4. Poikkeusvarmuus
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä
LisätiedotOhjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2
Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2 Viikon 2 laskareita ei pidetä mikrosaleissa, käytössä ovat opetusohjelmaan merkatut salit. Tämän viikon tehtävistä 1-6 tehdään etukäteen kotona.
Lisätiedotkoodipolku iteraation muokkauksessa Dokumentti: koodipolkuesimerkki.doc Päiväys: Projekti : AgileElephant
AgilElephant Koodipolku iteraation muokkauksessa Tekijä: Pauli Vesterinen Omistaja: ElectricSeven Aihe: Koodipolku iteraation muokkauksessa Sivu 1 of 15 Dokumentti Historia Muutoshistoria Revision Numero
LisätiedotRinnakkaisohjelmointi, Syksy 2006
Rinnakkaisohjelmointi, Syksy 2006 17.12.2006 Opintopiiri WTF Mika Holmström Paula Kemppi Janne Piippo Lasse Lukkari Javan semaforit 1. Menetelmän käyttötarkoitus ja sovellusalue Semaforin idea kehitettiin
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
LisätiedotHelsingin 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ätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi
LisätiedotOhjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:
1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri
LisätiedotJUnit ja EasyMock (TilaustenKäsittely)
OHJELMISTOJEN TESTAUS JA HALLINTA Syksy 2015 / Auvo Häkkinen JUnit ja EasyMock (TilaustenKäsittely) Tehtävässä tarvittava koodi löytyy osoitteella http://users.metropolia.fi/~hakka/oth/mockesimerkki.zip
Lisätiedotprivate TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla;
Tietorakenteet, laskuharjoitus 7, ratkaisuja 1. Opiskelijarekisteri-luokka saadaan toteutetuksi käyttämällä kahta tasapainotettua binäärihakupuuta. Toisen binäärihakupuun avaimina pidetään opiskelijoiden
LisätiedotArkkitehtuuri. Ylätason sovellusarkkitehtuuri
Arkkitehtuuri Termieditorin käyttö vaatii kirjautumisen. Peruskäyttäjälle myönnetään erikseen aineistokohtaisia luku- ja muokkausoikeuksia. Järjestelmän ylläpitäjä (admin) saa ylläpitää kaikkia aineistoja.
LisätiedotMetodien tekeminen Javalla
1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.
Lisätiedot4. Olio-ohjelmoinista lyhyesti 4.1
4. Olio-ohjelmoinista lyhyesti 4.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 4.2 Yleistä Olio-ohjelmointia käsitellään hyvin
LisätiedotOlion 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ätiedotInteraktiivinen tarinankerronta
Interaktiivinen tarinankerronta Tehtävä 1: Tarinan alku pääohjelmaan Main. java ei tehdä muutoksia tulostusrivit tiedostoon Kayttoliittyma.java tulostus lyhyesti sout + tab komennolla Tiedoston Kayttoliittyma.java
LisätiedotPoikkeustenkäsittely
1 Poikkeustenkäsittely Mitä poikkeustenkäsittely tarkoittaa? Poikkeuksen käsitteleminen Poikkeusluokkien hierarkia Poikkeuksen heittäminen 1 Mitä poikkeustenkäsittely tarkoittaa? Poikkeus (Exception) on
Lisätiedot2. 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ätiedotKIURU Tietotekniikan sovellusprojekti
KIURU Tietotekniikan sovellusprojekti Toni Hilpinen Marko Koivuniemi Jussi Mäkinen Miika Nurminen DOKUMENTIN NIMI dd.mm.yyyy Jyväskylän yliopisto Tietotekniikan laitos Kiuru-projektin tietoja Tekijät:
LisätiedotListarakenne (ArrayList-luokka)
Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen
LisätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
LisätiedotOhjelmistotekniikan menetelmät, koe 2.5.2014
Ohjelmistotekniikan menetelmät, koe 2.5.2014 Vastaa tehtävään 3 erilliselle konseptille. Tehtävät 1 ja 2 saavat olla samalla konseptilla. Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen
LisätiedotTaulukot. Jukka Harju, Jukka Juslin 2006 1
Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti
LisätiedotLINUX-HARJOITUS, MYSQL
LINUX-HARJOITUS, MYSQL Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,
Lisätiedot