AI 3 ServerSide

background image

Technologie dynamicznej

budowy

stron WWW

CGI, PHP, języki skryptowe

Active Server Pages, JAVA

Rafał Kasprzyk

background image

2

Schemat komunikacji pomiędzy

przeglądarką a serwerem WWW

Przeglądarka

WWW

Serwer

WWW

PHP

ASP

PERL
J AVA

Żądanie przesłania strony (URL)

http://www.serwer.com/obrazki.asp

http://www.serwer.com/tabela.php

Wynik zapytania

w formacie HTML

Serwer

bazy

danych

ORACLE

SYBASE

INFORMIX

Zapytanie SQL

SELECT ... FROM ...

Wynik zapytania

HTTP

HTTP

background image

3

CGI

CGI

(

Common Gateway Interface

) - standard interfejsu służącego

wymianie informacji między serwerami a zewnętrznymi programami.

CGI definiuje komunikację pomiędzy graficznym interfejsem użytkownika

(np. stroną WWW), programem CGI uruchomionym na odległym komputerze i
zasobami informacyjnymi (np. bazami danych) odległego komputera.
Zaimplementowana w serwerze obsługa standardu CGI pozwala mu
nadzorować wszystkie operacje - serwer staje się wówczas bramą
(gatewayem) do danego źródła informacji.

CGI nie jest językiem programowanie, a jedynie specyfikacją określającą

standard przekazywania informacji pomiędzy wyszukiwarką a serwerem
WWW. Programy w standarcie CGI można pisać w popularnych językach
programowania takich jak C++, Java, Delphi, VB czy w językach skryptowych
np. Perl, Python czy Rebol.

Programy i skrypty CGI przechowywane na serwerze są w katalogu /cgi-bin,

natomiast ich źródła (naturalnie tylko programów podlegających kompilacji) –
w katalogu /cgi-src.

background image

4

CGI - przykład

Przekazanie danych do programu CGI odbywa się przy pomocy jednej

z dwóch metod:

za pośrednictwem wypełnianego na stronie formularza - do serwera

wysyłane są zmienne systemowe

poprzez kliknięcie hiperłącza - serwer otrzymuje informacje w postaci

rozszerzonego URL

Na przykład definiując formularz można określić:

<FORM METHOD=POST ACTION=http://www.serwer.com/cgi-

bin/skrypt.pl>

Po wypełnieniu przez użytkownika formularza dane z niego zostają

przesłane na serwer WWW. Uruchamia on jako osobny proces skrypt
Perl’a przekazując mu otrzymane dane. Skrypt z kolei powinien te dane
odczytać i wykonać na ich podstawie odpowiednią akcję (np. przesłać
odpowiedź użytkownikowi)

background image

5

Języki skryptowe

PERL

(

Practical Extraction and Reporting Language

) -

skryptowy język programowania stosowany często do
tworzenia programów działających po stronie serwerów
internetowych, np. skryptów CGI (Server-Side Scripting).
Ze względu na fakt, że początkowo był rozwijany pod
kątem szybkiego i łatwego przeszukiwania dużych zbiorów
tekstowych zawiera bogate biblioteki rozbudowanych
funkcji służących do przetwarzania tekstu. Do wad PERL’a
należy zawiła (wzorowana na językach programowania
powłok uniksowych) składnia poleceń.

Rebol, Python - młodsze języki skryptowe
charakteryzujące się dopracowanymi bibliotekami
wspomagającymi operacje sieciowe

background image

6

ASP

ASP

(

Active Server Pages

) - technologia opracowana przez

firmę Microsoft pozwalająca na tworzenie dynamicznych stron
WWW (z dynamicznie zmieniającą się zawartością).

Strona WWW w której wykorzystano elementy ASP jest zwykłym

plikiem tekstowym zawierającym skrypty ujęte pomiędzy tagami <% ...
%> i znaczniki HTML. W przypadku otrzymania żądania pobrania pliku z
rozszerzeniem .asp serwer wykonuje zawarte w nim polecenia ASP
(zazwyczaj generujące stronę WWW) i wysyła wynik do przeglądarki.

Dokumenty ASP mogą odwoływać się do programów uruchomionych

na serwerze WWW w celu podjęcia określonych działań, np. przeszukania
bazy danych, włączenia do strony innego dokumentu lub udostępnienia
strony w wersji przeznaczonej dla określonej przeglądarki.

ASP współpracuje jedynie z serwerami Microsoftu - IIS (Internet

Information Server) i Personal Web Server.

background image

7

ASP

Ogólna zasada działania ASP (server-side scripting, czyli wykonanie

określonego kodu przez serwer) jest analogiczna sposobu komunikacji z
wykorzystaniem interfejsu CGI. Podstawowa różnica między tymi dwiema
technikami polega na tym, że o ile w przypadku CGI każde odwołanie do
skryptu lub programu wykonywanego na serwerze wiąże się z
koniecznością utworzenia na nim nowego procesu (co pochłania znaczącą
część zasobów systemowych), to program ASP przetwarzany jest przez
wyznaczony moduł serwera WWW obecny przez cały czas w pamięci. Fakt
ten ma duży wpływ nie tylko na stopień obciążenie serwera, ale również na
szybkość działania programów (oczywiście z korzyścią dla tych napisanych
pod kątem ASP).

Zaletą ASP jest niezależność od języka programowania, dostęp do baz

danych poprzez ODBC, wbudowany w serwer IIS debugger oraz wsparcie
dla technologii ActiveX i COM.

Niewątpliwą wadą ASP jest brak wsparcia dla innych platform

systemowych niż Windows przez co konieczne jest wykorzystanie
komercyjnego serwera IIS.

background image

8

PHP

PHP

(

Personal Home Page Tools

) - skryptowy język

programowania służący do tworzenia dynamicznych stron
WWW.

Udostępniany jest na zasadach Open Source, czyli bezpłatnie

razem z kodem źródłowym. W odróżnieniu od ASP współpracuje o z
wieloma serwerami WWW działającymi na różnorodnych
platformach systemowych. Składnia jest stanowi połączenie
konstrukcji zaczerpniętych z języka C/C++ i PERL’a.

Zaletą PHP obsługa wielu baz danych, porozumiewanie się z

innymi usługami poprzez protokoły POP3, HTTP, FTP, IMAP, SNMP
oraz przejrzysta struktura kodu.

background image

9

PHP - zasady użycia

Bloki kodu PHP umieszczane są bezpośrednio w dokumencie HTML.

Przed wysłaniem do przeglądarki serwer przekazuje dokument HTML
interpreterowi PHP, który tłumaczy komendy PHP oraz wykonuje
odpowiadające im operacje.

Umieszczając kod PHP w dokumencie HTML używa się jednego z 4

rodzajów znaczników:

<? kod ?>

<?php kod ?>

<script language="php">

kod

</script>

<%

kod

%>

aby używać tego rodzaju ograniczników trzeba ustawić w

pliku php.ini opcję

asp

_tags na On

Zwyczajowo pliki zawierające dokumenty HTML rozszerzone o

skrypty PHP posiadają rozszerzenia .php, .php3 lub .phtml.

background image

10

PHP - przykład

Hello.php

<HTML>
<BODY>
<H2> Klasyka

programowania :

</H2>
<?php
$tekst = "Witaj świecie!";
print $tekst;
?>
</BODY>
</HTML>

Hello.htm

<HTML>
<BODY>
<H2> Klasyka

programowania :

</H2> Witaj świecie!
</BODY>

</HTML>

background image

11

Gdzie szukać ?

ASP.PL

http://www.asp.pl

Active Serwer Pages

http://www.activeserverpages.com

Perl Institute

http://www.perl.org

Perl Language Page

http://language.perl.com

Oficjalna witryna PHP

http://www.php.net

phpBuilder

http://www.phpbuilder.com

background image

12

Czym jest JAVA ?

Java

to

platforma

programistyczna

zaprojektowana przez Sun Microsystems
(http://java.sun.com).

Jej główne cechy to:

nowoczesny obiektowy język programowania

przenośność aplikacji

bezpieczeństwo

mały rozmiar kodu aplikacji

wolniejsze (nawet kilkukrotnie) działanie aplikacji

background image

13

Platforma JAVA

Język JAVA - obiektowy język programowania

JAVA API - zbiór bibliotek zawierających
użyteczne dla programistów komponenty

Kompilator JAVA - program przekształcający
kod źródłowy napisany w języku Java do tzw.
bytecode

JAVA

Virtual

Machine

-

platforma

uruchomieniowa pozwalająca na uruchamianie
skompilowanych aplikacji, dostępna na różne
platformy systemowe

background image

14

Java Development Kit

Konfiguracja pliku autoexec.bat

set path=c:\jdk1.3\bin\

set classpath=%classpath%;.\

Narzędzia pakietu JDK

javac- kompilator Java (tworzy kod pośredni - bytecode)

java- interpreter Java - wykonuje skompilowane programy w
Javie (zapisane już w bytecode)

appletviewer - narzędzie pozwalające wykonywać i
debagować applety Java bez użycia przeglądarki.

javadoc - tworzy dokumentacje API (w HTML), pobierając
komentarze z kodu źródłowego

background image

15

Idea działania platformy JAVA

Win32

Kompilator J ava

J ava Virtual Machine

UNIX

MacOS

Kod aplikacji (.java)

Aplikacja (kod pośredni - .class)

JAVA

Aplikacja

(kod maszynowy

dla Win 32)

Win32

Aplikacja

(kod maszynowy

dla UNIX)

UNIX

MacOS

Kod aplikacji (.c)

Kompilator

C – Win32

Kompilator

C – UNIX

Kompilator

C – MacOS

Aplikacja

(kod maszynowy

dla MacOS)

C/C++

background image

16

Język JAVA

realizacja paradygmatu programowania obiektowego

usunięcie wielodziedziczenia i zastąpienie go mechanizmem
interfejsów

brak możliwości przeciążania operatorów

mechanizmy współbieżności, obsługi sytuacji wyjątkowych i
kontrolą przydziału pamięci

uproszczenie modelu pamięci

uwolnienie programisty z obowiązku alokacji i zwalniania pamięci

usunięcie wskaźników

definiowanie funkcji i procedur tylko jako metody klas

obsługa języków narodowych wg. standardu UNICODE

wynikiem kompilacji jest kod pośredni (bytecode)

rozróżnianie małych i dużych liter

background image

17

Pierwszy program

Kod programu -

HelloWorld.java

Program „Hello World“
class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello World");
}
}

Kompilacja - w wyniku otrzymujemy plik

HelloWorld.class

javac HelloWorld.java

Uruchomienie programu

java HelloWorld

background image

18

Aplety i servlety

applet

- niewielki program wbudowany w inną aplikację. W

Internecie najczęściej można spotkać się z apletami pisanymi w
języku Java. Program taki jest ściągany jest przez przeglądarkę i
wykonywany po stronie użytkownika. Zazwyczaj wykonuje jakieś
obliczenia, tworzy i wyświetla animację. Ze względów
bezpieczeństwa aplety Javy nie mają praw dostępu do zasobów
lokalnego komputera (systemu plików, urządzeń zewnętrznych) i nie
mogą kontaktować się z innymi komputerami w sieci.

servlet

- niewielka aplikacja wykonywana na serwerze internetowym,

zazwyczaj napisana w języku Java. Servlet jest dla serwera WWW
tym, czym aplet dla przeglądarki. Dzięki niezależności od środowiska
serwera oraz używanego protokołu, servlety mogą stanowić
uniwersalne zamienniki skryptów CGI, rozszerzając możliwości
serwera o interaktywną komunikację z przeglądarką WWW, np.
poprzez generowane dynamicznie dokumenty HTML.

background image

19

Zamieszczanie apletu w HTML

<APPLET>

początek bloku deklaracji

NAME

="

N

" - lokalna nazwa programu w ramach dokumentu HTML

CODE

="

C

" - rzeczywista nazwa programu

CODEBASE

="

B

" - adres URL programu (nazwa serwera/katalog)

ALT

="

T

" - tekst wyświetlany w razie braku możliwości uruchomienia programu

ALIGN

="

A

" - miejsce wyświetlania programu względem sąsiadującego tekstu:

(top , texttop , bottom , absbottom , baseline , middle , absmiddle , left , right)

WIDTH

="

W

" - szerokość obszaru przydzielonego do wyświetlania programu

HEIGHT

="

H

" - wysokość obszaru przydzielonego do wyświetlania programu

VSPACE

="

V

" - odległość od sąsiadującego tekstu w pionie

HSPACE

="

S

" - odległość od sąsiadującego tekstu w poziomie

parametry określające działanie programu

PARAM NAME

= "

M

"

VALUE

="

L

" gdzie: M - nazwa parametru , L - wartość

parametru

</APPLET>

background image

20

Cykl życia apletu

init()

- metoda wywoływana tylko

raz, gdy strona WWW zawierająca
aplet jest po raz pierwszy
"załadowana", jeśli opuścimy stronę
WWW

start()

- metoda wykonywana za

każdym razem, gdy strona, na
której znajduje się aplet, staje się
stroną bieżącą w przeglądarce,

stop()

- metoda wykonywana za

każdym razem, gdy do przeglądarki
ładowana jest następna strona
WWW,

destroy()

- wykonywana gdy aplet

kończy swoje działanie

paint()

- wywoływana gdy

zaistnieje potrzeba odrysowania
apletu

init()

start()

stop()

destroy()

załadowanie strony

inicjacja apletu

uruchamianie

apletu

opuszczenie strony

z apletem

ponowne załadowanie

strony z apletem

zakończenie apletu

zwolnienie pamięci


Document Outline


Wyszukiwarka

Podobne podstrony:
AI 2 2 XML
Printer Backup Server Printer S Nieznany
Model ai ansoffa
ebook microsoft sql server black book cff45xf7ii4jb4gq3rzk3uhmzhx5z3u62hytpuy CFF45XF7II4JB4GQ3RZK3
Delphi Bazy Danych W Architekturze Klient Server
r12-05, Programowanie, ! Java, Java Server Programming
AI test1, Studia, ZiIP, SEMESTR IV, semestr IV zaoczny, Metody szt. int
Cwiczenie z Windows Server 2008 wysoka dostepnosc
Ściąga ze sztucznej inteligencji(1), uczenie maszynowe, AI
Ai no Senshi, teksty piosenek z tłumaczeniem na polski, Sailor Moon
ANSYS AI Nastran v1 0 id 65570 Nieznany (2)
Egzamin 70412 Konfigurowanie zaawansowanych uslug Windows Server 2012 R2 Dillard Kurt
Cwiczenie z Windows Server 2008 egzekwowanie zasad bezp
r20-05, Programowanie, ! Java, Java Server Programming
CompTIA Server Certification (SK0 003)
Windows Server 03 Security Guide
infrastructure server checklist Y67PKVZL2TBVBV3Z3IYCFN45BUIMBB2GKO4GCXY

więcej podobnych podstron