Ville Sälliluoma ASP.NET MVC. Tietojenkäsittelyn koulutusohjelma 2011

Koko: px
Aloita esitys sivulta:

Download "Ville Sälliluoma ASP.NET MVC. Tietojenkäsittelyn koulutusohjelma 2011"

Transkriptio

1 Ville Sälliluoma ASP.NET MVC Tietojenkäsittelyn koulutusohjelma 2011

2 SISÄLLYSLUETTELO 1 JOHDANTO ASP.NET PERUSTEET NET Framework Historiikki MVC-MALLI Yleistä MVC-mallista Rakenne ASP.NET MVC-TEKNIIKKA Komponentit Suunnittelumallit ASP.NET MVC -kerrokset ASP.NET MVC:n etuja ASP.NET MVC:n heikkouksia RAMONES-NIMIGENERAATTORI LOPUKSI..15 LÄHTEET LIITE 1: Ramones-nimigeneraattorin lähdekoodi

3 3 1 JOHDANTO Web-järjestelmät kehittyvät erittäin nopeaa tahtia. Tänä päivänä web-sivustoja käytetään useammilla selaimilla ja eri laitteilla kuin koskaan. Esimerkiksi sosiaalisen median valtava suosio luo omat vaatimuksensa eri verkkoteknologioille. Järjestelmien pitää pystyä entistä rikkaampaan vuorovaikutukseen hyvin suosituilla sivustoilla kuten esimerkiksi Facebook, jolla on miljoonia käyttäjiä päivittäin. Web-ohjelmointitekniikoiden pitää pystyä vastaamaan näihin vaatimuksiin. Uusia tekniikoita lanseerataan nopeasti, ja mukana on kokonaan uusia ohjelmistoteknisiä näkökulmia. Aina ei kuitenkaan kannata keksiä pyörää uudelleen. Vanhakin suunnittelumalli voi olla yhä elinvoimainen, vaikka web-ympäristöt monipuolistuvat. Microsoftin suosittu ASP.NET-alusta sai vuonna 2009 uuden jäsenen ASP.NET MVC:n. MVC-arkkitehtuurin alkuperäisen mallin kehitti norjalainen Tryggve Reenskaug vuonna 1979, vuosia ennen kuin suunnittelumalleista oltiin edes kuultu. Mielenkiintoista on, että yhden miehen abstrakti malli 30 vuoden takaa on toteutettu useilla eri webohjelmointitekniikoilla. Lisäksi se nauttii valtavaa suosiota web-ohjelmoinnin parissa. Tässä työssä tutkitaan ASP.NET MVC -tekniikkaa ja sen mielenkiintoista alkuperää. Lisäksi tutkimuksen tavoitteena on tehdä käytännön sovellus tällä tekniikalla. Aluksi lähdetään liikkeelle ASP.NET:n perusteista ja historiasta. Kolmannessa luvussa esitetään alkuperäinen MVC-malli. Nämä taustatiedot ovat välttämättömiä, että voimme ymmärtää ASP.NET MVC- tekniikan idean. Neljännessä luvussa paneudutaan täysin ASP.NET MVC -tekniikkaan, muun muassa sen komponentteihin, vaikuttaneisiin suunnittelumalleihin sekä tekniikan etuihin ja heikkouksiin. Tässä työssä ASP.NET MVC -tekniikan vertailukohtana on toinen ASP.NET -alustan tekniikka: Web Forms. Viidennessä luvussa toteutetaan sovellus ASP.NET MVC -tekniikalla ja viimeisessä luvussa esitetään koontia asiasta.

4 4 2 ASP.NET PERUSTEET ASP.NET on Microsoftin kehittämä web-tuotantoalusta, jolla voidaan toteuttaa dynaamisia web-palveluja. Ohjelmointi tapahtuu nykyaikaisilla olio-ohjelmointikielillä (C# ja Visual Basic.NET). ASP.NET on osa.net Frameworkia. Päätavoite on tuottaa web-suunnittelupalveluja nopeasti ja tehokkaasti. Alkuperäinen lähtökohta oli, että web-kehittäjien ei tarvitse juurikaan tuntea perinteisiä webtekniikoita kuten HTML ja JavaScript. Toteuttaminen on yksinkertaista valmiiden drag- -and-drop -kontrollien avulla. (Conery, Gunthrie, Haack & Hanselman 2009, 167; Esposito 2010, 16.) ASP.NET on merkittävästi kehittynyt historiansa aikana. Nykyinen ASP.NET sisältää useita laajennettuja alueita, jotka eivät olleet mukana alussa. Esimerkiksi siinä on pohja Ajax-kehitykselle ja valmiit kontrollit ovat mukautettu tukemaan paremmin CSS- ja XHTML-tekniikoiden vaatimuksia. (Esposito 2010, 16.) 2.1.NET Framework.NET Framework on Microsoftin kehittämä ohjelmistotuotantoalusta. Sillä voidaan tuottaa eri tyyppisiä sovelluksia, kuten esimerkiksi konsolisovelluksia, web-sovelluksia ja työpöytäsovelluksia..net Framework käsittää hyvin laajan luokkakokoelman, jota voidaan hyödyntää ohjelmoinnissa. ASP.NET Framework on web-sovellusten tuottamiseen tarkoitettu.net Frameworkin osa. Se sisältää useita tarkoitukseen sopivia luokkia. Nykyinen ASP.NET Framework muodostuu kahdesta web-sovellusten luontiin tarkoitetusta tekniikasta: ASP.NET Web Formista ja ASP.NET MVC:stä. (Walther 2010, ) 2.2 Historiikki Monille web ei oikeastaan ollut merkittävä ennen kuin ensimmäiset graafiset selaimet tulivat markkinoille 1990-luvun alussa. Pian sen jälkeen ilmestyivät ensimmäiset

5 5 dynaamiset web-sivut, jotka käyttivät esimerkiksi Perl-ohjelmointikieltä ja Common Gateway Interface (CGI)-tekniikkaa. CGI:n ongelmana oli, että web-palvelimen piti käynnistää jokaiselle web-pyynnölle oma erillinen instanssi sovelluksesta. Tämä kuormitti varsinkin suosittuja sivustoja. Kun web laajeni ja HTML-standardit mahdollistivat rikkaamman vuorovaikutuksen, lanseerattiin uusia tekniikoita. Microsoftin vastaus tähän oli Active Server Pages (ASP) vuonna (MacDonald 2007, 6; Conery ym. 2009, 167.) ASP.NET Web Forms julkaistiin vuonna Julkaisu oli suuri edistysaskel, koska ASP.NET oli sillanrakentaja Windows-ohjelmoinnin ja web-järjestelmien ohjelmoinnin välillä. Käyttöliittymä muodostui valmiista kontrolleista, jotka keskustelevat palvelinpuolen kanssa. Kontrollit renderöityvät automaattisesti HTML:ksi ja käyttävät palvelinpuolen tapahtumia vuorovaikutuksessa palvelinpuolen tapahtumienkäsittelijän kanssa. Web-ohjelmoijien ei tarvinnut enää työstää itsenäisiä HTTP-pyyntöjä (request) ja vastauksia (response) kuten aiemmissa teknologioissa. Tämä tarkoittaa tilallista webohjelmointia. (Sanderson 2009, 3-4.) ASP.NET MVC 1.0 julkaistiin vuonna Sen ei ole tarkoitus olla Web Formsin seuraaja, vaan vaihtoehto sille. ASP.NET MVC -tekniikassa on palattu tilattomaan webohjelmointiin. Käyttöliittymä tapahtuu HTML-, CSS- ja JavaScript-tekniikoiden kanssa. (Esposito 2010, 32-33; Walther 2010, 15.) Taulukossa 1. on esitetty ASP.NET versiohistoriaa. Taulukko 1. ASP.NET-tekniikat ja julkaisuvuosi (Walther 2010, 15). Julkaisuvuosi Tekniikka 2002 ASP.NET ASP.NET ASP.NET ASP.NET Ajax 2008 ASP.NET ASP.NET MVC ASP.NET 4.0 ja ASP.NET MVC 2.0

6 6 3 MVC-MALLI 3.1 Yleistä MVC-mallista MVC (Model-View-Controller) on ohjelmistoarkkitehtuuriratkaisu, joka perustuu norjalaisen Trygve Reenskaugin vuonna 1979 kehittämään malliin (Bellinaso, Berardi & Katawazi 2009, 7). MVC-arkkitehtuurin perusajatus on erottaa käyttöliittymä sovelluslogiikasta ja -datasta. Tällä pyritään helpottamaan käyttöliittymän muokkausta ja järjestelmän siirtoa toiselle graafiselle alustalle. Lähtökohtana on, että käyttöliittymä ilmaisee sovelluksen tilaa ja näyttää sen tarvittaessa erilaisissa näkymissä. (Koskimies & Mikkonen 2005, 142.) Reenskaug (haettu ) kuvailee MVC-mallia seuraavasti: Ensisijainen tarkoitus MVC:llä on toimia siltana käyttäjän mentaalisen mallin ja digitaalisen mallin välillä. Ideaali MVC-ratkaisu tukee käyttäjän illuusiota nähdä ja manipuloida kohdealueen tietoa suoraan. Rakenne on hyvin käytännöllinen, jos käyttäjän tarvitsee nähdä sama mallialkio samanaikaisesti eri viitekehyksessä ja/tai eri näkökulmasta (Kuva 1). Kuva 1. Käyttäjän mentaalinen malli vs. tietokoneen malli. (Reenskaug 1979a). Nykypäivänäkin MVC nauttii valtavaa suosiota web-sovellusten arkkitehtuurina, koska nykyaikaiset web-sovellukset edellyttävät useiden tekniikoiden (esimerkiksi HTML, tietokannat ja suoritettava koodi) yhdistelemistä. Monet näistä tekniikoista sopivat

7 7 luonnostaan MVC:n konsepteihin. MVC-arkkitehtuuria voidaan toteuttaa monilla nykypäivän ohjelmointikielillä, kuten esimerkiksi Java, PHP, JavaScript, Perl, Python, Ruby ja.net. Marraskuussa 2002 W3C (Internet-tekniikoiden stardardointiyhteisö) valitsi MVC-arkkitehtuurin osaksi XForms-spesifikaatiota, joka integroidaan XHTML standardiin. (Bellinaso ym. 2009, 7; Sanderson 2009, 7.) Ohjelmistotuotannossa arkkitehtuuri-termi voidaan nähdä ylempänä toteutusfilosofiana tai rakenneosien konkreettisina vuorovaikutussuhteina. Arkkitehtuuri määrittelee yhdenmukaisia toteutusperiaatteita, joiden on tarkoitus pysyä muuttumattomina koko ohjelmiston elinkaaren ajan. (Haikala & Märijärvi 2006, ) MVC-arkkitehtuuri edustaa enemmän toteutusfilosofiaa, koska alkuperäisessä mallissa ei ollut konkreettista toteutusesimerkkiä, ja MVC-mallia käytetään ohjelmistotuotannossa usealla eri tavalla teknisessä mielessä, mutta perusajatus kuitenkin on yhteinen. 3.2 Rakenne MVC muodostuu kolmesta osasta: Model (malli), View (näkymä) ja Controller (ohjain). MVC-arkkitehtuuria voidaan kuvailla eri näkökulmista filosofisen luonteensa takia. Tässä kuvaillaan rakennetta Reenskaugin esimerkeillä sekä omillani niin, että kuka tahansa perustiedot omaava web-sovellusten kehittäjä voi hahmottaa, mistä on kysymys. Model (malli) edustaa tietoa. Malli voi olla yksittäinen objekti tai niiden rakennelma. Malli edustaa tuotannossa olevan sovelluksenkehittäjän näkemää maailmaa. (Reenskaug 1979b.) Esimerkiksi HTML-merkintäkieli tuotantoympäristössään on malli. View (näkymä) on mallin visuaalinen esitys. Se korostaa sekä hillitsee mallin ominaisuuksia toimien näin esitys suodattimena. Näkymä on kiinnitetty malliin, saa siltä tarvittavat tiedot esityksestä ja näkymä voi muuttaa mallia. (Reenskaug 1979b.) Esimerkiksi CSS määrittelee HTML:n muodostaman ulkoasun. Ne ovat suhteessa toisiinsa, mutta riippumattomasti. Controller (ohjain) on linkki käyttäjän ja järjestelmän välillä. Ohjain ottaa käyttäjältä vastaan syötteitä, jotka vaikuttavat malliin. Ohjain käsittelee syötetyn datan ja luo uuden

8 8 näkymän. (Reenskaug 1979b.) Esimerkiksi Internet-selain yhdistää CSS:n ja HTML:n esitykseksi, joka tulostuu selaimen ikkunaan. Selain ottaa käyttäjän syötteet vastaan HTML:n tarjoamina elementteinä, kuten input ja select. MVC-sovelluksen käyttö noudattaa sykliä, jossa käyttäjä tekee toiminnon, sovellus vastaa toimintoon muuttamalla mallia (model) ja tuo uuden näkymän (view) käyttäjälle. Käyttäjä on vuorovaikutuksessa sovelluksen kanssa, esimerkiksi useiden edestakaisten http-pyyntöjen (request) ja vastausten (response) kautta. (Sanderson 2009, 7.) 4 ASP.NET MVC-TEKNIIKKA Web Forms -tekniikan luonne oli lähellä Windows Forms tuotantoa, toisin sanoen helpompaa drag-and-drop -suunnittelijoille. Tällä oli hyviä puolia uusille suunnittelijoille. Suurena haittana oli kuitenkin se, että ei ollut tarpeeksi mahdollisuuksia vaikuttaa esitettävään HTML-tuotokseen. Tämän takia kokeneempia suunnittelijoita siirtyi muiden web-sovellusalustojen pariin, kuten esimerkiksi PHP ja Ruby on Rails. Nämä alustat tarjosivat halutun vastineen sekä MVC-ohjelmointimallin. Tämä johti siihen, että Microsoft julkisti syksyllä 2007, että suunnitteilla on ASP.NET - ytimeen perustuva ohjelmointialusta, joka kilpailee muiden suosittujen MVC-alustojen kanssa. Näin syntyi ASP.NET MVC. (Bellinaso ym. 2009, 11.) MVC-suunnittelumalli avustaa tekemään sovelluksia, jotka ovat eroteltu eri osakokonaisuuksiksi. MVC-suunnittelumalli määrittää, miten eri ohjelmointilogiikat sijoittuvat sovelluksessa. Käyttöliittymälogiikka kuuluu näkymään, syötelogiikka kuuluu ohjaimeen ja toimintalogiikka kuuluu malliin. Tämä jaottelu auttaa hallitsemaan monimutkaisia sovelluksia, koska on mahdollista keskittyä yhteen osa-alueeseen kerralla. Käyttöliittymän erottaminen sovelluslogiikasta ei ollut täysin mahdollista Web Forms-tekniikassa, koska palvelinpuolen kontrollit saattoivat tuoda sovelluslogiikkaa käyttöliittymään. (Bellinaso ym. 2009, 64; Microsoft 2011.)

9 9 4.1 Komponentit ASP.NET MVC-arkkitehtuurissa sovellus on eroteltu MVC-mallin mukaisesti kolmeen komponenttiin: malli (model), näkymä (view) ja ohjain (controller). Malli sisältää kaiken toiminta-, validointi- ja tiedonsaantilogiikan, joita sovellus tarvitsee. Malli-oliot käyttävät tietokantaa. Esimerkiksi Tuote-olio saattaa hakea tietoa tietokannasta, käsitellä sitä ja kirjoittaa päivitetyn tiedon Tuotteet-tauluun SQLpalvelimelle. Pienissä sovelluksissa malli on usein käsitteellinen. Jos sovellus vain lukee dataa ja lähettää sen näkymälle, sovelluksella ei ole fyysistä malli-kerrosta ja assosioituja luokkia. Tässä tapauksessa data ottaa Malli-olion roolin. (Microsoft 2011; Walther 2010, 120.) Näkymät ovat komponentteja, jotka näyttävät sovelluksen käyttöliittymän. Tyypillisesti käyttöliittymä luodaan mallin datan pohjalta, kuten esimerkiksi Tuote-taulun muokkausnäyttö, joka esittää kontrolleja, kuten drop-down list, checkbox ja textbox. (Microsoft 2011.) Ohjain on komponentti, joka käsittelee käyttäjän syötteet, työskentelee mallin kanssa ja valitsee käyttöliittymän esittävän näkymän esitettäväksi. MVC-sovelluksessa näkymä ainoastaan esittää informaation. Ohjain käsittelee ja vastaa käyttäjän syötteisiin ja toimenpiteisiin. Esimerkiksi ohjain käsittelee merkkijonoja ja välittää ne mallikomponenttiin, joka tekee tietokantakyselyjä kyseisillä arvoilla. (Microsoft 2011.) 4.2 Suunnittelumallit ASP.NET MVC:n toimintakoneisto on ottanut vaikutteita Front Controller ja Model2 suunnittelumalleista. Model2 on Sun Microsystemsin kehittämä todella suosittu MVCvariaatio web-sovellusten tekemiseen JSP-ympäristössä (Java Server Pages). (Esposito 2010, 91.) Front Controller käyttää keskitettyä komponenttia, joka käsittelee kaikki tulevat palvelinpyynnöt. ASP.NET MVC:ssä tämä komponentti on MVC HTTP handler. Tämä

10 10 yhteinen luokka sisältää logiikan, joka jäsentää URL:n ja päättää, mikä ohjain (controller) käsittelee pyyntöä (request) ja mikä näkymä (view) tuottaa HTML:n. Ohjain on tavallinen luokka, joka sisältää julkisia metodeja (public method). (Esposito 2010, 27.) Alla oleva sekvenssikaavio havainnollistaa Front Controller ja Model2 toimintaa (Kuvio 1). Kuvio 1. MVC HTTP handler selvittää käytettävän ohjaimen ja herättää sen metodin. Ohjaimen metodi hankkii tietoa, ja selvittää käytettävän näkymän. Lopuksi näkymä generoi tuotoksen, mikä tulee selaimelle. (Esposito 2010, 28.) 4.3 ASP.NET MVC -kerrokset ASP.NET MVC on kerrosarkkitehtuuri, joka voidaan jakaa viiteen tasoon (Kuva 2): 1. tiedonsaantitaso (Data Access Layer) - Tämä koodi käsittelee tietokantatasolla olevaa raakadataa ja edustaa mallia. 2. toimintalogiikkataso (Business Logic Layer)

11 11 - Tämä koodi lisää toimintasäännöt ja domain-kohtaiset objektit. Edustaa mallia. 3. sovelluslogiikkataso (Application Logic Layer) - Koodi huolehtii käyttöliittymätason ja toimintalogiikkatason vuorovaikutuksesta. Edustaa ohjainta. 4. käyttöliittymätaso (Presentation Layer) - Koodi määrittelee, mitä käyttäjä näkee näytöltä. Edustaa näkymää. 5. tietokantataso (Data Layer) - Yleensä relaatiotietokanta, voi myös olla esimerkiksi XML- tai tekstitiedosto. (Bellinaso ym. 2009, ) Kuva 2. ASP.NET MVC:n tasot ja, mitä MVC-komponenttia ne edustavat (Bellinaso ym. 2009, 64.) Kerrosarkkitehtuuri tarkoittaa ohjelmiston rakennetta, joka koostuu loogisesti yhtenäisistä eri käsitetasoilla olevista kerroksista siten, että ylempi kerros käyttää alemman kerroksen palveluja. Käsitetasot voidaan nähdä skaalassa laite/ihminen: laitepäässä olevat tasot ovat matalammassa tasossa kuin ihmistä lähellä olevat tasot. Alemmat kerrokset tarjoavat laitetta tai käyttöjärjestelmää lähellä olevia toimintoja,

12 12 ylemmät kerrokset taas esimerkiksi graafisen käyttöliittymän palveluita. (Koskimies & Mikkonen 2005, 126; Koskimies 2000, 212.) 4.4 ASP.NET MVC:n etuja ASP.NET MVC-arkkitehtuurilla on hyvät lähtökohdat tehdä helposti yksikkötestausta, koska jokainen osa voidaan testata muista riippumattomasti (Sanderson 2009, 8). ASP.NET MVC myös mahdollistaa HTML:n täydellisen hallinnan ja vapaan skriptien sekä CSS:n käytön (Esposito 2010, 32). ASP.NET MVC ei käytä ViewState- ja PostBack-toimintoja. Nämä olivat osittain iso ongelma Web Forms tekniikassa. ViewState- ja PostBack-toiminnot olivat oleellisia tilallisen ohjelmoinnin mahdollistamiseksi. ViewState on kontrollin tilan tallennustapa, johon säilötään esimerkiksi data ja valinnat. Kun pyyntö (request) tulee palvelimelle, se ei muista edellistä pyyntöä. Jotta tilallisuus voi toteutua, tarvitsee pystyä ilmaisemaan aiemman pyynnön tila. Web Forms -tekniikassa tämä oli toteutettu piilotetuilla <input/>-kentillä, jotka saattoivat kasvaa huomattavan suuriksi, jopa sadoiksi kilotavuiksi, ja siirtyä edestakaisin jokaisella palvelupyynnöllä. Tämä näkyi sivustojen käyttöviiveenä. PostBack-toiminto renderöi jokaisen merkityn tapahtuman JavaScriptiksi. Tämän takia oli vähäinen mahdollisuus kontrolloida, miten selain kommunikoi palvelimen kanssa. (Bellinaso ym. 2009, 11; Sanderson 2009, 4.) 4.5 ASP.NET MVC:n heikkouksia Web Forms -tekniikka mahdollisti tapahtumakohtaisen ohjelmoinnin. Jokaiselle kontrollille on assosioitu palvelinpuolelle luokka sekä tapahtumankäsittelijä. Esimerkiksi Button-elementeillä on Click-tapahtuma. Kyseisellä toteutuksella on hintana se, että joudutaan käyttämään ViewState-tekniikkaa. (Conery ym. 2009, 173.) ASP.NET MVC ei mahdollista tapahtumakohtaista ohjelmointia, mikä saattaa olla hankala ajatus Web Forms -kehittäjille (Bellinaso ym. 2009, 12). Pitää tietää enemmän HTML-, CSS- ja JavaSript-tekniikoista kuin Web Forms - tekniikan parissa. Jotta voidaan puhua HTML:n täydellisestä hallinnasta, täytyy

13 13 jokainen elementti kirjoittaa toisensa jälkeen käsin. Tämän voi myös nähdä askeleena taaksepäin, kun puhutaan käytettävyydestä ja tuottavuudesta. (Esposito 2010, 33.) 5 RAMONES-NIMIGENERAATTORI Käytännön sovelluksena tässä työssä toteutetaan Ramones-nimigeneraattori ASP.NET MVC -tekniikalla, hyödyntäen kaikkia kolmea MVC-komponenttia. Sovelluksen idea on, että käyttäjältä kysytään etunimeä ja sukunimeä, joista etunimi tulostetaan annetussa muodossa, ja sukunimeksi tulostetaan syötteestä huolimatta aina Ramone. Sovellus on hyvin yksinkertainen, eikä se sisällä esimerkiksi validointi-toimintoja. Ulkoasu on myös hyvin mitäänsanomaton. Tarkoitus on vain esitellä ASP.NET MVC -toimintaa niin, että MVC-ajattelu otetaan mahdollisimman hyvin huomioon. Sovellus on toteutettu käyttäen Microsoft Visual Studio 2010 Ultimate Edition - ohjelmointityökalua. Ohjelmoinnin tukena on käytetty Steven Sandersonin kirjaa Pro ASP.NET MVC Framework (Sanderson 2009). Sovelluksen kokonainen lähdekoodi kommentteineen löytyy liiteluettelosta (Liite 1). Kun sovellus suoritetaan, ohjain-luokka tuo näytölle NimiForm-näkymän, joka toimii tämän sovelluksen käyttöliittymänä (Kuva 3). Tekstikentissä kysytään etunimeä ja sukunimeä. Kun Lähetä-nappia painetaan, tieto siirtyy tekstikentistä ohjaimelle. Tässä näkymässä luodaan kaksi <input type="text" />-kenttää ASP.NET MVC:n sisäänrakennetuilla HTML-metodeilla (Kuva 4).

14 14 Kuva 3. Sovelluksen käyttöliittymä. Kuva 4. <p>-elementtien sisältö generoituu <input type= text />-muotoon. Ohjain reagoi annettuihin syötteisiin lähettämällä ne mallille. HTTP-pyyntö sisältää mallin instanssin. Tämä operaatio on nimeltään Model Binding. (Kuva 5). Kuva 5. Ohjaimen koodia. Tässä sovelluksessa ei tarvitsisi käyttää malli-komponenttia ollenkaan. Käytän sitä pelkästään MVC-mallin fyysisen olemuksen aikaansaamiseksi. Malli (Kuva 6) lukee syötteet ja asettaa niihin samat arvot, millä ne NimiForm-näkymästä alun perin lähetettiin. Malli lähettää ne takaisin ohjaimelle. Kuva 6. Mallin koodia.

15 15 Ohjain lähettää syötteet Vastaus-näkymälle (Kuva 7). Vastaus-näkymä tulostetaan näytölle (Kuva 8). Kuva 7. Vastaus-näkymän koodia. Sukunimeksi on kovakoodattu Ramone. Kuva 8. Vastausnäkymä, johon sovelluksen suoritus loppuu. 6 LOPUKSI Innostukseni ohjelmointiin lähti C#-ohjelmointikielen opiskelusta. Olio-pohjainen ajattelu tuntui sopivalta minulle. Aiemmin olin hiukan tutustunut C-kieleen, joka on proseduraalinen kieli. Omaksuttuani C#-kielen oli luontevaa siirtyä ASP.NET Web Formsin pariin. Valmiit kontrollit sekä tapahtumakohtainen ohjelmointi tuntuivat erittäin tehokkaalta Web-sivujen rakentamiseksi. Nykyään kokemusta on kertynyt muun muassa JavaScript, PHP, C++-kielistä. Hallitsen mielestäni erittäin hyvin HTML ja CSS-tekniikat, joten niiden mahdollisimman tehokas käyttö Web-toteutuksissa on minulle lähes vaatimus. ASP.NET MVC vaikuttaa hyvin varteenotettavalta tekniikalta vaatimusteni täyttämiseksi. MVC-malli on mielestäni looginen ja helposti omaksuttava, ainakin ASP.NET MVCympäristössä. Minulla on niin vähän käyttökokemusta ASP.NET MVC-ympäristöstä, että en osaa ottaa kantaa sen tehokkuudesta esimerkiksi Web Formsiin verrattuna. Tapahtumakohtaisen ohjelmoinnin puute häiritsi ainakin minua.

16 16 Mielestäni ASP.NET MVC on hyvin tervetullut tekniikka. Ennen kaikkea se on vaihtoehtoinen ohjelmointiparadigma Web Formsille. LÄHTEET Bellinaso, M., Berardi, N. & Katawazi, A ASP.NET MVC 1.0 Website Programming: Problem Design Solution. Indianapolis. Wiley Publishing, Inc. Conery, R., Gunthrie, S., Haack, P. & Hanselman, S Professional ASP.NET MVC 1.0. Indianapolis. Wiley Publishing, Inc. Esposito, D Programming Microsoft ASP.NET MVC. Microsoft Press. Haikala, I. & Märijärvi, J Ohjelmistotuotanto. 11. painos. Jyväskylä. Talentum. Koskimies, K Oliokirja. Jyväskylä. Satku Kauppakaari. Koskimies, K & Mikkonen, T Ohjelmistoarkkitehtuuri. Jyväskylä. Talentum. MacDonald, M Beginning ASP.NET 3.5 in C# painos. Apress. Microsoft Getting started with ASP.NET MVC 3. Viitattu Saatavissa: Reenskaug, T. 1979a. MVC XEROX PARC Viitattu Saatavissa: Reenskaug, T. 1979b. Models Views Controllers. Viitattu Saatavissa: Sanderson, S Pro ASP.NET MVC Framework. Apress. Walther, S ASP.NET MVC Framework Unleashed. Sams.

17 17 LIITE 1 Näkymät //NimiForm Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>nimiform</title> </head> <form action="/home/nimiform" method="post" > <h1>ramones-nimigeneraattori</h1> <p>etunimi: <%= Html.TextBox("Etunimi") %></p> <p>sukunimi: <%= Html.TextBox("Sukunimi")%></p> <input type="submit" value="lähetä" /> </form> </html> //Vastaus Page Language="C#" Inherits="System.Web.Mvc.ViewPage<RamonesNameGenerator.Models.RamonesModel>" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">

18 18 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>vastaus</title> </head> <body> <div> <h1>ramones nimesi on: <%= Html.Encode(Model.Etunimi) %> <%=Html.Encode(Model.Sukunimi = "Ramone") %>!</h1> </div> </body> </html> Ohjain //HomeController using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using RamonesNameGenerator.Models; //Lisättiin Models. namespace RamonesNameGenerator.Controllers { [HandleError] public class HomeController : Controller { public ViewResult NimiForm() //Tulostetaan NimiForm-näkymä näytölle. { return View(); } [AcceptVerbs(HttpVerbs.Post)] //Käsitellään NimiFormin-syötteet, lähetetään ne mallin kautta Vastaus-näkymälle public ViewResult NimiForm(RamonesModel ramonesvastaus) { return View("Vastaus", ramonesvastaus); } } } Malli //RamonesModel using System; using System.Collections.Generic;

19 19 using System.Linq; using System.Web; namespace RamonesNameGenerator.Models { public class RamonesModel { public string Etunimi { get; set; } public string Sukunimi { get; set; } } } Reititystiedot //Global.asax.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace RamonesNameGenerator { // Note: For instructions on enabling IIS6 or IIS7 classic mode, // visit public class MvcApplication : System.Web.HttpApplication { public static void RegisterRoutes(RouteCollection routes) { routes.ignoreroute("{resource}.axd/{*pathinfo}"); routes.maproute( //Vakioreittiä muutettiin. "RamoneReitti", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "NimiForm", id = UrlParameter.Optional } // Parameter defaults ); } protected void Application_Start() { AreaRegistration.RegisterAllAreas(); } RegisterRoutes(RouteTable.Routes);

20 20 } }

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

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

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

C# Windows ohjelmointi perusopas

C# Windows ohjelmointi perusopas Paavo Räisänen C# Windows ohjelmointi perusopas www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta ei saa

Lisätiedot

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Microsoft Visual Studio 2005 on integroitu kehitysympäristö (Integrated Development Environment) eli (IDE). Kehitysympäristöön kuuluvat seuraavat keskeiset sovelluskehitysvälineet: Ohjelmointikielet C#.NET

Lisätiedot

Taustaa. CGI-ohjelmointi

Taustaa. CGI-ohjelmointi Taustaa CGI-ohjelmointi CGI = Common Gateway Interface Hyvin yksinkertainen ja helppo tapa toteuttaa dynaamisuutta ja interaktivisuutta htmldokumentteihin Kehitetty tiedon siirtoon palvelimen ja asiakasselaimen

Lisätiedot

Pedacode Pikaopas. Web-sovelluksen luominen

Pedacode Pikaopas. Web-sovelluksen luominen Pedacode Pikaopas Web-sovelluksen luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Netbeans-työkalulla luodaan uusi yksinkertainen web-sovellus ja testataan sen toiminta. Opas kattaa kaiken aiheeseen

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

1. Olio-ohjelmointi 1.1

1. Olio-ohjelmointi 1.1 1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML Järjestelmäarkkitehtuuri (TK081702) Ajax 2000-luvun alkuvuosina selainsotien rauhoituttua ohjelmistotalot alkoivat kehittää selainten luoman uuden ohjelmointiympäristön käyttötapoja. Syntyi AJAX (Asynchronous

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

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

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

2010-luvun kansalaistaito: Windows-puhelimen ohjelmointi. Kai Lindgren, Teollinen tuotanto/metropolia

2010-luvun kansalaistaito: Windows-puhelimen ohjelmointi. Kai Lindgren, Teollinen tuotanto/metropolia 2010-luvun kansalaistaito: Windows-puhelimen ohjelmointi Kai Lindgren, Teollinen tuotanto/metropolia Paikka: Metropolia Ammattikorkeakoulu, Helsinki, Bulevardi 31. Sali Engel (P317) Ohjelma 9.00 9.15 Tervetuloa!

Lisätiedot

ICT1TN004. Lomakkeet. Heikki Hietala

ICT1TN004. Lomakkeet. Heikki Hietala Lomakkeet Heikki Hietala Lomakkeet Lomakkeita käytetään keräämään tietoa käyttäjältä ja siirtämään se palvelimelle Lomakkeen luominen ei yksin riitä, vaan pitää luoda myös lomakkeenkäsittelijä Lomakkeen

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

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

Ohjelmistotuotanto. Luento 9 23.4.2012

Ohjelmistotuotanto. Luento 9 23.4.2012 Ohjelmistotuotanto Luento 9 23.4.2012 Lisää suunnittelumalleja Olion rikastaminen dekoraattorilla Joskus eteen tulee tarve lisätä olioon jotain ekstraominaisuuksia, pitäen kuitenkin olio sellaisena että

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

5 Näppäimistö. 5.1 Näppäimistön eventit

5 Näppäimistö. 5.1 Näppäimistön eventit 5 Näppäimistö Näppäimistö (Keyboard) on Windows Forms -ohjelmissa keskeisessä asemassa. Erityisesti erilaisissa tekstinkäsittelyohjelmissa ja ohjelmissa, joissa tarvitaan datan syöttämistä esimerkiksi

Lisätiedot

3 Verkkosaavutettavuuden tekniset perusteet

3 Verkkosaavutettavuuden tekniset perusteet 3 Verkkosaavutettavuuden tekniset perusteet Saavutettavuuden toteuttaminen edellyttää lähtökohtaisesti tietoa laitteista ja sovelluksista, käyttäjistä ja käyttötavoista, sekä tekniikasta. Tekniikasta on

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

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

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

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

Lisätiedot

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

Kymenlaakson Ammattikorkeakoulu

Kymenlaakson Ammattikorkeakoulu Kymenlaakson Ammattikorkeakoulu Tietotekniikka/Tietoverkkotekniikka Jussi Toivakka ja Juha Törö MySQL & PostGRE 1 Sisällysluettelo 2 Yleistä tietokannoista... 3 3 MySQL... 4 3.1 Historiaa... 4 3.2 Käyttö...

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

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

Lisätiedot

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

Lisätiedot

VisualStudio Pikaopas, osa 1: WEB-sivujen suunnittelu

VisualStudio Pikaopas, osa 1: WEB-sivujen suunnittelu HAAGA-HELIA ammattikorkeakoulu ict2td005 Ohjelmiston suunnittelutaito Sivu 1 / 5 VisualStudio Pikaopas, osa 1: WEB-sivujen suunnittelu Tämä pikaopas opastaa käyttämään VisualStudion web-sivujen suunnitteluominaisuuksia.

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

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

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

Hirviö. Design Patterns

Hirviö. Design Patterns Hirviö SEPA-päiväkirja Design Patterns Anssi Kalliolahti Liia Sarjakoski 15. maaliskuuta 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

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

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut järjestelmät Luku 2 Sivu 1 (??) Kiertokysely Perinteiset ohjelmointikielet kuten C tukevat hyvin sekventiaalista ohjelmointia, jossa herätteisiin reagointi on helppoa toteuttaa pollauksella

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

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

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli. HTML & CSS Antti Koivisto HTML (HyperText Markup Language)! HTML on sivujen kuvauskieli.! Se ei ole ohjelmointikieli.! HTML on merkintäkieli, joka koostuu monista merkintä tägeistä ().! Voidaan

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

CSS - tyylit. 13.11.2000 Seppo Räsänen

CSS - tyylit. 13.11.2000 Seppo Räsänen CSS - tyylit 13.11.2000 Seppo Räsänen Sivu 2 1 CSS-tyylit Dynaaminen HTML tai DHTML on standardi, joiden käyttöä tukevat uusimmat Netscapen ja Microsoftin selaimet. DHTML:n ominaisuuksia ovat tyylitiedostot

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

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

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

Viestinvälitysarkkitehtuurit Lähtökohta:

Viestinvälitysarkkitehtuurit Lähtökohta: Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti

Lisätiedot

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja. laskutus_index http://media.stadia.fi/~0700527/laskutus/laskutus_index.html Sivu 1/1 13.12.2007 Laskutus -tietokanta Henkilöiden tiedot: Lisää uuden henkilön tiedot Muuta tai poista henkilön tiedot Selaa

Lisätiedot

Ville Sälliluoma OPINNÄYTETYÖN ARVIOINTITYÖKALUN TOTEUTUS

Ville Sälliluoma OPINNÄYTETYÖN ARVIOINTITYÖKALUN TOTEUTUS Ville Sälliluoma OPINNÄYTETYÖN ARVIOINTITYÖKALUN TOTEUTUS Tietojenkäsittelyn koulutusohjelma 2013 OPINNÄYTETYÖN ARVIOINTITYÖKALUN TOTEUTUS Sälliluoma, Ville Satakunnan ammattikorkeakoulu Tietojenkäsittelyn

Lisätiedot

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä.

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeet Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeen tyylit kannattaa määritellä omaan, eriliseen,

Lisätiedot

SQL Buddy JAMK Labranet Wiki

SQL Buddy JAMK Labranet Wiki Page 1 of 9 SQL Buddy JAMK Labranet Wiki Sisällysluettelo Yleistä SQL Buddy:sta kotisivu :http://sqlbuddy.com/ SQL Buddy on kevyt hallintatyökalu MySQL-tietokannalle. Järjestelmävaatimukset Serverin vaatimukset

Lisätiedot

Graafinen käyttöliittymä, osa 1

Graafinen käyttöliittymä, osa 1 Graafinen käyttöliittymä, osa 1 Idea, MVC-malli ja ensimmäinen ohjelma Graafinen käyttöliittymä Ensimmäisen kerran tavoitteena on oppia graafisen ohjelman perusidea sekä oppia laatimaan esimerkin mukaan

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

Digitaalisen median tekniikat. Luento 3: CSS

Digitaalisen median tekniikat. Luento 3: CSS Digitaalisen median tekniikat Luento 3: CSS Luennot 1. Intro 2. XHTML 3. CSS Box Model Selektorit Esimerkkiä yms. 4. JavaScript 5. JavaScript-kirjastot & AJAX 6. Käytettävyys & saavutettavuus 7. Palvelinohjelmointi

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

2. PEHMEÄ XHTML XRAJAHTML

2. PEHMEÄ XHTML XRAJAHTML Luennot 1. Intro 2. PEHMEÄ XHTML XRAJAHTML Dokumentin (matalan tason) rakenne DOCTYPE ja merkistökoodaukset Elementtien syvät rajat 3. CSS 4. JavaScript 5. JavaScript-kirjastot & AJAX 6. Käytettävyys &

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

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245 Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille

Lisätiedot

Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus

Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus Henri Kinnunen, Seppo Tompuri, Tero Malkki, Matti Heiskanen, Tommi Rönkönharju, Tuomas Valkeapää Sisällysluettelo 1. Alkusanat...2 2. Käyttötapaukset...2

Lisätiedot

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät

Lisätiedot

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006 H T M L eli kuinka laadin itselleni päheät kotisivut Janne Käki 13.9.2006 Mikä ihmeen HTML? HyperText Markup Language hypertekstiä eli toisiinsa linkitettyjä dokumentteja merkintäkieli, perustuu erilaisiin

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

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

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

VALJAKKOAJON TULOSPALVELUOHJELMAN KEHITTÄMINEN ASP.NET- YMPÄRISTÖSSÄ

VALJAKKOAJON TULOSPALVELUOHJELMAN KEHITTÄMINEN ASP.NET- YMPÄRISTÖSSÄ Opinnäytetyö (AMK) Tietojenkäsittelyn koulutusohjelma Sähköisen liiketoiminnan järjestelmät 2016 Arvin Mahmudi VALJAKKOAJON TULOSPALVELUOHJELMAN KEHITTÄMINEN ASP.NET- YMPÄRISTÖSSÄ OPINNÄYTETYÖ (AMK) TIIVISTELMÄ

Lisätiedot

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1 Oliot ja luokat Javaohjelmoinnissa Vesa Laakso 22.9.2012 Sisällysluettelo Sisällysluettelo... 1 Johdanto... 2 1. Luokka... 2 2. Olio... 2 3. Luokan

Lisätiedot

Suunnittelumalleja, MVC. Juha Järvensivu 2008

Suunnittelumalleja, MVC. Juha Järvensivu 2008 Suunnittelumalleja, MVC Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisältö Tarkkailija Strategia Rekursiokooste Tehdas-metodi MVC Tarkkailija suunnittelumalli Tarkkailijamalli (Observer) Määrittelee olioiden

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

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k 1 Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa ko. toiminnallisuuden hyödyntämisen Web-palveluna.

Lisätiedot

Digitaalisen median tekniikat Luento 1: Intro

Digitaalisen median tekniikat Luento 1: Intro Digitaalisen median tekniikat Luento 1: Intro Web Mahtava alusta tiedon välittämiseen! Information Superhighway! Web Archive! Gutenberg! DEMO Kirjasto ja analoginen media digitaaliseksi Julkaisutekniikan

Lisätiedot

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

Lisätiedot

ASP ja DHTML. 27.8.2004 Seppo Räsänen

ASP ja DHTML. 27.8.2004 Seppo Räsänen ASP ja DHTML 27.8.2004 Seppo Räsänen Liite 3 Sisällys 1 Tietokantojen käyttö sivuilla ASP-tekniikka...3 1.1. ASP ja VBScript...3 1.2. ASP ja J(AVA)Script...9 1.3. ASP ja Access...9 Lähteet...9 Himapizza-esimerkki...10

Lisätiedot

ISACA Finland 24.1.2008 OWASP 24.1.2008. The OWASP Foundation. Timo Meriläinen Antti Laulajainen. http://www.owasp.org

ISACA Finland 24.1.2008 OWASP 24.1.2008. The OWASP Foundation. Timo Meriläinen Antti Laulajainen. http://www.owasp.org ISACA Finland 24.1.2008 Timo Meriläinen Antti Laulajainen 24.1.2008 Copyright The Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the License. The Foundation

Lisätiedot

C-ohjelmointikielen perusteet, osa 1

C-ohjelmointikielen perusteet, osa 1 C-ohjelmointikielen perusteet, osa 1 Kurssi johdattaa sinut askel askeleelta C-ohjelmoinnin perusteisiin. Kurssi suoritetaan kokonaan netissä vuorovaikutteisella alustalla itseopiskeluna tutorin avustuksella.

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

.NET ja C# Virtuaalikone. Common Language Infrastructure (CLI) Periaate. Etuja. Haittoja. Mikä on CLI. CLI standardin merkitys (CLS, Ecma)

.NET ja C# Virtuaalikone. Common Language Infrastructure (CLI) Periaate. Etuja. Haittoja. Mikä on CLI. CLI standardin merkitys (CLS, Ecma) .NET ja C# Virtuaalikone Periaate Virtuaalikone on tapa abstrahoida allaoleva toteutus yhteisen rajapinnan taakse. Virtuaalikoneet muodostavat hierarkian. Hierarkiassa ylempänä oleva käyttää alemman tarjoamaa

Lisätiedot

ecome Markkinoiden kehittynein julkaisujärjestelmä

ecome Markkinoiden kehittynein julkaisujärjestelmä ecome Ecome Finland Oy Itämerenkatu 3 p. 020 7749 580 00180 Helsinki p. 020 7749 585 Suomi - Finland ecome@ecome.fi y. 2193874-3 www.ecome.fi Ecome-järjestelmä pähkinänkuoressa Ecome on suomalaisen yhtiön

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

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013 Virtualisointi Pertti Pennanen DOKUMENTTI 1 (5) SISÄLLYSLUETTELO Virtualisointi... 2 Virtualisointiohjelmia... 2 Virtualisointitapoja... 2 Verkkovirtualisointi... 2 Pertti Pennanen DOKUMENTTI 2 (5) Virtualisointi

Lisätiedot

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa: XHTML - harjoitus Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa Tiedoston tallennus notepad (muistio) ohjelmassa: Jokaisen XHTML-dokumentin tulisi alkaa XML-määrittelyllä(engl.XML-prologue),

Lisätiedot

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

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

Lisätiedot

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

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

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

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

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002 , XHTML ja CSS T-111.361 Hypermediadokumentin laatiminen 2002 XHTML CSS XSL Sisältö EXtensible Markup Language W3C Recommendation helmikuu 1998 SGML:n osajoukko Standard Generalized Markup Language Kevyempi

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

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

CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö

CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö 0349955 Pekka Hyvärinen 0342194 Joonas Heikelä 0327708 Miro Temonen 0350122 Sami Tuominen Yleistä Seminaarityö osa kurssia Käyttöjärjestelmät

Lisätiedot

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

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

Lisätiedot

Xerox Device Agent, XDA-Lite. Pika-asennusopas

Xerox Device Agent, XDA-Lite. Pika-asennusopas Xerox Device Agent, XDA-Lite Pika-asennusopas XDA-Liten esittely XDA-Lite on ohjelmisto, jolla kerätään laitetietoja ja sen päätehtävänä on lähettää automaattisia mittarilukemia laskutuksen tarkkuuden

Lisätiedot

Helsingin yliopisto, TKTL Tietokantojen perusteet, s 2000 WWW-tietokantasovellukset Harri Laine 1. vapaamuotoiset tiedot

Helsingin yliopisto, TKTL Tietokantojen perusteet, s 2000 WWW-tietokantasovellukset Harri Laine 1. vapaamuotoiset tiedot Relaatiotietokantaan tallennetaan määrämuotoista tietoa Vapaamuotoisen tekstin talletukseen tekstitietokannat hakuindeksejä saattavat käyttää relaatiotietokantaa tekstin tallentamiseen rivipohjainen tai

Lisätiedot

9 Edistynyt PHP-ohjelmointi

9 Edistynyt PHP-ohjelmointi 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

Lisätiedot

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen 5.11.2015

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen 5.11.2015 Testausautomaation mahdollisuudet käyttöliittymän testauksessa Anssi Pekkarinen 5.11.2015 Agenda Kustannustehokkaan testausautomaation tekemiseen vaikuttavat tekijät Käyttöliittymätestauksen haasteet Uudet

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

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

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

Lisätiedot

Office 2013 - ohjelmiston asennusohje

Office 2013 - ohjelmiston asennusohje Office 2013 - ohjelmiston asennusohje Tämän ohjeen kuvakaappaukset on otettu asentaessa ohjelmistoa Windows 7 käyttöjärjestelmää käyttävään koneeseen. Näkymät voivat hieman poiketa, jos sinulla on Windows

Lisätiedot

Tech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI

Tech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI Tech Conference 28.-29.5.2015 Visual Studio 2015, C#6,.NET4.6 Heikki Raatikainen #TechConfFI Yleistä Avoimuus Open Source ja tuki yleisesti käytetyille ei-ms työkaluille Kaikki alustat tuettuna:.net 5

Lisätiedot

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta. 3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Lisätiedot

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,

Lisätiedot

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti

Lisätiedot