+ All Categories
Home > Documents > Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web...

Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web...

Date post: 06-Jun-2020
Category:
Upload: others
View: 15 times
Download: 0 times
Share this document with a friend
14
Vývoj v prostředí Microsoft .NET NET Framework Je softwarová struktura sloužící jako podpora při programování, vývoji, organizování sw projektů Může obsahovat podpůrné programy, knihovnu appi, doporučené postupy při vývoji a návrhové vzory Dot.net je zastřešující název pro sw produkty, které tvoří celu platformu která je dostupná ne jen pro web, Windows i pocetPC Comonlanguage infrastructurer je standardizovaná specifikace jádra dot.net Základní komponentou je CLR prostředí potřebné pro běh aplikací a nabízející jak spouštěcí rozhraní, tak také potřebné knihovny Pro vývoj dot.net aplikací je určeno Visual studio dot.net Jednoduchý vývoj aplikací Velké možnosti pro rozvoj obchodu Bohaté zkušenosti uživatelů Klientský sw pro chytrá zařízení .net servery Podpora různých programovacích jazyků Je jazykově nezávislí, pro tvorbu možno užít jakýkoli z podporovaných jazyků
Transcript
Page 1: Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web viewVývoj v prostředí Microsoft .NET NET Framework Je softwarová struktura sloužící

Vývoj v prostředí Microsoft .NETNET Framework

Je softwarová struktura sloužící jako podpora při programování, vývoji, organizování sw projektů

Může obsahovat podpůrné programy, knihovnu appi, doporučené postupy při vývoji a návrhové vzory

Dot.net je zastřešující název pro sw produkty, které tvoří celu platformu která je dostupná ne jen pro web, Windows i pocetPC

Comonlanguage infrastructurer je standardizovaná specifikace jádra dot.net Základní komponentou je CLR prostředí potřebné pro běh aplikací a nabízející jak

spouštěcí rozhraní, tak také potřebné knihovny Pro vývoj dot.net aplikací je určeno Visual studio dot.net Jednoduchý vývoj aplikací Velké možnosti pro rozvoj obchodu Bohaté zkušenosti uživatelů Klientský sw pro chytrá zařízení .net servery

Podpora různých programovacích jazyků Je jazykově nezávislí, pro tvorbu možno užít jakýkoli z podporovaných jazyků rozdělení na části

o User interface – uživatelské rozhraní

Page 2: Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web viewVývoj v prostředí Microsoft .NET NET Framework Je softwarová struktura sloužící

o Servisis – poskytování služebo Data exces – přístup k datům

o Core – objektová podpora jádrao CLR – prostředí pro běh aplikací

Metadata Jsou binární informace popisující vaší aplikaci Jsou uložena buď v spustitelném přenositelném souboru PE, v CLR nebo v paměti Při tvorbě přenositelného souboru jsou metadata vložena do jedné části souboru a kód

je převeden do MSIL a následně vložen do jiné části souboru Každý typ nebo člen, který je definován nebo odkazován v modulu nebo sestavení je

popsán v rámci metadat Při vykonávání kódu modul rinetime načte metadata do paměti a odkazuje se na ni za

účelem zjištění informací o třídách, členech dědičnosti apod. Popis je jazykově nezávislý

Popis sestavení Identita (název, verze, jazyková verze, veřejný klíč) Exportované typy Jiná sestavení, na kterých toto sestavení závisí Bezpečnostní oprávnění potřebné ke spuštění

Popis typů Název, viditelnost, základní třídu a implementovaná rozhraní Členy (metody, pole, vlastnosti, události a vnořené typy)

Page 3: Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web viewVývoj v prostředí Microsoft .NET NET Framework Je softwarová struktura sloužící

Atributy Další popisné elementy, které modifikují typy a členy

Cíle platformy .NET Je konzistentní platformou Jedinou nevýhodou je orientace na OS Windows1. Poskytnout konzistentní objektově orientované programovací prostředí, kde je kód

objektu uložen a spuštěn lokálně, spuštěn lokálně, ale distribuován prostřednictvím internetu, nebo zpuštěn vzdáleně

2. Poskytnout prostředí pro zpracování kódu, které minimalizuje konflikty nasazení a správy verzí software

3. Poskytnout prostředí pro zpracování kódu, které propaguje bezpečné zpracování kódu včetně kódu, který je vytvářen neznámou nebo částečně důvěryhodnou třetí stranou

4. Poskytnout prostředí pro zpracování kódu, které eliminuje výkonnostní problémy skriptovaných nebo interpretovaných prostředí

5. Činit vývojářské zkušenosti konzistentními napříč nejrůznějšími typy aplikací, jako jsou například aplikace určené pro Windows nebo internetové aplikace

Části platformy .NET Framework Důvodem vytvoření CLR bylo výrazně zjednodušit vývoj aplikací, připravit robustní

a bezpečné prostředí pro běh, podpořit velké množství programovacích jazyků, zjednodušit administraci a nasazení aplikací

Služby poskytované CLR Služby zapouzdřující existenci Win32 funkce a služby Systém pro řízení životností objektů (Garbage collection) Překladače z CLR (Common Intermediate Language) do nativního kódu procesoru

používané při Just-In-Time kompilaci Typová kontrola založená na přítomnosti metadat popisujících všechny typy užívané

v aplikaci Podpora existujícího COM modelu Deklarativní bezpečnostní model

Common Intermediate Language MSIL Je objektově orientovaný jazyk zásobníkového typu stakebackspace; tj. data

jsou ukládána z registru do zásobníku místo toho, aby byla odkládána do paměti, jako ve většině CPU architektur

CIL je procesorově a zároveň platformě nezávislý soubor instrukcí, které mohou být realizovány v jakémkoliv prostředí podporujícím commn language infrastraction (může to být dot.NET pro Windows, samostatně odvozené mono pracující pod Linux či UNIX)

Proces kompilace Zdrojový kód je převeden do CIL, ekvivalentu k nižším programovacím jazykům pro

CPU CIL je převeden do byte codu a je vytvořeno .NET assembly Po provedení .NET assembly, jeho byte kód projde skrz provozní JIT kompilátor, aby

generoval nativní kód Nativní kód je zpracován pomocí procesoru

Page 4: Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web viewVývoj v prostředí Microsoft .NET NET Framework Je softwarová struktura sloužící

Assembly Označuje programovou jednotku určenou k nasazení a opakovanému použití řízení

verzí a bezpečnosti Je to kolekce jednoho nebo více souborů obsahujících kód nebo zdroje doplněná

manifestem, která vytváří jeden logický celek

Obsah Identita je tvořena třemi částmi (jménem, číslem verze, kulturou – jazykové varianty) Seznam souborů tvořících danou assembly. Ke každému souboru je připojena rovněž kryptografická charakteristika jeho obsahu,

která se kontroluje vždy při spuštění aplikace Odkazy na další assembly – kromě men používaných assembly jsou uložena i čísla

jejich verzí, proti kterým byla aktuální programová jednotka linkována Exportované typy a zdroje – opis veřejných typů (tříd, struktur apod.) a zdrojů

(resources) exportovaných aktuální assembly Bezpečnostní požadavky - leze je rozdělit na požadavky nutné ke spuštění assembly,

požadavky doporučené a požadavky, které by nikdy neměly být přiděleny

Jádro platformy Poskytuje rozsáhlé knihovny a prostředí pro vývoj aplikací Podpora dynamických jazyků Využití více procesorů Paralel Extensions – Model programování pro psaní

asynchronního a více vláknového kódu, který převážně zjednodušuje aplikace a práci vývojářů knihoven

Nanageld Extensibility Framework (MEF) – je knihovna usnadňující vytváření rozšířitelných a modulárních aplikací

Languae Integrated Query (LINQ) – způsob dotazování nad jakýmikoliv daty, usnadňuje jejich tvorbu, třídění, jejich propojování i vyhledávání v nich

Programovací jazyky (Language) – podporuje různé programovací jazyky Základní knihovna (Base Class Library) – je knihovna pro podporu přístupu k datům

a práci s XML

Uživatelské prostředí Windows presentacion fundation je novinkou, jejích předchůdcem byly windowsform

a winforms, ale WPF nenahrazují v současnosti winforms WPF je druhý způsob psaní Windows aplikací WPF nabízí proti winform další možosti grafického zpracování aplikace WPF postupně nahradí winformms Winforms – podpora původního stylu vytváření uživatelského rozhraní v prostředí

Windows (tlustý klient) Tvorba aplikací pro web (asp.NET) – podpora vývoje aplikací tenký klient v prostředí

intranet nebo extranet WPF – způsob psaní aplikací pro Windows Vista a novější

Služby Smyslem jednotlivých služeb vychází z jejich názvu WCF v sobě integruje dříve oddělené WSS a dot.NET remonting ADO.NET data services – umožňuje přístup k datům amonipulaci s nimi pomocí

webových služeb Podpora, distribuce a cáchování dat (Velocity) – je zaměřena především na vývoj

ASP.NET s důrazem na množství a rychlost poskytování dat

Page 5: Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web viewVývoj v prostředí Microsoft .NET NET Framework Je softwarová struktura sloužící

Podpora servisně orientovaných aplikací (WCF) – platforma pro distribuované programování moderních aplikací v prostředí NET Framework

Podpora workflow (WWF) – umožňuje jednoduše vytvářet aplikace založené na workflow

Přístup k datům (data acces) Link je závislý na SQL a užívá mapování 1:1 Entity Framework je plnohodnotný objektový relační maper umožňující měnit

mapování dle modelu, podporuje komplexní typy, N to N vazby ADO.NET – součást NET zprostředkovávající přístup k datům pomocí XML Práce s daty LINQ (Language Integrated Query) – podpora dotazování přímo

do .NET pomocí vybraného programovacího jazyka. Podpora objektového mapování (Entity Framework) – implementačně nezávislý

objektový přístup k databázím

Bezpečnost Net Framework Bezpečnostní systém založený na rolích Role sdružují uživatele s identickými privilegii nezávisle na tom, v jakých

systémových skupinách se nacházejí

Oblasti bezpečnosti Kontrola bezpečnosti začíná již při nahrávání aplikace do paměti, probíhají základní

ověření přístupu ke zdrojům formou tzv. přístupové bezpečnosti kódu (kód excess security) a je zajišťována identita uživatele sloužící k řízení bezpečnosti pomocí rolí

Výše zmiňované operace fungují přes hranice procesů a počítačů, aby nemohlo snadno docházet k falešným prověřením

Typová bezpečnost Týká se pouze bezpečného přístupu k paměti objektů Během kompilace probíhá kontrola, zdali je kód typově bezpečný Typově bezpeční programy pracují jen s pamětí, která byla alokována pro jejich

objekty Liší se od pojetí v programovacích jazycích Týká se pouze bezpečného přístupu k paměti objektu Příkladem je třída, k jejíchž soukromím členům nelze přistupovat žádným jiným

způsobem Bezpečnost je garantována pouze při přístupu přes definované rozhraní Během kompilace probíhají verifikační procesy zkoumající obsah metadat, manifestu

a obsah CIL kódu a ověřují, zda je kód typově bezpečný Pokud je kód bezpečný je rantime prostředí schopno zajistit úplnou izolaci

jednotlivých assambly v rámci procesu, jejich komponenty poté mohou běžet zcela bezpečně

Jedním z hlavních cílů tohoto postupu je spolehlivost aplikace U typově bezpečného kódu mohou rantime mechanismi zajistit, že nebude přistupovat

k nativnímu kódu získanému kompilací pokud k tom nemá speciální povolení

Identita kódu Na základě informací o kódu definuje práva přidělená aplikacím Je dána tzv. evidencí, což jsou základní informace zahrnující třeba místo, ze kterého

kód pochází, sdílené jméno či identitu vydavatele

Page 6: Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web viewVývoj v prostředí Microsoft .NET NET Framework Je softwarová struktura sloužící

Na základě víše uvedených informací může bezpečnostní politika určit, jaká práva budou specifické aplikace nebo množině aplikací přidělena

Zmíněné informace jsou schopny poskytnout služby, které mají na starosti zavedení aplikace do paměti

Přístupová bezpečnost kódu Tento typ bezpečnosti umožňuje nastavit důvěryhodnost kódu na požadovanou

úroveň Závisí na tom, odkud kód pochází a na dalších aspektech daných identitou kódu Lze nastavit, které operace kód s konkrétní identitou může vykonávat a které nesmí Lze takto omezit nevhodné chování kódu, které by mohl poškodit některý systémový

zdroj Přístupovou bezpečnost kódu mohou využívat pouze aplikace typově bezpečné

Povolení CLR umožňuje aplikacím vykonávat jen ty operace, na které má jejich kód povolení Povolení jsou logicky seskupována do množin povolení, které jsou assembly

přiřazeny bezpečnostním podsystémem dot.NET Framework a které jednoznačně určují, co je kódu povoleno a co nikoliv

Typ přiřazené množiny povolení je určen evidencí (zdrojem) kódu, silným jménem atd.

Povolení jsou pak většinou vyžadována důvěrným kódem což je např. takový, který pracuje se souborovým systémem

Povolení pro přístupo Práva pro přístup k chráněným systémovým zdrojům (soubory, nebo

systémové proměnné)o Práva pro spouštění chráněných operací (volání funkcí neřízeného kódu)

Bezpečnost založená na rolích Využívá identity asociované s daným exekučním kontextem Využívá se tzv. objekt principal vznikající z informací o identitě uživatele Identita uživatele může být založena na základě účtu Windows, ale může být

implementována i zcela jinak objekt principal je vytvořen jedním z autentikačních providerů na základě informací

získaných od uživatele a asociován s daným exekučním kontextem, pak je dostupný kódu aplikace, která může ověřovat jeho hodnotu v definovaných rolích a rozhodovat o provedení operací

Kryptografické služby NET Framework obsahuje celou řadu kryptografických objektů Tyto objekty implementují známé algoritmy pro hashování, krypptování, digitální

podpisy Používány jsou symetrické šifrovací algoritmy DES, RC2, 3DES a asymetrické

šifrovací algoritmy DSA pro digitální podpis a RSA Hashování funkce MD5 a SHA1 Tyto objekty jsou často využívány vnitřními službami dot.NET Framework, ale jsou

rovněž dostupné i aplikačním programátorům

Micro Framework Minimalistická verze Framework

Page 7: Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web viewVývoj v prostředí Microsoft .NET NET Framework Je softwarová struktura sloužící

Je určen zařízením s omezenými zdroji, často žádnou externí paměťovou jednotku a jen málo RAM)

Jedná o užití v mikropočítačích, minikamerách, dálkových ovladačích Zařízení bývají mezi sebou propojena a je třeba zajistit jejich společnou bezpečnou

komunikaci Není řešením pro všechny situace

Řízený kód přímo na procesoru Určeno pro lidi se zkušeností psaní procesorových kódů

Síťová zařízení Plně podporuje tvorbu zařízení připojených k síti Obsahuje kompletní TCP/IP stack

Zařízení s displejem Podpora pro barevný displej je vestavěná Možnost výběru práce s bitmapami nebo s vyšším modelem založeným na Windows

Presentation Foundation včetně panelů pro rozmisťování ovládacích prvků nebo směrování vstupu

Vývojová prostředí pro C #.NETVisual studio 2010

Je integrované prostředí zjednodušující celý proces vývoje od návrhu až po nasazení Rychlé psaní kódu Prostředí lze uzpůsobit Aplikace lze provozovat na více platformách

Bezplatné nástroje Verze Express – obsahuje free nástroje pro začátečníky a příležitostné programátory Verze Basic Express – způsob, jak se mohou vývojáři naučit programovat pod

Windows Verze C # Basic – práce s .NET Verze C++ Expres – poskytuje nejvíce možností z řad express Verze Web Developer Express – všechny nástroje pro tvorbu normovaných

internetových aplikací Verze Expres for Windows Phone – vývojové prostředí na aplikace pro Win Phone 7 Obsahuje SQL 2008 Expres (databázový systém)

Page 8: Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web viewVývoj v prostředí Microsoft .NET NET Framework Je softwarová struktura sloužící

Placené verze Professional – výkonné nástroje pro kompletní tvorbu aplikací Premium – nástroje určené pro velmi složité problémy Ultimate – poskytuje jednotnou strukturu nástrojů i serverovou strukturu, což

zjednodušuje a urychluje vývoj Team Foundation Serer – umožňuje práci s aplikací po celou dobu životního cyklu

Page 9: Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web viewVývoj v prostředí Microsoft .NET NET Framework Je softwarová struktura sloužící

C# Express Vhodný pro začínající a mírně pokročilé programátory Nové UGI Plná podpora C#.NET 4.0 i s novými prvky NET 4.0 Plně visuální vývoj Winforms apliací WFP aplikace, XAML, Console Aplikation Konektivita s SQL a MS Acces databáze Výborné možnosti nastavení ladění, kompilace a publikování projektů Přehledné odhalení chyb, visuální nastavení vlastností Možnosti vkládáno různých typů tříd do aplikace SQL 2008 Express server je volně šiřitelný spolu s aplikací a je vhodný na Desktop i

server, ale je omezena na 10 GB

Page 10: Vývoj v prostředí Microsoft .NETmedia1.vesele.info/files/media1:50f864783b86b.docx.u… · Web viewVývoj v prostředí Microsoft .NET NET Framework Je softwarová struktura sloužící

Mono Je multiplatformní vývojová platforma Cílem je vytvoření sady nástrojů kompatibilních s dot.net, splňující EDCMA Zaměřeno na multiplatformní aplikace Mono develop – prostředí pro vývoj desktopových a webových aplikací v C# pro

Win, Linux a McOS Lze instalovat na PC obsahující dot.net Nejsnáze leže užít mono z cmd

Mono develop prostředí pro vývoj desktopových a webových aplikací v C# na platformě dot.net výhodou je volná dostupnost a užití buď mono nebo dot.net podpora češtiny obsahuje editor pro psaní kódu s doplňováním a zvýrazňováním syntaxe obsahuje disainer pro návrh grafických aplikací, který je jednoduchý snadná správa projektů velmi jednoduché IDE import objektů z visual studia


Recommended