Title: ASPNET 3.5
1ASPNET 3.5
2- Pri surfování na Internetu se setkáváme s více
druhy webových aplikací. Pod pojmem webová
aplikace, rozumíme aplikaci, která je umístena na
serveru, pricemž ve vetšine prípadu na serveru
beží i jádro výkonného kódu aplikace a zpravidla
taková aplikace využívá pro svou cinnost i
nejakou databázi. Pokud se pokusíme webové
aplikace kategorizovat, dospejeme k "hrubému"
rozdelení na klientské a serverové aplikace
3- Klientské aplikace
- Tyto aplikace jsou na serveru pouze umísteny
využívají HTML kód, prípadne skripty, které se
vyhodnocují na strane klienta. Mohou být statické
(HTML) a dynamické (DHTML). Tyto jednoduché
aplikace, hlavne dynamické dokáží pri vhodném
využití možnosti HTML a skriptových jazyku na
strane klienta vytvorit urcitou míru informacní
funkcionality a pomerne zajímavé efekty.
4- Serverové aplikace
- Zacínající programátor HTML stránek, okouzlen
možnostmi DHTML kódu a skriptu na strane klienta,
zvlášte když má k dispozici kvalitní nástroj,
napríklad Microsoft FrontPage si možná myslí, že
s pomocí skriptu na strane klienta se dá
zvládnout prakticky všechno. Bohužel to není
pravda. Nekteré, na první pohled jednoduché a
bežné veci se bez podpory skriptu na strane
serveru realizovat nedají. Nedokážeme na strane
klienta naprogramovat dokonce ani jednoduché
pocítadlo prístupu na naše stránky. Mezi
nerešitelné úkoly by také zahrnoval také všechny
ty ankety, publikacní portály internetové
obchody, seznamky, chaty a jiné aplikace s nimiž
se na webu denne setkáváme .. Hlavním problémem
totiž je, že ve všech uvedených typech aplikací
potrebujeme vetšinu stránek generovat dynamicky
na základe vybraných údaju, napríklad objednávky
a podobne. Pro ukládání dat se využívají
databáze. Vybudování internetové aplikace typu
e-bussiness s automatickým zpracováním
objednávek, sledování stavu zásob, prípadne s
rízením marketingové strategie bez výkonného
databázového serveru není možné a jak si ukážeme
pozdeji budeme potrebovat i výkonnou serverovou
technologickou platformu a dobré vývojové
prostredí. Z hlediska financování provozu webové
aplikace rozdelují na komercní, aplikace ruzných
instituci a aplikace typu hobby. Náklady na
webové sídlo mužeme rozdelit na dve cásti, jednak
jsou to jednorázové náklady na jeho zrízení a pak
pravidelné náklady na provoz. Z technického
hlediska potrebujeme na vývoj a následné
fungování webové aplikace serverový operacní
systém, ve vetšine prípadu i databázový server a
aplikacní logika je vytvorena pomocí nejakého
skriptovacím systému. Pojdme ale pekne po porádku
a zkusme analyzovat které konkrétní produkty v
jednotlivých segmentech používají nejvíce.
5- Co potrebujeme pro provoz jednoduché webové
aplikace Webová aplikace potrebuje na strane
serveru tyto služby Operacní systém
podporující sítové služby Webový server
Databázový server Mohou to být napríklad
prostredky od Microsoftu Operacní systém Windows
/XP/ Vista 2003 Server, Internet Information
Server a databázový server Microsoft SQL Server
2005/7. Nekteré z techto programu jsou nebo byly
pomerne drahé, proto se používají i volne
širitelné programy pod operacním systémem LINUX,
napríklad Apache web server a databázový server
MySQL. Následující tabulka prehledne zobrazuje
popsány možnosti. - Není to žádné pevné pravidlo, existuje napríklad
Windows verze populárního webového serveru APACHE
a databázového serveru MySQL. Také pod operacním
systémem LINUX mužeme použít (v omezeném rozsahu)
engine pro ASP stránky.
Operacní systém Webový server Databázový server
Linux Apache MySQL
Windows XP/Vista Internet Information Server SQL Server 2005 ..
Windows V7 Internet Information Server SQL Server 2007
6- Kód aplikace na strane serveru
- Zatím jsme se nedostali k vlastnímu jádru kódu
webové aplikace. Krome HTML kódu a prípadne
databázového jazyka SQL budeme potrebovat i
nejaký programovací jazyk nebo skriptový systém.
V nedávné historii se nejcasteji používaly ASP
stránky a PHP skripty. S nástupem nových
technologických platforem a komplexních
aplikacních prostredí napríklad Microsoft. NET
Framework, Oracle 9i AS, IBM WebSphere ...
vystupují do popredí programovací jazyky JAVA
(Microsoft nabízí Visual J ), Visual Basic a
Visual C . Závisí to také na použité softwarové
platformy. Na serverech s operacním systémem
Windows NT/2000/XP se používá nejcasteji webový
server IIS (Internet Information Server) s ASP,
prípadne novejší ASP.NET stránky. Pod operacním
systémem UNIX nebo LINUX se nejcasteji používá
web server APACHE a PHP skripty, prípadne Java.
7- Princip cinnosti skriptových serverových stránek
(ASP, PHP ...) spocívá v postupné analýze kódu
této stránky. Pokud nekterý rádek obsahuje
skriptový kód, tento se interpretuje a jeho
výstupy jsou vloženy do HTML stránky, která se
dynamicky generuje pro klienta. Pokud rádek
neobsahuje skriptový kód, je zpravidla vložen do
HTML stránky prímo. A aby to nebylo tak
jednoduché, i HTML stránky, generované serverem,
které se pak zobrazují u klienta obsahují
zpravidla krome HTML kódu i kódy v skriptovacím
jazyce, které se provádejí pro zmenu na
klientském pocítaci. Na strane klienta jsou
nejrozšírenejší Skriptovací jazyk JScript a VB
Script.
8- ASP stránky a PHP skripty ASP stránky pracují na
principu vkládání kódu oddeleného oddelovaci,
párovými znaky lt ... gt. Soubory mají zpravidla
príponu. ASP, Skriptový jazyk pro ASP stránky
muže být VBScript nebo JScript. VBScript je
Skriptovací jazyk odvozený od Visual Basic for
Aplications. JScript je implementace Java
Scriptu. Teoreticky je možné na jedné stránce
použít oba Skriptovací jazyk, z hlediska výkonu
to není dobré rešení, protože server musí použít
dva skriptové stroje na zpracování jedné stránky.
Dokonce ani tehdy, pokud nám nezáleží na
rychlosti, nemužeme se spolehnout, že skriptové
stroje ukoncí svou práci a uloží výsledky do HTML
stránky v takovém poradí v jakém byly spušteny.
9(No Transcript)
10- Pokud rádek na ASP stránce obsahuje skriptový
kód, tento se interpretuje a jeho výstupy jsou
vloženy do HTML stránky pro klienta. Pokud rádek
neobsahuje skriptový kód, je vložen do HTML
stránky prímo. Novejší verze serveru nejprve
zkontrolují celý soubor a pokud tento neobsahuje
žádný skriptový kód, prímo ho vloží do HTML
stránky. V našem prípade by výpis oznamní zvládl
HTML príkaz, proto nejdríve uložíme text do
promenné a pak vypíšeme do HTML stránky její
obsah.
Hello.asp ltHTMLgt ltBODYgt lt txt "Ahoj
svet" Response.write (txt) gt lt/BODYgt lt/HTMLgt
Hello.php ltHTMLgt ltBODYgt lt? txt "Ahoj
svet" echo txt ?gt lt/BODYgt lt/HTMLgt
11- Nevýhody ASP, PHP, JSP ..
- Abychom mohli dostatecne ocenit novou platformu,
musíme uvést i hlavní nevýhody ASP stránek, PHP
skriptu a JSP stránek. Nevýhody uvedeme ve forme
heslovite prehledu - kód vytvorený ve zmínených skriptových systémech
predstavuje lineární bezestavový programový
modul, se všemi nevýhodami s tím spojenými. - skriptový kód ASP, PHP a JSP se v techto
systémech míchá s HTML kódem. Nevýhoda je zrejmá.
Na vetších webových projektech pracují obvykle
týmy vývojáru, designéru, grafiku a podobne. Pro
vývojáre muže predstavovat problém kód vytvorený
grafikem, zejména pokud je webová stránka
rozdelená do nekolika rámcu, prípadne pokud se
používají moderní technologie, jako napríklad
Macromedia Flash. Pro grafika webových stránek je
zase záhadou skriptový kód, který nacházejí ve
svých dríve vytvorených stránkách, a to na tech
nejocekávanejších místech, napríklad uvnitr HTML
kódu pro vytvorení tabulek. - dochází k míšení jednotlivých architektonických
vrstev projektu - vytvorit vývojové prostredí pro tuto technologii
ne je práve jednoduché. Vývoj webových aplikací
na zmínených platformách muže být pomerne nárocný
a zdlouhavý a tedy i drahý. - programátori jsou zvyklí používat osvedcené
moduly v ruzných projektech. Zmínené technologie
však takovou modularitu neumožnují, jedine
kopírování zdrojového kódu z jednoho zdrojového
souboru do nového souboru a jeho následné
prizpusobení. - Po vygenerování HTML kódu na strane serveru, byl
tento kód odeslán ke klientovi a následne server
na všechno zapomnel.
12- Základy architektury ASP.NET
- Presto, že se jedná o pomerne novou technologii,
má už se sebou urcitou krátkou historii. Poprvé
se technologie ASP.NET, tehdy ješte pod oznacením
ASP objevila pred více než sedmi lety jako
soucást první beta verze vývojového prostredí
Visual Studio. NET. V dalších beta verzích a
samozrejme i ve finální verzi Visual Studia. NET
je oznacení této technologie ustálilo na ASP.NET.
Pro své výhodné vlastnosti technologie ASP.NET
zrejme postupne nahradí klasické ASP stránky.
ASP.NET používají stejnou technologii oken,
dialogu a formuláru jako bežné Windows aplikace.
K jednotlivým vizuálním prvkem se vážou procedury
pro ošetrení stavu a událostí. Hlavní rozdíl mezi
technologií ASP a ASP.NET je ten, že kódy na
stránkách ASP.NET jsou kompilované. Tím se
odstranila nutnost analýzy a interpretace
jednotlivých rádku pri každém prístupu klienta.
Vznikne kompilované kód, který je samozrejme
mnohem rychlejší. Klasické ASP stránky pomocí
skriptu na strane serveru prímo generují HTML
stránky, která se zašlou klientovi. Stránky se
interpretují od zacátku do konce bez možnosti
ošetrovat vzniklé stavy a události.
13- V soucasné dobe prichází z dílny spolecnosti
Microsoft nová verze vývojového prostredí s
oznacením Visual Studio 2008. Novinky se týkají
predevším vývoje webových, intranetových a
"smart" aplikací pro Offi ce 2007. Nová verze již
tradicne nabízí efektivnejší nástroje pro
vizuální návrh uživatelského prostredí a
vylepšené možnosti ladení, takže si oprávnene
zaslouží prívlastek "RAD" (Rapid Application
Development). Když vývojári odhalí a budou plne
využívat nové vlastnosti prostredí Visual Studio
2008 podstatne vzroste efektivnost jejich práce.
Prináší mnohé nové rysy a vylepšení, reagující na
nové trendy jako napríklad Web 2.0 nebo rostoucí
význam orientace na služby, komfortu
uživatelského rozhraní, do hry vstupuje i
modelování obchodních procesu a správa
digitálních identit a podobne. S nekterými novými
rysy jsme již meli možnost se setkat ve forme
ruzných doplnku a servisních balícku na konci
pontifikatu predchozí verze Visual Studio 2005,
jiné jsou zcela nové. Vývojové prostredí je úzce
spojeno s technologickou platformou. NET
Framework 3.5
14- Resumé šestileté historie platformy.
- NET Framework. NET Framework umožnuje rychlou
tvorbu aplikací pripojených k datum, s nimiž jsou
koncoví uživatelé velmi spokojeni. Poskytuje
totiž stavební bloky (prefabrikovaný software)
pro rešení castých programátorských úkolu.
Priložené aplikace využívající. NET Framework
efektivne modelují procesy podnikatelské sféry a
usnadnují integraci systému v heterogenních
prostredích. Visual Studio a. NET Framework
spolecne snižují potrebu každodenního psaní
programového kódu, zkracují cas vývoje a dovolují
vývojárum soustredit se na rešení vlastního
problému. Císlice 3 pred desetinnou cárkou
prozrazuje, že se jedná minimálne o tretí verzi,
no císlice za desetinnou cárkou dává tušit, že
exitovali-li mezi - verze. Podívejme se tedy na
historii, na postupný vývoj verzí platformy. NET
Framework.. Vývojári nemusí znovu a znovu
programovat základní elementy aplikací, pocínaje
prihlašovacím dialogem, rozhraním pro
administraci aplikace a jejích uživatelu
zobrazením obsahu databázové tabulky, platbu
kreditní kartou a podobne. Verze 3.5 prostredí.
NET Framework - vlajkové technologické platformy
spolecnosti Microsoft nám prozradí, že. NET
Framework má už za sebou pomerne bohatou
historii.
15- . NET Framework 1.0 (2002)
- Tato verze je spojena s vývojovým prostredím
Visual Studio. NET 2002, které bylo následníkem
populárního "klasického" vývojového prostredí
Visual Studio 6.0. Poprvé se objevují "rízené"
(managed) jazyky C 1.0 a Visual Basic. NET,
dokonce i Managed C . Predtím byl kód napsán v
programovacím jazyce Visual Basic prekládané ve
dvou krocích. Nejprve se generoval medzikód, na
který se aplikoval kompilátor jazyka C . Na
scénu prichází i platforma ASP. NET 1.0 pro vývoj
webových aplikací.
Preklad zdrojového kódu do MSIL (Microsoft
Intermediate Language)
16- . NET Framework 2.0 (2005)
- Verze je spojena s vývojovým prostredím Visual
Studio 2005. Toto technologické rozhraní ve
srovnání s první verzí prinesla o v 2372 nových
objektových tríd více (dosavadní pocet 4482 se
rozrostl 6854), pricemž pribyla velká množina
tríd pro SQL Server 2005. Rozrostla se i paleta
dostupných ovládacích prvku at už pro ASP.NET
nebo WindowsForms aplikace. Významnou novinkou je
i možnost vývoje aplikací s využitím technologie
ASP.NET 2.0, podpora sériového portu, objektové
prostory, prístupová práva k souborum a práce s
certikatm el. S novou verzí frameworku prišli i
nové verze programovacích jazyku C 2.0, Visual
Basic 2005, nové trídy v BCL (Based Class
Library), podpora pro generika v CLR ... S
platformou .NET Framework 2.0 je spojena i
platforma ASP.NET 2.0 pro vývoj webových a
intranetových aplikací..
17(No Transcript)
18- . NET Framework 3.0 (2006) Verze je spojena s
vývojovým prostredím Visual Studio 2008. Nosnou
ideou pro tuto "novou" verzi technologické
platformy. NET Framework je jednoduchý a
efektivní vývoj aplikací propojení byznysu s
lidmi, informacemi a procesy. V dalším popise
vysvetlíme proc jsme dali slovo "novou" do
uvozovek. Zatímco predchozí inkrementální verze
platformy. NET Framework (1.1 a 2.0) obsahovaly
vždy nové, zcela prepracované verze CLR (Common
Language Runtime) a BCL (Base Class Library),
verze . NET Framework 3.0 využívá CLR i BCL ze
starší verze 2.0. Nové technologie, tedy - Windows Presentation Foundation (WPF, dríve
Avalon), - - Windows Communication Foundation (WCF, dríve
Indigo), - Windows Workfl ow Foundation (WF), - - Windows CardSpace (dríve InfoCard), jsou
implementovány nad jádrem ze starší verze 2.0.
19. NET Framework 3.0 má implementovány nové
technologie na jádre CLR a BCL z verze 2.0
20- Nová verze již tradicne nabízí efektivnejší
nástroje pro vizuální návrh uživatelského
prostredí a vylepšené možnosti ladení, takže si
oprávnene zaslouží prívlastek "RAD" (Rapid
Application Development). Když vývojári odhalí a
budou plne využívat nové vlastnosti prostredí
Visual Studio 2008 podstatne vzroste efektivnost
jejich práce. Vývojové prostredí je úzce spojeno
s technologickou platformou. NET Framework 3.5. V
soucasné dobe je k dispozici opravný balícek SP1
pro Visual Studio 2008 i pro platformu. NET
Framework 3.5. - Shrnme novinky
- - ADO.NET Entity Framework,
- - ASP.NET Silverlight controls
- ADO.NET Data Services,
- ASP.NET Dynamic Data
- - Podpora pro SQL Server 2008
- - LINQ
- - NET Framework Client Release ( "Arrowhead"), -
2007 Ribbons
21. NET Framework 3.5 SP1
22NA tomto schématu mužeme sledovat cestu požadavky
klienta. Požadavek klienta postupuje pres
jednotlivé vrstvy zdola nahoru, pricemž handler
pro vetvení kódu k jednotlivým blokum je témer až
na samém konci tohoto procesu.
23- Pro ASP.NET stránky je vyclenena souborový
prípona ASPX (ASP stránky mely príponu souboru
ASP). Tyto stránky jednak zabudovány vizuální
elementy pro komunikaci s uživatelem které
generují príslušné události, napríklad reakci na
kliknutí na tlacítko a podobne. Tím je dosaženo
nelineární, událostmi rízené zpracování kódu.
Vymenit zakladnu HTTP handlery, to jest bloky v
nichž se zpracovává obsah kódu ze souboru ruzných
typu. Web Forms (. aspx) - - System.Web.UI.PageHandler Webové služby (.
asmx ) - System.Web.Services.Protocols.WebServiceHandlerFac
tory Tracing (Trace.axd) - System.Web.Handlers.Tracehandler. NET Remoting
(. rem, . soap) - System.Runtime.Remoting.Channels.Http.HttpRemoting
HandlerFactory Soubory ze zákazem prístupu (asax,
ascx, config, vb, vbproj, cs, csproj, webinfo,
asp, licx, resx, resources) - System.Web.HttpForbiddenHandler
System.Web.StaticFileHandler (GET, HEAD) - System.Web.HttpMethodNotAllowedHandler (zbytek)
24- Hlavní výhody technologie ASP.NET
- rychlost aplikaci, protože veškerý kód je
predkompilovanými. ASP.NET aplikace jsou
nekolikrát rychleji než klasické ASP aplikace - striktní objektové programování
- využití klasických programovacích jazyku, napr.
C , Visual Basic, JScript ... - striktní oddelení jednotlivých vrstev aplikace.
Vývoj aplikacního kódu muže být dusledne oddelen
od designového a grafického návrhu HTML stránek - vývoj je mnohem efektivnejší, hlavne díky tomu,
že není nutné neustále programovat stejné
záležitosti jako napríklad autentizaci a
autorizaci klientu, konektivitu k databázím,
ošetrování nejcasteji se vyskytujících chybových
stavu , stránkovaný výpis údaju z databází, ..
ale vždyt to jako vývojári sami z vlastní praxe
znáte - pri zmenách aplikace se na rozdíl od technologie
ISAPI nevyžadují žádné restarty, takže webový
projekt mužeme velmi snadno spravovat na dálku. - Zmena aplikace mužeme realizovat jednoduchým
nakopírován souboru bez zastavování webového
serveru. - Konfiguracní údaje jsou uloženy v XML souborech
Nevýhody technologie ASP.NET Podobne jako tomu
bylo u technologie ASP kdy jsme její hlavní
nevýhody jmenovaly na konci predchozí kapitoly, i
ASP.NET má urcite nejaké nevýhody a mužete se
spolehnout, že budou jmenované pri propagaci nové
nástupnické technologie.
25- Nevýhody technológie ASP.NET
- Podobne jako tomu bylo u technologie ASP kdy jsme
její hlavní nevýhody jmenovaly na konci predchozí
kapitoly, i ASP.NET má urcite nejaké nevýhody a
mužete se spolehnout, že budou jmenované pri
propagaci nové nástupnické technologie. - Literarura
- Lacko,L. ASP.NET pre zaciatocníkov . Microsoft
2008 http//msdn.microsoft.com/cs-cz/dd727769.aspx
- Lacko,L. Nová vlna technológií pre Visual Studio
2008 a .Net Framework 3.5 Microsoft 2008.
http//msdn.microsoft.com/cs-cz/dd727769.aspx