|
|
Web Design + Development Tutorials and Articles | EMail | Pretraga | Rečnik |
| Razvoj | Dizajn | Kreiranje | Panorama | Usluge | Poslednja izmena: 30.10.2004. g. |
| HTML | CSS | XML | XHTML | HTAs | ASP.NET | ASP.NET 2.0 | Web servisi |
|
|
Sadržaj |
Pojavom ASP.NET sad već davne 2000. godine i novog koncepta razdvajanja serverskog i klijentskog dela približila je Web razvoj standardnom Windows razvoju. Sa ASP.NET započinje nova era Web razvoja gde se jednostavno kreira serverski koda koji klijentu šalje HTML i JavaScript koji potom kreira događaje koje se obrađuju na samom serveru. Bez obzira na svoje mane, ASP.NET ponudio je novu viziju uz veliku fleksibilnosti, modularnost i pre svega mnogo odličan razvojni alat. ASP.NET brzo postaje omiljen kod Web programera jer je rešio mnoge dotadašnje problem prilikom kreiranja dinamičkih Web aplikacija ali ujedno sa sobom doneo i nove probleme. Oktobra 2003. Microsoft je predstavio ASP.NET 2 obećavajući rešenje svih onih problema koje je sam ASP.NET doneo. Naravno i mnogo više od toga jer nas je na to prosto navikao. Sve prave izmene zahtevaju dramatične razlike kao što se ASP razlikovao od ASP.NET možemo reći da se tako i ASP.NET 2 razlikuje od ASP.NET 1.x. Danas pojavom prvih beta verzija okruženja zavirili smo malo iza scene kako bi videli šta nam se sve to nudi. PredjeloNovi recept iz dobro nama znane kuhinje počinje sa povećanje produktivnosti koji nastaje samanjenjem pisanja koda čak i do 70% korišćenjem novih gradivnih blokova. Gde su bili do sad, naš prethodni znoj, neprespavane noći postaju deo zaborava jer se mnogi opšte prihvaćeni scenariji sada implementiraju sa manje koda tj. postali su deo razvojnog okruženja. Nove serverske kontrole. ASP.NET 2.0 donosi nam preko 50 novih serverskih kontrola i to u domenu: Data Controls Pristup podacima se sada može direktno navođenjem direktiva iz kontrola. Postoje različite zavisno od toga gde se podaci nalaze kao što je SQL baza podataka, poslovni objekti i XML. Ove kontrole možemo podeliti u dve grupe te su DataSource i DataBind (Ove kontrole su prikazane kasnije u okviru RichControls) kontrole. Jedne definišu izvore podataka a druge koriste taj izvor za prikaz i ažuriranje. Evo jednog malo primera:
Nove kontrole omogućavaju i korišćenje parametrizovanih upita sa poboljšanim sistemom za keširanje podataka kako ne bi bilo nepotrebnih upite nad bazom podataka. I da napomenemo još jednu malu sitnicu kod povezivanja podataka u ASP.NET 1.x koristili smo
Postoji još jedan operator koji omogućava dovosmerno povezivanje tj. Bind(fieldname) operator koji može da se koritsti za preuzimanje podatka a ujedno omogućava da se vrednost prenese komandama za izmene, dodavanje ili brisanje. Postoje još i operatori XPath, XPathSelect koji jednostavno refereciraju podatke u okviru XML-a. Gde XPath vraća jednu vrednost a XPathSelect vraća listu nodova ( Lepo zar ne :). Sa ovim kontrolama bez problema možemo sortirati, straničiti, keširati, filtrirati, menjati, dodavati, brisati podatke uz kreiranje složenijih formi poput Master-Detail pregleda sa parametrima. Data Source
Navigation Controls Navigacijske kontrole obezbeđuju standardan interfejs za navigaciju unutar Web aplikacije ili strana kao što su: treeviews, menus, i breadcrumbs. Ove kontrole koriste navigacijske servise radi preuzimanje strukture koja definiše kretanja u okviru Web aplikacija. Struktura za navigaciju se definiše u okviru XML fajlova se .sitemap ekstenzijom. A pristupa joj se kroz SiteMap klasu.
Login Controls Novi gradivni blokovi za autentikaciju i autorizaciju koje koriste ugrađene servise za uloge, prava i privilegije koje se definišu.
Web Part Controls WebParts omogućavaju da se sadržaj i raspored elementa direktno ažurira iz aplikacije ( ukoliko ste upozanti sa SherPonit-om onda vam je jasno ). Ove kontrole se oslanjaju na nove servise za personalizaciju u ASP.NET 2.0 koje obezbeđuju jedinstveno iskustvo za svakog korisnika aplikacije. I Web se sve više liči na sam Microsoft™ Office, ljubi ga deda.
Ostatak Napomnuću da postoje i sledeće kontrole ( spisak nije konačan :)
Master Pages Ova funkcionalnost nam omogućava da definišemo jedistvenu strukturu Web strana i drugih elemenata u okviru Web aplikacije. Fukncionalnost je slična Master stranama u okviru programa Microsoft™ PowerPoint. Pomoću ovih tkz. šablona strana definišemo npr. zaglavlje strane, navigaciju koja se može deliti sa svim drugim stranama u okviru sajta. Pomislite na “vizuelno naslđivanje” i sve će vam biti jasno. MasterPages koriste ContentPlaceHolder-e koji definišu gde će pojavljivati ostale strane i inicijalni sadržaj. Zatim se definišu podstrane takodje ASPX koje se refernciraju na MasterPage pomoću direktive.
Pod strana menja sadržaj osnovne strana jednostavnim refernciranjem na ContentPlaceHolder-a. Npr.
MasterPage može se definisati i u okviru Web.Config fajla tako da se sve strane direktno koriste bez navođenja direktiva. Proširen je objektni model tako da System.Web.UI.Page omogućava da se preko osobine Master podstrane mogu se referncirati na MasterPage i na taj način kontrolisati prikaz i stanje kontrola.
Master strane mogu biti više struko nasleđivane kako bi se proizveo različit prikaz npr. po direktroijumima. Apsolutnih URL putanja u okviru MasterPage-a <img src="/myapplication/images/banner.gif" /> Korišćenje aplikacijskih relativnih URL-ova kod serverskih kontrola <asp:Image ImageUrl="~/images/banner.gif" runat="server" /> Ovde im jedino zameram što nisu proizveli izraz za mapiranje Root URL-a aplikacije. U razvojnom okruženju MasterPage je vidljiva i označena je samo za čitanju u slučaju rada sa pod stranama i lako se može izmeniti u bilo kom trenutku otvranjem same strane. Sve ovo može se izvesti i dinamčki kroz kod. Themes and Skins Teme i skinovi su nam već daleko poznati iz mnogih desktop aplikacija (WinAmp). Ova funkcionalnost omogućava nam definisanje jednostvnog i prilagodivog izgleda po principu pogledaj i oseti. Možemo tako menjati izgled ne samo Web strana nego već i samih kontrola kao osnovih delova strana.U okviru PAGE direktive nalazi se novi atribut Theme: <% Page Theme=”BasicBlue” %> Tema je kolekcija skin-ova, slika i stilova, a skin je kolekcija atributa koje se primenjuju na kotrole za definisanje izgleda koje se definišu u okviru .skin datoteka. Jedna tema može da ima više skin definicija od koji je jedan inicjalnli a drugi se mogu referncirati pomoću SkinID atributa. Mobile Device Support Sve standardne ASP.NET 2.0 kontrole su sada nasledile bogat adapter za renderovanje tako da omogućavaju bogatiju kontrolu nad prikazom za različite Web čitače i uređaje. Tako da bez problema aplikaciju možete odmah gledati u preko 300 različitih uređaja koji podržavaju različite standarde (WAP/WML, XHTML Mobile, cHTML, itd.), jer ASP.NET 2.0 kontrole se automatski prilagođavaju čitaču. ČorbaPosle predjela sledi obično dobro zakuvana čorba. Sastavni deo života jedne Web aplikacij je deo za administraciju i upravljanje u produkcijskom okruženju, pa čorba biva ukusnija sa novim začinima koje nam donosi ASP.NET 2.0 i to
ASP.NET 2.0 sadrži novi API za konfiguraciju koja omogućava dinamičko i upravljivo okruženje koje kontroliše kod kreirajući programe i skriptove koji menjaju konfiguracione fajlove kao što su web.config i machine.config. ASP.NET MMC Admin Tool ASP.NET 2.0 obezbeđuje novi alat koje je deo postojeće konzole za administraciju IIS-a omogućavajući odličan grafički interfejs za izmenu podešavanja koja se sad nalaze u okviru XML konfiguracionih datoteka. Pre-compilation Tool Uz ASP.NET 2.0 dolazi nam preko potrebni alat koji omogućava prekompilaciju dinimičkih ASP.NET apikacija u trenutku prebacivanje verzije u produkciju. Pred same prekompilacije postoji i još jedna novina tj. možemo na produkciju prebaciti verziju koje nemaju ni deo datoteka sa serverskim kodom ( čak i same aspx strane) samo statičke fajlove (slike, stilovi itd.) i potrebne dll-ove. Health Monitoring and Tracing ASP.NET 2.0 obebeđuje novi sistem za nadgledanje života i rada aplikacije omogućavajući admistratorima brza obaveštavanja u slučaju pojave grešaka. Novi alati za praćenje omogućavaju administratorima da u realnom radu uhvate podatke iz samog HTTP zahteva radi bolje dijagnostike. Sistem obezbeđuje i praćanje statistike sa gerisanjem izveštaja o upotrebljivosti aplikacije. Glavno jeloA kao glavno jelo dolazi nam povećana fleksibilnost. Nadam se da ste još uvek gladni. Pošto ASP.NET 2.0 predstavlja odličan otvoreni sistem, gde se svaka komponeta može jednostavno zamenti ličnom implementacijom. Sada se sve lako može prilagoditi potrebama bilo da su u pitanju serverske kontrole ili osnovni servisi aplikacije. Pa krenimo redom: Server Control Extensibility ASP.NET 2.0 pobljšao je proširivost kontrola, kreirajući nove osnovne klase koje sadrže osnovna ponašanja. Unapređena je pomoć u dizajn modu, dodato više API-ija za interakciju sa skriptom na samom klijentu i podrška metapodacima za nove funkcionlnosti kao što su teme, verifikaciju pristupa, bolje organizovno upravljanjem stanjem kontrola i strana i još mnog toga. Data Source Controls Pristup podacima u ASP.NET 2.0 se sada provodi direktivama iz samih kontrola u okviru strana. Ovakav modela dozvoljava jednostavnu implementacijui sopstvene kontrole za prihvatanje podataka kao bi se podržali razni izvori podataka. Compilation Build Providers Dinamičko prevođenje u ASP.NET 2.0 se sada obrađuje preko proširivih provajdera za prevođenje, koji se povezuju sa ekstenzjom fajla koji zanju kako da dinamički prevode u realnom radu aplikacije. Na primer, .resx datoteke se dinamički kompjliraju u resurse, .wsdl u proksije web servisa a .xsd u tipizirane DataSet objekte. Na taj način mogu se napraviti lični provajderi za prevođenje novih ekstenzija i lako se registrovati u samom web.config fajlu. Expression Handlers ASP.NET 2.0 predstavlja novu sintaksu za referenciranje resursa u okviru strana, kao što su resursi za lokalizaciju, stringovi za konekciju, definicije u okviru web.config-a i vrednosti profile. Takodje se može kreirati sopstvena sintaksa kako bi se pozivle vrednosti. U primeru se nalazi GridView kontrola povezana sa SqlDataSource kontrolom.
Primetićete da DataSource kontrola referncira na string za konekciju preko imena korišćenjem izraza koji pruzima string za konekciju iz web.config fajla u toku realnog rada sistema. Ovaj primer sam iskoristu da bih napomenu da se sada u web.config mogu lako definisti konekcije na bazu podataka u okviru sekcije <connectionStrings>. Takođe još jedan lep zalogj, u ASP.NET 2.0 postoji alat koji omogućava kriptovanje ovih sekcija u produkcijskom okruženju. <configuration> The Code Directory U realnom radu ASP.NET 2.0 omogućava i kompajliranje biblioteke (npr .cs ili .vb datoteke) a ne samo aspx strane. ASP.NET 2.0 predstavlja tkz. Code directory, direktorijum koji može da sadrži samostalne strane koje se mogu deliti između strana u aplikaciji. Sada je moguće da u okviru istog projekta držimo datoteke pisane u različitim programskim jezicima i da nam budu dostupne u realnom radu ukoliko su smeštene pod Code directory, a ne samo kompajlirane biblioteke u okviru bin direktorijuma. Membership ASP.NET 2.0 predstavlja nove klase tj. Membership i MembershipUser koje obezbeđuje korisne metode za upravaljnje korisnicima aplikacije. Evo šta sve može klasa Membership:
Kada se preuzme instaca MembershipUser direktno nad njim možemo činiti sledeće:
Ovi podaci mogu da budu smešteni zavisno od konfiguracije Provider-a. ASP.NET 2.0 trenutno obezbeđuje provajdere za Microsoft™ Access i Microsoft™ SQL Server baza podataka i Active Directory. Role Manager Membership servisi i nove login kontrole nebi bile potpune da nije nove centralizovane klase za upravljanje ulogama. Nova Roles klasa obezbeđuje metode za kreiranje, ažurianje uloga i povezivanje korisnika sa njima. RoleManager dolazi nam i u okviru HttpModul-a, koji je vidljiv kroz HttpContext klasu i samim tim vidljiv u okviru svake strane i kontrole, omogućavajući nam da sada obezbedimo direktorijume i strane korišćenjem konfiguracionog elementa <authorization> jer u zavisnosti od informacija o ulozi korisniku može biti dozvoljeno da koristi samo određene strane i direktorijume u okviru aplikacije. Profiles Web aplikacijama su uvek potrebni konvencijalni metodi za upravljanje specifičnim podacima o korisnicima. ASP.NET 2.0 obezbedio je pristup za definisanje podataka o korisnicima kao i sistem za njihovo čuvanje i preuzimanje. Profili se definišu preko XML sintakse u okviru konfiguracionih datoteka (machine.config i/ili web.config). Ti podaci su dostupni preko Profile objekta. U okviru ovog sistema mogu se čuvati i podaci o autentikovanim korisnicima kao i običnim posetiocima. Podaci se čuvaju nalik podacima Membership i Role Manager klasa zavisno od provajder-a. Pomoću Profile klase možemo
Localizing An Application ASP.NET 2.0 posvetio je izgleda dosta pažnje i kreiranju multijezičnih aplikacija, tako da sad imamo:
U sledećem primeru demonstriraćemo lokalizaciju Label kontrole:
Prvo možemo videti da u okviru Page direktive se sada nalaze atributi koji setuju kulturu u trenutno aktivnu niti (thred-a). Vrednosti atributa su automatske što ukazuje da će se setovati kultura tj. jezik koji je korisnik naveo u okviru svog Web čitača. I jedna od najbitnijih stvari jesu izrazi koji dodeljuju osobinama kontrola vrednosti iz resurs fajlova prema ključu navedenom u izrazu. PoslasticeUvek ostane mesta za male slatke poslastice posle svakog obilatog obroka. Naravno nakon toga nam opadaju peformanse i skalabilnost. Ali ovde naprosto sve funkcioniše kako treba, ASP.NET 2.0 donosi nam nove prednosti u odnosu na prethodnu verziju što se tiče peformansi pa zagrizimo samo još jedan zalogaj: New Code Separation Model Kako bi se podržale nove funkcionalnosti C# kao što je parcijalne klase u ASP.NET dolazi nam i treći model razdvajnjae koda. Do sad je postojao inline koje se pisao u okviru samih aspx fajlova codebehind koji je sadržao samo serverski deo i sada treći tkz. parcijalni model. Parcijalni model omogućavam da se deo serverske obrade može nalaziti i u zasebnom fajlu, tj. u jednom možemo imati direktive kontrola a drugom obradu stanja. Dovoljno je u okviru direktive strane dodati samo da se ona kompjlira sa ovom trećom pomoću atributa CompileWith dok se osnovna navodi sa ClassName. Client Callback Manager Prednosti koje nam je doneo XmlHttp su sada ugrađenje i u ASP.NET 2.0 omogućavajući na taj način mikro izmene tj. da se samo jedan deo prebaciju sa klijenta na server ne napuštajući samo stranu ( strane se ne osvežava). Ova funkcionalst donosi nam neverovatne mogućnosti, koje smo do sad implementrali ručno ali utiče da koristimo IE 5.0 ili noviju verziju. Validation Groups U dosadašnjim verzijama nije postajao način bar ne jednostavan da se grupišu validatori. Pa nije bilo moguće da imamo više formi na jednoj strani od kojih jedna koristi validatore npr. za obevezan unos a druga ne. Jer ova prva nije dozvoljavala odlazak na server iako je druga bila popunjena po propisu. Sada je problem rešen tako da se grupišu validatori i kao takvi dodele jednom dugmet-u koji izaziva prebacivanje podataka na server. CrossPage Posting Teško je bilo izvesti da se podaci sa jedne forme prebace na drugu, jer je ASP.NET 1.x dozvoljavao sam prebacivanje podataka na istu stranu u kojoj se forma i nalazi. Sada postoji PostBackUrl osobina u okviru kontrola koja omogućava prebacivanje podataka i na druge strane. 64-Bit Support ASP.NET 2.0 omogućava iskorišćavanje 64-bit procesora I pri tome nemoramo misliti o tome. Postojeće 32-bit ASP.NET aplikacije se automatski prebaciju od strane samog prevodiova (JIT kompajler-a) Caching Improvements ASP.NET 2.0 donosi nam moćan alat za keširanje sadržaja u samim bazama podataka. Ovaj moćan i jednostavni sistem omogućava automatsko obnavljanje sadržaja kada se tek kada se isti promeni u bazi podataka i još puno toga. Web Events Nova funkcionalnost koja omogućuje emitovanje događaje u realnom radu kako bi obavestila pojavljivanje intersantne akcije ili da izvesti o svom zdravlju i životu. Ova funkcionalnost omogućava administratorima da utvrdi koji događaji njega interesuju i da kroz pretplatničku konfiguraciju navede kanal preko koga će biti obavešten. Podržani su sledeći kanali:
ZaključakPostoji još mnogo novih funkcionalnosti koje ovde nisu napomenute, kao što je prilagođavanje sadržaja za PDA uređaje i druge specifičnosti za mobilne uređaje. U ovom prikazu izostao je samo razvojni alat tkz. Visual Web Devloper kao deo Visual Studio 2005 familije koji donosi mnogo novina i koji je napokon rešio probleme koje su zagorčavale život (npr. formatiranje koda u slučaju prelaska iz dizajn moda u pregled koda) Ako gledamo da razvoj gradjevinarstva svoje korene vuče još iz doba najstarijih nama znanih civilizacija ovi tkz. ogromni pomaci u razvoju Web tehnologija i tehnika predstavljaju samo male deliće jedne velike slagalice koja će jednog dana činiti celinu. Taj dan nije daleko, jer posle ovako dobrog jela obično padne lepa noć i još lepše jutro. Do pojave ASP.NET 2.0 nije daleko treba iskoristiti vreme kako bi se dobro isplaniralo ne samo prebacivanje napisanog koda za ASP.NET 1.x na ASP.NET 2.x. već i za nove projekte. Skorić Milan
|
![]() Prijavite se na naš informator [ Informator
Pomoć! |
|||||
|
|||||||
| Razvoj | Dizajn | Kreiranje | Panorama | Usluge |