9 Edistynyt PHP-ohjelmointi

Koko: px
Aloita esitys sivulta:

Download "9 Edistynyt PHP-ohjelmointi"

Transkriptio

1 9 Edistynyt PHP-ohjelmointi Luentokerran tavoitteena on käydä läpi joukko sellaisia PHP-sovelluksen toteuttamiseen liittyviä tekijöitä, joiden avulla voidaan parantaa verkkopalvelun totetustyön tuottavuutta sekä lopputuloksen uudelleenkäytettävyyttä, päivitettävyyttä, laajennettavuutta ja hallittavuutta Luentokerran aikana käydään läpi seuraavat edistyneen PHP-ohjelmoinnin menetelmät: Malli-Näkymä-Ohjain -arkkitehtuurimalli eli tutummin Model-View-Controller (MVC) -malli ja mallin soveltaminen PHP-kielessä PHP ja ulostulon puskurointi (output buffering) Apache HTTP-palvelin ja URI-tunnisteiden uudelleenkirjoitus Lähdemateriaali (ei suoraan jaossa Webissä): Sweat, J. E. An Introduction to MVC Using PHP, PHP Architect, May James, P. Output Buffering What is it? How does it work? Why do I care?, PHP Architect, May MATHM Hypermedian ohjelmointi (kevät 2006) 128

2 Verkkopalvelun yleinen arkkitehtuuri Verkkopalvelun arkkitehtuuri muodostuu sovellusalueesta riippumatta kolmesta kokonaisuudesta: 1. Verkkopalvelun pysyvän tietosisällön varastointi (persistent data storage) 2. Verkkopalvelun toimintovuon (application flow) toteuttaminen sekä tiedon ja toimintojen käyttöoikeuksien tarkastaminen 3. Tietosisällön esittäminen käyttäjälle Malli Liiketoimintalogiikka Näkymä Esitystapalogiikka Ohjain Toimintovuon hallinta Kertausta: koska verkkopalveluista löytyy sovellusalueesta riippumatta verkkopalvelusta toiseen toistuvia osia, voidaan erilaisia ratkaisumalleja kierrättää sovelluksesta toiseen ideoiden, toimintatapojen tai konkreettisten toteutusten tasolla Eräs yleinen toimintatapa on Model-View-Controller -malli tai suomalaisittain Malli- Näkymä-Ohjain -malli, joka jakaa sovelluksen teknisen arkkitehtuurin kolmeen kokonaisuuteen, liiketoimintalogiikasta vastaavaan malliin, toimintovuon hallinnasta vastaavaan ohjaimeen ja esitystapalogiikasta vastaavaan näkymään. MATHM Hypermedian ohjelmointi (kevät 2006) 129

3 MVC-malli Malli-Näkymä-Ohjain (Model-View-Controller) -malli eli MVC-malli on 1970-luvulla Xeroxin tutkimuslaboratoriossa kehitetty arkkitehtuurimalli graafisiin käyttöliittymiin perustuvien sovellusten toteuttamiseen. Suunnittelumallilla (design pattern) tarkoitetaan yleistä, täsmällisesti määriteltyä ratkaisumallia, jota voidaan soveltaa erilaisiin ongelmiin. MVC-malliin viitataan usein suunnittelumallina. MVC ei kuitenkaan varsinaisesti ole suunnittelumalli vaan yleisempi filosofia siitä, millä tavalla sovelluksen ohjelmistoarkkitehtuuri (software architecture) rakentuu. Verkkopalveluissa MVC-malli on käytössä etenkin Java-teknologiaan perustuvissa toteutuksissa. Mallin soveltaminen on kuitenkin mahdollista myös PHP-sovelluksissa. Suunnittelumallit Model 1 ja Model 2 ovat Java-teknologiasta tuttuja MVC-mallin sovelluksia. Java-sovelluksissa Model 2 -mallin mukainen toteutus rakennetaan yleensä Struts -sovelluskehyksen ( pohjalta. MVC-mallin mukaiset toteutukset perustuvat PHP-kielessä Javan tavoin luokkiin ja olioihin. Nyt MVC-mallia tarkastellaan kurssin rajauksen mukaisesti yleisemmällä tasolla modulaarisuuden näkökulmasta. MATHM Hypermedian ohjelmointi (kevät 2006) 130

4 MVC-malli: malli ja näkymä Malli (Model) vastaa MVC-mallin mukaisessa toteutuksessa sekä pysyvän tietosisällön varastoinnista että tietosisällön muokkaamiseen liittyvien sääntöjen toteuttamisesta. Usein sanotaan, että malli toteuttaa sovelluksen liiketoimintalogiikan (business logic). Malli peittää tietovaraston teknisen toteutuksen muulta sovellukselta. Malli on ainoa osa sovellusta, joka on yhteydessä tietovarastoon. Tietosisältö voidaan sijoittaa esimerkiksi relaatiotietokantaan, istuntoon tai määrämuotoisiin tiedostoihin. Malleja on yhdessä sovelluksessa tyypillisesti useita. Esimerkkejä malleista ovat suunnitteluratkaisuista riippuen esimerkiksi käyttäjä, julkaisukonteksti tai ostoskori. Näkymä esittää sovelluksen tietosisällön käyttäjälle. Verkkopalvelussa yleisin tiedon esitysmuoto on luonnollisesti HTML. MVC-mallin mukaisesti voidaan kuitenkin tuottaa tietoa myös esimerkiksi teksti- tai XML-muodossa tai vaikkapa kuvina. MVC-malli voidaan toteuttaa esimerkiksi siten, että käyttöliittymä pyytää mallilta tarvittavat tiedot ja tuottaa tietojen perusteella lopullisen näkymän Nykyaikaisen WWW-arkkitehtuurin käsitteillä näkymä pyytää resurssin tiedot mallilta ja luo tietojen perusteella resurssin representaation. MATHM Hypermedian ohjelmointi (kevät 2006) 131

5 MVC-malli: ohjain Ohjain (Controller) tai kontrolleri toimii MVC-mallin mukaisen sovelluksen sydämenä ja aivoina Ohjain ottaa vastaan sovellukselle esitetyt pyynnöt. Yleisessä tapauksessa pyyntöjä voidaan HTTP-protokollan ohella esittää vaikkapa komentoriviltä. Pyynnön perusteella ohjain 1) muuttaa tarvittaessa sovelluksen tilaa mallin avulla ja 2) valitsee asiakkaalle välitettävän näkymän. Toimintojen jako mallin, näkymän ja ohjaimen vastuulle ei ole yksikäsitteinen: Esimerkiksi käyttäjän syötteen oikeellisuuden tarkastaminen voi tapauksesta riippuen kuulua joko ohjaimen tai mallin tehtäviin Mallin ja näkymän suhteen jako on kuitenkin pääsääntoisesti selkeä: malli ei ikinä sisällä HTML-merkkausta eikä näkymä tietokannan suoraa käsittelyä. Oliopohjaisessa ratkaisussa sovelluksen abstraktiotasoa voidaan mallin, näkymän ja ohjaimen ohella nostaa määrittelemällä luokat toiminnoille (Action), lomakkeille (Form) ja eteenpäinohjauksille (Forward). Eteenpäinohjaukset voidaan määritellä esim. XML-muotoisessa asetustiedostossa MATHM Hypermedian ohjelmointi (kevät 2006) 132

6 MVC-malli, PHP ja Web-tekniikat Sweat (2003) jäsentää PHP-kieleen perustuvan verkkopalvelun toteutustekniikat MVCmalliin havainnollisella tavalla: $_SESSION $_COOKIE $_FILES DB tiedostonkäsittely XML-RPC SOAP Malli Liiketoimintalogiikka HTML Näkymä WML Esitystapalogiikka XML XSLT teksti, kuvat & muut MIME-tyypit HTTP($_GET, $POST, $_REQUEST) komentorivi Ohjain Toimintovuon hallinta Kertaus: ohjain ottaa pyynnöt vastaan ja käskyttää niiden perusteella mallia ja näkymiä. Malli vastaa pysyvän tiedon käsittelystä ja varastoinnista ja näkymä tiedon esittämisestä. MATHM Hypermedian ohjelmointi (kevät 2006) 133

7 MVC-malli ja toiminnon luonne Sweat jakaa toiminnot kahteen tyyppiin: näkymän valinta (vrt. turvallinen toiminto WWW-arkkitehtuurissa) ja sovelluksen tilan muuttamisen (vrt. ei-turvallinen toiminto): Pyyntö Vastaus Asiakas 7 1 Palvelin Ohjain 2 Näkymä 6 3 Malli 5 4 DB Pyyntö 1 Ohjain 3 7 Vastaus Asiakas 6 5 Palvelin Malli 2 4 DB Pyyntö MATHM Hypermedian ohjelmointi (kevät 2006) 134

8 Sivupolku: ulostulon puskurointi Ulostulon puskurointi (output buffering) on PHP-kielen sisäänrakennettu ominaisuus, joka mahdollistaa sovelluksen toteuttamisen siten, että sovelluksen tuloste kootaan ensin sovelluksen muistiin ja lähetetään lopuksi kerralla pyynnön tehneelle asiakkaalle Eräs hyöty ulostulon puskuroinnista on seuraavan virheilmoituksen välttäminen: Warning: Cannot add header information - headers already sent Virheilmoitus johtuu siitä, että sovellus on jo ehtinyt aloittaa HTTP-vastauksen sisällön lähettämisen asiakkaalle ja yrittää vielä lisätä uuden otsikon (header) HTTPvastaukseen. Ulostulon puskurointi varmistaa sen, että kaikki otsikot ehditään asettamaan ennen dokumentin sisällön tulostamista. James esittää artikkelissaan joukon käyttötapauksia ulostulon puskuroinnille: sovelluksen suorituksen keskeyttävien virheiden käsittely, sovelluksen tulostaman HTML-merkkauksen tai sisällön siistiminen, asiakkaalle lähetettävän tiedon pakkaaminen (HTTP 1.1), näkymien tuottaminen XSL-muunnoksilla ja istunnon URItunnisteessa esitetyn istunnon tunnisteen sijoittaminen HTML-lomakkeeseen Suuri osa Jamesin esimerkeistä voidaan kuitenkin hoitaa sovelluksen elegantilla suunnittelulla ja toteutuksella ilman ulostulon puskurointia MATHM Hypermedian ohjelmointi (kevät 2006) 135

9 Ulostulon puskuroinnin toteuttaminen Seuraavat PHP-kielen kirjastofunktiot ovat hyödyllisiä ulostulon puskuroinnissa: ob_start(): Käynnistää ulostulon puskuroinnin. Parametrina voidaan antaa funktion nimi, jolle puskurin sisältö tyhjennettäessä välitetään. ob_flush(): Tulostaa ja tyhjentää kerätyn puskurin. Funktion avulla voidaan esimerkiksi huolehtia tulostuksen hallitusta vaiheistamisesta. ob_clean(): Tyhjentää puskurin tulostamatta sitä. Voidaan hyödyntää esimerkiksi virheenkäsittelyssä. ob_get_contents(): Palauttaa puskurin sisällön esimerkiksi muuttujaan sijoitettavaksi. ob_end_clean(): Tyhjentää puskurin ja päättää ulostulon puskuroinnin. Voidaan käyttää ob_get_contents()-funktion parina. ob_end_flush(): Tulostaa puskurin ja päättää ulostulon puskuroinnin. PHP-tulkki kutsuu itse ob_end_flush()-funktiota ohjelman suorituksen päätteeksi, joten sen kutsuminen ei ole pakollista. MATHM Hypermedian ohjelmointi (kevät 2006) 136

10 URI-tunnisteiden uudelleenkirjoitus Verkkopalvelun MVC-mallin mukainen toteutus johtaa siihen, että näkymät yksilöidään yksikäsitteisten URI-tunnisteiden sijaan HTTP-pyynnön parametreilla. Esimerkiksi hakukoneet eivät yleensä indeksoi kattavasti näkymiä, joiden yksilöimisessä on käytetty pyynnön parametreja (vrt. listauksen järjestäminen eri ominaisuuksien perusteella). Parametrit aiheuttavat ongelmia myös niille käyttäjille, jotka navigoivat sovelluksessa URI-tunnistetta muokkaamalla. Kolmas parametrien aiheuttama ongelma ilmenee silloin, kun sivusto halutaan tallentaa eräajona levylle: näkymillä ei ole yksikäsitteisiä nimiä Apachen mod_rewrite-moduuli esittelee mahdollisuuden URI-tunnisteiden uudelleenkirjoittamiseen siten, että pyynnön parametreilla yksilöidyt näkymät näkyvät verkkopalvelun ulkopuolelle hakemistopolkuna Mahdollisuus URI-tunnisteiden uudelleenkirjoittamiseen on varsin keskeinen ominaisuus, joka kannattaa ottaa huomioon toteutustekniikan valinnassa. MATHM Hypermedian ohjelmointi (kevät 2006) 137

11 Esimerkki: tekstiartikkelin yksilöinti Viikon harjoituksissa käsitellään sovellusta, jolla käyttäjät voivat tehdä hakuja tekstiartikkeleihin ja lukea niitä. Oletetaan, että erään artikkelin tunniste on hal9000fi. Artikkeli avataan selaimessa kirjoittamalla osoitekenttään URI-tunniste: Apachen HTTP-palvelimelle voidaan kirjoittaa ohjeet, jonka perusteella se jäsentää ja kirjoittaa uudelleen HTTP-pyynnön mukana välitetyn URI-tunnisteen. Uudelleenkirjoittaville URI-tunnisteille määritellään hahmo säännöllisellä lausekkeella (ote tiedostosta.htaccess): RewriteEngine On RewriteRule article-(.*).php /~huhtis/show-article.php?articleid=$1 Nyt tekstiartikkeli voidaan ladata selaimeen kirjoittamalla osoitekenttään URI-tunniste Käyttäjäystävällisten URI-tunnisteiden toteuttaminen edellyttää URI-tunnisteiden uudelleenkirjoittamisen ohella sitä, että sisällöntuottajat määrittelevät tietoalkioiden yksikäsitteiset tunnisteet käsin (= eksplisiittisesti) MATHM Hypermedian ohjelmointi (kevät 2006) 138

12 Lopuksi Kuten jo aikaisemmin mainittiin, paras tapa MVC-mallin mukaiseen toteutukseen on aitoon olio-ohjelmointiin perustuva ratkaisu. PHP5 tarjoaa välineet tähän: luokat, periytyminen ja esimerkiksi poikkeukset (exception) mahdollistavat vankan arkkitehtuurin suunnittelun ja toteuttamisen verkkopalvelulle Oliopohjaisen lähestymistavan yhdistäminen PHP-kielen voidaan perustellusti kyseenalaistaa, sillä oliopohjaisia teknologioita on jo olemassa. Toisaalta oliopohjaisuuden avulla voidaan merkittävästi parantaa PHP-toteutuksen laatua. Toteutustyön pohjaksi valittavasti teknologiasta riippumatta MVC-mallin mukaisen arkkitehtuurin toteuttaminen tyhjästä on yleensä turhaa, sillä soveltajien käytössä on joukko valmiita kehyksiä, joiden pohjalta oma sovellus voidaan toteuttaa Huomaa myös, että MVC ei ole ainoa suunnittelumalli (tai arkkitehtuurimalli) maailmassa. Esimerkiksi suunnittelumallien paksu kirja Gamma, E., Helm, R., Johnson, R., Vlissides, J. Design Patterns on ehdottomasti lukemisen arvoinen. Suunnittelumalleja ja niiden hyödyntämistä sovellusten toteuttamisessa käsitellään TTY:ssä opintojaksolla Ohjelmistoarkkitehtuurit ( Seittiohjelmoinnissa käsitellään tarkemmin verkkopalvelun toteuttamista MVC-mallin mukaisesti Java-teknologialla. MATHM Hypermedian ohjelmointi (kevät 2006) 139

Järjestelmäarkkitehtuuri (TK081702)

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

Lisätiedot

3 Verkkopalveluarkkitehtuuri

3 Verkkopalveluarkkitehtuuri 3 Verkkopalveluarkkitehtuuri Luentokerran tavoitteena on perehtyä verkkopalveluarkkitehtuurin yleisiin periaatteisiin ja kaikille verkkopalveluille yhteisiin toimintoihin ja ominaisuuksiin: Tietokantapohjainen

Lisätiedot

3 Verkkopalveluarkkitehtuuri

3 Verkkopalveluarkkitehtuuri 3 Verkkopalveluarkkitehtuuri Verkkopalvelun arkkitehtuuri perustuu yleisesti asiakas-palvelin -malliin Tietokantapohjaisessa (verkko)palvelussa asiakas-palvelin -malli toimii seuraavasti: 1. Käyttäjä käyttää

Lisätiedot

10 Nykyaikainen WWW-arkkitehtuuri

10 Nykyaikainen WWW-arkkitehtuuri 10 Nykyaikainen WWW-arkkitehtuuri è è è 10 Nykyaikainen WWW-arkkitehtuuri WWW on ylivoimaisesti suosituin hypertekstijärjestelmä. Käydään seuraavaksi läpi nykyaikaisen WWW-arkkitehtuurin perusteet. Vuonna

Lisätiedot

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

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

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-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ätiedot

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

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

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

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

Lisätiedot

3 Verkkopalveluarkkitehtuuri

3 Verkkopalveluarkkitehtuuri 3 Verkkopalveluarkkitehtuuri Luentokerran tavoitteena on perehtyä verkkopalveluarkkitehtuurin yleisiin periaatteisiin ja kaikille verkkopalveluille yhteisiin toimintoihin ja ominaisuuksiin: Tietokantapohjainen

Lisätiedot

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

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

Lisätiedot

Interfacing Product Data Management System

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

Lisätiedot

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen FiSMA 1.1 Monikerrosarkkitehtuuri 1 (7) FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen 1. Yleiset periaatteet FiSMA 1.1 -menetelmässä mitataan sovellusperiaatteen

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

Arkkitehtuuri. Ylätason sovellusarkkitehtuuri

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

Lisätiedot

4 Verkkopalvelun toteuttaminen

4 Verkkopalvelun toteuttaminen 4 Verkkopalvelun toteuttaminen Tällä kerralla on tavoitteena käydä läpi verkkopalvelun toteuttamiseen liittyviä asioita Mitkä tekijät asettavat reunaehtoja verkkopalvelun toteutukselle? Mitä kaikkea verkkopalvelun

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

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

Hirviö. Design Patterns

Hirviö. Design Patterns Hirviö SEPA-päiväkirja Design Patterns Anssi Kalliolahti Liia Sarjakoski 8. helmikuuta 2005 1 Sisältö 1 Johdanto 3 2 Menetelmän käytäntöön soveltaminen 3 3 Kokemuksia ja muutoksia 3 3.1 PP..........................................

Lisätiedot

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1.

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1. Sisällys Ratkaisumallien historia Jaakko Vuolasto 25.1.2001! Ratkaisumalli! Christopher Alexander! Ohjelmistotuotannosta arkkitehtuuriin! Henkilöhistoriaa! Ensimmäisiä käyttökokemuksia! Yhteenveto 25.1.2001

Lisätiedot

in condition monitoring

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin TEKNILLINEN KORKEAKOULU / VAASAN YLIOPISTO Diplomityöesitelmä Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin Timo Ahola 2006 Web sovellus Web palvelut joiden avulla laite voidaan liittää

Lisätiedot

11 Valmiit ratkaisut. 11 Valmiit ratkaisut

11 Valmiit ratkaisut. 11 Valmiit ratkaisut 11 Valmiit ratkaisut Kurssi lähestyessä loppuaan nostetaan tarkastelutasoa ja perehdytään muutamaan valmiiseen ratkaisuun. Tarkasteluun on kaksi perustetta: Vertailututkimus (bencmarking): Lainaa hyvät

Lisätiedot

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton 2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.

Lisätiedot

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu HAAGA HELIA/IltaTiko ICT2TD005: Ohjelmisto suunnittelutaito 1 VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu Tämä pikaopas opastaa käyttämään VisualStudion web sivujen suunnittelu ja toteutusominaisuuksia.

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

Sisä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. 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ätiedot

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 582104 Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 1 Arkkitehtuurisuunnittelu Ohjelmistoarkkitehtuurin määritelmä & arkkitehtuurisuunnittelun lähtökohta ja tavoitteet Kerrosarkkitehtuuri

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1 Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri 2 28.11.2008 Harri Laine 1 Ohjelmistoarkkitehtuuri Rajapinta UML:ssä piirteiden (attribuuttien ja operaatioiden) kokoelma, josta ei voi suoraan luoda ilmentymiä

Lisätiedot

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen FiSMA 1.1 Monikerrosarkkitehtuuri 1 (6) FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen 1. Yleiset periaatteet FiSMA 1.1 -menetelmässä mitataan sovellusperiaatteen

Lisätiedot

Visma sovellustuki Tukipyyntöjen lähettäminen

Visma sovellustuki Tukipyyntöjen lähettäminen Visma sovellustuki Tukipyyntöjen lähettäminen 2 Sisällys 1 Tukipyyntöjen käsittely... 3 1.1 Tukipalvelun sisältö... 3 1.2 Tukipyynnön lähettäminen... 3 1.3 Kuvan lisääminen tukipyyntöön... 4 2 Etähallintatyökalut...

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

XML johdanto, uusimmat standardit ja kehitys

XML johdanto, uusimmat standardit ja kehitys johdanto, uusimmat standardit ja kehitys Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto Esitelmä Hyvin lyhyt versio: on W3C:n suosittama

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

4 Verkkopalvelun toteuttaminen

4 Verkkopalvelun toteuttaminen Tällä kerralla on tavoitteena käydä läpi verkkopalvelun toteuttamiseen liittyviä asioita Mitkä tekijät asettavat reunaehtoja verkkopalvelun toteutukselle? Mitä kaikkea verkkopalvelun toteutuksessa on otettava

Lisätiedot

Hypermedian ohjelmointi (2 ov) kevät Yleisiä tietoja kevään kurssista. Kurssin sisältö ja suorittaminen

Hypermedian ohjelmointi (2 ov) kevät Yleisiä tietoja kevään kurssista. Kurssin sisältö ja suorittaminen kevät 2005 Yleisiä tietoja kevään kurssista Opettaja: Jukka Huhtamäki Sähköposti: jukka.huhtamaki@tut.fi Huone: Td309, matematiikan laitos / hypermedialaboratorio Puhelin: (03) 3115 2418 (vastaanotto:

Lisätiedot

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

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

Lisätiedot

Action Request System

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

Lisätiedot

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

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

Lisätiedot

Visma asiakaspalvelu Tukipyyntöjen lähettäminen

Visma asiakaspalvelu Tukipyyntöjen lähettäminen Visma asiakaspalvelu Tukipyyntöjen lähettäminen 2 Sisällys 1 Tukipyyntöjen käsittely... 3 1.1 Tukipalvelun sisältö... 3 1.2 Tukipyynnön lähettäminen... 3 1.3 Kuvan lisääminen tukipyyntöön... 4 2 Etähallintatyökalut...

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

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1 Ohjelmistojen mallintaminen Tietovuokaaviot 3.11.2008 Harri Laine 1 t Data flow diagrams Pohjana systeemiteoreettinen järjestelmämalli Input system output Järjestelmän tehtävä on muokata lähtötiedoista

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

Tiedonsiirto- ja rajapintastandardit

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

Lisätiedot

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

Testidatan generointi

Testidatan generointi Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI

Lisätiedot

Visma Software Oy

Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun materiaalin kopiointi on kielletty ilman :n

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu

Digitaalisen median tekniikat xhtml - jatkuu Digitaalisen median tekniikat xhtml - jatkuu 26.3.2004 Harri Laine 1 Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1 Digitaalisen median tekniikat xhtml - jatkuu 30.4.2004 Harri Laine 1 XHTML lomakkeet Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite

Lisätiedot

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen Nspire CAS - koulutus Ohjelmiston käytön alkeet 3.12.2014 Pekka Vienonen Ohjelman käynnistys ja käyttöympäristö Käynnistyksen yhteydessä Tervetuloa-ikkunassa on mahdollisuus valita suoraan uudessa asiakirjassa

Lisätiedot

2 Web-lomakkeet. HTML-lomakkeet. Lomakkeiden perusteet

2 Web-lomakkeet. HTML-lomakkeet. Lomakkeiden perusteet Web-lomakeet ovat verkkopalvelun tekninen perusta; käyttäjän syötteen välittäminen tapahtuu käytännössä aina lomakkeiden avulla Esimerkkejä lomakkeiden käytöstä: yksinkertaiset toiminnot: palautelomake,

Lisätiedot

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu HELIA 1 (8) Luento 1 Johdatusta tietokannan suunnitteluun... 2 Tietokantasuunnittelu?... 2 Tietokanta?... 2 Tieto?... 2 Tietokantasuunnittelun tavoite, v.1... 2 Luotettavuus?... 3 Tietokantasuunnittelun

Lisätiedot

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita. Arkkitehtuurikuvaus Käytössä olevat java-luokat: Kansio: /WEB_INF/classes/ - käännetyt luokat Kansio: /WEB_INF/src/ - lähdekoodi custom_pojos: Kurssi.java Java-luokka, jonka sisältö vastaa tietokannassa

Lisätiedot

VYPEdit verkkosivualusta SVY-toimijoille

VYPEdit verkkosivualusta SVY-toimijoille VYPEdit verkkosivualusta SVY-toimijoille www.vy.fi/admin/vypedit TieVie 26.8.2005 Hely Lahtinen VypEdit sisällönhallintajärjestelmällä voi www.vy.fi/admin/vypedit tuottaa ja ylläpitää www-sivustoja SVY:n

Lisätiedot

Kehyksillä toteuttettujen tuotelinjojen rakenteellinen optimointi

Kehyksillä toteuttettujen tuotelinjojen rakenteellinen optimointi Kehyksillä toteuttettujen tuotelinjojen rakenteellinen optimointi Pietu Pohjalainen Geneerinen metaohjelmointi Syksy 2004 Tietojenkäsittelytieteen laitos Helsingin yliopisto Esityksen sisältö Oliopohjaiset

Lisätiedot

Viestinvälitysarkkitehtuurit

Viestinvälitysarkkitehtuurit Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti hajautettuja Komponenttien palveluja ei tiedetä tarkasti etukäteen Komponentteja ja

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 SISÄLLYS 1 JOHDANTO 3 2 WWW-PALVELIMEN TOIMINTA 4 3 OMINAISUUDET

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

TermBase NET versio 1.0.1. (Beta)

TermBase NET versio 1.0.1. (Beta) TermBase NET versio 1.0.1. (Beta) Sulautettu sanasto- ja termikanta OHJEET TÄRKEÄÄ: Copyright M. Tuittu, 2005 Kaikki oikeudet pidätetään. TermBase NET on toteutettu java -tekniikalla. Java and all Java-based

Lisätiedot

Visma Nova Webservice Versio 1.1 /

Visma Nova Webservice Versio 1.1 / Visma Nova Webservice Versio 1.1 / 31.10.2018 pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun

Lisätiedot

6. Arkkitehtuurityylit

6. Arkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit (toiminnan ositus) Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit

Lisätiedot

www.solita.fi solita@solita.fi

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

Lisätiedot

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

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen Projektityö: Mobiiliajopäiväkirja Mikko Suomalainen 1. Määritelmä Mobiiliajopäiväkirja on kännyköille suunnattu ajopäiväkirja-sovellus. Sovelluksen pääperiaate on toimia automaattisena ajopäiväkirjana.

Lisätiedot

Palveluperustaiset arkkitehtuurityylit

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

Lisätiedot

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

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

Lisätiedot

Avoimet ohjelmistokehykset

Avoimet ohjelmistokehykset arvosana päiväys arvostelija Avoimet ohjelmistokehykset Jyri Laukkanen 24.9.2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET Tiedekunta/Osasto Fakultet/Sektion

Lisätiedot

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä keskustelualuetta simuloiva olioperustainen ohjelma (Simple Oope Board, S.O.B). Linkitetystä listasta perittyä omaa listaa käytetään muun muassa

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu

Digitaalisen median tekniikat xhtml - jatkuu Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1 Kehykset IFRAME - elementti (inline frame) mahdollistaa kehysten upottamisen myös muihin kuin frameset.dtd:n mukaisiin dokumentteihin IFRAME toimii

Lisätiedot

Kurssin hallinta -työväline

Kurssin hallinta -työväline Kurssin hallinta -työväline Kurssin hallinta -työvälineellä muokataan kursseja A&Ooppimisympäristöalustalla Kurssi koostuu - ohjelmasta (linkit työkaluihin& muihin resursseihin), - materiaaleista, - keskusteluryhmästä,

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

Lohtu-projekti. Testaussuunnitelma

Lohtu-projekti. Testaussuunnitelma Lohtu-projekti Testaussuunnitelma Versiohistoria: 1.0 19.2.2003 1. versio Mari 1.1 20.2.2003 Muutoksia Mari 1.2 25.2.2003 Katselmoinnissa esiin tulleet Mari muutokset 1.3 17.3.2003 2. syklissä tehtävät

Lisätiedot

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Avoin verkkoalusta ihmisen ja koneen ymmärtämien tietomääritysten tekemiseen Riitta Alkula 20.3.2019 Esityksen sisältö

Lisätiedot

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

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

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin 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ätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja

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

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

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

1. Omat operaatiot 1.1

1. Omat operaatiot 1.1 1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

Lisätiedot

Please note! This is a self-archived version of the original article. Huom! Tämä on rinnakkaistallenne.

Please note! This is a self-archived version of the original article. Huom! Tämä on rinnakkaistallenne. Please note! This is a self-archived version of the original article. Huom! Tämä on rinnakkaistallenne. To cite this Article / Käytä viittauksessa alkuperäistä lähdettä: Uusitalo, M. 2017. Avoin data TAMKissa.

Lisätiedot

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.

Lisätiedot

Käyttöohje. Aija. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Käyttöohje. Aija. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Käyttöohje Aija Helsinki 2.9.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö 1. Yleistä...3 2. Järjestelmän toiminnot...4 2.1 Rekisteröityminen...4 2.2 Sisäänkirjautuminen...4

Lisätiedot

Attribuutti-kyselypalvelu

Attribuutti-kyselypalvelu Attribuutti-kyselypalvelu sivu 1/10 Sisällysluettelo 1 Johdanto... 3 2 Palvelut... 3 2.1 Ammattioikeudenrajoituslista... 3 2.2 Ammattioikeuslista... 3 2.3 Attribuutti-rajoitustietosanoma... 3 3 Palvelurajapinnan

Lisätiedot

T Henkilökohtainen harjoitus: FASTAXON

T 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ätiedot

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1 Digitaalisen median tekniikat JSP ja XML 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan

Lisätiedot

StatCrunch -laskentasovellus

StatCrunch -laskentasovellus StatCrunch -laskentasovellus Yleistä sovelluksesta StatCrunch on Integrated Analytics LLC:n valmistama sovellus tilastotieteellisten analyysien tuottamista varten. Se on verkon yli käytettävä analyysisovellus,

Lisätiedot

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit

Lisätiedot

Digitaalisen median tekniikat. JSP ja XML

Digitaalisen median tekniikat. JSP ja XML Digitaalisen median tekniikat JSP ja 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan

Lisätiedot

Ohjelmistoarkkitehtuurit Johannes Koskinen. Osittavat arkkitehtuurityylit

Ohjelmistoarkkitehtuurit Johannes Koskinen.  Osittavat arkkitehtuurityylit Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit

Lisätiedot

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit

Lisätiedot

Veronumero.fi Tarkastaja rajapinta

Veronumero.fi Tarkastaja rajapinta Suomen Tilaajavastuu Oy Veronumero.fi Tarkastaja rajapinta Rajapintakuvaus veronumeroiden tarkastamiseen ja henkilötietojen noutamiseen Suomen Tilaajavastuu Oy Muutoshistoria Päivämäärä Tekijä Muutos 11.2.2013

Lisätiedot

13/20: Kierrätys kannattaa koodaamisessakin

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

Lisätiedot