AJAX/Otto Knudsen 1 AJAX Motivation Definition. AJAX/Otto Knudsen 2 Motivation En typisk web-applikation er synkron klienten sender en forespørgsel og.

Slides:



Advertisements
Lignende præsentationer
Kort om JavaScript Afvikles i browser på klienten Sendes fra server (php, asp, aspx, htm) eller startes i klient som htm/html fil. Skabelon: –”main” -
Advertisements

Parameteroverførsel i OIM Mellem portal og serviceprovider.
Introduktion til Javascript – Grundlæggende Webdesign, F2004. Introduktion til Javascript.
Hjemmesidekonstruktion Tjekspørgsmål 1.Hvad er et markup-sprog – hvad bruges det til? 2.Hvad er forskellen mellem et markup-sprog og et scriptsprog? 3.Hvad.
Web 2.0 Teoretisk viden.
Vejledning i anvendelse af Web Feature Services Version 1
Introduktion til ASP.NET 2 Michell Cronberg Microsoft MVP, MCAD TechTalks hos Microsoft.
Udvikling af ANDROID programmer (apps) Jens Bennedsen og Jesper Tørresø marts 2011.
Masterpages/Otto Knudsen 1 Master Pages  Master Pages i ASP.NET 2.0.
Atlas/Otto Knudsen 1 "Atlas"  AJAX Extensions til ASP.NET.
07 – Kort om OO Introduktion.
Sikkerhed/Otto Knudsen 1 Diagnostics  Debug af web-applikationer.
Distribueret programmering, specielt Web Services Rasmus D. Lehrmann DM
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
ASP.NET Extensions Jakob Tikjøb Andersen
ASP.NET Cache, State DataGrid og Diagnostics. Agenda – ASP.NET Cache, State og Cookies ( 1 del ) –Cache –Static member –Application State –Session State.
e-Tinglysning WebService Arkitektur
Masterpages/Otto Knudsen 1 Master Pages Master Pages i ASP.NET 2.0.
Eksekvering/Otto Knudsen 1 Udrulning Publicering af en web-applikation.
Introduktion/Otto Knudsen 1 Overblik WebForms ASP.NET.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Hvorfor trådning? Performance Responsivness. Succeskriterier Forbedring af performance –Opgaverne skal være uafhængige –Jo flere afhængige opgaver, jo.
Inspirationsdag i Undervisningsministeriet Introduktion til webservice Thomas Ellegaard Freelanceprogrammør tilknyttet Rambøll Informatik
© 2013 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf Side 1 Simon Otto Nielsen Diplomingeniør i informations og kommunikationsteknologi.
XML1 4.7 XML and Its Data Model. XML2 Introduktion til XML, 178 XML = eXtensible Markup Language Markup language –sprog, hvor data "pakkes ind" i tags.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Stig Irming-Pedersen ASP.NET MVC Partner Copenhagen Software.
Google Earth som GIS applikation? Nikolaj Kamstrup National Geodatabank, Kort & Matrikelstyrelsen.
Serviceorienteret arkitektur SOA. SOA bygger på Der findes en serviceleverandør, som udstiller en formåen til at udføre en veldefineret og afgrænset aktivitet,
WFS - Hvad betyder det for GI infrastrukturen
Lektion 7 Læsestof: Kopier fra Caranno
Intro Evaluering De sidste to gange?. HTTP, cookies og sessions Forelæsning nr 10 Tilbage til trafikken mellem server – client Sende HTTP-request og respons.
JavaScript i externe filer JavaScript gemmes i en ekstern fil (myscripts.js ) og så hentes ind i dokument hvor de skal bruges med, svarende at koden var.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
1..NET Arkitektur. 2 Nordjyllands Erhvervakademi Mål “Microsoft.NET is based on the Common Language Runtime (CLR) and an extensive set of Framework.
Objekter og klasser Rasmus D. Lehrmann DM
Masterpages/Otto Knudsen 1 Navigation på webstedet Kontroller til navigation mellem siderne på webstedet.
Digital kommunikation og æstetik i praksis 1. maj Søgemaskiner og optimering.
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
Denne præsentation vil sandsynligvis medføre diskussion blandt tilhørerne, hvilket vil resultere i handlingspunkter. Hvis du vil bruge PowerPoint til at.
Internetteknologi (ITNET2) Kort teknisk ASP.NET introduktion Mandag den 19/ Jesper Tørresø.
Fremstilling af Simple WEB steder [ITPL] Foråret 2004
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Hvad består en distribueret applikation af ? Processer der kører på hver deres maskine Tråde - 1 eller flere "letvægtsprocesser" per proces Objekter i.
PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.
Grundlæggende web design, ITU Torsdag d. 3 nov Javascript.
Databaseadgang fra C#:
ASP.NET – web site publish. ASP.NET – site-version.
Intro Evaluering De sidste to gange?. HTTP, cookies og sessions Forelæsning nr 10 Tilbage til trafikken mellem server – client Sende HTTP-request og respons.
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Masterpages/Otto Knudsen 1 Temaer (Themes) Stylesheets til ASP.NET web-applikationer.
Indsæt nyt billede: Format: B 254 x 190,5 mm Efter indsættelse, højreklik på billedet og placér det bagerst. Delete det gamle foto WMTS til mobile løsninger.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
Web Services. OO (C++/ C#/Java) COM DCOM Web Services.
Opsamling og repetition. Forelæsning 12 Hvad I ikke lærte Repetition? - date() - arrays - echo og return I funktioner - strukturering af script - navngivning.
OIOREST workshop 22. april 2008 Finn Jordal Centeret for Serviceorienteret Infrastruktur IT- og Telestyrelsen.
1 | 2011 ASP.NET Framework i et webform/page perspektiv The Framework to a page.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
 Jens Bennedsen, 2003, revideret af EE Introducerende objektorienteret programmering MVC Et mønster for grænseflader.
Web- og serverprogrammering Dette materiale er under Åben Dokumentlicens, se dag 9 AHAH - Asynkron HTML og HTTP.
WebApi service part 2 Routning og Action Simpel test-client (javascript) Session og Application data.
ISS webserver og web applikationer
WebApi service x.
1587 Server - Blandet miljø Webintegrator HF1
Efter folkeskolen kan du i Danmark typisk vælge én af 2 ”retninger”
Efter folkeskolen kan du i Danmark typisk vælge én af 2 ”retninger”
Simpel test-client (javascript) Session og Application data
Dokumentation.
Efter folkeskolen kan du i Danmark typisk vælge én af 2 ”retninger”
Præsentationens transcript:

AJAX/Otto Knudsen 1 AJAX Motivation Definition

AJAX/Otto Knudsen 2 Motivation En typisk web-applikation er synkron klienten sender en forespørgsel og venter på svar fra serveren … *not* always the best user experience… Web-server klient browser hent "side.aspx" Web- sted vente, vente…

AJAX/Otto Knudsen 3 Løsning Løsningen er asynkron… gør klienten så uafhængig af serveren som muligt Hvordan? mere håndtering på klient-siden asynkron kommunikation med serveren Web-server klient browser henter flere data… Web- side Brugergrænsefladen svarer – i baggrunden…

AJAX/Otto Knudsen 4 Eksempler Google gør i stor udstrækning brug af AJAX: Google maps: Google mail: Google calendar: Andre AJAX-websteder:

AJAX/Otto Knudsen 5 Hvad er AJAX helt præcis? AJAX = Asynchronous JavaScript and XML AJAX er faktisk en række teknologier, som arbejder sammen: XHTML og CSS udgør markup DOM udgør præsentation og interaktion XML og XSLT håndterer dataudveksling og -manipulation JSON håndterer marshalling af objekter XMLHttpRequest håndterer den asynkrone kommunikation JavaScript er kittet, der holder det hele sammen

AJAX/Otto Knudsen 6 Classic vs. AJAX Forespørgslen håndteres lokalt – måske uden indblanding fra serveren Siden opdateres lokalt – måske uden at vente på svar fra serveren.

AJAX/Otto Knudsen 7 Synkront vs. Asynkront Brugeraktiviteten er ude af fase med server- kommunikationen — asynkront!

AJAX/Otto Knudsen 8 Målet? Bedre oplevelse af interaktion Større funktionalitet på klient-siden Forbedret integration af web-tjenester på klient-siden En brugeroplevelse, der ligger tæt op af Windows- applikationer!

AJAX/Otto Knudsen 9 AJAX-applikationer En simpel AJAX web-applikation

AJAX/Otto Knudsen 10 Eksempel Lad os betragte en simpel AJAX-applikation Applikationen viser det aktuelle klokkeslæt uagtet at tiden hentes asynkront fra serveren … Et knaptryk indebærer ikke umiddelbart et kald til serveren…

AJAX/Otto Knudsen 11 Design Brugeren vil interagere med siden "GetTime.htm" denne side vil forespørge asynkront på "Time.aspx" for at hente tidspunktet … Web-server hent "Time.aspx" Time.aspx GetTime.htm

AJAX/Otto Knudsen 12 Time.aspx Time.aspx er siden på serveren siden indeholder ingen brugergrænseflade – den returnerer blot tiden, når der forespørges … public partial class _Time : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Clear(); Response.Write( DateTime.Now.ToString("hh:mm:ss tt") ); } public partial class _Time : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Clear(); Response.Write( DateTime.Now.ToString("hh:mm:ss tt") ); } Time.aspx Time.aspx.cs Web server Time.aspx

AJAX/Otto Knudsen 13 GetTime.htm Dette er siden, som brugeren ser … siden indeholder HTML og JavaScript siden kommunikerer asynkront med serveren GetTime.htm..

AJAX/Otto Knudsen 14 Initialisering på klient-siden AJAX anvender asynkrone XMLHttpRequests når en side hentes, oprettes et XMLHttpRequest -objekt var xmlHttp; function InitializeForAJAX() { try { if (window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); else if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest(); else if (window.createRequest) xmlHttp = window.createRequest(); } catch(e) { xmlHttp = null; } }

AJAX/Otto Knudsen 15 Selve kaldet Der foretages et asynkront kald ved knaptryk når serveren svarer kaldes UpdateUI … function OnButtonClick() { if (xmlHttp == null) { alert("AJAX-style interaction not supported..."); return; } // open an async connection (true ==> async): xmlHttp.open("POST", "Time.aspx", true); // wire-up event handler: xmlHttp.onreadystatechange = UpdateUI; // and send the request (null => no content, server just answers): xmlHttp.send(null); } næste side …

AJAX/Otto Knudsen 16 Opdatering af brugergrænsefladen Brugergrænsefladen opdateres, når serveren svarer … function UpdateUI() { // states: // 0=uninitialized // 1=loaded // 2=loading // 3=interactive // 4=complete <======== if (xmlHttp.readyState == 4) // complete! { if (xmlHttp.status == "200") // OK { document.getElementById("divTime").style.display = 'block'; document.getElementById("lblTime").innerHTML = xmlHttp.responseText; } else alert("Communication Error: status = " + xmlHttp.status); } data fra serveren …

AJAX/Otto Knudsen 17 Bemærk! AJAX virker rent faktisk! konceptet er ligetil: asynkron kommunikation Der er dog vanskeligheder på klient-siden: browser-forskelle (IE ift. Firefox ift. Opera ift. …) trådprogrammering (race conditions, kritiske sektioner, …)

AJAX/Otto Knudsen 18 Løsning? AJAX-aktive software-værktøjer! Google Web Toolkit DWR (Direct Web Remoting) AJAX.NET AJAX Extensions for ASP.NET ("Atlas") — Microsoft's værktøj … Der er i hundredvis af tilgængelige værktøjer …

AJAX/Otto Knudsen 19 Eksempel Microsoft's AJAX Extensions for ASP.NET klient-side JavaScript-katalog, som skjuler det browser-specifikke og tilføjer funktionalitet server-side-kontroller som er AJAX-aktive understøttelse til arbejdet med web-tjenester … Web-server web- tjeneste 03:45:23 PM

AJAX/Otto Knudsen 20 Hvad så? Øvelse #8

AJAX/Otto Knudsen 21 …