Informatyka 1
-
Upload
caldwell-newton -
Category
Documents
-
view
50 -
download
0
description
Transcript of Informatyka 1
INFORMATYKA 1Aplikacje 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• Gadu Gadu• 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://host[:port][path[?querystring]]
http://www.woodgrovebank.com/accts.asp?AccNo=23http://www.woodgrovebank.com/accts.asp?AccNo=23
GET, POST, Response
GET /Trading/GetStockPrice.asp?Symbol=MSFT HTTP/1.1Host: localhostGET /Trading/GetStockPrice.asp?Symbol=MSFT HTTP/1.1Host: localhost
POST /Trading/GetStockPrice.asp HTTP/1.1Host: localhostContent-Type: application/x-www-form-urlencodedContent-Length: 11
Symbol=MSFT
POST /Trading/GetStockPrice.asp HTTP/1.1Host: localhostContent-Type: application/x-www-form-urlencodedContent-Length: 11
Symbol=MSFT
•HTTP-GET
HTTP-POST
Response
HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: 75
<?xml version="1.0" encoding="utf-8"?><stock symbol="MSFT" Price="71.50" />
HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-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
<script type="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
Lp. 12.
Imię
JanAndrzej
NazwiskoKowalski
Nowak
Element www
Element Strony www
Lp. 12.3.Imię
JanAndrzejJózef NazwiskoKowalski
NowakTkaczuk
Element www
AJAX-owy model przetwarzania żądania
Element Strony www
Lp. 12.
Imię
JanAndrzej
NazwiskoKowalski
Nowak
Element www
Lp. 12.3.Imię
JanAndrzejJózef NazwiskoKowalski
NowakTkaczuk
PHP • Język skryptowy• LAMP (Linux, Apache, MySql, PHP)• WAMP(Windows, Apache, MySql)• Możliwość darmowego hostingu
<?php if (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: <input name="a" /><br /> Liczba B: <input name="b" /><br /> <input type="submit" name="licz" value="Oblicz!" /> </form>
JSP (Java Server Pages)• Wykorzystuje platformę JAVA (JavaBeans)• Instalowalny na Platformie Linux- Unix, Windows
<%@ page language="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"> <script runat = "server"> protected void Page_Load(object sender, EventArgs e) { myDate.Text = DateTime.Now.ToShortDateString(); } </script> <html xmlns = "http://www.w3.org/1999/xhtml" > <head runat = "server"> <title>Hello World!</title> </head> <body> <form id = "form1" runat = "server"> <h1>Hello World!</h1> Current date: <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
Scenariusz wykorzystnia WS-*
InternetInternet
Firewall
Firewall
Firewall
Contoso MicropaymentWeb Service
Contoso MicropaymentWeb Service
Bankowy Web
Service
Bankowy Web
Service
Northwind Electronic Funds Transfer Web
Service
Northwind Electronic Funds Transfer Web
Service
Klient wykorzystujący
Web Service
Klient wykorzystujący
Web Service
Architektura WS-*UDDIUDDI
KlientKlient
SOAP SOAP
SOAP
IISIIS
Web ServiceWeb Service
Przykłady Web Serwisów• Dot pay• Google SOAP Search API• Amazon• Allegro WebAPI• www.weather.com• USA Weather Forecast: http://
www.webservicex.net/WeatherForecast.asmx
Urządzenia mobilne
Urządzenia mobilne• Android• iPhone• BlackBerry• Symbian• Windows Phone 7
Technologie tworzenia aplikacji mobilnych
• Java• Silverlight• Objective – C• ....
Rodzeje urządzeń mobilnych
Coś jeszcze??