330 likes | 476 Views
Informatyka 1. Aplikacje Internetowe. Rodzaje aplikacji internetowych. Aplikacje desktopowe wykorzystujące infrastrukturę sieciową Aplikacje Webowe Web Serwisy XML – usługi sieciowe Aplikacje na urządzenia mobilne Aplikacje w Chmurze. Technologie i Narzędzia Tworzenia. Java NetBeans
E N D
Informatyka 1 Aplikacje Internetowe
Rodzaje aplikacji internetowych • Aplikacje desktopowe wykorzystujące infrastrukturę sieciową • Aplikacje Webowe • Web Serwisy XML – usługi sieciowe • Aplikacje na urządzenia mobilne • Aplikacje w Chmurze
Technologie i Narzędzia Tworzenia • Java • NetBeans • Eclipse • .NET • Visual Studio (Express) • Expression Studio (Blend) • WebMatrix • LightSwitch • Narzędzia „natywne” • C, C++
Aplikacje desktopowe • GaduGadu • Skype • ....
Aplikacje Webowe • Uruchamiane przez przeglądarkę
Aplikacje Webowe • Serwer WWW
Technologie webowe • Protokół http • Html ?, HTML5 • Java Script • PHP • ASP.NET • JSP • CSS • AJAX • .... • SOAP • ..... • Flash • Silverlight
http • Serwer WWW • URL • GET, POST, Response
URL http://host[:port][path[?querystring]] http://www.woodgrovebank.com/accts.asp?AccNo=23
GET, POST, Response • HTTP-GET • HTTP-POST GET /Trading/GetStockPrice.asp?Symbol=MSFT HTTP/1.1 Host: localhost POST /Trading/GetStockPrice.asp HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 11 Symbol=MSFT
Response HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: 75 <?xml version="1.0" encoding="utf-8"?> <stock symbol="MSFT" Price="71.50" />
HTML (XHTML) <html> <head> </head> <body> </body></html>
XML <wiadomosc> <do>Tomka</to> <od>Jadzi</od> <naglowek>Przypomnienie</naglowek> <tresc>Pamiętaj o wekendzie !</tresc> </wiadomosc>
Wykorzystanie XML • XSLT • XPath • XSD • *.xaml • *.docx • *.xslx
Java Script • Mechanizm dodawania elementów interaktywnych do stron www<scripttype="text/javascript" language="JavaScript 1.5"> alert(12 > 6); </script>
AJAX • Mechanizm asynchronicznego generowania żądań http skutkujących odświeżaniem wybranego fragmentu strony www. • umożliwiająca asynchroniczne przesyłanie danych; dzięki asynchroniczności w trakcie pobierania danych użytkownik może wykonywać inne czynności, np. można także pobierać dane jednocześnie z wielu miejsc. • JavaScript • XML
Tradycyjny model przetwarzania żądania Element Strony www Element Strony www Lp. 1 2. Imię Jan Andrzej Nazwisko Kowalski Nowak Lp. 1 2. 3. Imię Jan Andrzej Józef Nazwisko Kowalski Nowak Tkaczuk Element www Element www
AJAX-owy model przetwarzania żądania Element Strony www Lp. 1 2. 3. Imię Jan Andrzej Józef Nazwisko Kowalski Nowak Tkaczuk Lp. 1 2. Imię Jan Andrzej Nazwisko Kowalski Nowak Element www
PHP • Język skryptowy • LAMP (Linux, Apache, MySql, PHP) • WAMP(Windows, Apache, MySql) • Możliwość darmowego hostingu <?phpif (isset($_POST['licz'])) { $liczba_a=floatval($_POST['a']); // Konwersja na liczbę zmiennoprzecinkową $liczba_b=floatval($_POST['b']); "Chcesz obliczyć sumę następujących liczb:" . "<br/> " . "<b>"; print_r($liczba_a); echo "</b>" . "<br />" . "Oraz:" . "<br />" . "<b>"; print_r($liczba_b); echo "</b>" . "<hr />"; echo "Ich suma to:" . " <b>"; $wynik = $liczba_a + $liczba_b; echo $wynik; echo "</b>"; } else{ echo "Wpisz liczby."; } ?> <!-- Poniżej znajduje się sam formularz --> <form action="<?php echo ($_SERVER['SCRIPT_NAME']); ?>" method="POST"> Podaj dwie liczby:<br /> Liczba A: <inputname="a" /><br /> Liczba B: <inputname="b" /><br /> <inputtype="submit" name="licz" value="Oblicz!" /> </form>
JSP (Java Server Pages) • Wykorzystuje platformę JAVA (JavaBeans) • Instalowalny na Platformie Linux- Unix, Windows <%@ pagelanguage="java" contentType="text/html; charset=ISO-8859-2" pageEncoding="ISO-8859-2"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%! int k=5; %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2"> <title>Przykładowa strona JSP</title> </head> <body> Aktualny czas: <%=java.util.Calendar.getInstance().getTime()%> <% for (int i=0; i<k; ++i) { %> Liczba: <%=i%> <% } %> </body> </html>
ASP.NET (Active Server Pages) • Wykorzystuje technologię .NET • Instalacja tylko na platformie Windows na serwerze IIS <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <scriptrunat = "server"> protectedvoidPage_Load(objectsender, EventArgs e) { myDate.Text = DateTime.Now.ToShortDateString(); } </script> <htmlxmlns = "http://www.w3.org/1999/xhtml" > <headrunat = "server"> <title>Hello World!</title> </head> <body> <form id = "form1" runat = "server"> <h1>Hello World!</h1> Currentdate: <asp:Label ID="myDate" runat = "server" /> </form> </body> </html>
SOAP • Mechanizm przesyłania obiektów przez sieć • Bazuje na xml • Podstawowy element technologii XML Web Service
Web Serwisy XML – Usługi sieciowe • Biblioteki procedur udostępniane w sieci • Protokół HTTP jako kanał transmisji • Kodowanie danych protokołem GET,POST, SOAP, • Możliwość wykorzystania przez dowolny typ aplikacji: Webową, dekstopową, na urządzenie mobilne
Contoso MicropaymentWeb Service BankowyWeb Service Firewall Firewall Internet Firewall Northwind Electronic Funds Transfer Web Service Klient wykorzystujący Web Service Scenariusz wykorzystnia WS-*
UDDI SOAP SOAP IIS SOAP Web Service Klient Architektura WS-*
Przykłady Web Serwisów • Dotpay • Google SOAP SearchAPI • Amazon • Allegro WebAPI • www.weather.com • USA WeatherForecast: http://www.webservicex.net/WeatherForecast.asmx
Urządzenia mobilne • Android • iPhone • BlackBerry • Symbian • Windows Phone 7
Technologie tworzenia aplikacji mobilnych • Java • Silverlight • Objective – C • ....