Ville Sälliluoma ASP.NET MVC. Tietojenkäsittelyn koulutusohjelma 2011
|
|
- Karoliina Kahma
- 8 vuotta sitten
- Katselukertoja:
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" " <html xmlns=" > <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" "
18 18 <html xmlns=" > <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 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ätiedotAJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML
AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen
LisätiedotT-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ätiedotMicrosoft 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ätiedotXPages 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ätiedotInteraktiivisten 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ätiedotC# 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ätiedotJä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ätiedotTaustaa. 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ätiedotVisualStudio 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ätiedot1. 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ätiedotPedacode 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ätiedot582203 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ätiedotJä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ätiedot2010-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ätiedotHirviö. 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ätiedotWeb Services tietokantaohjelmoinnin perusteet
ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...
LisätiedotInteraktiivisten 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ätiedot3 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ätiedot5 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ätiedotICT1TN004. 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ätiedotwww.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ätiedotOhjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja
582104 Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 1 Arkkitehtuurisuunnittelu Ohjelmistoarkkitehtuurin määritelmä & arkkitehtuurisuunnittelun lähtökohta ja tavoitteet Kerrosarkkitehtuuri
LisätiedotOhjelmistotuotanto. 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ätiedotJä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ätiedotELM 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ätiedotOhjelmistojen 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ätiedotPedacode 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ätiedotTIETOKANNAT: 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ätiedotWWW-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ätiedotOhjelmistojen mallintamisen ja tietokantojen perusteiden yhteys
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty
LisätiedotOsio 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ätiedotin 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ätiedotHirviö. 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ätiedotVisualStudio 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ätiedotObject Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen
Object Framework - One OF-1 is a high-productive Multi-UI OpenEdge data driven development framework Veli-Matti Korhonen Aiheet OF-1 esittely Mitä ominaisuuksia saa ilman ohjelmointia Miten ohjelmoidaan
LisätiedotOhjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja
LisätiedotGraafisen käyttöliittymän ohjelmointi Syksy 2013
TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 8 Suunnittelumallit käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Yleistä Suunnittelumalli on
LisätiedotAction Request System
Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet
LisätiedotOliosuunnitteluesimerkki: 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ätiedotGraafinen 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ätiedotKymenlaakson 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ätiedotCSS - 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ätiedotTermBase 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ätiedotOhjelmistojen 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ätiedotTiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas
Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä
LisätiedotFuturaPlan. Järjestelmävaatimukset
FuturaPlan Järjestelmävaatimukset 25.1.2017 2.2 Hermiankatu 8 D tel. +358 3 359 9600 VAT FI05997751 33720 Tampere fax. +358 3 359 9660 www.dbmanager.fi i Versiot Versio Päivämäärä Tekijä Kommentit 1.0
Lisätiedot2. 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ätiedotVisual 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ätiedotKiertokysely. 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ätiedotTapahtumakalenteri & 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ätiedotSivuston nopeus. Sivullasi ei ole uudelleenohjauksia. Lue lisää aloitussivun uudelleenohjausten välttämisestä.
Sivuston nopeus 100 / 100 Nopeus 10 Hyväksytyt säännöt Älä käytä aloitussivun uudelleenohjauksia Sivullasi ei ole uudelleenohjauksia. Lue lisää aloitussivun uudelleenohjausten välttämisestä. Ota pakkaus
LisätiedotHTML & 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ätiedotJä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ätiedotAndroid 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ätiedotDigitaalisen 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ätiedotHaaga-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ätiedotViestinvä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ätiedotViestinvä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ätiedotDigitaalisen 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ätiedotTuotteiden 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ätiedotAlkuraportti. 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ätiedotXML 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ätiedotLomake 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ätiedotTenttikysymykset. + 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ätiedotDigitaalisen 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ätiedotVille 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ätiedotMetodit. 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ätiedotARVO - verkkomateriaalien arviointiin
ARVO - verkkomateriaalien arviointiin Arvioitava kohde: Jenni Rikala: Aloittavan yrityksen suunnittelu, Arvioija: Heli Viinikainen, Arviointipäivämäärä: 12.3.2010 Osa-alue 8/8: Esteettömyys Edellinen osa-alue
LisätiedotSQL 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ätiedotTestidatan 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ätiedotAalto 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ätiedotSisä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ätiedotCT50A2601 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ätiedotMicrosoft Visual Studio 2005
Sovelluksen jako palvelimiksi: Palvelin on sille annettuun vastuulliseen tehtävään erikoistunut sovellusosa. Käyttöliittymäpalvelin (Web-palvelin) vastaa käyttöliittymän toteuttamisesta. Web-palvelin toteuttaa
LisätiedotWeb-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ätiedotJypelin käyttöohjeet» Ruutukentän luominen
Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen
Lisätiedotecome 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ätiedotH 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ätiedotJä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ätiedotASP.NET Web API 2:ta hyödyntävä Angular 4 -sovellus
Atte Aspiola ASP.NET Web API 2:ta hyödyntävä Angular 4 -sovellus Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Insinöörityö 13.9.2017 Tiivistelmä Tekijä(t) Otsikko Sivumäärä
LisätiedotSuunnittelumalleja, 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ätiedotohjelman arkkitehtuurista.
1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä
LisätiedotTietokannan 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ätiedotDigitaalisen 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ätiedotDigitaalisen 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ätiedotVALJAKKOAJON 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ätiedotHarjoitus 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ätiedotC-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ätiedotAlkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari
LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,
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 Periaate Virtuaalikone on tapa abstrahoida allaoleva toteutus yhteisen rajapinnan taakse. Virtuaalikoneet muodostavat hierarkian. Hierarkiassa ylempänä oleva käyttää alemman tarjoamaa
LisätiedotJohdatus rakenteisiin dokumentteihin
-RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista
LisätiedotTech 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ätiedotXHTML - 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ätiedotOffice 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ätiedotRekursiolause. 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ätiedotNavistools 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ätiedotSisä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ätiedotOhjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
LisätiedotTikon Web-sovellukset
Toukokuu 2015 1 (11) Tikon Web-sovellukset Toukokuu 2015 2 (11) 1 Johdanto... 3 2 Silverlight sovellukset... 3 2.1 Windows... 3 2.1.1 Microsoft Silverlight... 3 2.1.2 Tablet-laitteet... 4 2.1.3 Selaimet...
Lisätiedot