Metody integracji techniki AJAX w aplikacjach Web opartych o platformę Java Enterprise Edition

Wielkość: px
Rozpocząć pokaz od strony:

Download "Metody integracji techniki AJAX w aplikacjach Web opartych o platformę Java Enterprise Edition"

Transkrypt

1 Jan Mrzygłód 21 października 2006, Kraków Metody integracji techniki AJAX w aplikacjach Web opartych o platformę Java Enterprise Edition Jan Mrzygłód Java Developer Days

2 Zobaczmy to na mapie Jan Mrzygłód Java Developer Days

3 Jakieś sugestie? Jan Mrzygłód Java Developer Days

4 Inni nie pozostają w tyle Jan Mrzygłód Java Developer Days

5 Czy wiedziałeśże Aplikacje AJAX używają technologii które były z nami przez lata Jedyne czego brakowało to: Wizja. Jan Mrzygłód Java Developer Days

6 Jaka jest więc c wizja? Jan Mrzygłód Java Developer Days

7 Co to jest AJAX? Typowe wzorce AJAX Typowe problemy AJAX Biblioteki AJAX Integracja AJAX z JEE Narzędzia wspomagające Prezentacja praktyczna Pytania Agenda Jan Mrzygłód Java Developer Days

8 Zaczynamy! Co to jest AJAX? Typowe wzorce AJAX Typowe problemy AJAX Biblioteki AJAX Integracja z JEE Narzędzia wspomagające Prezentacja praktyczna Pytania Jan Mrzygłód Java Developer Days

9 Nie jest technologią Technika tworzenia interaktywnych aplikacji Web Cel: Interaktywnie Przyjaźnie Szybko AJAX w pigułce Ergonomicznie Jan Mrzygłód Java Developer Days

10 Asynchronous Żądania są tworzone asynchronicznie z wykorzystaniem XMLHttpRequest Żądanie nie wstrzymuje przeglądarki oraz użytkownika JavaScript Język skryptowy Akronim JScript wg. Microsoftu And Inne technologie takie jak CSS, XHTML XML XML jako technologia wymian danych Jan Mrzygłód Java Developer Days

11 Typowy przykład Jan Mrzygłód Java Developer Days

12 Odpowiedź jako HTML Jak to działa Zwracany tekst lub HTML Modyfikacja strony Zalety Łatwe w oprogramowaniu Minimalna ilość JavaScript Mniej przetwarzania Wady Może zużywać więcej pasma Nie tak łatwe do powtórnego użycia jak ogólne serwisy Trudne to zorganizowania tak by modyfikować różne elementy strony Jan Mrzygłód Java Developer Days

13 Odpowiedź semantyczna Jak to działa Zwracany XML lub JSON Interpretacja i modyfikacja Zalety Łatwość modyfikacji różnych elementów Małe wykorzystania pasma Powtórne użycie Wady XML wymaga parsingu który z kolei wymaga mocy obliczeniowej Inne podejścia jeśli chodzi o rendering inicjacyjny a modyfikacjy Mnóstwo specyficznego dla aplikacji kodu JavaScript Jan Mrzygłód Java Developer Days

14 Odpowiedź skryptowa Jak to działa Zwracany JavaScript Uruchomienie i modyfikacja Zalety Minimum kodu JavaScript Łatwo wykorzystać możliwości głównego języka implementacji aby śledzić DOM, zarządzać aktualizacjami itp.. Wady Wrażliwe jeśli mieszamy wraz z bibliotekami które modyfikują DOM Bardzo ściśle związany ze strukturą strony trudne do re-użycia Jan Mrzygłód Java Developer Days

15 Filozofia modelu Aplikacje AJAX nie: Przeładowują całej strony by zmodyfikować jej jedną część Ograniczają kreatywność twórców do niewielkiego zbioru kontrolek HTML Blokują aktywność użytkownika podczas oczekiwania na odpowiedź serwera Odświeżają strony pomiędzy ładowaniami Aplikacje AJAX zazwyczaj: Ładują dużo danych przy pierwszym wejściu na stronę Dokonują małych przyrostowych aktualizacji części strony Są interaktywne (informują użytkowników o tym co w danej chwili robią) Udostępniają elastyczne kontrolki Aplikacje AJAX są: Wydajne Ergonomiczne Interaktywne Jan Mrzygłód Java Developer Days

16 Całe bogactwo aplikacji typu Desktop Zaawansowane kontrolki interfejsu użytkownika Natychmiastowa odpowiedź Drag & drop Animacje Ziemia obiecana? Szybkie odpowiedzi (brak białych plam w przeglądarce) Wszystkie zalety aplikacji typu Web Proste wdrażanie pomiędzy platformami Natychmiastowa aktualizacja poprzez instalacje na serwerze Siła i elastyczność projektu graficznego Bezpieczeństwo i stabilność po stronie serwera Jan Mrzygłód Java Developer Days

17 Dwie strony medalu var xhr; try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { xhr = false; } } if (!xhr && typeof XMLHttpRequest!= 'undefined') { xhr = new XMLHttpRequest(); } Jan Mrzygłód Java Developer Days

18 AJAX to coś więcej niż zdalne wywołania Manipulacje modelem DOM CSS DHTML Złożone efekty graficzne Bogate doświadczenia użytkowników Wiele narzędzi Rzeczywistość Szkielety łagodzące trud kodowania JavaScript Łatwy do użycia nawet poprzez niewielkie wstawki Budowa kompletnej aplikacja AJAX może przypominać budowę bogatej aplikacji desktop w języku JavaScript Jan Mrzygłód Java Developer Days

19 Wgłę łębiamy się w AJAX Co to jest AJAX? Typowe wzorce AJAX Typowe problemy AJAX Biblioteki AJAX Integracja z JEE Narzędzia wspomagające Prezentacja praktyczna Pytania Jan Mrzygłód Java Developer Days

20 Znacznik statusu operacji Kiedy używać Długotrwające operacje Ładowanie plików na serwer Każde żądanie asynchroniczne mogące trwać kilka sekund Jak działa Użytkownik wyzwala operacje Wywołane jest zapytanie asynchroniczne oraz pokazana jest animacja Gdy zostaje otrzymana odpowiedź animacja jest usuwana W bardziej skomplikowanych przypadkach możliwe jest użycie czasomierzy po stronie klienta / serwera modyfikujących procentowy stopień postępu procesu Jan Mrzygłód Java Developer Days

21 Drill down Kiedy używać Interfejsy podobne do klientów z listą oraz panelem do przeglądania Kiedykolwiek użytkownik może przeglądać listę oraz przewijać elementy Jak działa Aplikacja wysyła żądanie danych poprzez onclick lub onkeypress Zwracane rezultaty są umieszczane w przewijanym polu Jan Mrzygłód Java Developer Days

22 Panel kontrolny popup Kiedy używać Panele z kontrolkami które nie w każdej chwili są potrzebne użytkownikowi Zaawansowane wyszukiwanie Przyciski które mają użyteczne opcje dla aktualnego elementu Jak działa Ukryty div zawierający panel kontrolny Przy zdarzeniu onclick, jest wywoływany i pozycjonowany Użytkownik może wykonywać operacje oraz zamknąć (schować) pop-up Do odkrywania/ukrywania panelu mogą być wykorzystywane efekty animacji Jan Mrzygłód Java Developer Days

23 Drag & drop Kiedy używać Sterowanie zawartością Reorganizacja list Listy zakupów Re-aranżacja portletów Jak działa Rejestrujemy komponenty (np. okna) Odbiorniki zdarzeń przesunięć myszy są zarejestrowane w przesuwalnych komponentach Przy zdarzeniu onmouseup, sprawdzana jest pozycja przynależności do celów upuszczania Jeśli rozpoznano cel, wysyłane jest żądanie powiadamiające serwer W innym przypadku - animacja do powrotu do poprzedniego stanu Najprościej użyć szkieletu Jan Mrzygłód Java Developer Days

24 Wirtualna przestrzeń Kiedy używać Serwisy map Każda aplikacja z funkcją zoom Bardzo duże wykresy bądź obrazy Jak działa Dane obrazu lub wykresu są dzielone na płytki Aktualnie widoczne identyfikatory płytek przechowywane są w tablicy JavaScript Wewnętrzny div wyświetla widoczne płytki w siatce Przy każdym przeciągnięciu siatka jest przesuwana Jeśli zachodzi potrzeba uaktualnienie poprzez żądanie zdalne Jan Mrzygłód Java Developer Days

25 Natychmiastowa walidacja Kiedy używać Wyświetlanie błędu gdy nazwa użytkownika jest już zajęta Wyświetlanie błędów formatu Wyświetlanie podpowiedzi Jak działa Podobieństwo do auto-uzupełniania Akcja serwera uruchamiana onkeypressed Błędy wyświetlane przy polu wejściowym Jan Mrzygłód Java Developer Days

26 Auto uzupełnianie Kiedy używać Pola zaznaczane kaskadowo Dynamiczne pola wyszukiwania Auto wypełnianie skojarzonych lub zależnych pól Uzupełnianie tabulatorem w polach formularza Jak działa Aplikacja wysyła do serwera wiadomości poprzez zdarzenia onkeypress, onchange Przychodzące wyniki są użyte do wpisania w inne pola lub zbiór wartości które mogą być zaznaczone i wybrane Jan Mrzygłód Java Developer Days

27 Powiadamianie użytkownikau Kiedy używać Zakończenia lub pojawienie się błędów w długotrwających procesach Pojawienie się nowej wiadomości lub elementu Inny użytkownik aktualnie pracuje na tym samym obiekcie aplikacji Jak działa Strona zawiera niewidzialny obszar powiadomień Timer JavaScript periodycznie sprawdza (pooling) serwer poprzez zapytanie asynchroniczne Powiadomienie jest wyświetlane dla użytkownika w obszarze powiadomień Użytkownik może dokonywać operacji na powiadomieniu (pop-up control panel) Jan Mrzygłód Java Developer Days

28 Profilowanie użytkownikau Kiedy używać Zapis preferencji wyświetlania Śledzenie czasu spędzonego na każdej stronie Śledzenie które pole formularza powoduje problemy Zdobywanie statystyk ergonomiczności Jak działa Akcje użytkownika ustawiające preferencje na stronie, wysyłają asynchroniczne akcje do serwisu preferencji gdzie zostają zapisane do przyszłego użytku Mogą być użyte timery Javascript do periodycznego wysyłania bitu życia (heartbeat) do serwera który może być użyty do śledzenia czasu spędzonego na danej stronie Żądanie może być wysłane przy przejściu pomiędzy polami formatki do śledzenia ile czasu jest spędzane nad każdym z pól i zrozumieć charakterystykę funkcjonalności Jan Mrzygłód Java Developer Days

29 Efekty wizualne Kiedy używać Dodawanie lub kasowanie elementów strony Podświetlenia ostatnio dodanych lub zmodyfikowanych elementów strony Animacje dla zaawansowanych widgetów strony Jak działa Efekt wizualny rozpoczyna się poprzez rozpoczęcie czasowej sekwencji JavaScript która modyfikuje rozmiar, kolor, widoczność oraz inne atrybuty elementów Zazwyczaj ukrywane jako biblioteka efektów Jan Mrzygłód Java Developer Days

30 Co to jest AJAX? Nie ma rzeczy idealnych Typowe wzorce AJAX Typowe problemy AJAX Biblioteki AJAX Integracja z J2EE Narzędzia wspomagające Prezentacja praktyczna Pytania Jan Mrzygłód Java Developer Days

31 Problemy: Użytkownik wywołuje akcje zdalną bez zdawania sobie sprawy z tego faktu Brak pewności czy akcja została wywołana na serwerze Duplikacja żądań Można przypadkowo przerwać długotrwałą akcje Rozwiązania: Brak odpowiedzi Wyświetlać dyskretną animacje kiedy tylko jest jakaś operacja w tle Używać bibliotek efektów gdy uzyskano poprawną odpowiedź Zawsze wyświetlać komunikat błędu gdy tylko jest jakieś niepowodzenie operacji Jan Mrzygłód Java Developer Days

32 Brak widoczności ci linku Problem: Duża część strony może być uaktualniona bez ładowania całej strony Pająki sieciowe mogą widzieć jedynie zawartość inicjującą Użytkownik nie może wysłać linka znajomym Użytkownik nie może zaznaczyć zawartości (bookmark) Trudność z linkiem z jednej części aplikacji do drugiej Rozwiązanie: Ładowania całej strony dla newralgicznych przejść Wspierać dwa modele przyrostowe modyfikacje oraz dla całej strony Udostępniać linki by użytkownik miał permanentny URL Udostępniać linki by użytkownik mógł wysłać URL do innych ludzi Jan Mrzygłód Java Developer Days

33 Brak przycisku back Problem Zaawansowana aplikacja AJAX może mieć jedynie pierwszą stronę w pełni ładowalną Użytkownicy są przyzwyczajeni do używania przycisków następny / poprzedni Mogą niechcący wyjść za aplikacji tracąc całą zawartość strony Rozwiązanie Wsparcie dla linków (poprzedni slajd) Użycie biblioteki Jan Mrzygłód Java Developer Days

34 Złamanie oczekiwań Web Problem Dane z formatek są wysłane bez submit a użytkownik nie zdaje sobie z tego sprawy Wiele indywidualnych przewijanych regionów na (przewijanej) stronie Nie działają klawisze back, bookmark Niespójne standardy kontrolek formularzy Rozwiązanie: Uważność w auto-zapisie formularzy Konsystencja w całej aplikacji Używanie popularnych bibliotek do efektów widget, tak aby użytkownik mógł je rozpoznać Jan Mrzygłód Java Developer Days

35 Złamanie oczekiwań Desktop Problem: Aplikacje AJAX stają się zastępnikiem aplikacji konwencjonalnych Wyglądają tak jak aplikacje desktop (n.p. Outlook) Nie wspierają jednak (zazwyczaj) standardowych cech grubego klienta: Cofnięcie, powtórzenie (undo / redo) Auto-zapis Ostrzeżenie podczas zamknięcia nie zachowanego dokumentu Rozwiązanie Implementacja cofnięć, powtórzeń, auto-zapisu oraz ostrzeżeń przy zamykaniu Zapewnić że przycisk powrotu nie wyprowadzi użytkownika poza aplikacje Zapewnić by linki nie otwierały się w tym samym oknie/zakładce zastępując aplikacje Jan Mrzygłód Java Developer Days

36 Ignorowanie błęb łędów Problem Użytkownik wywołuje zdalną operacje Wywołanie zwraca błędny kod lub zostaje przekroczony czas oczekiwania Użytkownik myśli iż akcja została poprawnie wywołana Strona jest niekompletna lub przestaje być spójna ze stanem serwera Rozwiązanie: Sprawdzać status HTTP w obiekcie odpowiedzi a nie tylko stan gotowości Wypisywać błędy procedur dla klauzul wyłapujących jak również błędne kody zwrotu Nie wyświetlać efektów sukcesu dopóki żądanie nie zostanie całkowicie obsłużone w tym czasie wyświetlać pasek postępu Zaimplementować spójny sposób informowania o błędach (komunikaty błędów, zaznaczenie na czerwono itp.) Jan Mrzygłód Java Developer Days

37 Niespójne odświe wieżanie Problem: Jedna część strony jest odświeżana periodycznie (server polling) Inna część jest statyczna dopóki strona nie zostanie ponownie w pełni odświeżona Mylące dla użytkownika Dane mogą być niespójne Rozwiązanie: Nie mieszać statycznych oraz dynamicznych danych wybrać jedno rozwiązanie Nie zapominać zmodyfikować wszystkie części strony jeśli te same dane są powtórzone wielokrotnie Jan Mrzygłód Java Developer Days

38 Starsze przeglądarki Problem Pewna funkcjonalność dostępna jedynie poprzez AJAX Użytkownicy z niekompatybilnymi przeglądarkami nie będą w stanie skorzystać z naszej aplikacji i być może nie będą nawet wiedzieli dlaczego aplikacja im nie działa Rozwiązanie Dostarczyć czyste strony HTML do dostępu do podstawowej funkcjonalności Testować z wyłączonym JavaScript Testować w starszych przeglądarkach Jan Mrzygłód Java Developer Days

39 Za dużo o połą łączeń Problem Strona może posiadać kilka znaczników pollingu serwera Przeglądarki limitują liczbę równoczesnych połączeń Ryzyko konfliktu jednoczesnej zmiany w DOM Ryzyko znaczących spowolnień Rozwiązanie Bądź świadomy ile połączeń jest niezbędne Kolejkowaćżądania i wykonywać w sekwencji lub jako jedno połączone wywołanie Użycie oddzielnych wywołań zwrotnych (callbacks) do równoległych żądań tak aby odświeżyć właściwy znacznik stanu postępu Jan Mrzygłód Java Developer Days

40 Eksplozja DOM Problem Rezultaty wywołania są zachowywane w DOM bez usunięcia poprzednich informacji Dynamiczna zawartość jest tworzona za każdym użyciem i tylko ukrywana kiedy już nie jest potrzebna Aplikacja zaczyna działać wolniej Rozwiązanie Usunięcie elementów z DOM kiedy są już niepotrzebne Ponowne użycie elementów pop-up, znaczników stanu, boksów komunikatów itd.. Jan Mrzygłód Java Developer Days

41 Co to jest AJAX? Nie wymyślajmy koła Typowe wzorce AJAX Typowe problemy AJAX Biblioteki AJAX Integracja z J2EE Narzędzia wspomagające Prezentacja praktyczna Pytania Jan Mrzygłód Java Developer Days

42 Biblioteki, szkielety - podział Specjalizowane biblioteki JavaScript Zdalne wywołania, Efekty, Drag & Drop, Komponenty DHTML Mogą być mieszane i dopasowane Wszechstronne biblioteki JavaScript Udostępniają powyższą funkcjonalność i więcej Czysty interfejs pomiędzy stroną serwera a klienta Language-specific Wrappery JavaScript Wygodne narzędzia / marka do ukrywania detali JavaScript Świetne do dodania małej właściwości AJAX do aplikacji Web W środku ciągle jednak JavaScript / DOM Language-specific Implementacje AJAX Brak zależności z zewnętrznymi bibliotekami Mogą wstawiać cechy języka do warstwy JavaScript Mogą być silnie zintegrowane z istniejącymi szkieletami W kontekście JEE omówione szerzej w kolejnym rozdziale Jan Mrzygłód Java Developer Days

43 Uniwersalny zestaw narzędzi Pełny i wszechstronny, zawierający: Biblioteki pomocnicze JavaScript Operacje na DOM / CSS Biblioteki zdarzeń Kolekcje Wywołania zdalne Wsparcie dla JSON Parser XML Widgets WYSIWIG Text Editor Efekty Drag & Drop Walidacja Manipulacja grafiką DOJO Jan Mrzygłód Java Developer Days

44 Biblioteka uniwersalnego zastosowania Udostępnia podstawowe udogodnienia metod JavaScript Np.. ${foo} zamiast document.getelementbyid( foo ) Zapewnia podstawową funkcjonalność AJAX Wywołania zdalne Periodyczne modyfikacje Ewaluacje JSON Prototype Lekka i prosto zintegrowana z innymi bibliotekami JavaScript Jan Mrzygłód Java Developer Days

45 Rico Na podstawie Prototype Udostępnia podstawową funkcjonalność AJAX: wywołania zdalne, drag & drop, efekty (np. zaokrąglone rogi) widgets (live grid) Wsparcie dla modyfikacji więcej niż jednego elementu strony poprzez jedną odpowiedź Lekki i prosto zintegrowany z innymi bibliotekami Yahoo User Interface Library Echo Scriptaculous Rialto Popularne szkielety - inne Jan Mrzygłód Java Developer Days

46 TrimPath trimpath.com Log4js log4js.sourceforge.net log4js.berlios.de JsUnit jsunit.net Biblioteki ogólne JSON parser kawa.net/works/js/jkl/parsexml.html Jan Mrzygłód Java Developer Days

47 Małą czarną poproszę Co to jest AJAX? Typowe wzorce AJAX Typowe problemy AJAX Biblioteki AJAX Integracja z JEE Narzędzia wspomagające Prezentacja praktyczna Pytania Jan Mrzygłód Java Developer Days

48 Biblioteki Integracja z Servlet API Integracja z JSF Integracja z JEE Integracja z Tapestry Integracja z Portlet API Jan Mrzygłód Java Developer Days

49 Google Web Toolkit AjaxTags AjaxStruts Biblioteki dedykowane Javie Direct Web Remoting Jan Mrzygłód Java Developer Days

50 Integracja z platformą JEE AjaxTags Szkielet Javy dla AJAX Usiłuje zasłonić developerów od praktycznie całego kodu JavaScript Niestandardowe znaczniki JSP dla funkcjonalności takich jak: Autouzupełnianie Callout Zamiana DOM Kaskadowe wybieranie Kaskadowe modyfikacje pól Zintegrowane efekty dla znacznika postępu stanu Dobry dla minimalnej ilości AJAX, jednak jeszcze niedojrzały Nie mylić z Struts AJAX Tags Jan Mrzygłód Java Developer Days

51 Szkielet AJAX dla platformy Java Zachowanie podobne do RMI, daje dostęp do klas dostępnych po stronie serwera z kodu JavaScript klienta Faworyzuje styl odpowiedzi semantycznej Dodaje udogodnienia Odpowiedź przychodzi jako obiekt a nie XML Metody narzędziowe do modyfikacji zbioru opcji na podstawie tablicy Popularny DWR Direct Web Remoting Zintegrowany z przodującymi frameworkami javy (Struts, Tapestry, Spring, JSF) Jan Mrzygłód Java Developer Days

52 Prosty przykład (1/4) Tworzenie obiektu XMLHttpRequest reprezentującego żądanie var req; function validate() { var idfield = document.getelementbyid("userid"); var url = "validate?id=" + escape(idfield.value); if (window.xmlhttprequest) { req = new XMLHttpRequest(); } else if (window.activexobject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } req.open("get", url, true); req.onreadystatechange = callback; req.send(null); } Jan Mrzygłód Java Developer Days

53 Prosty przykład (2/4) Przetwarzanie żądania przez Servlet i generowanie odpowiedzi public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { String targetid = request.getparameter("id"); if ((targetid!= null) &&!users.containskey(targetid.trim())) { response.setcontenttype("text/xml"); response.setheader("cache-control", "no-cache"); response.getwriter().write("valid"); } else { response.setcontenttype("text/xml"); response.setheader("cache-control", "no-cache"); response.getwriter().write("invalid"); } } Jan Mrzygłód Java Developer Days

54 Prosty przykład (3/4) Zwrócenie odpowiedzi i wywołanie funkcji modyfikującej stronę function callback() { if (req.status == 200) { // call function to update the HTML DOM } } Jan Mrzygłód Java Developer Days

55 Prosty przykład (4/4) Modyfikacja zawartości (poprzez DOM) var rootdisplaynode = document.getelementbyid("root"); var TAB = document.createelement("table"); TAB.cellSpacing = "0"; TAB.cellPadding = "0"; TAB.border = "0"; TAB.className = "table_class"; var TB = document.createelement("tbody"); var TR = document.createelement("tr") var TD = document.createelement("td"); var class = "td_class"; TD.className = "td_class"; var link = document.createelement("a"); link.href = "#"; link.appendchild(document.createtextnode("link")); TD.appendChild(link); TR.appendChild(TD); TB.appendChild(TR); TAB.appendChild(TB); rootdisplaynode.appendchild(tab); Jan Mrzygłód Java Developer Days

56 Integracja AJAX oraz JSF Integracja z istniejącą architekturą JSF Niestandardowy komponent JSF współdziałający z kontrolerem AJAX Niestandardowy komponent JSF Jan Mrzygłód Java Developer Days

57 Integracja z istniejącą architekturą Jan Mrzygłód Java Developer Days

58 Kontroler AJAX Jan Mrzygłód Java Developer Days

59 Niestandardowy komponent Jan Mrzygłód Java Developer Days

60 Prosta Dedykowany Servlet, lub z użyciem szkieletu ogólnego przeznaczenia Zaawansowana Integracja z Tapestry Dedykowana biblioteka (np. Tacos), lub niestandardowe komponenty Jan Mrzygłód Java Developer Days

61 Specyfika Portlet API w kontekście wykorzystania techniki AJAX Potencjalne problemy Rozwiązania AJAX & Portlet API Jan Mrzygłód Java Developer Days

62 AJAX & Portlet API Jan Mrzygłód Java Developer Days

63 Co to jest AJAX? Dobre narzędzie to podstawa Typowe wzorce AJAX Typowe problemy AJAX Biblioteki AJAX Integracja z J2EE Narzędzia wspomagające Prezentacja praktyczna Pytania Jan Mrzygłód Java Developer Days

64 Popularne narzędzia Live Source Viewers Polegamy na view source do debugowania standardowych aplikacji web Nieeleganckie Nie działa gdy kod JavaScript dynamicznie dodaje/usuwa zawartość Narzędzie które przetłumaczy aktualny model DOM do widoku źródła Sprawdź rozszerzenia Firefox View Rendered Source Chart View Formatted Source Można również używać Ctrl-A oraz View selection source do otrzymania syntaktycznie podświetlonego widoku źródła strony. Jan Mrzygłód Java Developer Days

65 Firefox plugins View Rendered Source Chart View formatted source Jan Mrzygłód Java Developer Days

66 Nawigacja po całym drzewie DOM Widok właściwości każdego elementu Widok jak obliczany jest styl CSS Check out: Inspektorzy DOM Firefox built-in DOM Inspector (Tools Menu) Safari Debug Menu and Web Inspector Internet Explorer Developer Tool and DOM Inspector Jan Mrzygłód Java Developer Days

67 Odpluskwiacze JavaScript Każda aplikacja AJAX posiada dużo kodu JavaScript Przeglądarki (w szczególności inne niż Mozilla) nie ułatwiają odpluskwiania Brak łatwego sposobu na logowanie informacji debugujących w sposób niezniszczalny po przeładowaniu strony Jan Mrzygłód Java Developer Days

68 Java Script Debuggers Sprawdź Venkman JavaScript Debugger MyEclipse JavaScript Debugger (oraz inne narzędzia dla AJAX) Microsoft Script Debugger Jan Mrzygłód Java Developer Days

69 IE WebDeveloper Jan Mrzygłód Java Developer Days

70 FF DOM Inspector Jan Mrzygłód Java Developer Days

71 FF JavaScript Debugger Jan Mrzygłód Java Developer Days

72 FF FireBug Jan Mrzygłód Java Developer Days

73 Książki Pragmatyczny AJAX Wzorce Projektowe AJAX AJAX w akcji Strony web AjaxPatterns.org AlistApart.com Ajaxian.com Gdzie dowiedzieć się więcej? Jan Mrzygłód Java Developer Days

74 Show time Co to jest AJAX? Typowe wzorce AJAX Typowe problemy AJAX Biblioteki AJAX Integracja z J2EE Narzędzia wspomagające Prezentacja praktyczna Pytania Jan Mrzygłód Java Developer Days

75 Portal Liferay Jan Mrzygłód Java Developer Days

76 Platforma BEA ALSB Jan Mrzygłód Java Developer Days

77 O firmie Jesteśmy firmą zaawansowanych technologii Działamy na rynku Globalnym Dostarczamy wysokiej jakości produkty Jan Mrzygłód Java Developer Days

78 Partnerzy technologiczni Jan Mrzygłód Java Developer Days

79 Co to jest AJAX? Partnerzy technologiczni Typowe wzorce AJAX Typowe problemy AJAX Biblioteki AJAX Integracja z J2EE Narzędzia wspomagające Prezentacja praktyczna Pytania Jan Mrzygłód Java Developer Days

80 Zakończenie Dziękuj kuję za uwagę! Jan Mrzygłód Java Developer Days

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

OpenLaszlo. OpenLaszlo

OpenLaszlo. 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ółowo

Aplikacje Internetowe

Aplikacje 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ółowo

Podstawy programowania w języku JavaScript

Podstawy 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ółowo

1 Wprowadzenie do J2EE

1 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ółowo

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Czym 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ółowo

Szczegółowy opis zamówienia:

Szczegół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ółowo

Paweł Rajba, pawel.rajba@continet.pl

Paweł 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ółowo

WŁĄCZANIE W PRZEGLĄDARKACH INTERNETOWYCH OBSŁUGI SKRYPTÓW JAVASCRIPT

WŁĄCZANIE W PRZEGLĄDARKACH INTERNETOWYCH OBSŁUGI SKRYPTÓW JAVASCRIPT WŁĄCZANIE W PRZEGLĄDARKACH INTERNETOWYCH OBSŁUGI SKRYPTÓW JAVASCRIPT JavaScript jest językiem skryptowym powszechnie stosowanym przez programistów internetowych. Skrypty służą zazwyczaj do zapewnienia

Bardziej szczegółowo

AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.

AJAX. 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ółowo

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji

Bardziej szczegółowo

REACT NATIVE. Anna Maziejuk Kamil Jankowski

REACT 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ółowo

KORZYSTANIE Z BAZY DANYCH UpToDate

KORZYSTANIE Z BAZY DANYCH UpToDate KORZYSTANIE Z BAZY DANYCH UpToDate 1 KORZYSTANIE Z BAZY DANYCH UpToDate 1. Wejdź na stronę Biblioteki Głównej Uniwersytetu Medycznego w Lublinie: http://www.biblioteka.umlub.pl 2. W ZASOBY kliknij na Zdalny

Bardziej szczegółowo

WebAii Automation Framework

WebAii 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ółowo

Przewodnik użytkownika (instrukcja) AutoMagicTest

Przewodnik 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ółowo

Tworzenie prezentacji w MS PowerPoint

Tworzenie prezentacji w MS PowerPoint Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje

Bardziej szczegółowo

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Przygotowanie 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ółowo

EXSO-CORE - specyfikacja

EXSO-CORE - specyfikacja EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.

Bardziej szczegółowo

Automatyzacja Testowania w WEB 2.0

Automatyzacja 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ółowo

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

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ółowo

Zajęcia 4 - Wprowadzenie do Javascript

Zajęcia 4 - Wprowadzenie do Javascript Zajęcia 4 - Wprowadzenie do Javascript Co to jest Javascript Javascript jest językiem skryptowym pozwalającym na dołączanie dodatkowej funkcjonalności do stron WWW. Jest ona najczęściej związana z modyfikacją

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).

Bardziej szczegółowo

Programowanie Komponentowe WebAPI

Programowanie 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ółowo

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD PLATFORMA ACTIVE FORMS Kreator Formularzy Internetowych ze wsparciem dla RWD ACTIVE FORMS 2 Spis treści WPROWADZENIE 3 Dowolnie złożone formularze 3 Niski czas i koszt zbudowania formularza 4 TOP 10 WŁAŚCIWOŚCI

Bardziej szczegółowo

VectraPortal. VectraPortal. wersja Instrukcja użytkownika Podstawowa funkcjonalność serwisu. [czerwiec 2016]

VectraPortal. VectraPortal. wersja Instrukcja użytkownika Podstawowa funkcjonalność serwisu. [czerwiec 2016] VectraPortal wersja 1.6.9 Instrukcja użytkownika Podstawowa funkcjonalność serwisu [czerwiec 2016] Spis treści 1 Wymagania systemowe... 3 2 Podstawowa funkcjonalność serwisu... 3 2.1 Mapa... 3 2.2 Pasek

Bardziej szczegółowo

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript Kod szkolenia: Tytuł szkolenia: HTML5/ANG Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript Dni: 5 Opis: Adresaci szkolenia: Kurs przeznaczony jest dla programistów

Bardziej szczegółowo

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Kró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ółowo

Spis 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. 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ółowo

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej Formy ochrony przyrody oraz gospodarka zielenią

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej Formy ochrony przyrody oraz gospodarka zielenią Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej Formy ochrony przyrody oraz gospodarka zielenią Instrukcja użytkownika Historia zmian Wersja Data Kto Opis zmian 1.0 2014-10-19

Bardziej szczegółowo

Web frameworks do budowy aplikacji zgodnych z J2EE

Web frameworks do budowy aplikacji zgodnych z J2EE Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody.

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody. Załącznik nr 1 Specyfikacja przedmiotu zamówienia Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody. Słowniczek pojęć Badanie

Bardziej szczegółowo

Szkolenie wycofane z oferty

Szkolenie 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ółowo

I Podstawy... 13. 1 Wprowadzenie do technologii Ajax... 15. 2 Żądanie... 19. 3 Odpowiedź... 31 XML 31 JSON 39

I 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ółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa 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ółowo

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia r.)

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia r.) Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia 08 25.04.2016 r.) 1) Zdarzenia w JavaScript Zdarzenia są sygnałami generowanymi w chwili wykonywania ściśle określonych

Bardziej szczegółowo

Zaawansowane Techniki WWW (HTML, CSS i NODE.JS)

Zaawansowane 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ółowo

KONFIGURACJA PRZEGLĄDAREK. Poniższa konfiguracja dedykowana jest dla Bankowości Internetowej SGB

KONFIGURACJA PRZEGLĄDAREK. Poniższa konfiguracja dedykowana jest dla Bankowości Internetowej SGB KONFIGURACJA PRZEGLĄDAREK Poniższa konfiguracja dedykowana jest dla Bankowości Internetowej SGB Spis treści Konfiguracja przeglądarki Internet Explorer 8.0... 2 Konfiguracja przeglądarki Internet Explorer

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,

Bardziej szczegółowo

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008 Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF

Bardziej szczegółowo

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów A Zasady współpracy Ocena rozwiązań 3.0 25 40 punktów 3.5 41 65 punktów 4.0 66 80 punktów 4.5 81 100 punktów 5.0 101 130 punktów Warunki zaliczenia przedmiotu Student uzyska ocenę zaliczającą (3.0) o ile

Bardziej szczegółowo

KUP KSIĄŻKĘ NA: PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA

KUP 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ółowo

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Dokumentacja 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ółowo

Ćwiczenie 8. Kontrolki serwerowe

Ćwiczenie 8. Kontrolki serwerowe Ćwiczenie 8 Temat: Kontrolki serwerowe ASP.NET cz.2 Cel ćwiczenia: W ramach tego ćwiczenie student zapozna się z kolejnymi kontrolkami serwerowymi oraz z metodami ich walidacji, a także z kontrolkami umożliwiającymi

Bardziej szczegółowo

Aplikacje Internetowe

Aplikacje Internetowe Aplikacje Internetowe ITA-103 Wersja 1 Warszawa, październik 2008 2008 Piotr Bubacz. Autor udziela prawa do bezpłatnego kopiowania i dystrybuowania wśród pracowników uczelni oraz studentów objętych programem

Bardziej szczegółowo

Serwis jest dostępny w internecie pod adresem www.solidnyserwis.pl. Rysunek 1: Strona startowa solidnego serwisu

Serwis jest dostępny w internecie pod adresem www.solidnyserwis.pl. Rysunek 1: Strona startowa solidnego serwisu Spis treści 1. Zgłoszenia serwisowe wstęp... 2 2. Obsługa konta w solidnym serwisie... 2 Rejestracja w serwisie...3 Logowanie się do serwisu...4 Zmiana danych...5 3. Zakładanie i podgląd zgłoszenia...

Bardziej szczegółowo

Tworzenie aplikacji 18 Uruchamianie przykładu 24. Budowanie i instalowanie aplikacji Ajax 27 Uruchamianie przykładu 29

Tworzenie aplikacji 18 Uruchamianie przykładu 24. Budowanie i instalowanie aplikacji Ajax 27 Uruchamianie przykładu 29 Spis treści Przedmowa...7 1. Przygotowania...13 Wymagania 13 Instalowanie serwera Tomcat 14 Instalowanie Ant 15 2. JavaScript i Ajax... 17 Tworzenie aplikacji 18 Uruchamianie przykładu 24 3. Prosty serwlet

Bardziej szczegółowo

Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid

Badania 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ółowo

Wybrane działy Informatyki Stosowanej

Wybrane 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ółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja aplikacji internetowej do wyszukiwania promocji Autor: Sylwester Wiśniewski Promotor: dr Jadwiga Bakonyi Kategorie: aplikacja webowa Słowa

Bardziej szczegółowo

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, 02-146 Warszawa www.adh.com.pl Spis treści 1. Wydajność aplikacji po stronie klienta... 3 2. Wybór przeglądarki

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

Popularne dostępne rozwiązania. Najpopularniejsze środowiska programistyczne:

Popularne 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ółowo

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Co 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ółowo

PODRĘCZNIK CZYTELNIKA

PODRĘCZNIK CZYTELNIKA PODRĘCZNIK CZYTELNIKA Logowanie Aby móc zalogować się do wypożyczalni systemu Academica, trzeba mieć numer własnej karty bibliotecznej, czyli być zarejestrowanym użytkownikiem Biblioteki Głównej Uniwersytetu

Bardziej szczegółowo

S P I S T R E Ś C I. Instrukcja obsługi

S P I S T R E Ś C I. Instrukcja obsługi S P I S T R E Ś C I Instrukcja obsługi 1. Podstawowe informacje o programie.................................................................................... 2 2. Instalacja programu.....................................................................................................

Bardziej szczegółowo

FAQ Systemu EKOS. 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen?

FAQ Systemu EKOS. 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen? 27.06.11 FAQ Systemu EKOS 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen? Procedura rejestracji ocen wymaga podpisywania protokołów (w postaci wypełnionych formularzy InfoPath Forms

Bardziej szczegółowo

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap. Kod szkolenia: Tytuł szkolenia: FRONT-END Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap. Dni: 5 Opis: Adresaci szkolenia Kurs przeznaczony jest zarówno dla

Bardziej szczegółowo

Idea of responsive web design. Roman Białek Mateusz Mikołajczak Kacper Palmowski Krzysztof Szot

Idea of responsive web design. Roman Białek Mateusz Mikołajczak Kacper Palmowski Krzysztof Szot Idea of responsive web design Roman Białek Mateusz Mikołajczak Kacper Palmowski Krzysztof Szot Czym tak właściwie jest responsive web design? Jest to podejście do projektowania stron internetowych w taki

Bardziej szczegółowo

Forum Client - Spring in Swing

Forum 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ółowo

Zaawansowane aplikacje internetowe

Zaawansowane 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ółowo

jako integralna część Regionalnego Systemu Informacji Przestrzennej (RSIP)

jako integralna część Regionalnego Systemu Informacji Przestrzennej (RSIP) OGÓLNE ZASADY WYPEŁNIANIA FORMULARZA etpp 1 WPROWADZENIE Elektroniczny formularz etpp utworzony został w ramach projektu Ogólnodostępna Platforma Informacji Tereny Poprzemysłowe (OPI-TPP) i stanowić będzie

Bardziej szczegółowo

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida Cel pracy Analiza wybranych ram projektowych dostępnych dla platformy Java Warunki selekcji napisany z wykorzystaniem języka Java oraz

Bardziej szczegółowo

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Laboratorium 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ółowo

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07 PHP i bazy danych Paweł Kasprowski pawel@kasprowski.pl Użycie baz danych Bazy danych używane są w 90% aplikacji PHP Najczęściej jest to MySQL Funkcje dotyczące baz danych używają języka SQL Przydaje się

Bardziej szczegółowo

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i Program szkolenia: Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i JFace Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Kompleksowe tworzenie aplikacji

Bardziej szczegółowo

Wykład 5: PHP: praca z bazą danych MySQL

Wykład 5: PHP: praca z bazą danych MySQL Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych

Bardziej szczegółowo

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Program szkolenia: Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Produktywne tworzenie aplikacji webowych z

Bardziej szczegółowo

Portal Personelu Medycznego. 2010 Global Services Sp. z o.o.

Portal Personelu Medycznego. 2010 Global Services Sp. z o.o. Portal Personelu Medycznego 2 Portal Personelu Medycznego Spis treści Rozdział I Wprowadzenie 3 Rozdział II Konfiguracja 4 Rozdział III Aktywacja 5 Rozdział IV Opis aplikacji 7 Rozdział V Obsługa okien

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: 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ółowo

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Przykłady na podstawie zadań lab. z przedmiotu Technologie internetowe

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 3 przejdziemy teraz do zaprojektowania strony przegladaj_dzialami.aspx na której użytkownicy będą przeglądać

Bardziej szczegółowo

Munsol - dokument zmian. MUNSOL - Dokument zmian

Munsol - dokument zmian. MUNSOL - Dokument zmian MUNSOL - Dokument zmian 1 Spis treści Munsol - dokument zmian Spis treści 2 Wprowadzenie 3 Wprowadzone zmiany 3 1. Logowanie z użyciem karty. 3 2. Strona główna 4 3. Komunikaty informacyjne 4 4. Listy

Bardziej szczegółowo

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 6 Wskazówki i sugestie

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 6 Wskazówki i sugestie Inżynieria wymagań Wykład 2 Proces pisania przypadków użycia Część 6 Wskazówki i sugestie Opracowane w oparciu o materiały IBM (kurs REQ570: Writing Good Use Cases) Wyzwania podczas pisania przypadków

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Przewodnik Szybki start

Przewodnik Szybki start Przewodnik Szybki start Program Microsoft Access 2013 wygląda inaczej niż wcześniejsze wersje, dlatego przygotowaliśmy ten przewodnik, aby skrócić czas nauki jego obsługi. Zmienianie rozmiaru ekranu lub

Bardziej szczegółowo

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller Dokumentacja systemu NTP rekrut Autor: Sławomir Miller 1 Spis treści: 1. Wstęp 1.1 Wprowadzenie 1.2 Zakres dokumentu 2. Instalacja 2.1 Wymagania systemowe 2.2 Początek 2.3 Prawa dostępu 2.4 Etapy instalacji

Bardziej szczegółowo

ELF. Instrukcja użytkownika. (System wspomagający wypełnianie wniosków elektronicznych)

ELF. Instrukcja użytkownika. (System wspomagający wypełnianie wniosków elektronicznych) ELF Instrukcja użytkownika (System wspomagający wypełnianie wniosków elektronicznych) Agencja Rynku Rolnego 2015 ELF - Instrukcja użytkownika Strona 2 z 13 Spis Treści 1. Opis systemu 3 2. Wymagania systemowe

Bardziej szczegółowo

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

Synchronizacja i współdzielenie plików w Internecie. Prezentacja. Instrukcja obsługi aplikacji WEB Manager plików

Synchronizacja i współdzielenie plików w Internecie. Prezentacja. Instrukcja obsługi aplikacji WEB Manager plików Synchronizacja i współdzielenie plików w Internecie Prezentacja Instrukcja obsługi aplikacji WEB Manager plików 1 Cel instrukcji 1. Zapoznajesz się z instrukcją obsługi aplikacji internetowej File Nebula

Bardziej szczegółowo

World Wide Web? rkijanka

World Wide Web? rkijanka World Wide Web? rkijanka World Wide Web? globalny, interaktywny, dynamiczny, wieloplatformowy, rozproszony, graficzny, hipertekstowy - system informacyjny, działający na bazie Internetu. 1.Sieć WWW jest

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Aplikacje WWW. Statyczne oraz dynamiczne strony WWW. Skrypty po stronie klienta. dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

RFP. Wymagania dla projektu. sklepu internetowego B2C dla firmy Oplot

RFP. Wymagania dla projektu. sklepu internetowego B2C dla firmy Oplot RFP Wymagania dla projektu sklepu internetowego B2C dla firmy Oplot CEL DOKUMENTU Celem niniejszego dokumentu jest przedstawienie wymagań technicznych i funkcjonalnych wobec realizacji projektu budowy

Bardziej szczegółowo

Flex 3. Piotr Strzelczyk Wydział EAIiE Katedra Automatyki. Kraków, 2008

Flex 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ółowo

Aplikacje internetowe i rozproszone - laboratorium

Aplikacje internetowe i rozproszone - laboratorium Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,

Bardziej szczegółowo

Polityka bezpieczeństwa.

Polityka bezpieczeństwa. Polityka bezpieczeństwa. Cookies Polityka dotycząca Ciasteczek Niniejsza Polityka dotycząca Ciasteczek odnosi się do wszystkich stron internetowych oraz aplikacji na urządzenia mobilne, odwiedzających

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych Katedra Mikroelektroniki i Technik Informatycznych Łódź, 14 października 2005 roku Wstęp DOM Document Object Model zapewnia: Zbiór obiektów reprezentujących dokumenty XML i HTML. Model łączenia obiektów.

Bardziej szczegółowo

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015 Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015 INFORMACJE OGÓLNE 1. Wnioski o dofinansowanie projektu w ramach konkursu nr 1/1.1.1/2015

Bardziej szczegółowo

Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu

Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu Instrukcja obsługi Aplikacja wizualizuje obszar projektu tj. Dorzecze Środkowej Odry będące w administracji Regionalnego Zarządu

Bardziej szczegółowo

BAZY DANYCH Panel sterujący

BAZY DANYCH Panel sterujący BAZY DANYCH Panel sterujący Panel sterujący pełni z reguły rolę centrum, z którego wydajemy polecenia i uruchamiamy różnorodne, wcześniej zdefiniowane zadania, np. wyświetlamy formularze lub drukujemy

Bardziej szczegółowo

SERWER AKTUALIZACJI UpServ

SERWER AKTUALIZACJI UpServ Wersja 1.12 upserv_pl 11/16 SERWER AKTUALIZACJI UpServ SATEL sp. z o.o. ul. Budowlanych 66 80-298 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166 075 www.satel.pl SATEL

Bardziej szczegółowo

Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki.

Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki. Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki. Wstęp. Opisane poniżej zmiany wprowadzają modyfikacje platformy e-giodo w zakresie

Bardziej szczegółowo

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Kurs 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ółowo

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3

1. Dockbar, CMS + wyszukiwarka aplikacji Dodawanie portletów Widok zawartości stron... 3 DODAJEMY TREŚĆ DO STRONY 1. Dockbar, CMS + wyszukiwarka aplikacji... 2 2. Dodawanie portletów... 3 Widok zawartości stron... 3 Omówienie zawartości portletu (usunięcie ramki itd.)... 4 3. Ikonki wybierz

Bardziej szczegółowo

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej Ochrona środowiska - sprawy Instrukcja użytkownika Historia zmian Wersja Data Kto Opis zmian 1.0 2014-10-21 Sygnity S.A Utworzenie

Bardziej szczegółowo