Az újgenerációs .NET platform

A VIK Wikiből
A lap korábbi változatát látod, amilyen Zhuinden (vitalap | szerkesztései) 2013. december 6., 15:11-kor történt szerkesztése után volt. (Mondtam már, hogy iszonyatosan buta ez az új wiki?)

Sablon:Szabvál A tárgy keretében a hallgatók megismerkednek a .NET 4 platform főbb komponenseivel. A cél, hogy a hallgató megismerje az egyik legkorszerűbb szoftver platformot, annak szolgáltatásait és lehetőségeit, továbbá gyakorlati útmutatót kapjon az ilyen típusú platformokra történő fejlesztésről. A tárgy egy átfogó képet ad hallgatóknak a .NET 3.0-ás és 3.5-ös verzióiban bevezetett nagyobb technológiákról, gyakorlati példákon és problémákon keresztül mutatja be az alkalmazott megoldások jellegzetességeit. Az órák keretében a hallgatók számára lehetőség nyílik az előadás anyagának gyakorlati alkalmazására is.

Követelmények

Szorgalmi időszakban

A félév végén kisházit kell bemutatni az aláíráshoz

Vizsgaidőszakban

Aki maximum 1 gyakorlatról hiányzott, az indulhat a megajánlott jegyért (nagyházival), ahol felhasznált technológiák függvényében 4-est, vagy 5-öst lehet kapni. A többieknek a vizsga szóbeli. A nagyházikat a vizsgaidőszakban, előre egyeztetett időpontban kell bemutatni.

Házi feladat

Az adatok 2012 őszi félévről származnak.

Kisházi

Az alábbiak közül mindegyiknek teljesülnie kell az aláíráshoz

  • Felület: WPF
    • A hálózati hívások/hosszú folyamatok ne fagyasszák le a felületet
    • Kapjunk visszajelzést, ha ezek a hívások nem sikerültek
    • A felület nem éri el az adatbázist közvetlenül
    • MVVM minta minimális alkalmazása (VM osztály mindenképp kell)
  • Adatelérés: EF
    • Legalább 3 tábla (nem számítva a MembershipProvider/WF perzisztencia táblákat)
    • Optimista konkurenciakezelés
  • Komponensek közötti kommunikáció: WCF

Nagyházi

30 pont felett 4-es, 60 pont felett 5-ös.

WPF 4.0, Silverlight 5.0

  • A WPF-től eltérő funkciójú Silverlight kliens [10]
  • Testreszabható saját control készítése [5-20]
    • Textboxban watermark 5
    • Grafikonmegjelenítő 20
  • MVVM minta alkalmazása valamilyen toolkit segítségével [10-15]
    • A teljes WPF kliensben 10
    • Mindkét kliensben 15
  • Többnyelvű GUI, a .NET beépített lehetőségeinek használatával, legalább egy bonyolult felületen [10]
    • A nyelv dinamikusan állítható az alkalmazásfelületről és a beállítás alkalmazásindítások, ill. belépések között sem veszik el +3
  • Input validáció egyik kliensben (WPF/SL) [10]
    • Másik kliensben +10
  • 3D tranzíciók alkalmazása (pl. térben beforgó dialógusablak stb.) [7]
  • Saját 3D modellek alkalmazása [5]
  • Control template átszerkesztése (min 3 db. vezérlőnél, érdemi módosítások) [7]
  • Saját Layout Control készítése [10]

WCF 4.0

  • FaultContract használata [5]
  • Duplex WCF kommunikáció [7]
  • OData feed publikálása WCF Data Services használatával [7]
  • Külső OData feed (pl. diplomaterv portál, vagy egyéb) integrálása WCF Data Services használatával [7]
  • Nem szokványos WCF binding használata (P2P, MSMQ) [10]
  • Tanúsítvány alapú authentikáció kliens oldali tanúsítvánnyal. Bemutatáskor szemléltetés Fiddler-rel [10]
  • Titkosított WCF kommunikáció szerver oldali tanúsítvánnyal (pl. HTTPS). Bemutatáskor szemléltetés Fiddler-rel [10]

Entity Framework 4.0+

  • Code-First EF modell Entity Framework 5-tel [7]
  • Leszármazási hierarchia leképezése Entity Framework-kel (legalább kétszintű, legalább 3 tagú hierarchia) [7]
  • MS SQL-től eltérő adatbázis használata ADO.NET-tel (MySQL, Oracle, PostgreSQL, SQL Server CE) [10]

Workflow Foundation 4.0

  • Interaktív Windows Workflow [15]
    • A workflow adatbázisba menthető/visszatölthető +5
  • Designer rehost +5

Kiegészítő, kapcsolódó technológiák alkalmazása

  • Rx Framework használata [5-15]
    • Néhány alap Rx operátor használata 5
    • Két külső adatforrás integrálása 15
  • SketchFlow terv egyik klienshez (WPF/SL) [7-15]
    • Egy bonyolult felülethez 7
    • Legalább 3 felülethez (screen), navigációs kapcsolatokkal (navigation connection) 15
  • F# modul készítése és meghívása [7]
  • A szerver oldal hosztolása külső szolgáltatónál (pl. sandbox.proserver.hu, nem Azure) [7]
  • Külső osztálykönyvtár használata (egy külső komponensért csak egyetlen jogcímen szerezhető pont) [7]
  • Külső online szolgáltatás (twitter, facebook, google maps, bing maps, stb.) integrálása az alkalmazásba. Authentikációs szolgáltatás (Live ID, Google Account) is lehet. [7-18]
    • Egyszerű REST API, SDK használat nélkül, egyszerű API kulcs alapú authentikáció 7
    • SDK-val / REST API-val, authentikációt (pl. OAuth) végrehajtva 15
    • felhasználói authentikáció külső authentikációs szolgáltatás használatával 15
    • REST API esetén ASP.NET Web API klienskönyvtár használata +3
  • Unit tesztek készítése (minimum 10 függvényhez) [7]
  • Pesszimista konkurenciakezelés (lock-olás adatbázisban). Bemutatáskor szemléltetés egy konkurenciahelyzet összekattintásával. [15]
  • Optimista konkurenciakezelés ütközésfeloldással, azaz a felhasználó választhassa ki, hogy ütközés esetén a 3 adatverzióból (eredeti, általa készített, más által készített) melyik kerüljön be az adatbázisba. Bemutatáskor szemléltetés egy konkurenciahelyzet összekattintásával. [10]


Segédanyagok