AJAX w aplikacjach webowych: zalety, wyzwania, typowe problemy. Andrzej Bednarz Wrocław,
|
|
- Dariusz Kulesza
- 7 lat temu
- Przeglądów:
Transkrypt
1 AJAX w aplikacjach webowych: zalety, wyzwania, typowe problemy Andrzej Bednarz Wrocław,
2 2
3 AGENDA Podstawy AJAX AJAX we frameworkach webowych na przykładzie Wicket AJAX produkcyjnie problemy i wyzwania AJAX w GWT i JQuery i kolejne wyzwania Podsumowanie 3
4 AGENDA Podstawy AJAX AJAX we frameworkach webowych na przykładzie Wicket AJAX produkcyjnie problemy i wyzwania AJAX w GWT i JQuery i kolejne wyzwania Podsumowanie 4
5 AJAX definicja AJAX ang. Asynchronous JavaScript and XML, asynchroniczny JavaScript i XML technologia tworzenia aplikacji internetowych, w której interakcja użytkownika z serwerem odbywa sie bez przeładowywania całego dokumentu, w sposób asynchroniczny. Źródło: Wikipedia, za J..J. Garrett Ajax: A New Approach to Web Applications,
6 AJAX technologie Technicznie AJAX to zbiór różnych rozwiązań XMLHttpRequest JavaScript XML (JSON, HTML) HTML i CSS DOM Źródło: Wikipedia, za J..J. Garrett Ajax: A New Approach to Web Applications,
7 Jak używać AJAX niskopoziomowo stworzenie XMLHttpRequest function getxmlhttprequest () { var xmlhttp; try { // Utworzenie obiektu XMLHttpRequest (silnik Gecko, WebKit, Presto, Trident w IE>6) xmlhttp= new XMLHttpRequest(); } catch(e) { // Wylapuje blad jesli JavaScript nie posiada obiektu XMLHttpRequest try { // Utworzenie obiektu ActiveXObject, który jest zawarty w kontrolce ActiveX IE xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { // Utworzenie obiektu ActiveXObject, dla innych wersji IE xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { // Wyswietlenie bledu o braku obslugi obiektu XMLHttpRequest alert("your browser does not support AJAX!"); return false; } } } // zwrócenie obiektu return xmlhttp; } Źródło: Wikipedia 7
8 Jak używać AJAX niskopoziomowo wysyłanie żądania do serwera 1 var r; r = getxmlhttprequest(); 2 r.open('get', ' true); // true dla asynchr. 3 4 r.onreadystatechange = processresponse; //rejestracja funkcji do //odbierania wyników r.send(null); //null dla żądania GET 5 function processresponse() { if (r.readystate == 4) { // odebrano odpowiedź od serwera if (r.status == 200) { // kod odpowiedzi HTTP OK document.getelementbyid('tresc').innerhtml = r.responsexml.getelementsbytagname('tekst')[0].childnodes[0].nodevalue; }; }; } Źródło: W.Gajda 8
9 Trudności w używaniu AJAX niskopoziomowo Developerzy a JavaScript Różnice w przeglądarkach Frameworki Trudność użycia / podatność na błędy Prędkość tworzenia aplikacji Integracja z częścią serwerową Image courtesy of FreeDigitalPhotos.net 9
10 AGENDA Podstawy AJAX AJAX we frameworkach webowych na przykładzie Wicket AJAX produkcyjnie problemy i wyzwania AJAX w GWT i JQuery i kolejne wyzwania Podsumowanie 10
11 Apache Wicket Wybrane cechy Czysty HTML + czysta Java Komponentowy Wysoka reużywalność AJAX bez JavaScript Szablon HTML HelloWorld.html Klasa Java HelloWorld.java Źródło: 11
12 AJAX w Wicket Link rankproduct = new Link("rankProduct1") { public void onclick() { updaterating(getproduct(), getuser(), 1); // nic więcej nie trzeba robić, //Wicket sam odświeży stronę } AjaxLink rankproductajax = new AjaxLink("rankProduct1") public void onclick(ajaxrequesttarget target) { updaterating(getproduct(), getuser(), 1); // powiedz Wicketowi, by odświeżył wybrany fragment target.add(rankpanel); } }; AjaxFallbackLink rankproductajaxfallback = new AjaxFallbackLink("rankProduct1") { public void onclick(ajaxrequesttarget target) { updaterating(getproduct(), getuser(), 1); if (target!= null) { // powiedz Wicketowi, by odświeżył wybrany fragment target.add(rankpanel); } else { // Nie działa JavaScript i AJAX, pełne przeładowanie strony } } 12
13 13
14 AGENDA Podstawy AJAX AJAX we frameworkach webowych na przykładzie Wicket AJAX produkcyjnie problemy i wyzwania AJAX w GWT i JQuery i kolejne wyzwania Podsumowanie 14
15 Development -> testy akceptacyjne -> aplikacja na produkcji i zaczęły się problemy Skargi użytkowników Aplikacja działa zbyt wolno Brak reakcji aplikacji na składnie zamówień nie da się zamawiać Składanie zamówienia czasem nigdy się nie kończy ( kółeczko się kręci bez końca) a czasem się kończy bez oczekiwanego rezultatu 15
16 W poszukiwaniu rozwiązań Nie wiemy, czego nie wiemy Pierwsze akcje Kompleksowy monitoring na serwerze Winna jest prawdopodobnie sieć To dziwne, u mnie działa Przydatne narzędzie! SmokePing oss.oetiker.ch/smokeping/ To nie rozwiązuje problemu 16
17 W poszukiwaniu rozwiązań Jak zweryfikować problemy z połączeniem (z AJAX) Dwa fundamentalne problemy: Brak odpowiedniego monitoringu po stronie przeglądarki Jak to zrobić po stronie przeglądarki? Jak zintegrować z monitoringiem serwera? Brak odpowiedniego środowiska testowego Przydatne narzędzie! WanEm If you can't test it, you don't know that it works. If you don't know that it works, then it's useless. Uncle Bob 17
18 Rozwiązania Monitoring Obsługa błędów Wydajność Elementy: Logowanie Cookies JavaScript JMX Wiele rodzajów danych Czas oczekiwania na wysłanie Czas komunikacji z serwerem Czas przetwarzania odpowiedzi Wszelkie błędy Integracja z logami serwera Spójne dane Całościowy obraz Przydatne narzędzie! Perf4j 18
19 Rozwiązania Monitoring Obsługa błędów Wydajność Przetwarzanie przeglądarki Komunikacja sieciowa Łączny czas widoczny dla użytkownika Przetwarzanie serwera 19
20 Rozwiązania Monitoring Obsługa błędów Wydajność Przykładowa tabela logów Data i czas Użytk ownik ID-sesji IP ID żądania Akcja Hierar chia Czas [ms] , 14:34:12,000 user awe12e1 Zamówienie: oczekiwanie na wyslanie , 14:34:12, , 14:34:12, , 14:34:12, , 14:34:12, , 14:34:12, , 14:34:17,250 user awe12e1 Zamówienie: komunikacja z serwerem user awe12e1 Zamówienie: przetwarzanie serwera user awe12e1 Zamówienie: walidacja user awe12e1 Zamówienie: zapis user awe12e1 Zamówienie: przetwarzanie wicket user awe12e1 Zamówienie: renderowanie
21 Rozwiązania Monitoring Obsługa błędów Wydajność Brak obsługi błędów komunikacji Komunikaty o błędach Limit czasowy (timeout) 1 Uwaga! Przeglądarka robi to automatycznie dla zwykłych żądań. Ponowne próby wysłania żądania (retries) 1 1 Sami ręcznie musimy to zrobić 21
22 Rozwiązania Monitoring Obsługa błędów Wydajność Poprawianie wydajności Już poprzednie rozwiązania pomogły (retries, timeouts) Optymalizacja wysyłanego HTML Problem z dużymi odpowiedziami (funkcja innerhtml) Nadliczbowe żądania do serwera (specyfika Wicket i innych frameworków pełnostanowych) Wprowadzenie współbieżnych wywołań (specyfika Wicket) Wprowadzenie zbiorczych żądań (batch request) + Servlet Filter Optymalizacja odświeżania w tle (CometD) 22
23 Rozwiązania konkluzje Monitoring Obsługa błędów Wydajność Plik wicket-ajax.js mocno zmieniony utrudnione uaktualnianie wersji Wicket The Law of Leaky Abstractions, Joel Spolsky, articles/leakyabstractions.html All non-trivial abstractions, to some degree, are leaky. SQL 1). where a=b and b=c 2). where a=b and b=c and c=a TCP/IP 23
24 Jeszcze o XMLHTTPRequest metody Źródło: Wikipedia 24
25 Jeszcze o XMLHTTPRequest własności Źródło: Wikipedia 25
26 Krótkie demo wicket-ajax.js W eclipse 26
27 Podsumowanie Wicket Można szybko pisać rozbudowane aplikacje webowe dla biznesu, wiele ważnych elementów jest już wbudowanych, łatwa reużywalność komponentów Średnio trudne modyfikowanie / rozszerzanie wbudowanych mechanizmów Pewne problemy z AJAX: Nie wszystkie sytuacje obsłużone domyślnie (timeouts, retries) W pewnych zastosowaniach wydajność może być niewystarczająca Ale to się zmienia, w najnowszej wersji (6.0 beta) jest JQuery-AJAX Czy warto go używać w projekcie? zdecydowanie tak * 27
28 AGENDA Podstawy AJAX AJAX we frameworkach webowych na przykładzie Wicket AJAX produkcyjnie problemy i wyzwania AJAX w GWT i JQuery i kolejne wyzwania Podsumowanie 28
29 GWT zmiana punktu widzenia 30
30 GWT Główne cechy Fundamentalna różnica w podejściu, bogaty klient (rich client) Java JavaScript (zoptymalizowany uniwersalny ) AJAX wbudowany i konieczny Zapewnia abstrakcje nad DOM i XMLHTTPRequest public void rankproduct() { // stworzenie pośrednika do serwera RankingServiceAsync rankingservice = (RankingServiceAsync) GWT.create(RankingService.class); } AsyncCallback callback = new AsyncCallback() { public void onsuccess(rank result) { // zmiana w GUI gdy przyjdzie wynik } public void onfailure(throwable caught) { // blad wywolania zadania } }; rankingservice.rank(productid, userdid, callback); Co ukrywa pewne niuanse, szczególnie dla GWT RPC, ważna klasa Request Builder 31
31 GWT - kontynuacja Główne cechy Zapewnia wsparcie dla sytuacji wyjątkowych Błędy komunikacji (metoda onfailure obowiązkowa część Callback) Limit czasowy (timeout), choć nie w podstawowym tutorialu dla RPC * Łatwo dorobić dodatkowe rozwiązania, np. ponowienia (retries) Monitorowanie połączenia klasa RequestBuilder Łatwe logowanie i debuggowanie Wnioski Zapewnia bogaty framework dla tworzenia Rich Internet Applications Intuicyjna obsługa błędów AJAX Łatwa optymalizacja wydajności, w tym komunikacji z serwerem Może być pracochłonny (integracja klient-serwer, bezpieczeństwo) 32
32 JQuery Główne cechy Czysty JavaScript Perspektywa jak przy GWT Dostęp do wszystkich mechanizmów AJAX, ale jednocześnie ładne API Łatwa obsługa sytuacji wyjątkowych 33
33 JQuery Wnioski Bardzo bogata biblioteka JavaScript Potrzebe doświadczenie w JavaScript, żeby efektywnie używać. Podobnie jak przy GWT, a nawet bardziej, może być pracochłonna integracja klient serwer Najmniejsza abstrakcja od technologii, najłatwiej naprawiać potencjalne błędy, łatwa optymalizacja Inne problemy Brak świadomości klienta Brak odpowiedniego projektu GUI (wskaźnik postępu, komunikaty o błędach, timeout, retries). 34
34 AGENDA Podstawy AJAX AJAX we frameworkach webowych na przykładzie Wicket AJAX produkcyjnie problemy i wyzwania AJAX w GWT i JQuery i kolejne wyzwania Podsumowanie 35
35 Podsumowanie Prawidłowa obsługa AJAX stawia wiele wyzwań Techniczne Koncepcyjne (co dokładnie) Który framework wybrać? Może żaden? Dobrać odpowiedni do potrzeb Sam framework nie wystarczy, dobrze znać podstawy technologii, które są poniżej ( Leaky abstraction ) Brak świadomości zagrożeń i ze strony klienta i wykonawcy Testowanie Doświadczenie Consulting Problemy tu opisane wyglądają znajomo Już w 1994: The 8 Fallacies of Distributed Computing, P. Deutsch i J.Gosling: The network is reliable. Latency is zero. Bandwidth is infinite. Transport cost is zero. 36
36 Dziękuję za uwagę. 38
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery Łukasz Bartczuk Moduł 6 JavaScript w przeglądarce Agenda Skrypty na stronie internetowej Model DOM AJAX Skrypty na stronie
Bardziej szczegółowoAJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.
AJAX Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5. Czym jest AJAX? AJAX (Asynchronous JavaScript And XML) nie jest nową technologią, ale nowym sposobem wykorzystania kombinacji istniejących technologii
Bardziej szczegółowoPodstawy programowania w języku JavaScript
Podstawy programowania w języku JavaScript Część piąta AJAX Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.siminskionline.pl Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych
Bardziej szczegółowoPrzygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)
Program szkolenia: Przygotowanie do nowoczesnego programowania po stronie przeglądarki (HTML5, CSS3, JS, wzorce, architektura, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:
Bardziej szczegółowoCzym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych
Czym jest AJAX AJAX wprowadzenie Beata Pańczyk na podstawie: 1. Lis Marcin, Ajax, Helion, 2007 2. Hadlock Kris, Ajax dla twórców aplikacji internetowych, Helion, 2007 AJAX (Asynchronous JavaScript and
Bardziej szczegółowoAplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework mgr inż. Łukasz Stefanowicz dr inż.
Bardziej szczegółowoProgram szkolenia: REST i Microservices w PHP
Program szkolenia: REST i Microservices w PHP Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: REST i Microservices w PHP PHP-rest PHP developerzy 4 dni 50% wykłady / 50% warsztaty
Bardziej szczegółowoGoogle Web Toolkit Michał Węgorek ZPO 2009
Google Web Toolkit Michał Węgorek ZPO 2009 Plan prezentacji Czym jest GWT? Co daje GWT motywacja Po co tłumaczyć Javę do JavaScriptu? - AJAX niebezpieczeństwa - Przewaga GWT nad AJAX - RPC - Utrzymywanie
Bardziej szczegółowoZaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe AJAX 1 Celem tego laboratorium jest pokazanie moŝliwości technologii AJAX. W ramach ćwiczeń zostanie zbudowana prosta aplikacja, przechwytująca kliknięcia uŝytkownika
Bardziej szczegółowoAutomatyzacja Testowania w WEB 2.0
Automatyzacja Testowania w WEB 2.0 Wojciech Pająk, Radosław Smilgin XXIV Jesienne Spotkania PTI Wisła, 20-24 października 2008 Agenda Wprowadzenie do automatyzacji testowania Technologie WEB 2.0 Narzędzia
Bardziej szczegółowoOpenLaszlo. OpenLaszlo
OpenLaszlo Spis Treści 1 OpenLaszlo Co to jest? Historia Idea Architektura Jako Flash lub DHTML Jako servlet lub SOLO Jak to działa? Język LZX Struktura programu Skrypty Obiekty i klasy Atrybuty i metody
Bardziej szczegółowoBudowa aplikacji ASP.NET z wykorzystaniem wzorca MVC
Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:
Bardziej szczegółowoAjax. 1. Wprowadzenie. 2. Aplikacja serwerowa
Ajax 1. Wprowadzenie Do tej pory każda akcja na Waszej stronie kończyła się nowym requestem do serwera i przeładowaniem całej strony w przeglądarce. W tej instrukcji dodamy elementy asynchroniczne na stronie,
Bardziej szczegółowoFlex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008
Flex 3 Piotr Strzelczyk Wydział EAIiE Katedra Automatyki Kraków, 2008 Flex 3 czyli co to jest? RIA (Rich Internet Application) Jest to aplikacja webowa posiadająca moŝliwości aplikacji desktopowej. UmoŜliwia
Bardziej szczegółowoEwolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2
Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2 Statyczne strony HTML Wczytanie statycznej strony HTML sprowadza się do odebrania żądania przez serwer, odnalezienia właściwego pliku
Bardziej szczegółowoTECHNOLOGIE SIECI WEB
TECHNOLOGIE SIECI WEB Prowadzący: dr inż. Jan Prokop, e-mail: jprokop@prz.edu.pl, Politechnika Rzeszowska, Wydział Elektrotechniki i Informatyki LABORATORIUM ĆWICZENIE nr 8 Temat: Podstawy technologii
Bardziej szczegółowoZaawansowane Techniki WWW (HTML, CSS i NODE.JS)
Zaawansowane Techniki WWW (HTML, CSS i NODE.JS) Dr inż. Marcin Zieliński Środa 15:30-17:00 sala: A-1-04 WYKŁAD 8 Wykład dla kierunku: Informatyka Stosowana II rok Rok akademicki: 2014/2015 - semestr zimowy
Bardziej szczegółowoFull Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia
Kod szkolenia: Tytuł szkolenia: DED/FSJS Full Stack JavaScript z Angular i Nest Dni: 5 Opis: Adresaci szkolenia Kurs przeznaczony jest dla programistów posiadających podstawową wiedzę w zakresie JavaScript,
Bardziej szczegółowoForum Client - Spring in Swing
Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy
Bardziej szczegółowoKUP KSIĄŻKĘ NA: PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA
KUP KSIĄŻKĘ NA: WWW.PRAKTYCZNEPHP.PL PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA KOMUNIKATY DLA UŻYTKOWNIKA W większości aplikacji potrzebujesz mieć możliwość powiadomienia użytkownika o rezultacie
Bardziej szczegółowoProtokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.
Protokół HTTP 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. 1 Usługi WWW WWW (World Wide Web) jest najpopularniejszym sposobem udostępniania
Bardziej szczegółowoPatryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT
Patryk Jar Meet.js, Gdańsk 11 marca 2013 r. MODULARNY JAVASCRIPT O mnie Patryk yarpo Jar Programista JavaScript (nor-sta.eu) yarpo.pl 2 Agenda Chaos Obiekty Biblioteki AMD Podsumowanie Pytania 3 Dawno,
Bardziej szczegółowoBezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF
Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF O mnie 12 lat doświadczenia w systemach WEB Java/JEE (ISC) 2 CISSP CTO w J-LABS GET / HTTP/1.1 Host: bank.pl User-Agent: Mozilla/5.0
Bardziej szczegółowoSpis wzorców. Działania użytkownika Strona 147 Obsługa większości Działań użytkownika za pomocą kodu JavaScript przy użyciu metod obsługi zdarzeń.
Spis wzorców Aplikacja Ajax Strona 73 Tworzenie Aplikacji Ajax złożonych aplikacji, które można uruchomić w dowolnej współczesnej przeglądarce internetowej. Bezpośrednie logowanie Strona 509 Uwierzytelnianie
Bardziej szczegółowoJęzyki i narzędzia programowania III. Łukasz Kamiński Wykład II - 2012-10-08
Języki i narzędzia programowania III Łukasz Kamiński Wykład II - 2012-10-08 Wykład II Wprowadzenie kontynuacja Cookie HTML (JS/CSS/Flash/Java) Instalacja Apache, PHP, MySQL Konfiguracja Hosting i domeny
Bardziej szczegółowoPopularne dostępne rozwiązania. Najpopularniejsze środowiska programistyczne:
Popularne dostępne rozwiązania Najpopularniejsze środowiska programistyczne: Popularne dostępne rozwiązania Najpopularniejsze środowiska programistyczne: oraz systemy CMS (Content Menager System): Dlaczego
Bardziej szczegółowoSzkolenie wycofane z oferty
Szkolenie wycofane z oferty Program szkolenia: Java Server Faces 2 Informacje: Nazwa: Java Server Faces 2 Kod: Java-EE-JSF 2 Kategoria: Java EE Grupa docelowa: developerzy Czas trwania: 3 dni Forma: 50%
Bardziej szczegółowoBadania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid
Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid Tomasz Kuczyński Dział Aplikacji Tomasz Nowak Zespół Bezpieczeństwa Wrocław, 2.12.2010 r. Konferencja i3: internet
Bardziej szczegółowoTestowanie aplikacji Java Servlets
Borland Developer Days 2004 2-3 czerwca 2004 Testowanie aplikacji Java Servlets Bartosz Walter mailto: Bartek.Walter@man.poznan.pl Agenda Aplikacje Java Servlets TM Jak testować aplikacje internetowe?
Bardziej szczegółowoSzczegółowy opis zamówienia:
Szczegółowy opis zamówienia: Rok 2016 budowa stron w html5 (8h v + 4h ćw) 8 szt. html5 - zaawans. (7h v + 5h ćw) 8 szt. programowania w java script (9h v + 7h ćw) 8 szt. java script zaawans (8h v + 4h
Bardziej szczegółowoOracle Application Express -
Oracle Application Express - Wprowadzenie Wprowadzenie Oracle Application Express (dawniej: HTML DB) to narzędzie do szybkiego tworzenia aplikacji Web owych korzystających z bazy danych Oracle. Od użytkownika
Bardziej szczegółowoJava w Internecie - czy to ma sens? ;)
Java w Internecie - czy to ma sens? ;) Piotr Dziubecki PCSS Agenda Wstęp Zastosowania Javy w polskim Internecie Do czego Java nam się nie przyda? Zaczynamy z Javą: - technologie, - trendy, - koszty. Podsumowanie
Bardziej szczegółowoI Podstawy... 13. 1 Wprowadzenie do technologii Ajax... 15. 2 Żądanie... 19. 3 Odpowiedź... 31 XML 31 JSON 39
Spis treści O autorze... 9 Przedmowa... 11 I Podstawy... 13 1 Wprowadzenie do technologii Ajax... 15 Obiektowy model dokumentu XML 16 Zestawienie korzyści 16 2 Żądanie... 19 XMLHttpRequest od podszewki
Bardziej szczegółowo1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Bardziej szczegółowoAplikacje webowe z wykorzystaniem Node.js oraz Express
Aplikacje webowe z wykorzystaniem Node.js oraz Express Adresaci szkolenia: Kurs przeznaczony jest dla programistów pragnących tworzyć skalowalne aplikacje z wykorzystaniem Node.js. Parametry szkolenia:
Bardziej szczegółowoMechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
Bardziej szczegółowoGatesms.eu Mobilne Rozwiązania dla biznesu
Mobilne Rozwiązania dla biznesu SPECYFIKACJA TECHNICZNA WEB API-USSD GATESMS.EU wersja 0.9 Opracował: Gatesms.eu Spis Historia wersji dokumentu...3 Bezpieczeństwo...3 Wymagania ogólne...3 Mechanizm zabezpieczenia
Bardziej szczegółowoKrótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.
GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans
Bardziej szczegółowoPogadanka o czymś, co niektórzy nazywają AJAX
Pogadanka o czymś, co niektórzy nazywają AJAX Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 25 listopada 2005 roku Nowy świat aplikacji internetowych... System/przeglądarka
Bardziej szczegółowoPaweł Rajba, pawel.rajba@continet.pl
Paweł Rajba, pawel.rajba@continet.pl Wprowadzenie Zalety Wady XMLHttpRequest AJAX w praktyce AJAX + jquery Literatura Z czego się składa? JavaScript + DOM Obiekt XMLHttpRequest Jakakolwiek technologia
Bardziej szczegółowoGerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010
Bezpieczeństwo interoperacyjnego hostingu Gerard Frankowski, Zespół Bezpieczeństwa PCSS 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010 1 Agenda Wprowadzenie Zespół Bezpieczeństwa
Bardziej szczegółowoJak okiełznać frontend w Django? Piotr Maliński www.python.rk.edu.pl
Jak okiełznać frontend w Django? Piotr Maliński www.python.rk.edu.pl Problemy frontendu Trudne testowanie i debugowanie Różne przeglądarki Różne ustawienia przeglądarek Urządzenia dotykowe Przekazywanie
Bardziej szczegółowoWICKET VS. DJANGO. Leszek Gawron vs. Michał Leszczyński
WICKET VS. DJANGO Leszek Gawron vs. Michał Leszczyński 0. Główne ficze 1. Środowisko developerskie AGENDA 2. Uruchomienie projektów 3. Warstwa DAO/serwisów 4. Tworzenie UI 5. Templating 7. i18n 8. Reusability
Bardziej szczegółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoSOA Web Services in Java
Wydział Informatyki i Zarządzania Wrocław,16 marca 2009 Plan prezentacji SOA 1 SOA 2 Usługi Przykłady Jak zacząć SOA Wycinek rzeczywistości Problemy zintegrowanych serwisów : Wycinek Rzeczywistości Zacznijmy
Bardziej szczegółowoProgramowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
Bardziej szczegółowoASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009
ASP.NET MVC Grzegorz Caban grzegorz.caban@gmail.com 20 stycznia 2009 Agenda Przyczyna powstania Co to jest ASP.NET MVC Architektura Hello World w ASP.NET MVC ASP.NET MVC vs ASP.NET WebForm Przyszłość framework'a
Bardziej szczegółowoServer setup. #include <SPI.h> #include <Ethernet.h> boolean incoming = 0;
Server setup #include #include boolean incoming = 0; byte mac[] = 0x00, 0xAA, 0xBB, 0xCC, 0xDA, 0x02 ; IPAddress ip(192,168, 0, 230); EthernetServer server(80); void setup() pinmode(2,
Bardziej szczegółowoAplikacje Internetowe
Aplikacje Internetowe ITA-103 Wersja 1 Warszawa, październik 2008 Spis treści Wprowadzenie i-4 Moduł 1 Podstawy HTML 1-1 Moduł 2 Kaskadowe Arkusze Stylów CSS 2-1 Moduł 3 Podstawy JavaScript 3-1 Moduł 4
Bardziej szczegółowoSpis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7
I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego
Bardziej szczegółowoGarść niezawodnych sposobów na niezawodną integrację. WEBCON DAYS 2014 Tomasz Batko, WEBCON
Garść niezawodnych sposobów na niezawodną integrację WEBCON DAYS 2014 Tomasz Batko, WEBCON 1. Źródła danych Słowniki Raportowanie 2. Przesłanie danych do systemu zewnętrznego Synchronicznie Asynchronicznie
Bardziej szczegółowoCo to jest NODE.JS? Nowoczesne środowisko programistyczne
Node.js Co to jest NODE.JS? Nowoczesne środowisko programistyczne Środowisko programistyczne w sensie zestawu gotowych klas i metod których można używać do przygotowania własnych skalowalnych i wydajnych
Bardziej szczegółowoCałościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)
Program szkolenia: Całościowe podejście do testowania automatycznego dla programistów Ruby (TDD, BDD, Spec. by Example, wzorce, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:
Bardziej szczegółowoDokumentacja techniczna API systemu SimPay.pl
Wprowadzenie Dokumentacja techniczna API systemu SimPay.pl Wersja 1.0 z dnia 24.03.2015 r. API serwisu SimPay.pl opiera się o danych wysyłanych i zwracanych w formie JSON. W przypadku napotkania jakiegokolwiek
Bardziej szczegółowoREACT NATIVE. Anna Maziejuk Kamil Jankowski
REACT NATIVE Anna Maziejuk Kamil Jankowski React Native Framework/biblioteka bazujący na React Pozwala na tworzenie aplikacji tylko za pomocą języka JavaScript Wspiera platformy ios i Android REACT React
Bardziej szczegółowoBudowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer
Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer Maven 2 podstawowe informacje Apache Maven jest narzędziem automatyzującym budowę oprogramowania
Bardziej szczegółowoZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja
ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.
Bardziej szczegółowoReferat pracy dyplomowej
Temat pracy: Projekt i realizacja oprogramowania generującego sekwencje dźwięków dla zastosowań muzycznych Autor: Marcin Tatuś Promotor: dr inż. Roman Simiński Referat pracy dyplomowej 1. Cel i podstawowe
Bardziej szczegółowoAtaki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW
Ataki na aplikacje WWW Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW Ataki na aplikację Ataki na przeglądarkę Ataki na serwer WWW/kontener, etc. Często kombinacja i wiele etapów Którędy do środka
Bardziej szczegółowoPlan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym
1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle
Bardziej szczegółowoProjektowanie i implementacja wysokowydajnych aplikacji w języku
Program szkolenia: Projektowanie i implementacja wysokowydajnych aplikacji w języku PHP Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Projektowanie i implementacja wysokowydajnych
Bardziej szczegółowoJarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne
Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS
Bardziej szczegółowoBazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 321 Bydgoszcz
Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 321 Bydgoszcz 1 BSB dziś Jesteśmy producentem i integratorem rozwiązań informatycznych 100% udziałów w kapitale zakładowym posiada Narodowy Bank Polski
Bardziej szczegółowoSystemy obiegu informacji i Protokół SWAP "CC"
Systemy obiegu informacji i Protokół SWAP Grzegorz Blinowski "CC" Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-37-80 Problemy Integracja procesów zachodzących w
Bardziej szczegółowoPROJEKTOWANIE APLIKACJI INTERNETOWYCH
PROJEKTOWANIE APLIKACJI INTERNETOWYCH (WFAIS.IF-N016) dr inż. Marcin Zieliński Wykład dla kierunku: Informatyka Stosowana I rok, II stopień Rok akademicki: 2016/2017 - semestr letni WYKŁAD 2 Przypomnienie
Bardziej szczegółowoDokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy
Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...
Bardziej szczegółowoTytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych
Kod szkolenia: ANGULAR 4 Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych Dni: 5 Opis: Adresaci szkolenia Kurs przeznaczony jest dla programistów posiadających
Bardziej szczegółowoANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH
ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH szkolenie dla webdeveloperów ze znajomością przynajmniej podstaw HTML i JavaScript INFORMACJE PODSTAWOWE AngularJS to framework JavaScript stworzony przez inżynierów
Bardziej szczegółowoLock Manager Deadlock Źródła Jak starczy czasu. Dreadlocks. Konrad Błachnio MIMUW 19 maja 2010
Konrad Błachnio K.Blachnio@students.mimuw.edu.pl MIMUW 19 maja 2010 1 Co to jest? API Implementacja 2 ILockManagerWithDetecting s - straszny zamek 3 4 Obecna implementacja Lock vs. Synchronized Hashtable
Bardziej szczegółowoPodstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 14 AJAX, czyli jak odświeżyć bez odświeżania, część trzecia Na dzisiejszych zajęciach będziemy kontynuować realizację serwisu do wymiany wiadomości z wykorzystaniem technologii
Bardziej szczegółowoWebowy generator wykresów wykorzystujący program gnuplot
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący
Bardziej szczegółowoNoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki
29 października 2014 Igor Wojnicki (AGH, KIS) CouchDB 29 października 2014 1 / 53 NoSQL Not Only SQL, CouchDB Apache CouchDB has started. Time to relax. Igor Wojnicki Katedra Informatyki Stosowanej, Akademia
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Aplikacje WWW. Statyczne oraz dynamiczne strony WWW. Skrypty po stronie klienta. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki
Bardziej szczegółowoJak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? OWASP 19.11.2014. The OWASP Foundation http://www.owasp.org
Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? dr inż. Jakub Botwicz CISSP, ECSA, GWAPT 19.11.2014 jakub.botwicz@gmail.com Copyright The Foundation Permission is granted to copy, distribute
Bardziej szczegółowoWebAii Automation Framework
Wojciech Pająk Konferencja TESTWAREZ 2008 16-17 października 2008 testerzy.pl Agenda 1. WebAii - wprowadzenie 2. Metodyka automatyzacji 3. Budowa biblioteki 4. Integracja 5. Podsumowanie Co to jest, do
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 2 RESTful Web Services
Architektury Usług Internetowych Laboratorium 2 RESTful Web Services Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych opartych na standardzie REST. RESTful Web Services Usługami
Bardziej szczegółowoLaboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz
Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres
Bardziej szczegółowoWYKŁAD 1 ANGULARJS CZĘŚĆ 1
WYKŁAD 1 ANGULARJS CZĘŚĆ 1 DEFINICJA ANGULARJS Framework JavaScript na licencji open-source wykorzystywany do tworzenia aplikacji SPA (single page applications) w oparciu o wzorzec projektowy Model-View-Controler.
Bardziej szczegółowoProgram szkolenia: JavaScript Craftsmanship
Program szkolenia: JavaScript Craftsmanship Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: JavaScript Craftsmanship Craft-practices-js-craft Craftsmanship developerzy architekci
Bardziej szczegółowoPrzegląd narzędzi do automatycznego testowania aplikacji internetowych. Jan Płoszczyca SKISR 2006
Przegląd narzędzi do automatycznego testowania aplikacji internetowych Jan Płoszczyca SKISR 2006 Plan prezentacji Problemy przy tworzeniu serwisów Definicja zautomatyzowanego testowania Mity i fakty związane
Bardziej szczegółowoPHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
Bardziej szczegółowoKurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE
Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE Cena szkolenia Cena szkolenia wynosi 100 zł za 60 min. Ilość godzin szkolenia jest zależna od postępów w nauce uczestnika kursu oraz ilości czasu, którą będzie
Bardziej szczegółowoAplikacje Internetowe, Servlety, JSP i JDBC
Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny
Bardziej szczegółowoTester oprogramowania 2014/15 Tematy prac dyplomowych
Tester oprogramowania 2014/15 Tematy prac dyplomowych 1. Projekt i wykonanie automatycznych testów funkcjonalnych wg filozofii BDD za pomocą dowolnego narzędzia Jak w praktyce stosować Behaviour Driven
Bardziej szczegółowoWarszawa, Kategorie analizy frameworków GUI
Warszawa, 28.03.2017 Kategorie analizy frameworków GUI Ogólne 3 Komponenty 3 IT 4 Analiza pod kątem 4 2/5 Ten dokument stanowi punkt wyjścia do analizy frameworków GUI. Wynikiem analizy będzie wybór systemu,
Bardziej szczegółowoZałożenia projektowe dla zapytania ofertowego EAK_ZA_01/2015
Warszawa, 23.01.2015r. NIP: 521-32-79-750 Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015 I. Wstęp W związku z realizacją projektu Wdrożenie i świadczenie usługi w modelu SaaS eakceptacje,
Bardziej szczegółowoKatalog książek cz. 3: Web Service
Katalog książek cz. 3: Web Service Przygotowanie usługi sieciowej (web service) 1) Uruchom Netbeans, otwórz projekt przygotowany w ramach poprzednich zajęć. W kolejnych krokach przerobimy klasę BookManager
Bardziej szczegółowoAplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Bardziej szczegółowoProgramowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]
JAVA wprowadzenie do programowania (3/3) [1] Czym jest aplikacja Java Web Start? Aplikacje JAWS są formą pośrednią pomiędzy apletami a aplikacjami Javy. Nie wymagają do pracy przeglądarki WWW, jednak mogą
Bardziej szczegółowoZwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)
Program szkolenia: Zwinna współpraca programistów i testerów z wykorzystaniem BDD i Spec Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Zwinna współpraca programistów i testerów
Bardziej szczegółowoTwisted. Silnik Twojego Internetu. Jan Urbański wulczer@wulczer.org. Ducksboard. PyWaw #25, Warszawa, 10 czerwca 2013
Twisted Silnik Twojego Internetu Jan Urbański wulczer@wulczer.org Ducksboard PyWaw #25, Warszawa, 10 czerwca 2013 Jan Urbański (Ducksboard) Twisted PyWaw #25 1 / 23 1 Co to jest Twisted? Strona techniczna
Bardziej szczegółowoCiągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop Spis treści
Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop. 2018 Spis treści Podziękowania 13 O autorze 14 Wprowadzenie 15 Część I. Podstawy 21 Rozdział 1. Ciągłe dostarczanie
Bardziej szczegółowoKurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)
Spis treści Dzień 1 I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501) I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami
Bardziej szczegółowoWeb Application Firewall - potrzeba, rozwiązania, kryteria ewaluacji.
Web Application Firewall - potrzeba, rozwiązania, kryteria ewaluacji a.klesnicki@gmail.com Potrzeba 75% udanych ataków z Internetu wykorzystuje dziury w aplikacja webowych Rozwiązania Jak możemy się chronić?
Bardziej szczegółowoPrzewodnik użytkownika (instrukcja) AutoMagicTest
Przewodnik użytkownika (instrukcja) AutoMagicTest 0.1.21.137 1. Wprowadzenie Aplikacja AutoMagicTest to aplikacja wspierająca testerów w testowaniu i kontrolowaniu jakości stron poprzez ich analizę. Aplikacja
Bardziej szczegółowoProgram szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk
Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem
Bardziej szczegółowo