Post on 22-May-2015
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tehnologii Web
Dr. SabinCorneliu BuragaFacultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Programare Web
ASP.NET: o prezentare generala
Detalii in [SWC, 235‐302] [TX, 285‐293][SW, 199‐212, 263‐270] [NW, 55‐71]
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
ASP (Active Server Pages) .NETEvolutieContext
CaracterizareDezvoltare & exploatare
Alte facilitatiInstrumente & resurse
cuprins
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
ISAPI – Internet Server APIInterfata de programare a serverului Web:Microsoft IIS (Internet Information Services)
asp.net: istoric
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
ASP – Active Server Pages (1996)Extensie ISAPI
Suport pentru realizarea de aplicatii Webinteractive & dinamice
Abordare orientata‐obiect, bazata pe limbaje interpretate(VBScript, JScript)
Conectivitate cu bazele de date si alte tehnologii Microsoft (e.g., COM – Common Object Model)
asp.net: istoric
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
ASP.NET 1.0 (2002), 1.1 (2003), 2.0 (2005)
Parte integranta din .NET Framework 2.0
Independenta de limbajul de programareCodul aplicatiei Web este compilat
asp.net: istoric
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
ASP.NET Model abstract pentru programarea Webpe partea de server, bazat peWeb Forms
InteractiuneWeb condusa de evenimente(event driven programming)
ComponenteWeb executate la nivel de server(proprietati & evenimente)
Suport pentru procesari stateful
asp.net: istoric
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
.NET FrameworkMediu de programare obiectuala, la nivel local/distantaMediu de executie minimizind efortul de exploatare
(deployment)
Ofera suport pentru dezvoltare la nivel declient (aplicatii Windows desktop ori mobile) sau
server (aplicatii/servicii Web)
Versiuni: 1.0, 1.1, 2.0, 3.0, 3.5
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Componente:CLR (Common Language Runtime)
Class Library
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Componente:CLR (Common Language Runtime)
realizeazamanagementul resurselor aplicatiilor .NET
(memorie, fire de executie, executia codului pe bazaunei masini virtuale, verificarea sigurantei codului,
alte servicii de sistem,…)
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Caracteristici ale CLR:Implementeaza o infrastructura de verificare strictaa tipurilor de date si codului– CTS (Common Type System)
Independenta de limbajul de programare folositProgramele sunt compilate in limbajul intermediarMSIL (eventual “din zbor” – JIT (JustinTime)compilation); codul este controlat (managed)la executie via CLR
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tipurile de date oferite pentru .NET 2.0
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Componente:Class Library
pune la dispozitie o colectie orientata‐obiectde tipuri reutilizabile, integrata cu CLR
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Class Library: Facilitati pentru manipularea tipurilor de date comune (e.g., siruri de caractere) sau abstracte(colectii de date, structuri generice)
Acces de nivel inalt la resurse (e.g., surse de date – fisiere, baze de date, XML, conexiuni de retea)
Facilitati pentru dezvoltarea de aplicatii diverse: aplicatii de tip consola, aplicatii grafice (Windows Forms), aplicatii Web (ASP.NET, servicii Web), servicii Windows, aplicatii mobile etc.
…
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Tipurile de date, clasele (concrete sau abstracte) si interfetele sunt standardizate
conform CLS (Common Language Specification)
Numirea acestora se bazeaza pe o ierarhiecare le grupeaza in spatii de nume
Tipurile fundamentale .NET apartin spatiului de numeSystem (radacina)
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Fiecare implementator poate oferi o bibliotecade clase respectind conventia Companie.Tehnologie
Exemple (pentru .NET Class Library): Microsoft.Win32, Microsoft.Csharp, System.Runtime,
System.Net.Sockets,…
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
O aplicatie .NET se executa pe o gazda in cadrul unuidomeniu (application domain) care ofera mediul propice
incarcarii & rularii codului in maniera izolata(se asigura siguranta executiei coduluimanaged)
O gazda (shellWindows, browser, ASP.NET,…)trebuie sa ofere suport pentru CLR
Poate fi rulat si cod unmanaged (ce nu poate fi controlatde CLR) – e.g., “vechile” aplicatii native Windows
(scrise, de exemplu, in C ori C++)
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Blocul de baza .NET este assembly‐ulunitatea fundamentala pentru exploatarea,reutilizarea, controlul versiunii, activarea si
managementul securizat al codului
Un assembly este examinat de CLR pentrua‐i cunoaste tipurile de date si resursele – vazute ca un ansamblu de functionalitati – necesare executiei de cod
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Fiecare assembly are asociat, alaturi de alte meta‐date, un nume unic si poate fi partajat de mai multe aplicatii
Se ofera un set predefinit de assembly‐uri
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
.NET Framework 3.5Extinde .NET 2.0,
oferind un set de tipuri si functionalitati focalizate pe:maniere de prezentare a datelor
(WPF –Windows Presentation Foundation)comunicare orientata pe servicii intre aplicatii(WCF –Windows Communication Foundation)
Suplimentar, se ofera C# 3.0 incluzind LINQ
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
LINQ (LanguageIntegrated Query)Model comun de programare pentru acces la surse de date
eterogene, provenite din obiecte .NET, baze de date, documente XML
Strat abstract intre aplicatia propriu‐zisa si sursele de date
Interogarile asupra datelor sunt permise direct in limbajulde programare via .NET Framework la nivel de CLR, folosind constructii declarative in stilul SQL/XQuery
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
LINQ (LanguageIntegrated Query)acces transparent la diverse sisteme de tipuri de date:
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
LINQ to XMLofera constructii pentru crearea de constructii XML
(opereaza la nivel de Infoset)
tipuri de date noi corespunzatoare nodurilor XML: XDocument, XNode, XElement, XAttribute, XNamespace,…
interogarile se realizeaza via operatori speciali aplicatiasupra oricarui obiect ce implementeaza interfata
IEnumerable <T>, unde T este un tip de data (aici, XML)
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
// cream un document XML via constructiile functionale oferite de LINQXNamespace sp = "http://www.antologie.info"; // adresa spatiului de numeXDocument doc = new XElement( // instantiem un document XML
new XElement (sp + "antologie",new XAttribute ("stare", "ciorna"),new XElement (sp + "poem",
new XElement (sp + "titlu", "Aproape vid"),new XElement (sp + "vers", "Un singur vers.")),
new XElement (sp + "poem",new XElement (sp + "titlu", "Alt poem"),new XElement (sp + "vers", "Primul vers"),new XElement (sp + "vers", "Al doilea vers"))));
asp.net: context – .net framework
Abordarefunctionala(expresiilambda)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
// parcurgem documentul creatforeach (XNode nod in doc.DescendantsAndSelf ()) {
Console.WriteLine (nod);}// ...si il salvamdoc.Save ("antologie.xml");
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
LINQ to XMLo expresie LINQ e compusa din trei parti: obtinerea surseide date, specificarea interogarii si executia interogarii
o interogare incepe cu from si se termina cu select/grouppot fi folosite clauze optionale: where, orderby, join, let
sau alte constructii from
tipul rezultatului poate fi dat explicit sau poate fi dedusde compilator la momentul compilarii via var
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
XDocument proiecte = XDocument.Load ("projects.xml");var proiecteA =from p in proiecte.Descendants ("project") // preluam proiectelewhere (String)p.Attribute ("class") == "A“orderby (String)p.Element ("stud") // sortate dupa numar studentiselect (String)p.Element ("title"); // selectind doar titlul acestora
// afisam titlul proiectelor de clasa 'A'foreach (var proiect in proiecteA)
Console.WriteLine (proiect);
asp.net: context – .net framework
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
// aceeasi constructie de mai sus, dar folosind XPathvar proiecteA2 = (IEnumerable) proiecte.XPathEvaluate
("//project[@class='A']/title");// afisam titlul proiectelor de clasa 'A‘foreach (var proiect in proiecteA2)
Console.WriteLine (proiect);
asp.net: context – .net framework
Va rezulta:<title>NetChatS</title><title>NetChatC</title><title>CVSnet</title><title>Super Proiect</title>
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Beneficiaza de facilitatile .NET Framework:CLR (Common Language Runtime)
Biblioteci de clase dedicateGarbage collectorSiguranta executiei
Necesita prezenta unui server Web compatibil cu IIS(e.g., ASP.NET Development Server)
asp.net: caracterizare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Ofera o stiva stratificata de dezvoltare a aplicatiilor:strat de prezentare + controale Web
cadru de lucru la nivel de pagina (page framework)servicii “de nivel scazut” (de sistem)
asp.net: caracterizare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
O aplicatie ASP.NET este compusa din paginifisiere text stocate la nivel de server,
avind extensia .aspx
asp.net: caracterizare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Directive la nivel de pagina (page directives): specifica mediul de executie/rulare + diverse setari<%@ directiva %>Cod (code section): include cod‐sursa (inline sau salvat in fisiere separate), metode de tratare a evenimentelor,… (codul este pre‐compilat inainte de executie) <script runat=“server”> cod </script>Aranjament (page layout): defineste “scheletul” paginii(XHTML, text, controale Web la nivel de server etc.)<asp:control runat=“server” …> … </asp:control>
asp.net: caracterizare – sectiuni de pagina
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Fiecarui control (avind runat=“server”) ii corespundeo instanta a unei clase specifice, responsabila cumodul de redare & interactiune (look & feel)
al acestuia
Ii e asociat un identificator unic via atributul id
asp.net: caracterizare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
La momentul rularii (runtime), codul‐sursa dintr‐opagina .aspx e “transformat” intr‐o instanta
a unei clase .NET derivata din Page
O pagina ASP.NET in rulare ≡ un obiect
Pot fi folosite si marcaje/componentespecificate de dezvoltator
asp.net: caracterizare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
InteractiuneaWeb este asigurata de controalela nivel de server apartinind System.Web.UI
Controale HTMLControale Web la nivel de server
asp.net: caracterizare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Controale HTMLClasiceAu asociate diverse proprietati:
InnerText, InnerHtml, Value, AttributesA se consulta System.Web.UI.HtmlControls
Controale Web la nivel de serverOfera facilitati suplimentare (e.g., calendar, tree view, data grid etc.), fiind mult mai versatile
Nu neaparat reflecta sintaxa HTMLVezi System.Web.UI.WebControls
asp.net: caracterizare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Stratul de prezentare:Se ofera o pleiada de controale de interactiuneWeb (predefinite sau create de programator: custom controls)
Exemple: <asp:DropDownList>, <asp:Literal>, <asp:Table>, <asp:Wizard>, <asp:Xml>
asp.net: dezvoltare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Stratul de prezentare:Modul de redare e unul adaptiv (in functie de tipul de browser): generare de marcaje XHTML + JavaScript in functie de navigator
Interactiunea are loc intr‐un element <form runat=“server”>…</form>
utilizat pentru propagarea starii aplicatiei Web
asp.net: dezvoltare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Stratul de prezentare – exemple:O eticheta menita a reda un text:
<asp:Label ID="Mesaj" runat="server"></asp:Label>Buton care invoca pe partea de server o actiune:
<asp:Button ID="ButonProc" runat="server" Text="Proceseaza" OnClick="ButonProc_Click" ToolTip="Contorizeaza elementele unui document XML" />
Un control pentru upload‐ul unui fisier: <asp:FileUpload ID="Fisier" runat="server" />
asp.net: dezvoltare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Stratul de prezentare:Orice este inclus intr‐o pagina ASP.NETva fi procesat ca un control
Validarea datelor poate fi realizata via controalelede validare (validation controls)Tipuri: CompareValidator, CustomValidator,RangeValidator, RegularExpressionValidator,RequiredFieldValidator
asp.net: dezvoltare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Stratul de prezentare:Exemplu de utilizare a unui validator
<%-- valideaza valoarea numerica a controlului ‘ani’ --%><asp:CompareValidator runat=“server” id=“valideazaAni”
ControlToValidate=“ani” ValueToCompare=“16” Operator=“GreaterThanEqual” Type=“Integer” ErrorMessage=“Varsta trebuie sa fie de minim 16 ani.” />
asp.net: dezvoltare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Page Framework:Ciclul de viata al unei pagini depinde de diverseevenimente ce pot fi tratate via cod‐sursa
Exemple: Init, Load, LoadComplete, Unload
Unei pagini i se pot asocia secvente de cod (code behind) si directive de personalizare
asp.net: dezvoltare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Page Framework:Fiecare pagina poate fi redata conform unei teme vizuale (via fisiere .skin si .css)
Redarea poate avea loc conform unui sablon(prototip) specificat via paginimaster
Zone din pagina pot interactiona diferitcu utilizatorul – managementul acestorase realizeaza prinWeb PartsSuport pentru integrarea cu servicii SharePoint
asp.net: dezvoltare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Page Framework – directive uzuale:@Import – indica un spatiu de nume@Master – indica o paginamaster@OutputCache – controleaza modul de caching al continutului generat
@Page – defineste atribute la nivel de pagina
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Culture="ro-RO" %>
asp.net: dezvoltare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Stratul sistem:AplicatiileWeb pot fi configurate la nivel de:
Sistem – fisierul machine.configSit Web – fisierul web.config
modifica setarile implicite pentru o aplicatiesau o parte a acesteia
Se ofera si un API pentru efectuarea unor operatiila runtime – Provider Model
Se pot stabili si restrictii privitoare la securitate
asp.net: dezvoltare
DocumenteXML
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Accesul la baze de date se realizeaza via ADO.NETAcces obiectual la diverse surse de date (data providers): Microsoft SQL Server, ODBC, Oracle etc. – vezi System.Data
Controale ASP.NET pentru atasarea la date (data binding): <asp:sqldatasource>, <asp:objectdatasource>, <asp:xmldatasource>, <asp:gridview>, <asp:datalist>,…
Pentru .NET 3.5, se poate recurge direct la LINQ
asp.net: dezvoltare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Accesul la baze de date se realizeaza via ADO.NETUnele controale Web pot prelua date ale unei sursevia atributul datasource:
<asp:BulletedList ID="lista" runat="server" datasource="<%# GetData() %>">…</asp:BulletedList>
asp.net: dezvoltare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
O aplicatie ASP.NET este reprezentata din:directorul ei virtual (locatia la nivel de server Web continind toate fisierele din care e compusa)
fisierul global.asax – include setari/cod responsabilpentru tratarea evenimentelor emise de ASP.NET sau de unele module HTTP
asp.net: exploatare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Fiecarei aplicatii ii corespunde o instantaa clasei HttpApplication avind proprietati precum:
Application – starea globala a aplicatieiContext – contextul rulariiRequest – cererea HTTP curentaResponse – date de raspuns HTTP trimise la clientServer – functionalitati pentru procesarea cererilorSession – datele de tip sesiuneUser – utilizatorul interactionind cu aplicatia
asp.net: exploatare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
asp.net: exploatare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
O aceeasi aplicatie poate fi scrisa in limbaje diferite(module diverse compilate ca assembly‐uri)
Asigurarea navigabilitatii via site map: documentulWeb.sitemap si/sau clasa SiteMap
Personalizarea aplicatiei Web via profile (informatiidespre utilizator, cookie‐uri, starea sesiunii,…)
Suport pentru internationalizare: fisiere de resurse .resx – vezi si System.Globalization
Dezvoltare facila de servicii Web – stocate ca .asmx
asp.net: alte facilitati
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Aplicatiile ASP.NET pot fi scrise (si) in limbajul C#Pur obiectual, inspirat din C, C++, Java si Perl
Specificatie standardizata de ECMAhttp://msdn.microsoft.com/vcsharp/programming/language/default.aspx
Vezi si exemplele puse la dispozitie
asp.net: programare
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Suport pentru transferuri asincrone in stil AJAX via componenta AJAX (ex‐Atlas) ASP.NET
controale aditionale la nivel de pagina ASP.NET
comportamentul implicit al unor controalepoate fi schimbat via control extenders
include si o biblioteca JavaScriptindependenta de navigator
asp.net: ajax asp.net
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
AJAX ASP.NET poate fi extins la rindul lui prin ACT (AJAX Control Kit) – www.codeplex.com/AtlasControlToolkit
se ofera extenders precum Animation, AutoComplete, Calendar, DragPanel, DropDown, DynamicPopulate, ModalPopup,
NumericUpDown, PasswordStrength, ResizeableControl, Slider, ToggleButton, ValidatorCallout
controale noi: Accordion, Rating, ReorderList, TabContainer,…
asp.net: ajax asp.net
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Exemplu de utilizare a unui extender ACT:
<p>Alege ziua pentru planificarea concursului:<asp:TextBox ID=“ziPlanificata” runat=“server” /><act:NumericUpDownExtender ID=“contorZile”
runat=“server” RefValues=“Lun;Mar;Mier;Joi;Vin”TargetControlID=“ziPlanificata” />
</p>
asp.net: ajax asp.net
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Pentru .NET Framework 3.0+, se ofera suportpentru RIA – Rich Internet Applicationsvia Silverlight – www.silverlight.net
Alternativa la grafica vectoriala creata prin Flash ori SVGParte din Windows Presentation Foundation
Multi‐platforma (actualmente: Windows & Mac OS X)Moonlight – via Mono, pentru Linux
asp.net: silverlight
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Via o extensie a browser‐ului Web, se ofera suportpentru redarea de continuturi multimedia (vectoriale), bazate pe scenarii temporale (timelinebased animation),
eventual folosind transferuri de tip streaming
Tehnologia de redare a continutului este XAML (Extensible Application Markup Language) – dialect XML procesat de
un engine Silverlight la nivel de client
asp.net: silverlight
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
O aplicatie Silverlight ruleaza in cadrul browser‐ului,interactiunea cu utilizarea efectuindu‐se via JavaScript
asp.net: silverlight
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interactiunea cu utilizatorul se poate realiza via evenimente tratate local prin cod JavaScript
Comportamentul controalelor de interfata se poate face dinamic via Silverlight Software Development Kit (SDK)
Detalii in L. Moroney, Introducing Microsoft Silverlight, Microsoft Press, 2008 si C. Petzold, Applications = Code +
Markup, Microsoft Press, 2006
asp.net: silverlight
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Interfata aplicatiei Silverlight se specifica in XAML,fiind compusa din controale interactive incapsulate
de un element <Canvas>Exemple de controale: Button, Ellipse, Grid, Label, ListBox, Path,
PolyLine, Rectangle, StackPanel, TextBlock etc.
Realizarea interfetei se poate face cu instrumentulMicrosoft Expression Blend
Interactiunea cu utilizatorul se poate realiza via evenimente tratate local prin cod JavaScript
asp.net: silverlight
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Microsoft Visual Web Developer Express – mediu de dezvoltareWeb (ASP.NET) disponibil gratuit: http://msdn.microsoft.com/vstudio/express/
Eclipse.NET – plugin Eclipse pentru .NET: http://sourceforge.net/projects/eclipsedotnet
Mono – implementare open source (independenta de Microsoft) a .NET, disponibila pe sisteme Unix/Linux si Windows – http://mono-project.com/
asp.net: instrumente
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
AJAX ASP.NET – framework‐ul AJAX oficial pentruASP.NET: http://ajax.asp.net/
AJAX Control Kit – componente aditionale AJAX: www.codeplex.com/AtlasControlToolkit
NUnitAsp – instrument de testare:http://sourceforge.net/projects/nunitasp/
In viitorul apropiat, Microsoft va lansa Dream Spark– initiativa dedicata dezvoltatorilor Web
asp.net: instrumente
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
D. Esposito, Programming Microsoft ASP.NET 2.0. Core Reference, Microsoft Press, 2006
C. Petzold, .NET Book Zero: www.charlespetzold.vom/dotnetS. Robinson et al., Professional C#, Wiley, 2004P. Pialorsi, M. Russo, Introducing Microsoft LINQ, Microsoft Press, 2007
L. Moroney, Introducing Microsoft Silverlight, Microsoft Press, 2008
S. Buraga, Tehnologii XML, Polirom, 2006L. Alboaie, S. Buraga, Servicii Web, Polirom, 2006
resurse
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
Situl ASP.NET oficial: www.asp.net/Tutoriale “rapide”:
www.asp.net/Tutorials/quickstart.aspx.NET Framework Developer Center:
http://msdn.microsoft.com/netframework/GotDotNet: www.gotdotnet.com/O’Reilly OnDotNET: www.ondotnet.com/Silverlight: www.silverlight.net/
resurse
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
ASP (Active Server Pages) .NETEvolutieContext
CaracterizareDezvoltare & exploatare
Alte facilitatiInstrumente & resurse
rezumat
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />
??