K-INFO
HU
EN
Belépés

Internet alkalmazások szoftver elemei

Software Elements of Internet Applications
A tantárgyleírás hatályossága
Hatályosság kezdete:
—
Hatályosság vége:
—
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)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 3 0 1
jelleg (kapcsolt/önálló) — — kapcsolt
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
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

Tantárgyprogram

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.

Az Interneten elérhető legfontosabb szolgáltatások nyújtásához szükséges hálózati szoftver elemek felépítésének és működésének megismertetése, gyakorlati ismeretek nyújtása ilyen szoftver elemek kifejlesztéséhez.

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

Heti 4 órában félévi átlagban heti 3 óra elmélet és 1 óra gyakorlati anyag kerül feldolgozásra. Az elméleti anyag előadása tanteremben, a gyakorlati anyag, a témakörhöz kapcsolódó feladatok megoldásának bemutatása tanszéki laboratóriumban történik.

Tanulástámogató anyagok

Online források
Könyv: J.F. Kurose – K.W. Ross: Számítógép-hálózatok működése - alkalmazásorientált megközelítés. Panem Könyvkiadó, 2009.; Könyv: A. Tanenbaum: Számítógép-hálózatok. Panem Könyvkiadó, 2004; Az előadások vázlatának elektronikus változata.  

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Informatika 2. (VIAUA300) A programozás alapjai 1. (VIHIA106)
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Informatika 2. (VIAUA300) A programozás alapjai 1. (VIHIA106)
Általános szabályok
Követelmények: a./ Zárthelyi:               - témazáró zárthelyi feladatok megoldása a 7. és a 12. tanulmányi héten           b./ Otthoni feladat:                - egy otthoni feladat megoldása:          kiadása a 3. tanulmányi héten,                                                                        beadása a 13. tanulmányi héten c./ Aláírás: - csak az kap aláírást, aki minden félévközi követelménynek a pótlási hét végére eleget tesz. d./ Vizsga:      - írásbeli vizsga - aki a zárthelyi feladatokat átlagban legalább 85 % eredménnyel teljesíti és a otthoni feladata kiváló minősítésű, megajánlott jeles osztályzatot kap, nem kell vizsgáznia. Pótlási lehetőségek: A szorgalmi időszakban a zárthelyi feladatok egyszer pótolhatók. A pótlási héten egy zárthelyi feladat pótolható, valamint az  otthoni feladat beadása pótolható. A vizsgaidőszakban semmilyen pótlási lehetőség nincs.
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 tárgy felvétele elsősorban a villamosmérnöki szak hallgatóinak (BSc-s képzésben résztvevőknek) ajánlott. Tematikaütközés miatt a tárgyat csak azok vehetik fel, akik korábban nem hallgatták a következő tárgyakat: Neptun-kód       Cím A Villamosmérnöki szakon nincs tematikaütközés.
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
Tantárgykövetelmények hatályosságának kezdete:
—
Tantárgykövetelmények hatályosságának vége:
—
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.