Ajax és Echo 2. Bokor Attila

Hasonló dokumentumok
JAVA webes alkalmazások

Bevezetés Működési elv AJAX keretrendszerek AJAX

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Web-fejlesztés NGM_IN002_1

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Web programoz as

AJAX AJAX. AJAX: Asynchronous JavaScript and XML. az alábbi technológiákon alapul: AJAX-ot támogató keretrendszerek

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

Web fejlesztés II. Illés Zoltán ELTE Informatikai Kar I n f o r m a t i k a

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

AJAX-ot támogató keretrendszerek

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

RIA Rich Internet Application

A szerzõrõl... vii Köszönetnyilvánítás... ix Bevezetés... xi A könyv példakódjai... xiii Áttekintés... xv Tartalomjegyzék... xvii

webalkalmazások fejlesztése elosztott alapon

Objektumorientált programozás

12.óra jquery Framework #1. Gyimesi Ákos

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Flex: csak rugalmasan!

Google Web Toolkit. Elek Márton. Drótposta kft.

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

Web programozás. Internet vs. web. Internet: Az Internet nyújtotta néhány alapszolgáltatás:

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Az Apache Wicket keretrendszer

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Nyilvántartási Rendszer

GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

Bevezető. Servlet alapgondolatok

A Java EE 5 plattform

JEE tutorial. Zsíros Levente, 2012

Symfony kurzus 2014/2015 I. félév. Controller, Routing

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

AJAX 2 in 1: Interaktív oktatás és modern webtechnológia Nagy Zsolt.

Web-fejlesztés NGM_IN002_1

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

AJAX 2 IN 1: INTERAKTÍV OKTATÁS ÉS MODERN WEBTECHNOLÓGIA

AJAX Framework építés. Nagy Attila Gábor Wildom Kft.

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Interaktív webes térképezés GRASS GIS 7-tel. A Web Processing Service bemutatása

Java I. A Java programozási nyelv

TUDNIVALÓK A WEB-FEJLESZTÉS I. KURZUSRÓL

MVC. Model View Controller

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Webszolgáltatások (WS)

Web-fejlesztés NGM_IN002_1

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Java és web programozás

Webalkalmazás fejlesztés Java EE környezetben NetBeans segítségével: JavaServer Faces 1.2 AJAX

Tartalom. A JavaScript haladó lehet ségei. Megjelenés. Viselkedés. Progresszív fejlesztés. A progresszív fejlesztés alapelvei

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Produktív környezetben használt, nyílt forráskódú komplex térinformatikai megoldások dr. Siki Zoltán

Kompozit alkalmazások fejlesztése. IBM WebSphere Portal Server

Osztott alkalmazások fejlesztési technológiái Áttekintés

Összefüggő szakmai gyakorlat témakörei évfolyam. 9. évfolyam

Összefüggő szakmai gyakorlat témakörei. 13 évfolyam. Információtechnológiai gyakorlat 50 óra

Készítette: Gál Tamás. A tananyag programozott változata itt érhető el: Webfejlesztés

10. évfolyam 105 óra azonosító számú Hálózatok, programozás és adatbázis-kezelés 105 óra Adatbázis- és szoftverfejlesztés gyakorlat tantárgy

Többfelhasználós és internetes térkép kezelés, megjelenítés

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh

RIA Rich Internet Application

Web-fejlesztés NGM_IN002_1

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Adatbányászat és Perszonalizáció architektúra

Miért érdemes váltani, mikor ezeket más szoftverek is tudják?

Közösség, projektek, IDE

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Java technológiák - ANTAL Margit. komponensek. A HTTP protokoll. Webkonténerek és szervletek. Egyszerű HTTP. ANTAL Margit.

Webkezdő. A modul célja

Siki Zoltán DigiKom Kft. BME ÁFGT. KÖRINFO Konferencia május 28-án

eseményvezérelt megoldások Vizuális programozás 5. előadás

RIA Rich Internet Application. Komplex felhasználói felülettel rendelkező web-alkalmazások

A JavaServer Pages (JSP)

Junior Java Képzés. Tematika

Szervlet-JSP együttműködés

Webshop készítése ASP.NET 3.5 ben I.

A JavaServer Pages (JSP)

Eclipse Rich AJAX Platform alapú webalkalmazások teljesítmény analízise. BSc szakdolgozat. Áshin László. Ráth István PhD hallgató

Grafikus felületek készítése 1.

Osztott rendszerek, Java EE. Általános bevezető

Papír helyett elektronikus űrlap. Szabadság és interaktivitás az űrlapkezelésben

Crawler.NET: Komponensalapú elosztott keretrendszer a web bejárására

A WEB programozása - Bevezetés őszi félév Dr. Gál Tibor

Szoftvertechnológia alapjai Java előadások

Információ és kommunikáció

Book Template Title. Author Last Name, Author First Name

MVC desktop alkalmazás esetén. MVC Model-View-Controller. eredete: Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

gyakorlatban Nagy Gusztáv

Grafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok

Jquery. Konstantinusz Kft.

Kiknek szól ez a könyv? Miről szól a könyv? Hogyan épül fel a könyv? Mire van szükség a könyv használatához? Szokások Forráskód Hibajegyzék

Kommunikációs rendszerek teljesítőképesség-vizsgálata

Broadcast Service Widget

Átírás:

Ajax és Echo 2 Bokor Attila attila.bokor@netvisor.hu

Tartalom Ajax áttekintés Echo2 Echo2 kiegészítések

Asynchronous JavaScript and XML Webfejlesztési technika interaktív webalkalmazásokhoz Kifejezés közösen használt technológiákra A kliens kis mennyiségő adatot cserél a szerverrel Interaktivitás, sebesség, használhatóság

Támogató technikák XHTML (vagy HTML) és CSS a tartalom leírására és formázására. DOM kliens oldali script nyelvekkel kezelve a dinamikus megjelenítés és a már megjelenített információ együttmőködésének kialakítására. XMLHttpRequest JavaScript objektum az adatok aszinkron kezelésére a kliens és a webszerver között. Néhány Ajax keretrendszer esetén és bizonyos helyzetekben IFrame -et használnak XMLHttpRequest objektum helyett. XML formátumot használnak legtöbbször az adattovábbításra a kliens és a szerver között, bár más formátumok is megfelelnek a célnak, mint a formázott HTML vagy a sima szöveg.

Történelem Netscape LiveScript JavaScript XML, renderelés JavaScript bıl XMLHttpRequest (IE5) 2005. Jesse James Garret: Ajax: A New Approach to Web Applications

Ajax- és hagyományos web alkalmazás architektúra

A felhasználói tevékenység eredménye egy HTTP kérés. A felhasználó nem tudja használni a weblapot, míg a teljes válasz meg nem érkezik. A szokásos HTTP kérések helyett, többnyire JavaScript hívás. Aszinkron kommunikáció

XMLHttpRequest http://www.w3.org/tr/xmlhttprequest/ Állapotok UNSENT, OPEN, SENT, LOADING, DONE status, statustext Request open(, url, ), send( data ), abort(); Response header, responsexml, responsetext Eseménykezelı onreadystatechange

DOM fa módosítása http://www.slimeland.com/content/articles/j senhance/ példa

Ajax alkalmazások http://www.orkut.com/ http://groups-beta.google.com/ http://www.gmail.com/ http://search.live.com/images

Echo 2 (Nextapp) Elızmény: Echo Web Framework Ajax alapú keretrendszer webalkalmazásokhoz Nem oldal-alapú fejlesztés Java nyelvő fejlesztés Objektumorientál szemlélet Eseményvezérelt Tetszıleges servlet container ben fut GNU LGPL licensz

Modulok Minimális függés AF GUI modellezése WRE megjelenítés (kliens- és szerver oldal) WAC WRE kiterjesztése az AF megjelenítéséhez

Application Framework Alkalmazás állapotának és a GUI nak a kezelése Fejlesztés során a meghatározó modul: GUI komponensek Események, figyelık ApplicationInstance Nem képes a böngészıvel kommunikálni, vagy bármit megjeleníteni

Web Rendering Engine Kliens szerver kommunikáció Szerver oldalon HttpServlet (Java) szolgálja ki a klienst Kliens oldalon JavaScript XMLHttpRequest objektum használata Ha szükséges, kapcsolódik a szerverhez

Web Application Container Az WRE nek kiterjesztése Képes az AF fel épített GUI k megjelenítésére Szintén szerver- és kliens oldali

Mőködés Alkalmazás állapota a szerver oldalon A böngészı, mint távoli terminál Kliens oldal folyamatosan frissül Fontos események jelentése a szervernek Változások érvényesítése a Document Object Model (DOM) en keresztül (sosem tölti újra az oldalt)

Folyamat Felhasználói tevékenységekrıl a server XML üzenetben értesül (ClientMessage) Szerver feldolgozza az üzenetet, megváltoztatja a szerver-oldali állapotot Szerver XML üzenetben válaszol a kliens felé A kliens az üzenetnek megfelelıen módosítja a DOM ot

Példa a kommunikációra <server-message> <message-part-group id="remove"> <message-part processor="echodomupdate.messageprocessor"> <dom-remove target-id="c_4"/>.. </message-part> </message-part-group> <message-part-group id="update"> <message-part processor="echodomupdate.messageprocessor"> <dom-add parent-id="c_2_cell_c_4"> <content><span xmlns="http://www.w3.org/1999/xhtml" id="c_4"> Your guess, 75 was too high. Try again: </span></content> </dom-add> </message-part> </message-part-group> </server-message>

Hello, World! public class HelloWorldApp extends ApplicationInstance { } public Window init() { } Window window = new Window(); ContentPane contentpane = new ContentPane(); window.setcontent(contentpane); Label label = new Label("Hello, world!"); contentpane.add(label); return window;

Komponenstípusok I/O és vezérlıelemek Címke, gomb, szövegmezı, szövegdoboz, checkbox, stb Konténerek Pane, sor, oszlop, grid, Layout Szülı-gyerek kapcsolatok helyességének run-time ellenırzése

Komponensek Component AbstractButton AbstractListComponent TextComponent Window Label Table ContentPane Grid Row Column SplitPane WindowPane - minden gomb ısosztálya - listák ısosztálya - szövegmezı és szövegdoboz - legfelsıbb szintő ablak - címke - táblázat - innen konténerek

Layout Egy elem elhelyezkedésének meghatározása a konténer celláján belül A különbözı konténerekhez egyedi layout osztály. (közös ıs: LayoutData) Igazítás, margó, háttérszín, stb.

Eseménykezelés Esemény objektumok java.util.eventobject leszármazottjai Külön eseményobjektumok az egyes esemény típusokhoz Figyelık java.util.eventlistener leszármazottjai Minden esemény típushoz megfelelı figyelı típus

További képességek MessageBundle Üzenetek tárolása message fájlban Stíluslapok alkalmazás a komponenseknél

EchoStudio

EchoPoint NG Kiterjeszti az Echo2 komponensmodelljét Fejlettebb grafikus komponensek Lapozható táblázat, tabbed pane, naptár Nem hivatalos kiterjesztés CVS ben, forrásban elérhetı!

Echo Extras A hivatalos Echo2 kiterjesztés Echopoint NG vel hasonló funkcionalitás AccordionPane, BorderPane, CalendarSelect, ColorSelect, PulldownMenu, TabPane, TransitionPane

Referenciák http://www.adaptivepath.com/publications/essays/archives/000385.php http://www.nextapp.com/platform/echo2/echo/ http://nextapp.com/platform/echo1/echostudio/