Aplikacje WWW Wprowadzenie



Podobne dokumenty
Aplikacje internetowe. Wprowadzenie

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

Wybrane działy Informatyki Stosowanej

Budowanie interfejsów do baz danych

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

1 Wprowadzenie do J2EE

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

TIN Techniki Internetowe zima

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Sieci VPN SSL czy IPSec?

Wybrane działy Informatyki Stosowanej

Aplikacje WWW. Wykład 4. Protokół HTTP. wykład prowadzi: Maciej Zakrzewicz. Protokół HTTP

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Systemy internetowe Wykład 6 Architektura WWW - cd

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

EXSO-CORE - specyfikacja

Języki programowania wysokiego poziomu WWW

OPIS i SPECYFIKACJA TECHNICZNA

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

Wybrane działy Informatyki Stosowanej

Aplikacja internetowa vs Strona Internetowa. Aplikacja internetowa, (ang.) web application zwana również aplikacją webową, to program komputerowy,

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

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

Programowanie Komponentowe WebAPI

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

Szkolenie wycofane z oferty

Systemy internetowe. Wykład 6 Architektura WWW - cd

TECHNOLOGIA JSP W TWORZENIU APLIKACJI ROZPROSZONYCH NA PRZYKŁADZIE SYSTEMU ZARZĄDZANIA NIERUCHOMOŚCIAMI W GMINIE

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Wybrane działy Informatyki Stosowanej

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Bazy danych i strony WWW

Specyfikacja implementacyjna aplikacji serwerowej

Aplikacje Internetowe termin dodatkowy

systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

Bezpieczne strony WWW dla edukacji, organizacji non-profit i uŝytkowników indywidualnych.

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

OpenLaszlo. OpenLaszlo

Szczegółowy opis zamówienia:

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

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

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Nowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775)

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Sprawozdanie nr 4. Ewa Wojtanowska

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Projektowani Systemów Inf.

SPECYFIKACJA WYMAGAŃ. w zakresie migracji i uruchomienia nowego serwisu WWW na potrzeby PKP S.A.

Ministerstwo Finansów

Kielce, dnia roku. HB Technology Hubert Szczukiewicz. ul. Kujawska 26 / Kielce

Systemy obiegu informacji i Protokół SWAP "CC"

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Część I Rozpoczęcie pracy z usługami Reporting Services

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II

PRZEWODNIK PO PRZEDMIOCIE

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

Aplikacje internetowe - opis przedmiotu

Program do obsługi ubezpieczeń minifort

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL

Programowanie sieciowe Network programming PRZEWODNIK PO PRZEDMIOCIE

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Stos TCP/IP. Warstwa aplikacji cz.2

EJB 3.0 (Enterprise JavaBeans 3.0)

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Oracle Application Express -

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Wprowadzenie do Java Web Start

Witryny i aplikacje internetowe - rozkład godzin dla technikum informatycznego

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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

Wybrane działy Informatyki Stosowanej

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Technologie internetowe

Podręcznik Integracji

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Tomasz Grześ. Systemy zarządzania treścią, cz. II

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

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

(argument dla męskiej m. ęści populacji)

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

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ń.

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

Transkrypt:

Aplikacje WWW Wprowadzenie Beata Pańczyk na podstawie http://www.e-informatyka.edu.pl/ http://wazniak.mimuw.edu.pl/index.php?title=aplikacje_www

Plan wykładu Składniki architektury WWW: klient HTTP, serwer HTTP, protokół HTTP Rozszerzona architektura WWW - aplikacja WWW, serwer aplikacji, aplikacje komponentowe Język HTML Technologie tworzenia interfejsu uŝytkownika (CSS, XML, XHTML, JavaScript, aplety Java) Protokół HTTP Logika prezentacji (technologie serwletów i szablonów) Logika biznesowa 2

Składniki architektury WWW Klient HTTP (przeglądarka WWW) Serwer HTTP (serwer WWW) Protokół HTTP 3

Interakcja w środowisku WWW http://www.pollub.pl/plany/inf.html www.pollub.pl 4

Zadania klienta HTTP Inicjalizowanie połączenia HTTP Pobieranie interfejsu uŝytkownika Prezentacja interfejsu uŝytkownika Interakcja z uŝytkownikiem Buforowanie odpowiedzi (zapisywanie w lokalnym systemie plików, a następnie wykorzystanie do obsługi identycznych, powtórzonych Ŝądań w przyszłości - skrócenia czasu odpowiedzi) Kryptografia (podniesienia bezpieczeństwa komunikacji - moŝliwe szyfrowanie połączeń sieciowych z serwerami HTTP) 5

Zadania serwera HTTP (serwera WWW) Obsługa Ŝądań HTTP Rejestracja Ŝądań Uwierzytelnianie i kontrola dostępu Kryptografia Wybór wersji językowej wysyłanych plików 6

HTTP, URL Protokół HTTP: oparty na TCP komendy tekstowe bezstanowy, bezsesyjny Adres URL: http://www.pollub.pl/plany/inf.html 7

Dokumenty statyczne i dynamiczne Dokument statyczny - gotowy do pobrania plik w systemie plików serwera HTTP Dokument dynamiczny - dokument generowany na Ŝądanie przez program po stronie serwera HTTP Aplikacje WWW 8

Aplikacja WWW - przykład 9

Aplikacje WWW - porównanie 10

Rozszerzona architektura WWW 11

Serwer aplikacji Platforma dla uruchamiania aplikacji WWW Obsługa komunikacji z warstwą klienta i warstwą danych Usługi systemowe transakcje rejestracja Ŝądań autoryzacja dostępu itd. 12

Komponentowe aplikacje WWW 13

Zalety i wady aplikacji WWW Zalety Niski koszt urządzeń dostępowych Wygoda administrowania aplikacjami Łatwość uŝytkowania Ochrona własności intelektualnej Wady Trudność wytwarzania oprogramowania Uproszczony interfejs uŝytkownika Koszt serwerów 14

Język HTML najwaŝniejszy język definicji dokumentów dla klientów HTTP - umoŝliwia zapis treści dokumentu i równocześnie opis jego układu Zalety prostota składni dostępność przeglądarek Wady brak szablonów/wzorców brak separacji formy i treści ubogi graficznie 15

Interfejs uŝytkownika I CSS - preferowany mechanizm formatowania dokumentów HTML XML - tekstowy format ogólnego przeznaczenia format publikacji danych w Internecie format wymiany i składowania danych XHTML - wersja HTML dostosowana do reguł XML XSL - język do formatowania dokumentów XML XSLT do opisu automatycznej transformacji dokumentu XML do dokumentu o innej strukturze XSL-FO słownik znaczników opisujących formatowanie (funkcjonalnie przypomina CSS, ale jest bardziej zorientowany na przygotowywanie dokumentów do druku) 16

Interfejs uŝytkownika II Formularze HTML - podstawowy mechanizm przekazywania parametrów do aplikacji internetowej Język JavaScript - przydatne narzędzie zapewniające: interakcyjność walidację danych Aplety Java - wykorzystywane do budowy bogatszego graficznego interfejsu uŝytkownika 17

Protokół HTTP SłuŜy do transportu dokumentów udostępnianych przez serwery HTTP Tekstowy, oparty na protokole TCP, domyślny port 80 Model klient-serwer, styl Ŝądanie-odpowiedź Po dostarczeniu dokumentu połączenie jest zamykane 18

Komunikaty HTTP Ŝądanie Pola nagłówkowe Ŝądania 19

Komunikaty HTTP odpowiedź Pola nagłówkowe odpowiedzi kod zwrotny format ciała odpowiedzi 20

Formaty plików MIME MIME określa sposób opisu formatów plików Content-Type: dokumenty tekstowe: text/* (css, html, plain) pliki dźwiękowe: audio/* (midi, mpeg, x-wav) pliki graficzne: image/* (gif, jpeg, png) pliki wideo: video/* (mpeg, quicktime) pliki obsługiwane przez dedykowaną aplikację: application/* (pdf, zip) 21

Analiza komunikatów HTTP: Mozilla LiveHTTPHeaders 22

Rozkaz HEAD HEAD - podobny do GET reprezentuje Ŝądanie klienta HTTP, jednak w jego wyniku klient otrzymuje wyłącznie wiersze nagłówkowe odpowiedzi HTTP, bez załączonego ciała (dokumentu wynikowego). umoŝliwia przeglądarce pobranie metadanych opisujących dokument, bez konieczności pobierania pełnej treści dokumentu główne zastosowania obejmują weryfikowanie poprawności adresów i łączy URL. 23

Rozkaz POST POST - podobny do GET reprezentuje Ŝądanie klienta HTTP, lecz do Ŝądania tego dołączone jest ciało, które reprezentuje dane wysyłane przez klienta HTTP do serwera HTTP (np. parametry, plik). w związku z obecnością ciała Ŝądania, komunikat sieciowy zawiera pola nagłówkowe Content-Type i Content-Length, a najpopularniejszym formatem przekazywanej treści jest Content- Type: application/x-wwwform-urlencoded, oznaczający dane formularza HTML przekształcone do postaci ASCII metodą URL-encoding (RFC 1738) 24

Parametry Ŝądania HTTP http://www.pollub.pl/my_app?x=1&y=2 25

HTTPS protokół bezpieczny HTTP podatny na podsłuch HTTPS - odmiana protokołu HTTP wykorzystująca SSL HTTPS zapewnia: szyfrowanie Ŝądań i odpowiedzi HTTP kontrolę integralności Ŝądań i odpowiedzi HTTP uwierzytelnianie serwera HTTP opcjonalne uwierzytelnianie klienta HTTP 26

Przebieg połączenia HTTPS https://www.pollub.pl/ 27

Implementacja logiki prezentacji Zadania logiki prezentacji Technologie serwletów programy CGI serwlety Java Technologie szablonów Java Server Pages PHP ASP.NET 28

Logika biznesowa "serce aplikacji" - wykonuje operacje na danych i zapytania SQL przed zaprezentowaniem ich uŝytkownikowi zwykle zaprogramowana w zarządzanych komponentach 29

Oddzielenie logiki biznesowej od interfejsu Mała aplikacja (kilka stron) - projektowanie zgodnie z paradygmatem MVC nie jest niezbędne (chociaŝ eleganckie). MoŜna sięgać do logiki biznesowej prosto z interfejsu, w razie modyfikacji logiki, przedefiniować cały interfejs i nie martwić się o poprawność przesyłanych między interfejsem a logiką danych DuŜa aplikacja (kilkadziesiąt dynamicznie generowanych stron z rozbudowaną logiką i bazą danych) - Model-View-Controller staje się niezbędny i moŝe oszczędzić olbrzymie ilości czasu. 30

Wzorzec projektowy MVC Warstwa modelu (model) reprezentowany przez klasy stanowiące autonomiczne, niezaleŝne od siebie jednostki klasy umieszczone w katalogu oddzielnie od reszty aplikacji rozmieszczenie klas zaleŝne od platformy (Java Servlet czy PHP) aplikacja moŝe posiadać 2 rodzaje klas: klasy realizujące kaŝda własną logikę - moŝna je przenosić do innych aplikacji klasy zawierające specyficzne implementacje tylko dla konkretnej aplikacji (przenoszenie nie wskazane) 31

Wzorzec projektowy MVC Warstwa sterownika i widoku Warstwa sterownika (Controller) realizuje zadania związane z obsługąŝądań kierowanych do aplikacji pobiera parametry z metod GET lub POST i decyduje jakie działania naleŝy dalej podjąć Warstwa widoku (View) prezentuje dane i wyniki działania aplikacji w postaci html (w przypadku servletów strony JSP, w przypadku PHP skrypty PHP i szablony Smarty) 32