Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin



Samankaltaiset tiedostot
DTEK1047: Hajautet ohjelmistojärjestelmät (HOJ)

HSMT J2EE & EJB & SOAP &...

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

HOJ J2EE & EJB & SOAP &...

HOJ Kertausluento. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/58

Sovellusarkkitehtuurit

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

19/20: Ikkuna olio-ohjelmoinnin maailmaan

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä

Harjoitustyö. Jukka Larja T Tietokoneverkot

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

Tietokoneverkot. T Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa

T harjoitustyö, kevät 2012

T Ohjelmistojen määrittely- ja suunnittelumenetelmät

CUDA. Moniydinohjelmointi Mikko Honkonen

T harjoitustehtävät, syksy 2011

HSMT Web-sovellustekniikoista

Integrointi. Ohjelmistotekniikka kevät 2003

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Sisältö. Työn idea Protokollat. Harjoitustyön käytäntöjä. Työn demoaminen. Etäisyysvektori Linkkitila. Palvelin Moodle SSH-tunnelit

T Harjoitustyöluento

Oppimistavoitteet kurssilla Rinnakkaisohjelmointi

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015

Tietokoneen toiminta (Computer Organization I)

Graafisen käyttöliittymän ohjelmointi Syksy 2013

LUENTO 0. Tervetuloa! Käyttöjärjestelmät II 2 ov Teemu Kerola. Helsingin yliopisto Tietojenkäsittelytieteen laitos


Sulautetut järjestelmät

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät Olio-ohjelmoinnin perusteet (5 op) Tavoitteena

T Multimediatekniikka

Tietokoneen toiminta (Computer Organization I)


Fysiikan opinnot Avoimen yliopiston opiskelijoille

Luento 1 Tietokonejärjestelmän rakenne

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

OHJ-7400 Graafisen käyttöliittymän ohjelmointi 4/6op

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Orientaatiotilaisuus Avoimen yliopiston opintoihin

Tervetuloa kursseillemme! Kursseista tietoa myös verkkosivulla lastukirjastot.fi/ajankohtaista

Mikä on internet, miten se toimii? Mauri Heinonen

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tähtitieteen käytännön menetelmiä Kevät 2009

Digitaalisen median tekniikat Luento 1: Intro

Hajautettujen sovellusten muodostamistekniikat (Java-kielellä), TKO_2014 Aineopinnot, syksy 2009 Turun yliopisto / Tietotekniikka

T Harjoitustyöluento

T Johdatus tietoliikenteeseen ja multimediatekniikkaan 5 op. Kevät 2013

Fysiikan opinnot Avoimen yliopiston opiskelijoille

P e d a c o d e ohjelmointikoulutus verkossa

KEVÄT lv. Seuraa nettilukkaria todennäköisten päivitysten havaitsemiseksi. Päivitykset on merkitty punaisella!

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

KEVÄT lv. Seuraa nettilukkaria todennäköisten päivitysten havaitsemiseksi. Päivitykset on merkitty punaisella!

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Kurssin käytännön järjestelyt. Tuotantotalous 1 Joel Kauppi

Asiakaskoulutukset pääkirjastolla

Ohjelmoinnin peruskurssien laaja oppimäärä

Echo360 - luentovideot

ISACA Finland OWASP The OWASP Foundation. Timo Meriläinen Antti Laulajainen.

13/20: Kierrätys kannattaa koodaamisessakin

OHJ-4301 Sulautettu Ohjelmointi

Vastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät Olio-ohjelmoinnin perusteet (eli Oope) Laajuus

Kurssiesite Olio-ohjelmoinnin perusteet (TIEA2.1) Kevät 2018

Järjestelmäarkkitehtuuri (TK081702)

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Opintosuunnitelma. Suunta: Tietoliikenneohjelmistot ja -sovellukset Pääaine: Tietoliikenneohjelmistot Sivuaine: Yritysturvallisuus

T Johdatus tietoliikenteeseen 5 op

Kurssiesite Olio-ohjelmoinnin perusteet Kevät Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto

Suoritustavat: Laboratoriotöitä 2.-3.periodi. Luennot 2h, Laboratorityöt 4h, itsenäinen työskentely 124 h. Yhteensä 130 h.

- Jarjestelmaasiantuntija Markku Jaatinen

ELEC-C7230 Tietoliikenteen siirtomenetelmät. Yleistä

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

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

Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server. Infotilaisuus klo 10:00

ASIAKASKOULUTUKSET. Kurssiohjelma Syksy 2017

Hintatiedotus ja tietojen välitys. Loppuraportti

FuturaPlan. Järjestelmävaatimukset

ELEC-C7230 Tietoliikenteen siirtomenetelmät

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

KEVÄT lv. Seuraa nettilukkaria todennäköisten päivitysten havaitsemiseksi. Päivitykset on merkitty punaisella!

Tietoliikenne I (muuntokoulutettaville) 2 ov Syksy 2002 Luennot Liisa Marttinen 11/6/2002 1

Organisaatio- a ja yhteiskuntaosaaminen. - ja vuorovaikutusosaaminen istoiminnan osaaminen toimintaosaaminen. Kansainvälisyysosaaminenn

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

Kurssin sisältö. Kurssilla vähemmän. Johdatus ohjelmistotekniikkaan. Mitä on ohjelmistotekniikka? Miten ohjelmistoja suunnitellaan ja toteutetaan?

Internet ja tietoverkot

Ohjelmoinnin perusteet Y Python


Tietoliikenne I 2 ov kevät 2003

Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt

Osaa käyttää työvälineohjelmia, tekstinkäsittelyä taulukkolaskentaa ja esitysgrafiikkaa monipuolisesti asiakasviestintään.

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

S Liikenneteorian perusteet (2 ov) K-98

Vuorekseen liittyvä tutkimusja kehitysprojekti. Langaton Vuores. Kotikatupalvelin

Ohjelmistoarkkitehtuurit. Kevät

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Transkriptio:

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.1/15

HSMT (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot: Ville Leppänen, Ville.Leppanen@it.utu.fi Harjoitustyöohjaaja: Jari-Matti Mäkelä. WWW: staff.cs.utu.fi/opinnot/kurssit/hsmt/ Moodle: http://moodle.utu.fi/course/view.php?id=2310 (hajatek) Luentoajat: ti 8-10 (β) ja ke 8-10 (β). Alkaa: ti 8.9; loppuu: ke 14.10. Luentoja: 6 4 = 24t. Suoritustavat: harjoitustyö + tentti. Ensimmäinen tentti: heti luentojen jälkeen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.2/15

Luentosuunnitelma Vko 37 Johdanto + säikeet + samanaikaisuudesta Vko 38 Johdatus verkkosovelluksiin, soketit. Vko 39 RMI (Remote Method Invocation) Vko 40 RPC (Remote Procedure Call), Corba Vko 41 Verkkoyhteys ja XML. WWW+servletit Vko 42 Haja-aiheita, kertaus. Vko 43 Ensimmäinen tentti? Haja-aiheita J2EE, turvallisuudesta, dokumentointi, testaus, p2p, ajax, palomuurit, ipv6,... HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.3/15

Kuka voi suorittaa? Esitiedot:Olio-ohjelmoinnin perusteet (tai vastaava) suoritettuna kokonaan. Suositus: Sopimuspohjainen olio-ohjelmointi suoritettu. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.4/15

Materiaali Kirjoitan uutta monistetta luentojen mukana. Paljon kirjoja, mutta mikään ei tunnu kattavalta. Deitel & Deitel: Java, How to Program, 7th edition, Prentice Hall, 1500+ sivua sekä CD. (Ei kovin kattava.) Bruce Eckel: Thinking in Java (saa verkosta). HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.5/15

Kurssin suorittamisesta Luennot kuunteleminen suotavaa. Ei demonstraatioita ( laskuharjoituksia ). Tentti. Tenttipäivät: 2.11??, 30.11?? Harjoitustyö: yksi 1-3 hengen työ (soketit + RMI + säikeet). Kurssin tahti on tiivis. Harjoitustyö tulisi tehdä kurssin aikana! HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.6/15

Harjoitustöistä Työ on kaikille sama! Työn ratkaisemisen periaatteista saa keskustella, mutta koodia ei saa antaa toisille ryhmille. Jos havaitaan kopiointia (rakenteellista, tms), seurauksena hylkääminen. Työ annetaan viikolla 37. Jos on tehnyt viime vuoden harjoitustyön, uutta ei tarvitse tehdä. Dokumentointi kevyehkö. Ohjaus: Jari-Matti Mäkelä; järjestämme luentojen lisäksi 1-3 yleistä ohjaustilaisuutta. Ryhmien tulee ilmoittautua Jari-Matti Mäkelälle viikolla 38. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.7/15

Kurssin tavoitteita 1/2 Käydä läpi ohjelmointikielten ulkopuoliset modernit verkko-ohjelmointiin liittyvät rajapinnat. Opetetaan asioita erityisesti Javan kannalta. Moni käsiteltävä asia on ratkaistu useassa ohjelmointikielessä samalla tapaa, mutta merkittäviä erojakin on. Voimakas sidos Javaan on hieman epätoivottava, mutta konkretisointi on välttämätöntä. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.8/15

Kurssin tavoitteita 2/2 Säikeet ja samanaikaisuuteen liittyvän problematiikan hallinta. Soketit. RMI Remote Method Invocation. Verkko: asiakas-palvelin sovelluksen välinen keskustelu; XML. Verkko: palvelinsovellukset ja tietokantapalvelimet. WWW+Java: Servletit. RPC Remote Procedure Call. CORBA. Verkkoliikenteen turvallisuudesta. Dokumentointi, testaus,... HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.9/15

Lisätavoite Jokainen osallistuja suorittaa kurssin kaikki osat kolmessa kuukaudessa. Suorituksia tähän kurssin instanssiin voi tehdä vielä tammikuussa 2010. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.10/15

Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h) 5. Soketit (3h) 6. RMI (2h) 7. RPC (1h) 8. Corba (1h) 9. Protokollista, XML (2h) 10. WWW+Servletit (2h) 11. Haja-aiheita (3h) 99. Kertausluento (2h) + 2h pelivaraa HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.11/15

Ohjelmien toimintaympäristöstä Missä ympäristössä ohjelmat operoivat? Rajoittunut ympäristö (sulautetut järjestelmät) tai tavallinen ympäristö. Tavallisesti: keskusmuisti, levymuisti, levykemuisti, oheislaitteet, käyttöjärjestelmä, näppäimistö ja monitori. Prosessorin lähellä: väylärakenne, ohjaimia ja välimuisteja. Lisäksi: verkko ja verkon myötä toiset tietokoneet. Toimintaympäristö ei näy kielen tasolla vaan luokkaja/tai aliohjelmakirjastojen kautta. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.12/15

Verkko: taustaa Verkko: Internet ollut jo 1970-luvulla, periaatteessa samanlaisena kuin nykyään. Tuli ohjelmointikielten kirjastoihin mukaan n. 1980-luvulla (erityisesti C ja C++; APRA etc). Asiakas-palvelin sovelluksia paljon: sähköposti, WWW, news, DNS, pääteohjelmat, irc, verkkotietokannat, gopher, kello, NFS,... HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.13/15

Säikeet: taustaa Samanaikaisuus/rinnakkaisuus tuli useiden prosessoreiden myötä. Esiintyy kielissä hyvin monessa muodossa. Rinnakkaisuus vanha asia: 1960-luku. Yleistynyt viime vuosina pakkaustiheyden noustessa. Samanaikaisuus heikoin muoto. Säikeiden avulla. Ajatuksena saada enemmän irti koneesta. Java: GUI & verkko & säikeet kirjastojen avulla (säikeille hieman tukea kielessä). HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.14/15

Asiakas-palvelin suhteesta Internet: maailmanlaajuinen alusta asiakas-palvelin tietokonesovelluksille. (Muita: DigiTV, mobiiliverkko.) WWW-selain: asiakas; http-palvelin, news-palvelin,... WWW:n idea: palvelimella html-dokumentteja & Java-appletteja; selain lataa niitä ja suorittaa itse. Yleisemmin: palvelin on tieto- ja palvelu varasto. Asiakas vs. palvelin: vaikuttamista molempiin suuntiin. Asiakaspuolen laskenta (client-side computing). Aiemmin keskuskoneessa tehtiin laskenta; nyt "keskuskone"(=palvelin) jakaa "laskettavaa". Pilvilaskenta edustaa softallista paluuta keskuskoneaikaan. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.15/15