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 } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisä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

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

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

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

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

Alkuraportti. 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

Ohjelmistotekniikan menetelmät, koe 2.5.2014

Ohjelmistotekniikan menetelmät, koe 2.5.2014 Ohjelmistotekniikan menetelmät, koe 2.5.2014 Vastaa tehtävään 3 erilliselle konseptille. Tehtävät 1 ja 2 saavat olla samalla konseptilla. Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen

Lisä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

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

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

Internet-pohjainen ryhmätyöympäristö

Internet-pohjainen ryhmätyöympäristö Menetelmäohje Internet-pohjainen ryhmätyöympäristö Riku Hurmalainen, 24.3.2002 Sisällysluettelo 1. Johdanto...3 2. Termit...4 3. Toteutus...5 3.1. Yleiskuvaus...5 3.2. Tekninen ratkaisu...5 3.3. Tietoturva...6

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

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

WWW-Sivustojen suunnittelu. Miten WWW toimii. Suunnittelun lähtökohdat 14.10.2010

WWW-Sivustojen suunnittelu. Miten WWW toimii. Suunnittelun lähtökohdat 14.10.2010 WWW-Sivustojen suunnittelu Miten WWW toimii Web-selain hakee Web-sivun HTML-kielisen kuvauksen Sivuun liittyvät kuvat (jpeg, gif, png) Sivuun liittyvät muut elementit Palvelimen URL-osoite esim. http://www.metropolia.fi

Lisätiedot

WWW-Sivustojen suunnittelu

WWW-Sivustojen suunnittelu WWW-Sivustojen suunnittelu Miten WWW toimii Web-selain hakee Web-sivun HTML-kielisen kuvauksen Sivuun liittyvät kuvat (jpeg, gif, png) Sivuun liittyvät muut elementit Palvelimen URL-osoite esim. http://www.metropolia.fi

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

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

HTML ja CSS. Tästä se lähtee: portfolio-sivusto. Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot.

HTML ja CSS. Tästä se lähtee: portfolio-sivusto. Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot. HTML ja CSS Tästä se lähtee: portfolio-sivusto Sivuston pääkansio, jonka sisällä on kaikki sivustoon kuuluvat alikansiot ja tiedostot. index.html Sivuston pääsivu, joka avautuu selaimeen ensimmäisenä sivujen

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

Tikon Web-sovellukset

Tikon 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

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti

Lisätiedot

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000 Case TUHTI 17.12.2002 1 TietoEnator 2002 Projektin tunnuslukuja! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999! Otettu tuotantokäyttöön syksyllä 2001! Proof of Concept (5 henkilöä 4 kk) ->

Lisätiedot

ohjelman arkkitehtuurista.

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

28.8.1975 ruovedellä pohjois-hämeessä. lepounit.com (yritys) lepo.net (oma)

28.8.1975 ruovedellä pohjois-hämeessä. lepounit.com (yritys) lepo.net (oma) Muokattu: 2015-01-29 Viimeisin versio: http://lepo.net/cv/fi CV taru puhuvasta nörtistä henkilötiedot nimi anu leponiemi syntynyt 28.8.1975 ruovedellä pohjois-hämeessä sähköposti ja www anu (at) lepounit.com

Lisätiedot

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne Kotisivuohjeet Tässä ohjeessa käydään läpi kotisivujen tekemisen perusteet keskittyen html-koodiin ja sen ominaisuuksiin. Sivupohjissa ulkoasu ja rakenne on pääasiassa jaettu erilliseen css-tyylitiedostoon,

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

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

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio

Lisätiedot

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

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

Lisätiedot

C++ Ohjelmoijan käsikirja. Johdanto

C++ Ohjelmoijan käsikirja. Johdanto Johdanto C++ Ohjelmoijan käsikirja Johdanto Tervetuloa Inside C++-kirjan pariin. Tämä on opaskirja standardi C++:n käyttöön. Käsittelemme kirjassa kaikki syntaksin, kieliopin, olio-ohjelmoinnin ja standardikirjastojen

Lisätiedot

HOJ J2EE & EJB & SOAP &...

HOJ J2EE & EJB & SOAP &... HOJ J2EE & EJB & SOAP &... Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/18 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

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

J2EE vs..net Olli Sakari

J2EE vs..net Olli Sakari TEEMA-ARTIKKELI J2EE vs..net Olli Sakari J2EE ja.net ovat tietojärjestelmäteknologioita, joiden varaan suuri osa tulevaisuuden tietojärjestelmistä tulee rakentumaan. Molemmat teknologioista tarjoavat välineitä

Lisätiedot

TIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G

TIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G TIETOJENKÄSITTELY/PIKATAIVAL2 Tehtävä G 1 Tehtävänäsi on määritellä tietokantaan KisatSVNL.mdb lomake Kilpailut ohessa olevan mallin mukaan. Lomake on tarkoitettu kilpailutietojen lisäykseen, selailuun

Lisätiedot

Tiedonsiirto- ja rajapintastandardit

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

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmät: prosessit Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä

Lisätiedot

Sunin määrittelemä JSP 1.1 (javaserver pages) yhdistää

Sunin määrittelemä JSP 1.1 (javaserver pages) yhdistää TEKSTI: PASI KOVANEN "Taas uusi tekniikka dynaamisten webbisivujen tekoon?!", parahtavat naavapartaiset Perl- ja asp-gurut ja kääntävät sivua. Malttakaa kuitenkin hetki, sillä JavaServer Pages tarjoaa

Lisätiedot

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit 7 Viestipohjaisten yritysjärjestelmien suunnittelumallit Hohpe G., Woolf B.: Enterprise Integration Patterns. Addison-Wesley 2004. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 Viestinvälitykseen

Lisätiedot

Visual Case 2. Miika Kasnio (C9767) 23.4.2008

Visual Case 2. Miika Kasnio (C9767) 23.4.2008 Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4

Lisätiedot

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

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

Lisätiedot

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita. 1 2 Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita. 3 4 Region vastaa palvelun fyysistä sijaintipaikkaa (AWS

Lisätiedot

Palveluperustaiset arkkitehtuurityylit

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

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (11) Access 1 ACCESS...2 Yleistä...2 Access-tietokanta...3 Perusobjektit...3 Taulu...5 Kysely...7 Lomake...9 Raportti...10 Makro...11 Moduli...11 HELIA 2 (11) ACCESS Yleistä Relaatiotietokantatyyppinen

Lisätiedot