Internet alkalmazások szoftver elemei
A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
Internet alkalmazások szoftver elemei
Software Elements of Internet Applications
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIIIAV94 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | vizsga | ||||||||||||
| Tantárgy kreditértéke | 4 | ||||||||||||
| Tantárgyfelelős |
Dr. Szeberényi Imre
beosztás: egyetemi docens
elérhetőség:
szeberenyi.imre@vik.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
—
|
||||||||||||
| Kar | |||||||||||||
| Tantárgy weboldala | — | ||||||||||||
| Tantárgy elsődleges mintatantervi jellege | — | ||||||||||||
| Közvetlen előkövetelmények – Erős előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Gyenge előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Párhuzamos előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Mérföldkő előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Kizáró feltétel | nincs |
Célkitűzés
1. hét: Bevezetés
Az Internet mint infrastruktúra és mint szolgáltatások halmaza. Milyen típusú hálózatok vannak az Interneten? Milyen elemekből áll az Internet (a hálózat széle vagy hozzáférési hálózatok, a hálózat közepe vagy magja)? Milyen az Internet felépítése, struktúrája? Számítógép-hálózati architektúra, hivatkozási modellek (rétegek, protokollok, szolgálatok, szolgálati modell, adategységek, relációk a rétegek között, beágyazás, kibontás, kommunikáció két távoli folyamat között, hivatkozási modellek, OSI, TCP/IP)?
2. hét: Az internet alkalmazások alapelvei
Milyen szolgáltatásokat nyújt az Internet (példák)? Hogyan lehet alkalmazást létrehozni? Milyen alkalmazási architektúrák lehetnek? Alkalmazási folyamatok között milyen viszony lehet? Mi a jellemzője egy tiszta kliens-szerver architektúrának (példák)? Mi a jellemzője egy tiszta P2P architektúrának (példák)? Mi a jellemzője egy hibrid architektúrának (példák)? Milyen interfész van az alkalmazást támogató folyamat és a szállítási réteg között? Hogyan érik el egymást a távoli folyamatok (azonosítók használata)? Egy alkalmazási protokoll milyen elemeket specifikál? Mi a különbség az alkalmazás és az alkalmazási protokoll között (példák)? Milyen tulajdonságok határozzák meg a szállítási szolgáltatás minőségét? Melyek a veszteségtűrő alkalmazások? Melyek a sávszélesség-érzékeny alkalmazások? Melyek a késleltetés-érzékeny alkalmazások? Melyek a rugalmas alkalmazások? Az ismert alkalmazások milyen szállítási minőségi követelményeket támasztanak? Az Internet szállítási protokolljai milyen szolgáltatást nyújtanak? Az ismert Internet alkalmazások milyen alkalmazási és szállítási protokollt használnak?
3. hét: TCP-szoketprogramozás
A hálózati alkalmazások milyen típusú protokollok alapján készülhetnek? Példák. Melyek a programfejlesztés lépései? Mit neveznek szoketnek? Mit neveznek szoketprogramozásnak? Milyen szállítási szintű szolgálatokon alapulhatnak a szoketprogramok? Mi a különbség a TCP-szoketprogramozás és az UDP-szoketprogramozás között? Mi az adatfolyam? Milyen folyamok vannak a kliens folyamat modelljében? Milyen folyamok vannak a szerver folyamat modelljében? Mi ezek szerepe? A szoketek létrehozásakor mire kell figyelni? Az alkalmazás futtatása milyen lépéseket igényel? Van-e meghatározott sorrend? Példák.
4. hét: UDP-szoketprogramozás
Mik az UDP-szoketprogramozás sajátosságai? Mit jelent az üzenet alapú szállítás? A kliens programozása különbözik-e a TCP-szoketprogramozásbeli kliens programozásától? Létrehoz-e folyamot? A kliens-szoket osztálya különbözik-e a TCP-szoketprogramozásnál létrehozott kliens-szoket osztályától? A szerver esetén van-e különbség a programozásban? Létrehoz-e folyamot? A szerver-szoket osztálya különbözik-e a TCP-szoketprogramozásnál létrehozott szerver-szoket osztályától? Milyen részekből tevődik össze a csomag elküldés előtt? Miért van ezekre szükség? A szoketek létrehozásakor mire kell figyelni? Az alkalmazás futtatása milyen lépéseket igényel? Van-e meghatározott sorrend? Példák.
5. – 6. hét: A web és a HTTP
Melyek a web vonzerejének legfontosabb tényezői? Mi a weboldal és az objektum? Milyen reláció van köztük? Példák. Mi az URL? Példák az URL más protokollokkal történő alkalmazására. Mi az URN? Miért lenne jó? Milyen architektúrájú a web? Melyek a kommunikáló folyamatok, milyen implementációkat ismer? Példák. Milyen szállítási szolgáltató szolgálja ki a webet? Hogyan működik? Mit jelent a HTTP állapotnélkülisége (példán)? Hogyan jellemezhető az időleges HTTP? Példák. Hogyan jellemezhető az állandó HTTP? Példák. Hogyan néz ki a http-kérésüzenet formátuma? Melyek a használatos fontosabb metódusok? Mi ezek funkciója? Példák. Hogyan néz ki a http-válaszüzenet formátuma? Melyek a használatos fontosabb állapotkódok és üzenetek? Mi ezek jelentése? Példák. Mi a szerepe a sütiknek? Megoldására milyen módszert használnak? Hol alkalmazzák? Milyen előnyökkel és hátrányokkal jár alkalmazása? Milyen tipikus alkalmazásoknál van szerepe a sütinek? Milyen a belső szerkezete? Milyen visszaélések lehetségesek a sütikkel? A webszerver kiszolgálási sebességének növelésére milyen módszerek ismeretesek? Hogyan működik a többszálú felépítés v1. változata? Mi az egyes modulok szerepe? Mekkora hatékonyságnövekedés várható? Hogyan működik a többszálú felépítés v2. változata? Mi az egyes modulok szerepe? Mekkora hatékonyságnövekedés várható? A feldolgozómodul a kliens kérésének teljesítésén kívül milyen egyéb tevékenységeket végez? Az egyszálú többlemezes megoldásnak milyen nehézségei vannak? Hogyan működik a szerverfarm? Milyen előnyökkel és milyen gondokkal kell számolni? A gondokra milyen megoldások ismeretesek? A webszolgáltatás teljesítőképességével kapcsolatban milyen gondok vannak? Melyek a teljesítménynövelés fontosabb módszerei? Hogyan történik a webes gyorstárazás? Hogyan növeli ez a szolgáltatás teljesítőképességét? Példa. A hálózatban hol történhet a gyorstárazás? Mi az előnye és a hátránya ezeknek a gyorstárazási helyeknek? Mennyi ideig tárolják a gyorstárak az objektumokat? Milyen módszereket használnak erre a célra? Milyen célt szolgál a feltételes GET HTTP-kérésüzenet? Példák. A webszerver többszörözésére milyen módszereket ismer? Példák. Mi a szerepe a tartalomközvetítő hálózatoknak? Mit nevezünk tartalomnak? Milyen hatékonyságnövelő szerepe van az ilyen hálózatoknak? Példák. Egy tartalomközvetítő hálózat kiépítésének mi a folyamata? Példák. Milyen előfeldolgozás szükséges a tartalomszolgáltató által megadott leíráson tartalomközvetítés végett? Példák. Hogyan történik egy végfelhasználó kiszolgálása tartalomközvetítő hálózaton keresztül, ha a felhasználó egy képet szeretne lekérni? Mi a tartalomszolgáltató és mi a tartalomközvetítő szerepe? Példák.
7. hét: Fájátvitel és az FTP
Mi a fájlátviteli rendszer feladata? Milyen funkciókat valósít meg? Milyen adattípusokat, adatszerkezeteket definiál? Milyen fájlátviteli módokat definiál? A fájlátviteli rendszer milyen elemeket tartalmaz, ezeknek mi a feladata? Az elemek között milyen összeköttetések lehetnek? Ezeknek mi a jellemzője? Hogyan néz ki az FTP-parancsok formátuma? Milyen fontosabb parancsokat ismer? Mi ezek funkciója? Példák. Hogyan néz ki az FTP-válaszok formátuma? Milyen fontosabb válaszokat ismer? Mi ezek jelentése? Példák. A sávon belüli és sávon kívüli vezérlés jellemzése. Példák. Az állapottal rendelkező és az állapotnélküli kapcsolatok jellemzése alkalmazási folyamatok együttműködésénél. Példák. Egy FTP-szerver működése több kliens egyidejű kiszolgálása esetén.
8. – 9. hét: Elektronikus levelezés
Az elektronikus levelező rendszernek melyek a főbb komponensei? Mi ezek feladata? Hogyan történik a levélüzenet előállítása és továbbítása két felhasználó között? Példák. Az SMTP protokoll modellje. A legfontosabb parancsok és válaszok. Példák a kliens és a szerver közötti együttműködésre. Hogyan történik több üzenet elküldése? Mely tulajdonságok azonosak, és mely tulajdonságok különbözőek a HTTP és az SMTP összehasonlításakor? Hogyan néz ki az SMtp levélüzenet formátuma? Melyek a fejlécben használatos fontosabb sorok? Példák. Multimédia kiterjesztés esetén hogyan történik a fejrész kibővítése? Milyen új sorok szükségesek? A törzs hogyan változik? A fogadott és továbbadott levélüzenet milyen további fejlécsorokat tartalmazhat? Mi a jelentése ezeknek? Milyen gondok merülnek fel a levélüzenetnek levelezőszerverről történő letöltésekor? Hogyan történik a levelekhez való hozzáférés? Példák. Levélkézbesítő (levél-hozzáférést biztosító) protokollok. Mi ezek szolgáltatásai, jellemzői? Képességeik összehasonlítása, előnyös és hátrányos tulajdonságaik. Hogyan történik a webalapú levelező rendszer kialakítása? Mely protokoll alkalmas erre a célra? Hogyan történik a levélüzenet előállítása, továbbítása, kézbesítése ebben a rendszerben? Példák.
10. hét: Körzetnév-kezelés és a DNS
A hosztok azonosítása hogyan történik az internetben? A körzetnév-kezelő rendszer név milyen szolgáltatásokat és protokollt takar? Hogyan történik egy böngésző által adott körzetnév feloldása? Melyek a körzetnév-kezelő rendszer főbb elemei? Melyek ezek funkciói? A DNS-névtér felépítése, szerepe, kapcsolata a DNS adatbázishoz, az erőforrás rekordokhoz és a névszerverekhez. Példák. Mi a szerepe a DNS rekordoknak? Milyen formátumuk van? Milyen típusokat ismer? Példák. Hogyan tudjuk megkeresni saját névszerverünk körzetnevét és IP-címét? Saját webszerverünk körzetnevét és IP-címét? Saját levelező-szerverünk körzetnevét és IP-címét? Saját körzetünk névszervereinek kanonikus nevét? Az elosztott hierarchikus adatbázisban milyen névszervereket ismer? Mi ezeknek a szerepe? Hogyan történik a névfeloldás a hierarchia figyelembevételével? Mi a különbség a gyökér-névszerver, a TLD és a hiteles névszerver között? Mikor melyiket használják? Mi az abszolút és a relatív körzetnév közötti különbség? Mikor melyiket használják? Mi a zónák szerepe? Mi az elsődleges és másodlagos névszerver? Mikor melyiket használják? Mi a hiteles névszerver? Mi a feladata? Mikor használják? Mi a helyi névszerver? Mi a szerepe? Mi az iteratív lekérdezés lényege? Példák. Honnan tudja a névszerver, hogy iteratív lekérdezést várnak tőle? Mi a rekurzív lekérdezés lényege? Példák. Honnan tudja a névszerver, hogy rekurzív lekérdezést várnak tőle? Távoli körzet nevének feloldása hogyan történik? Példák. Hogyan történik a DNS gyorstárazás? Hol történik? Meddig tárolódnak a bejegyzések? Példák. Hogyan néz ki a DNS kérés- és válaszüzentet formátuma? Milyen fontosabb mezőket tartalmaz a fejléc és a törzs? Mi ezek funkciója? Példák. Hogyan tudunk a DNS adatbázishoz hozzáférni, onnan adatot letölteni? Hogyan lehet az adatbázisba adatot bevinni? Hogyan történik az erőforrás rekordok adatainak beírása?
11. hét: P2P alkalmazások
Szétosztási idő számítása nagyméretű fájl sok hosztra történő szétosztása esetén P2P esetben és kliens-szerver esetben? Miért tekintik a P2P architektúrát önskálázónak? A hosztok száma és a szétosztási idő közötti összefüggés a két architektúra esetén? BitTorrent esetén mit neveznek torrentnek? Mi a torrent fájl? Mi a töredék, a boly, a magosztó? Mi a nyomkövető, és mi a szerepe? BitTorrent esetén hogyan történik a fájl szétosztása , továbbítása, vétele és összerakása? Milyen jogokkal és kötelezettségekkel rendelkezik egy társ? Milyen algoritmust használnak a szomszédokkal történő adok-kapok együttműködés során? Milyen indexelési eljárások ismeretesek? Milyen eljárást használnak fájlmegosztás esetén? Milyen megoldást használnak azonnali üzenetküldés esetén? Mi a központosított indexelés lényege? Ez melyik fájlcserélő rendszer jellemzője? Mik az előnyei és hátrányai? Mi az elosztott információkeresés lényege? Ez melyik fájlcserélő rendszer jellemzője, és mik az előnyei és hátrányai? Mi a hierarchikus átlapolás lényege? Melyik fájlcserélő rendszer jellemzője? Mik az előnyei és hátrányai? Milyen felépítésű a Skype rendszer? Milyen elemei vannak, Hogyan történik a bejelentkezés? Hogyan történik a partner megkeresése? Hogyan történik az üzenetek átvitele? Hogyan történik a NAT mögötti társak kommunikációja?
12. – 13. hét: Webalkalmazások
A böngésző hogyan jeleníti meg a HTML-fájlokat és a nem HTML fájlokat? Hogyan a MIME típusú fájlokat? Példák. Hogyan történik a böngésző bővítése bedolgozó (plug-in) modulokkal? Példák. Hogyan történik a böngésző bővítése segédalkalmazással? Példák. Hogyan történik helyi fájlok megjelenítése a böngészővel? Példák. Mi a statikus weblap jellemzője? Hogyan történik az előállítása? Milyen weblap-leíró eszközt ismer? Milyen jellemzői ismeretesek e leíró eszköznek? Alkalmas-e szöveges és egyéb formátumok leírására? Alkalmas-e táblázatok leírására? Alkalmas-e betűtípus, betűnagyság, betűszín, keretező vonal leírására? Melyek a HTML legfontosabb formázó parancsai (címkéi)? Példák. Hogyan történik az űrlap leírása HTML-lel? A leírásnak milyen szerkezete van? Milyen címkék jelölik e részeket? A HTML alkalmas-e a weblap struktúrájának leírására? Melyek az XML és az XSL fontosabb jellemzői? Példák. Miben különbözik az XHTML a HTML 4.0-tól? Mi a szerepe a CSS-nek? Példák. Miben különböznek egymástól a statikus és a dinamikus weblapok? A dinamikus weblapok előállításnak milyen lehetőségei ismeretesek? Honnan tudja a szerver, hogy a klienstől kapott kérésre milyen választ adjon? Hogyan történik a dinamikus weblapok előállítása a szerver oldalán, ha a klienstől kapott kérésben űrlap adatok vannak? Mi a CGI? Mi a CGI-szkript? Hogyan fut a CGI-szkript? Hogyan történik az űrlap feldolgozása CGI-szkripttel? Hogyan történik a dinamikus tartalom előállítása PHP-szkripttel? Példa űrlap kezelésére. Hogyan fut a PHP-szkript a szerveren? Dinamikus tartalom előállítása JSP és ASP alkalmazásával hogyan történik? Hogyan futnak ezek űrlapkezelés esetén? Miben egyeznek ezek a PHP-val és miben különböznek a PHP-től? Dinamikus weblap előállítása a kliens oldalán milyen indokkal, és hogyan történik? Milyen leíró eszköz lehet? Példa a kliens oldali weblap előállítására JavaScript nyelven. Ez mennyiben HTML? Mennyiben nem? Kliens oldali dinamikus weblap előállítása kisalkalmazással és ActiveX-szel hogyan valósítható meg? Mik ezek jellemzői? Milyen lényeges különbségek vannak a dinamikus weblapok szerver oldali és kliens oldali előállítása között? Példák.
14. hét: Biztonságos internet alkalmazások
Biztonságos Telnet: SSH. Biztonságos fájlátvitel: SCP, SFTP. Biztonságos elektronikus levelezés: PGP, PEM, S/MIME. Biztonságos webszolgáltatás: HTTPS. Biztonságos DNS: DNSsec.
Tanulmányi eredmények
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Tudás
Nincsenek rögzített tanulási eredmények.
Képességek
Nincsenek rögzített tanulási eredmények.
Attitűd
Nincsenek rögzített tanulási eredmények.
Autonómia és felelősség
Nincsenek rögzített tanulási eredmények.
Oktatási módszertan
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Szorgalmi időszakban végzett teljesítményértékelések részaránya
Nincs megadva részarány.
Vizsgaidőszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Vizsgarészek részaránya
Nincs megadva részarány.
Érdemjegy megállapítása
Nincs megadva érdemjegy határ.
Jelenléti és részvételi követelmények
Nincs megadva jelenléti követelmény.
Javítás, ismétlés és pótlás különös szabályai
Nincs megadva.
Rövid leírás
Nincs megadva.
Részletes leírás
Nincs megadva.
Ajánlott tantárgyak
A tantárgy elvégzéséhez szükséges tanulmányi munka
Nincs megadva munkaidő bontás.
Tantárgykövetelmények hatályossága
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.