Direct Web Remoting: Spojení JavaScriptu a Javy ve stylu volání RPC Jaroslav Kačer, IBA CZ Moderní trendy v softwarovém inženýrství.

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.
Úvod do platformy Java EE
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
Dynamické dokumenty na straně klienta Informatika pro ekonomy II.
Martin Holý.  HTML  xHTML  CSS  JavaScript  PHP.
<. DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4
Formuláře Formuláře lze nalézt téměř na každém webu. Formuláře lze nalézt téměř na každém webu. Použití formulářů: Použití formulářů: Blog Blog Uživatelské.
Modernizace studijních opor Představení LMS Moodle
BLIŽŠÍ POHLED NA TŘÍDY, DĚDIČNOST - úvod
Textový procesor Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je MGR. MILOŠ NYGRÝN.
IBA CZ Průmyslový partner FI MU Petr Adámek,
Programování v C++ Cvičení.
Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu „Učíme moderně“ Registrační číslo projektu:
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
J a v a Začínáme programovat Lucie Žoltá. Odkazy - oficiální stránky (překladače, help, metody, vývojové prostředí NetBeans,...)
3MA381 PowerPoint - seznámení
MS OFFICE - WORD TITULNÍ STRANA A OBSAH Ing. Petr Hanáček
Apache, PHP, MySQL Lukáš Masopust Web server Apache Aplikace schopná zpracovat HTTP požadavek Nejpoužívanější Web server Vytváří ho The Apache.
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro práci se soubory 13 Verze
Vývoj aplikací pro SharePoint
PHP – Základy programování
BAKALÁŘSKÁ PRÁCE Tomáš Janda
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
HTML, XHTML a CSS Základy jazyků značek.
Návrh a tvorba WWW Cvičení 4
CSS styly Kaskádové styly (CSS – Cascading Style Sheets) jsou prostředkem, který zajišťuje jednotný vzhled publikovaných stránek. Technologii CSS podporují.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
CSS Cascading Style Sheets Kaskádové styly
DHTML Jan Felger. Kapitola 0: Základní tagy Základy HTML © Jan Felger 2005 Úvod Tato prezentace zobrazuje pouze zcela základní minimum znalostí, které.
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.
Grafická podoba ŠVP Platí pro: MS WORD OpenOffice.org v jakékoli verzi.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
PowerPoint - seznámení Miroslav Lorenc. PowerPoint  K čemu a kdy použít?  Jaké jsou možnosti využití?  Alternativy?
Internet.  Celosvětový systém propojených počítačů  Funkce  Sdílení dat  Elektronická pošta.
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é.
Dílna Caché I. Praktické ukázky Tomáš Vaverka. Úvod Instalace Praktická ukázka 1 Praktická ukázka 2 Co zbývá?
Úvod do PHP IZI 228.
Import záznamů diplomových prací nové řešení Antonín Vaishar, SUAleph, 26. –
PJV031 Přetypování (casting) Objekty, atributy, lokální proměnné, parametry a návratové hodnoty metod mají definovaný, neměnný typ. Jsou dva druhy typů:
Správní a dopravně správní evidence - IISSDE RNDr. Jiří Malátek Zástupce ředitele OIVS MV
InstantAtlas dynamické webové interaktivní atlasy.
Tvorba www stránek CSS (Úvod do kaskádových stylů (Úvod do kaskádových stylů) Ing. Miroslav Vachůn, Ph.D.
FEL Komunikátor. Memory Leak program konsumuje operační paměť, kterou neumožňuje uvolnit o uvolnění paměti stará Garbage Collector ▫plně v režii Java.
Akademie ZENU Ukázková aplikace. Tak o tomhle to nebude…
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
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.
Jan Růžička, Leden /01/05 Proč pro prezentaci prostorových dat využívat nástrojů WWW Nízké náklady na vybavení klientského počítače Snadné zvýšení.
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
Internetové technologie Petr Kašpar KAS265. Obsah Formát PDF Možnosti tvorby v PHP Třída FPDF České fonty Ahoj světe! Buňky Záhlaví/zápatí Pluginy Komplexní.
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á.
Zabezpečení – CSRF, XSS Tomáš Hulák, Miroslav Kořínek.
TEXTOVÝ EDITOR Karin Tylšerová. Textový editor je software, kterým je možné editovat prostý text. Neobsahuje žádné informace o formátování, jako je použití.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované.
Randstad Java Academy vše o kurzu Gabriela Hrbáčková Director Randstad Professionals.
Textový Editor.
Programovací jazyk JavaScript
Programovací jazyk JavaScript
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
TNPW1 JavaScript Ing. Jiří Štěpánek.
Přečtěte si o tom vše Příspěvky Microsoft SharePointu
Web Application Scanning
Přizpůsobení webu Microsoft SharePointu Online
C# přehled vlastností.
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

Direct Web Remoting: Spojení JavaScriptu a Javy ve stylu volání RPC Jaroslav Kačer, IBA CZ Moderní trendy v softwarovém inženýrství Plzeň, © 2011 IBA CZ, s.r.o.

Principy “Easy Ajax for Java” Spojení JavaScriptu a Javy ve stylu RPC JS: volání funkce Java: Vystavené služby s metodami, jednoduché objekty JS: Datové objekty s položkami, pole, mohou být poměrně složité (více než jen JSON) Java: POJO, kolekce, enumy, soubory, … Jako výsledek se nepřenáší data, ale JS kód, který data vytvoří → efektivní vytváření komplikovaných struktur Zvládá i vyhazování a zpracování výjimek Žádný REST, SOAP, RMI, … © 2009 IBA CZ, s.r.o. 2

Alternativy Čisté XHR volání Nutno vytvořit REST službu a zpracovat výsledky Konkurenci knihoven stejného typu nemá © 2009 IBA CZ, s.r.o. 3

Verze Aktuální produkční: Vývojová: 3.0 RC2 Poměrně pomalý vývoj, 3.0 se vydává už více než rok © 2009 IBA CZ, s.r.o. 4

Server – Konfigurace (1) Vytvořit WAR modul Vložit JAR knihovnu Definovat DWR servlet Napsat DWR konfiguraci ve XML Alternativa: anotace © 2009 IBA CZ, s.r.o. 5

Server – Konfigurace (2) V deskriptoru web.xml definujeme DWR servlet a přiřadíme mu URL v rámci webového modulu. Všechny požadavky na aplikaci potečou přes tento jeden servlet. © 2009 IBA CZ, s.r.o. 6

Server – Napsat službu Služba je jednoduchý objekt, žádná vazba na Java EE nebo DWR. © 2009 IBA CZ, s.r.o. 7 Služba může vystavovat libovolný počet metod s libovolnou signaturou. Vstupní a výstupní parametry musí být zaregistrovány, viz dále. Musí být k dispozici jejich konvertor.

Server – Publikace služeb a registrace parametrů Vše v deskriptoru dwr.xml. © 2009 IBA CZ, s.r.o. 8 Pro každou vystavenou službu se použije tzv. creator: Jak objekt služby vytvořit Jaké metody publikovat Přenášené parametry je třeba zaregistrovat tzv. konvertorem. Přenášená data jsou výčtový typ / jednoduchý objekt. Vystavíme dvě metody. Třída vystavované služby. K vytvoření použijeme konstruktor. Jméno služby na straně JavaScriptu

off-shore outsourcing údržba vývoj software podpora 24/7 near-shore e-business off-shore outsourcing on-shore distribuce vývoj software údržba near-shore off-shore outsourcing podpora 24/7 e-business migrace near-shore distribuce on-shore vývoj software údržba IT konzultace Server – Typy vytváření objektů služeb © 2009 IBA CZ, s.r.o. 9 New – vytvoření konstruktorem Static – statickou metodou getInstance() Scripted – skriptovacím jazykem Spring – přes Spring JSF – přes JSF Struts – přes FormBeans ze Struts PageFlow – přes PageFlow z Beehive nebo WebLogic EJB3 – EJB3 session bean Scope: application, session, request, page, script Buď include nebo exclude, ne oboje. Auth: Java EE role.

Server – Typy konvertorů dat Vestavěné: boolean, byte, short, int, long, float, double, char, Boolean, Byte, Short, Integer, Long, Float, Double, Character, BigInteger, BigDecimal, String, Date, Timestamp Pole – array: automaticky základní typy a typy, které jsou samy zaregistrované POJO – bean: na základě getterů a setterů Kolekce a mapy – collection + map Obrázky, soubory: BufferedImage, InputStream, FileTransfer – jen DWR 3.0 Výčet – enum DOM objekty: Document, Element, Node Hibernate 2/3 objekty Lze napsat vlastní konvertor © 2009 IBA CZ, s.r.o. 10

Server – Testujeme (1) Testovací stránka se generuje automaticky na URL servletu. © 2009 IBA CZ, s.r.o. 11

Server – Testujeme (2) Každá služba má testovací stránku generovanou automaticky. © 2009 IBA CZ, s.r.o. 12

Server – Testujeme (3) Plný výstup lze zobrazit pomocí Firebugu: © 2009 IBA CZ, s.r.o. 13

Klient Do stránky se vloží několik JS souborů: Engine.js – součást DWR Util.js – součást DWR, volitelné, lze i mimo DWR MojeSlužba.js – vygenerováno DWR Lze vkládat dynamicky z běžící aplikace anebo jednou stáhnout a vkládat staticky Poté se zavolá funkce z MojeSlužba Nejdřív parametry funkce Dále callback funkce, která se zavolá po obdržení dat Volitelně chybová callback funkce Volitelně timeout © 2009 IBA CZ, s.r.o. 14

Speciality na straně klienta Dodatečné parametry do callback funkce Data se přibalí ke callbacku při volání služby Callback funkce má pak více parametrů v hlavičce © 2009 IBA CZ, s.r.o. 15 Cross-domain volání Nutno upravit web.xml i HTML stránku Poté nastavit proměnnou _path vystavené služby

Technické detaily Jak se realizuje DWR volání? XHR POST request Směrem na server jde skupina parametrů a jejich hodnot, čistý text, jeden parametr na řádku Směrem na klienta jde JS kód, který se bude interpretovat a vznikne tak JS datový objekt © 2009 IBA CZ, s.r.o. 16

Reverzní Ajax (úvod) Server sám o sobě „tlačí“ data na klienta (alespoň zdánlivě) Tři možné způsoby: Polling: Neustálé dotazy klienta v krátkých pravidelných intervalech. Může vytěžovat server. Comet: Velmi pomalá odpověď serveru na otevřeném HTTP spojení Piggyback: Data jsou přidána jako přílepek k jiné regulérní odpovědi. Není garantováno, že přijde dotaz. Režimy: Aktivní: polling + comet, nutno speciálně nakonfigurovat na serveru i klientovi Pasivní: piggyback, není vyžadována extra konfigurace © 2009 IBA CZ, s.r.o. 17

Příklad použití © 2010 IBA CZ, s.r.o hlavní nadpis: Arial, vel. 20, barva Bílá - podnadpis: Arial bold, vel. 18, barva Modrá - odrážky: plný čtvereček, Arial, vel. 18, řádkování 1, odsazení před textem 2 cm, zvláštní odsazení 0,8 cm, mezera před 3 body - do levého pruhu je možné vkládat kromě připravených ilustrací i vlastní menší obrázky související s textem, případně tabulku nebo kratší odrážky -další použitelné barvy (Standardní): Tmavě červená, Světle modrá, Oranžová, Tmavě zelená Dynamicky načítaná data z WAS serveru

Příklad použití © 2010 IBA CZ, s.r.o hlavní nadpis: Arial, vel. 20, barva Bílá - podnadpis: Arial bold, vel. 18, barva Modrá - odrážky: plný čtvereček, Arial, vel. 18, řádkování 1, odsazení před textem 2 cm, zvláštní odsazení 0,8 cm, mezera před 3 body - do levého pruhu je možné vkládat kromě připravených ilustrací i vlastní menší obrázky související s textem, případně tabulku nebo kratší odrážky -další použitelné barvy (Standardní): Tmavě červená, Světle modrá, Oranžová, Tmavě zelená

Příklad použití - Naživo Když dá KIV síť a IBM VPN… © 2009 IBA CZ, s.r.o. 20

Odkazy DWR: Web: Mailing list: Users-f htmlhttp://dwr n2.nabble.com/DWR- Users-f html © 2011 IBA CZ, s.r.o hlavní nadpis: Arial, vel. 20, barva Bílá - podnadpis: Arial bold, vel. 18, barva Modrá - odrážky: plný čtvereček, Arial, vel. 18, řádkování 1, odsazení před textem 2 cm, zvláštní odsazení 0,8 cm, mezera před 3 body - do levého pruhu je možné vkládat kromě připravených ilustrací i vlastní menší obrázky související s textem, případně tabulku nebo kratší odrážky -další použitelné barvy (Standardní): Tmavě červená, Světle modrá, Oranžová, Tmavě zelená