ElosztottRendszerekVizsga20060607

A VIK Wikiből

Ez az oldal a korábbi SCH wikiről lett áthozva.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.


2006.06.07. vizsga

  1. Ismertesse az RPC alapú (RPC-szerű) programok létrehozási mechanizmusát! (10p)
    RPC működési mechanizmusa:
    hívásfüggvény
    marshallingunmarshalling
    transporttransport

    Létrehozás lépései:

    1. interfész leírása .idl file-ba
    2. idl compiler kliens és szerver stubot generál belőle
    3. kitölteni a stubokat, kliens oldalon megadni a szerver hálózati elérhetőségét
    4. kliens és szerver fordítása C compilerrel
  2. Mik az alapvető különbségek a COM IDL és a CORBA IDL nyelvek között (legalább 7)? (15p)
    szempont COM CORBA
    interfészek közös őse IUnknown CORBAObject
    interfész öröklés egyszeres többszörös
    impl. hány interfészt valósít meg többet egyet
    fizikai interfész azonosító GUID névtér
    metódus paraméterek iránya in, out, inout, retval in, out, inout
    visszatérési érték HRESULT bármi
    oneway hívás nem támogatja támogatja
    exception nem támogatja támogatja
    attribútumok nem támogatja get/set metódusokká fordul
    típusok saját típus definiálható, ha írunk hozzá marshallingot alaptípusok, tömb, sequence, struct, union
    referenciaszámláló IUnknown POA manager
  3. Vázolja fel a CORBA architektúrát! Mi a szerepe az Object adaptereknek a CORBA-ban? (15p) ld. 2005.05.26 vizsga, 3. feladat
  4. Milyen szabványok és technikák segítenek a különböző platformokon működő web szolgáltatások együttműködésében? Fejtsen ki hármat közülük! (15p) ld. 2005.05.26 vizsga, 6. feladat
  5. Mi a különbség a BMP és a CMP entity bean között? (10p) CMP entity bean (Container Managed Persistence): relációs adatbázis objektum-orientált leképzése
    • tábla ↔ osztály
    • oszlop ↔ attribútum
    • sor ↔ példány
    • INSERT ↔ ejbCreate() (Home interfész)
    • SELECT ↔ finder metódus (Home interfész, EJB-QL lekérdezés)
    • UPDATE ↔ setXxx (Local/Remote interfész), vagy setDTO/syncDTO
    • DELETE ↔ ejbRemove() (Local/Remote interfész)
    Az adatszinkronizálás az adatbázis és az entity beanek között automatikus. BMP entity bean (Bean Managed Persistence):
    • A programozó írja az ejbLoad() és az ejbStore() metódusokat
    • Az adatbázis hozzáférés JDBC-n keresztül, SQL parancsokkal történik
  6. Milyen file-okból épül fel egy EJB komponens, és ezek közül melyeket generálja az EJB konténer? (10p)
    • _Deployment descriptor_: referenciákat, EJB-QL lekérdezéseket, middleware konfigurációs beállításokat, névtereket tárol. Fejlesztő tölti ki.
    • _Home és Local Home interfész_: bean példányosítás, entity bean keresés. Generálódik.
    • _Home és Local Home interfész implementációja_: generálódik
    • _Local és Remote interfész_: üzleti metódusok interfészei, fejlesztő tölti ki.
    • _Bean_: üzleti metódusok implementációja. Fejlesztő dolga, de néhány metódus generálódik.
    • _DTO_: generálódik, de a fejlesztő kiegészítheti vagy írhat újakat.
    • _Adatbázis modell_: fejlesztő tervezi.
    • _Táblák_: modell alapján generálódnak.
    • Gyártó specifikus file-ok
  7. Ismertesse a .NET CLR főrészeit! (10p) ld. 2006.04.24. minta zh, 6. feladat
    Érdemes a CLR ott vastaggal jelölt részeiről írni pár mondatot. A remoting, és az egyéb .NET előtt is létező feature-ök nem érdeklik Hasszánt.
  8. Milyen tényezőktől függ egy web alapú rendszer esetén a válaszidő? Hogyan lehet csökkenteni? (Eredeti kérdés: hogyan lehet növelni? :) Milyen formában jelenik meg a kapcsolat-orientáltság szerepe a válaszidőben? (15p) A válaszidő összetevői
    • R = latency + demand time
    • latency = várakozás a kliens TCP stackjében + a webszerver várakozási sorában
    • demand time = hálózati átvitel + CPU + disk
    • hálózati átvitel = kapcsolat felépítés + kérés
    • disk = keresés + várakozás a lemeztányér megfelelő pozíciójára + olvasás
    Kapcsolat orientáltság szerepe
    • _n_ az oldalon található objektumok száma
    • Kapcsolat orientált: Értelmezés sikertelen (formai hiba): {\displaystyle R > (n+2)RTT + \sum\limits_{i=0}^n \left\lceil \frac{i.\textrm{objektum m\'erete}}{MTU} \right\rceil }
    • Kapcsolatmentes: Értelmezés sikertelen (formai hiba): {\displaystyle R > 2(n+1)RTT + \sum\limits_{i=0}^n \left\lceil \frac{i.\textrm{objektum m\'erete}}{MTU} \right\rceil }
    • Egyenlőséget úgy kapunk, ha az egyenlőtlenség jobb oldalát egy 1,1-1,2 közötti konstanssal szorozzuk
    • Kapcsolat orientált esetben a címzettet csak egyszer kell megkeresni a hálózaton, kapcsolatmentes esetben n+1-szer.
    Tuningolás
    • Adatbázis: 50% javulás
      • tranzakcióméret helyes megválasztása
      • normalizálás mértékének helyes megválasztása
      • tárolt eljárások használata: kisebb overhead
      • cache-elés, IMDB
      • elosztott adatbázis
    • Alkalmazás szerver: 25% javulás
      • CMP mellőzése
      • DTO-k használata
      • object pooling, connection pooling
      • minél kevesebb middleware igénybe vétele
      • bean méret helyes megválasztása
    • Kliens
      • Kliens oldali script használata
      • Vastag kliens vagy applet használata
      • AJAX
    • Disk
      • Cache-elés
      • RAID
      • Töredezettség-mentesítés

-- Peti - 2006.06.07.