AJAX Asynchronous JavaScript and XML Lukáš Masopust 2010.

Slides:



Advertisements
Podobné prezentace
Pokroky v technologiích (2)
Advertisements

Web Michal Žůrek Jak se na něj dívám já..
Webové služby nad IS/STAG 1 / 21 Seminář IS/STAG Kunžak 2008 Seminář IS/STAG – Kunžak 2008 Webové služby nad IS/STAG Lukáš Valenta.
Tvorba webových stránek
Tvorba WWW stránek ÚVOD
Martin Holý.  HTML  xHTML  CSS  JavaScript  PHP.
Rozšíření systému pro zátěžové testy o SOAP a agenty Zbyněk Pyšný.
Základní struktura, metainformace
Tvorba stránek  komu jsou stránky určeny  grafická úprava stránek  obsah  motivy vzhledu stránky
HTTP server HTTP server 1 Jak to funguje?
David Pejčoch XML (Extensible Markup Language) Semistrukturovaná data Obecný značkovací jazyk Vyvinut a standardizován konzorciem W3C Zjednodušená.
Protokol HTTP (Hypertext Transfer Protocol)
Pavel Dvořák Gymnázium Velké Meziříčí Počítačové sítě – služba WWW Registrační číslo projektu: CZ.1.07/1.5.00/ Datum: Jazyk: čeština.
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
Návrh architektury moderních informačních systémů
Vedoucí:Dr.Ing.Bronislava Horáková Řešitel:Bc.Ondra Richard.
Základy informatiky Internet Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
Tvorba webových aplikací
1IT T ŘI PILÍŘE WEBU Ing. Jiří Šilhán. T ŘI PILÍŘE WWW WWW využívá počítačovou architekturu Klient/server, uživatel musí mít nainstalován prohlížeč, který.
VY_32_INOVACE_4.3.IVT1.01/Ku Základní pojmy Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Pavla Kubínková CZ.1.07/1.5.00/
Apache, PHP, MySQL Lukáš Masopust Web server Apache Aplikace schopná zpracovat HTTP požadavek Nejpoužívanější Web server Vytváří ho The Apache.
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
Moderní formy tvorby webových stránek Martin Šebela, 9.A vedoucí práce: Mgr. Jan Kříž.
VY_32_INOVACE_4.3.IVT1.10/Ku Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Pavla Kubínková CZ.1.07/1.5.00/ Validita stránek.
Internet, WWW, HTML a spol.. Hlavní zásady inženýrství reprodukovatelnost měřitelnost a parametrizovatelnost přenositelnost typizace a standardizace dokumentace.
Návrh a tvorba WWW Přednáška 1
PHP – Základy programování
Aplikace VT v hospodářské praxi internetové technologie Ing. Roman Danel, Ph.D. VŠB – TU Ostrava.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
DIGITÁLNÍ UČEBNÍ MATERIÁL Číslo projektuCZ.1.07/1.5.00/ Název projektuEU peníze středním školám Masarykova OA Jičín Název školyMASARYKOVA OBCHODNÍ.
Maturitní okruh 22: Úvod do HTML. Značkovací a klasické jazyky Klasické: převládá strukturovaný text (programovací kód), skripty jsou prováděny na straně.
Návrh a tvorba WWW Cvičení 4
Jazyk PHP Programovací jazyk PHP (Hypertext preprocessor) je skriptovací jazyk, který běží na straně serveru. KLIENT - SERVER Server posílá do vašeho počítače.
Dokumentace objektů a zveřejnění funkcí
Dílna Caché II. CSP pro pokročilé Tomáš Vaverka. Zdroje HTML Tag Reference v sekci Reference Material v dokumentaci Caché HTML Tag Reference v sekci Reference.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Internet.  Celosvětový systém propojených počítačů  Funkce  Sdílení dat  Elektronická pošta.
Web 2.0 Štěpán Bechynský Microsoft. Web 2.0 aplikace.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Úvod do JavaScriptu JavaScript je p JavaScript je programovací jazyk, který se používá na webových stránkách. JavaScript je typu KLIENT - KLIENT To znamená,
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
Mobilní kancelář (…nejen pro velké firmy) Vladimír Wojnar Microsoft Solutions HP.
Web 2.0, folksonomie a uživatelská rozhraní Lenka Němečková Eliška Pavlásková Založeno mimo jiné na prezentacích prof. B. Whitea „The Promise of Rich User.
Základní složky systému globálního informačního systému WWW Jednoznačná globální identifikace WWW zdrojů (URL, URI, URN) Standardní jazyk pro vytváření.
TNPW1 Technologie pro publikování na webu Cvičení č. 2 Překlad URL na fyzickou adresu stránky Editor Macromedia Homesite „Hello world“ v XHTML (úvod do.
INTERNET – struktura, fungování a přehled využití
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
CZ.1.07/1.4.00/ VY_32_INOVACE_166_IT 9 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
Úvod do PHP IZI 228.
Tvorba efektních www stránek pro každého Od historie až po současnost… Úvod Porovnání Validace Prohlížeče Závěr.
1 Protokol HTTP (Hypertext Transfer Protocol) HTTP je základem systému „World Wide Web“ (WWW) - Web … HTTP – jednoduchý protokol aplikační vrstvy, transport.
Název projektu: Šablony Špičák číslo projektu: CZ.1.07/1.4.00/ šablona III/2 autor výukového materiálu: Mgr. Jana Jiroušová, VM vytvořen: leden.
PHP Programy pro tvorbu WWW stránek - 01
Web services. Co jsou webservices Součinná spolupráce počítačů v síti Technologie pro vzdálené volání procedur (RPC) Nezávislá na platformě Data v XML.
Ověření Možnosti Využití Jazyka XML a Formátu SVG Pro Potřeby Metainformačního Systému CAGI Zpracovatel:tomáš duchoslav Vedoucí: ing. Jan růžička.
Webové služby Cíl  Popis základního konceptu technologie webových služeb.
E- MAIL Ing. Jiří Šilhán. E LEKTRONICKÁ POŠTA NEBOLI vývoj od počátku sítí – původní návrh pouze pro přenos krátkých textových zpráv (ASCII) základní.
Jak fungují webové stránky Úvod do HTML (1). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická.
Tvorba WWW stránek. Hyperlink Odkaz, bývá označený jinou barvou a podtržený Odkaz, bývá označený jinou barvou a podtržený Reaguje na událost myši – Reaguje.
Internet. je celosvětový systém navzájem propojených počítačových sítí („síť sítí“), ve kterých mezi sebou počítače komunikují pomocí rodiny protokolů.
Internet (služby Internetu, WWW) Služby Internetu WWW (World Wide Web) – dnes nejrozšířenější služba; spoustě lidí splývá s Internetem jako takovým WWW.
1 Kurz XHTML a CSS Část 1: Náš první XTHML dokument a jeho publikace na internetu.
Internet – pojmy, služby
Programovací jazyk JavaScript
WWW a HTML Základní pojmy Ivo Peterka.
Značkovací jazyk HTML Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN.
Programovací jazyk JavaScript
Protokol HTTP (Hypertext Transfer Protocol)
Webové aplikace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

AJAX Asynchronous JavaScript and XML Lukáš Masopust 2010

Kde se vzal tu se vzal AJAX – Microsoft představil novou technologii nazvanou Remote Scripting, ve které v klientském prohlížeči běžel Java applet komunikující se serverem, přičemž tento aplet poskytoval služby JavaScriptovým funkcím. – Tato technika komunikace fungovala v MSIE od verze 4 i v Netscape Navigatoru od verze 4. – V páté verzi IE zavedl Microsoft objekt XMLHttpRequest, který v roce 2000 využil v novém programu Outlook Web Access (OWA), který poskytuje webové rozhraní pro přístup k ům na Microsoft Exchange Server (první AJAXová aplikace) – Článek Ajax: A New Approach to Web Applications (Ajax: Nový přístup k webovým, Jesse James Garretta.

Avšak začátky… – IFRAME ve Microsoft Internet Explorer – Element LAYER v Netscape Navigator 4.0 – Tento koncept byl opuštěn na počátku vývoje Mozilly. – Také Macromedia Flash od verze 4 umožňoval komunikaci se serverem na pozadí, bez překreslení stránky – Rozšíření obecného povědomí způsobily až aplikace od googlu (GMAIL).

Výhody a nevýhody Načítají se jen potřebná data – snižuje zátěž serverů. Stránka se nepohybuje jako při opětovném načtení – chová se jako aplikace. Změna URL se musí provádět pomocí kotev (#) Síťová latence může způsobit nečekané zaseknutí aplikace. Nepoužitelné na mobilních zařízeních. Neprůchodné roboty vyhledávačů. Velké knihovny funkcí (frameworks)

Vzpomínáte ?

Jak to vše souvisí? DB

OnLoad(). OnClick() AJAXová aplikace DB HttpRequest Odpověď v XML HTTP GET/POST data Když jsem šel z Hradišťá…

X ML H TTP R EQUEST XMLHttpRequest (XHR) je rozhraní umožňující webovým aplikacím komunikaci mezi serverem a klientem prostřednictvím protokolu HTTP. Spojení může probíhat na pozadí - bez přímého řízení prohlížečem – odtud název Asychnonní či na popředí, kdy adresu, na kterou posíláme požadavek vidíme v adresném řádku.

X ML H TTP R EQUEST – L OGICKÁ S TRUKTURA OnReadyStateChange – ReadyState Popisuje změny stavů HTTP spojení, resp. odeslání požadavku. Status – HTTP stav (např. 200). Request – Sestavení požadavku. Response – Získání odpovědi.

Jak probíhá komunikace Open('GET',URL,false); Send()Onreadystatechange()responseXML Otevřeme spojení Sledujeme jeho stav: Readystate State Čekáme na změnu stavu (odpověď) Zpracujeme odpověď

X ML H TTP R EQUEST – S ESTAVOVÁNÍ POŽADAVKU Metoda open( method, url, async, user, password ) – metoda HTTP požadavku (GET, POST, …), – kam to pošlem, – na pozadí/popředí (false/true), – ostatní může být využito pro autentifikaci. Metoda setRequestHeader() – nastavení HTTP hlavičky (např. Accept-Charset, content-type) Metoda send( ) – Odešle požadavek. Metoda abort() – Ukončí probíhající požadavek.

S TAV SESTAVENÍ SPOJENÍ - R EADY S TATE UNSENT (čísleně 0) – Objekt byl vytvořen. OPENED (čísleně 1) – Zavolání metody open() bylo úspěšné. HEADERS_RECEIVED (číselně 2) – Všechny HTTP hlavičky byly odeslány. LOADING (numeric value 3) – Odpověď od serveru je právě odeslána. DONE (numeric value 4) – Přenos dat byl dokončen nebo došlo k nějaké chybě během přenosu. Prostřednictvím vlastnosti readyState můžeme zjišťovat, v jaké fázi se nachází náš HTTP požadavek. Vlastnost vrací jednu z následujících hodnot, podle stavu HTTP požadavku.

X ML H TTP R EQUEST – ReadyStateChange UNINITIALIZED (čísleně 0) - objekt XmlHttpRequest byl vytvořen, ale ještě nebyla volána metoda open(). LOADING (čísleně 1) - před odesláním HTTP požadavku (metoda open() již byla zavolána, nikoliv však metoda send()). LOADED (čísleně 2) - metoda send() již byla volána, stavový řádek a HTTP hlavičky jsou k dispozici, nikoliv však tělo odpovědi. INTERACTIVE (čísleně 3) - část dat již byla přijata, vlastnost responseText obsahuje získaná nekompletní data. COMPLETED (čísleně 4) - všechna data odpovědi byla přijata, všechny operace byly dokončeny. Při asynchronním volání nečeká prohlížeč na odpověď – nemá nad tím kontrolu. Musíme si to obsloužit samostatně.

X ML H TTP R EQUEST - ZÍSKÁNÍ ODPOVĚDI I. Metoda getResponseHeaders() Metoda getResponseHeaders() Slouží k vynucení si konkrétní HTTP hlavičky. var client = new XMLHttpRequest(); client.open("GET", "test.txt", true); client.send(); client.onreadystatechange = function() { if(this.readyState == 2) { print(client.getResponseHeader("Content-Type")); } //...Odpověď bude vypadat přibližně takto: Content-Type: text/plain; charset=utf-8 var client = new XMLHttpRequest(); client.open("GET", "test.txt", true); client.send(); client.onreadystatechange = function() { if(this.readyState == 2) { print(client.getResponseHeader("Content-Type")); } //...Odpověď bude vypadat přibližně takto: Content-Type: text/plain; charset=utf-8

X ML H TTP R EQUEST - ZÍSKÁNÍ ODPOVĚDI II. Medota getAllResponseHeader() Medota getAllResponseHeader() Slouží k vynucení si všek HTTP hlaviček. print(this.getAllResponseHeaders()); //...Odpověď bude vypadat přibližně takto: Date: Sun, 24 Oct :58:38 GMT Server: Apache/ (Unix) Keep-Alive: timeout=15, max=99 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/plain; charset=utf-8 print(this.getAllResponseHeaders()); //...Odpověď bude vypadat přibližně takto: Date: Sun, 24 Oct :58:38 GMT Server: Apache/ (Unix) Keep-Alive: timeout=15, max=99 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/plain; charset=utf-8

X ML H TTP R EQUEST - ZÍSKÁNÍ ODPOVĚDI III. Response Entity Body Response Entity Body – Objekt typu DOMString obsahující odpověď. – Jeho obsah je vysílán, když je stav spojení (readystate =3 | 4) je ve stavu LOADING či DONE. – Vlastnosti responseText – textová podoba odpovědi (plain/text) responseXML – xml podoba odpovědi.(text/xml).

A půjdeme na XML

XML (eXtensible Markup Language) Technologie se dnes využívá zejména k integraci aplikací a ve sféře B2B (výměna informací). Sjednocení formátu pro výměnu dat – XML je jen struktura – nemá vizuální podobu. – Můžeme použít i vlastní značky – vlastní DTD. „XML je softwarově a hardwarově závislý nástroj pro přenos informací“

Historie – SGML (Standard Generalized Markup Language) – Obecný značkovací jazyk, který není závislý na používaném programu. – Vyvinula IBM jako řešení pro ukládání velkého množství právních dokumentů. – HTML je aplikací SGML, které vytvářeli spíše tvůrci prohlížečů <- vznik W3c – Vznik XML jako prostředku pro jednotnou výměnu dat.

Elementy a struktura Deklarace XML – určuje použité kódování … … Kořenová značka Parametr a atribut Odkaz na XML schéma SPŠE V Úžlabině Suplování Obsah elementu

Datový model I. Deklarace (názvy) – Každá aplikace musí být schopná zpracovat xml soubor v kódování UTF-16, častěji se používá UTF-8 kvůli kompatibilitě se staršími aplikacemi. – se píší malými písmeny., Vyhrazené znaky – Jen pět. – Ostatní lze dodeklarovat pomocí EntitaZnak << && >> &apos;‘ "“

Datový model II. CDATA – Instrukce pro zpracování – Řídicí informace, které jsou určeny pro jiné apikace. – Parser je ignoruje – nehlásí chybu. Jmenné prostory – Definuje k čemu, které značka. – Např.: HTML a značka <![CDATA[" for (i=0; i < 10; $++) { document.writeln(" Ah oj "); } "]]> <![CDATA[" for (i=0; i < 10; $++) { document.writeln(" Ah oj "); } "]]>

Datový model III. Syntax – Dobře strukturovaný – syntakticky správně – Kontrola je prováděna automaticky Bílé znaky – Neviditelné znaky – tabulátor, mezera, odřádkování Projeví se jako textové uzly jen s těmito znaky

Datový model III. Bílé znaky – – default - tato hodnota značí, že aplikace může pro zpracování bílých znaků v textu, který je obsahem příslušného elementu, použít své výchozí nastavení – preserve - tato hodnota aplikaci říká, že všechny bílé znaky je potřeba zachovat v nezměněné podobě. – Dědí se na všechny značky

Berners-Lee said that in the context of the Semantic Web, the word "semantic" meant "machine processable." December 06, 2000 XML 2000

Zdroje zacatecniky.html zacatecniky.html dil---xmlhttprequest/sc-3-a /default.aspx 14dil---xmlhttprequest/sc-3-a /default.aspx vznik vznik