TPI 17.02.2010 21:52 1 Tehnologii de Programare in Internet (TPI / RST) Titulari curs: Mihnea Magheti, Eduard-Cristian Popovici Suport curs: http://discipline.elcom.pub.ro/tpi/ Moodle: http://electronica07.curs.ncit.pub.ro/course/category.php?id=3 UPB – Facultatea ETTI – Curs TPI – an III – RST 2009 - 2010
54
Embed
Tehnologii de Programare in Internet TPI / RSTdiscipline.elcom.pub.ro/tpi/Curs_TPI_1_v02.pdf · Tehnologii de Programare in Internet (TPI / RST) Titulari ... UPB – Facultatea ETTI
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Obiective curs:Prezentarea unor tehnologii de programare larg utilizate in Internet:
- Desktop (comunicatii la nivel socket TCP si UDP),
- Web (tehnologii pentru client si server HTTP),
- Acces la Baze de Date, Servicii Web, etc.;
folosind diferite limbaje de programare: HTML, Java, XML, SQL, etc.
Obiective aplicaţii:
Crearea abilităţilor de a aplica cunoştinţele generale privind tehnologiilede programare predate, in cadrul mai multor categorii de mini-proiecte.
Posibilitatea de a alege si concepe arhitectura si componentele software necesare, si de a realiza programe concrete care sa raspunda cerintelorformulate.
Obiectivele disciplinei
TPI 17.02.2010 21:52 4
Structura cursului
UPB – Facultatea ETTI – Curs TPI – an III – RST
TPI 17.02.2010 21:52 5
Structura cursului
1. Introducere in tehnologiile Internet
2. Introducere in tehnologiile desktop (SE) Java2.1. Elemente de baza. Tipuri de date referinta. Clase de biblioteca2.2. Clase pentru fluxuri de intrare-iesire (IO)
3. Programarea la nivel socket in Java3.1. Introducere in Protocolul Internet (IP) si stiva de protocoale IP3.2. Socketuri flux (TCP) Java si programe multifilare (threads)3.3. Socketuri datagrama (UDP) Java
4. Tehnologii Java de programare a aplicatiilor Web (EE) Java4.1. Tehnologii client. Miniaplicatii Java (applet-uri)4.2. Clase pentru interfete grafice cu utilizatorul (AWT, Swing)4.3. Platforma Java EE. Arhitectura si tehnologiile implicate4.4. Tehnologii server. Tehnologia Java Servlet4.5. Tehnologia Java ServerPages (JSP)4.6. Accesul la baze de date prin tehnologii Java (JDBC, Hibernate) 4.7. Tehnologii avansate (frameworks, componente EJB, Servicii Web)
Continut curs TPI
TPI 17.02.2010 21:52 6
Structura cursului
1. Introducere in tehnologiile Internet
TPI 17.02.2010 21:52 7
1. Introducere in TPITransmiterea mesajelor in reteaua locala si in Internet (reteaua de retele globala)
TPI 17.02.2010 21:52 8
1. Introducere in TPIComunicatia prin comutatie de pachete (IP) vs comutatie de circuite
TPI 17.02.2010 21:52 9
1. Introducere in TPIComunicatia prin comutatie de pachete (Internet Protocol) vs comutatie de circuite (canal dedicat, de ex. telefonie clasica)
TPI 17.02.2010 21:52 10
Modelul comunicatiilor in InternetRutarea mesajelor in Internet (la nivel IP – Internet Protocol)
1. Introducere in TPI
TPI 17.02.2010 21:52 11
1. Introducere in TPIComunicatie prin mesaje non-fiabila (fara confirmare sauretransmisie) ca in
- IP (Internet Protocol) si
- UDP (User Datagram Protocol)
TPI 17.02.2010 21:52 12
Comunicatie prin mesaje fiabila (confirmare+retransmisie)
- ca in TCP
1. Introducere in TPI
TPI 17.02.2010 21:52 13
1. Introducere in TPIComunicatia orientata spre conexiune (flux) TCP prin comutatiede pachete IP
Comunicatia fara conexiune prin datagrame (pachete) UDP (incapsulate in datagrame IP)
TPI 17.02.2010 21:52 14
1. Introducere in TPIComunicatia TCP orientata spre conexiune, fiabila, prin comutatiede pachete IP versus comunicatia UDP fara conexiune, non-fiabila, prin datagrame (incapsulate in datagrame IP)
TPI 17.02.2010 21:52 15
1. Introducere in TPIModele de comunicatie stratificataExemplul unui dialog la distanta intre interlocutori de limbi diferite
1. Nivelul cel mai inalt (abstract)
2. Detaliind utilizarea unor traducatori (nivel intermediar)
Vorbitor de limba A
Vorbitor de limba B
Mediu de comunicatie
Dialog (nivel logic) Protocol (set de reguli)
specific dialogului
Comunicatie propriu-zisa (nivel “fizic”)
Vorbitor de limba A
Vorbitor de limba B
Traducator Traducator
Mediu de comunicatie
Dialog virtual Protocol (set de reguli)
specific dialogului
Protocol (set de reguli) specific traducerilor
Dialog (nivel logic)
Comunicatie propriu-zisa (nivel “fizic”)
TPI 17.02.2010 21:52 16
1. Introducere in TPIModele de comunicatie stratificataExemplul unui dialog la distanta intre interlocutori de limbi diferite
3. Detaliind utilizarea unui suport tehnic local si a unui sistem de comunicatie propriu-zis
Vorbitor de limba A
Vorbitor de limba B
Traducator Traducator
Suport tehnic transfer
Suport tehnic transfer
Sistem de comunicatie (incluzand protocoale specifice comunicatiei)
Protocol (set de reguli) specific dialogului
Protocol (set de reguli) specific traducerilor
Protocol (set de reguli) specific transferului
Dialog virtual
Dialog (nivel logic)
Comunicatie propriu-zisa (nivel “fizic”)
Dialog (nivel logic)
TPI 17.02.2010 21:52 17
1. Introducere in TPIModele de comunicatie stratificataProtocolul de comunicatie este un
- set de reguli si conventii care au fost convenite intre participantii la o comunicatie pentru a asigura buna desfasurare a dialogului- bazat pe mesaje / pachete / cadre / etc. (unitati de date) schimbate si pe primitive / automate / etc. (elemente de comportament)
Interactiunile pe orizontala se desfasoara- conform protocolului de la respectivul nivel, care consta in interactiuni virtuale, realizate prin interactiuni la nivelurile inferioare
Interactiunile pe verticala- transmit si preiau sarcini si unitati de date cu scopul transferului unitatilor de date catre / de la partenerul de la acelasi nivel
Serviciul este un- set de functii posibil de oferit de catre nivelul inferior, respectiv - setul de sarcini posibil de solicitat de catre nivelul superior, in interactiunile pe verticala
TPI 17.02.2010 21:52 18
Impachetareaoctetilor din fluxul de date ai Aplicatiei in segmenteTCP
Incapsulareasegmentelorin DatagrameIP
TransmisiaDatagramelorIP prinInternet
TPI 17.02.2010 21:52 19
1. Introducere in TPIModelul comunicatiilor in InternetFluxurile de date, conexiunile logice si stivele de protocoale de comunicatie
TPI 17.02.2010 21:52 20
1. Introducere in TPIModelulcomunicatiilorin InternetStiva de protocoale de comunicatieTCP/IP
TPI 17.02.2010 21:52 21
1. Introducere in TPIModelulcomunicatiilorin InternetStiva de protocoale de comunicatieTCP/IP
TPI 17.02.2010 21:52 22
Modelulcomunicatiilorin InternetStiva de protocoale de comunicatieTCP/IP
vs
Stiva de referinta OSI a protocoalelor de comunicatie
si rolul fiecaruinivel in parte
TPI 17.02.2010 21:52 23
1. Introducere in TPIModelulcomunicatiilorin InternetStiva de protocoale de comunicatieTCP/IP
si modul in care se formeazapachetele de date din mesajeleaplicatiei la transmitator
TPI 17.02.2010 21:52 24
1. Introducere in TPIModelulcomunicatiilorin InternetStiva de protocoale de comunicatieTCP/IP
si modul in care se refacmesajeleaplicatiei dinpachetele de date la receptor
TPI 17.02.2010 21:52 25
TPI 17.02.2010 21:52 26
TPI 17.02.2010 21:52 27
TPI 17.02.2010 21:52 28
1. Introducere in TPIModul in care aplicatiile folosesc protocoalele TCP si UDP
TPI 17.02.2010 21:52 29
TPI 17.02.2010 21:52 30
1. Introducere in TPIUtilizarea adreselor IP pentru a identifica entitatile din InternetPorturile (80 al server-ului si 3022 al client-ului) permit identificareaproceselor / protocoalelor la nivel aplicatie
TPI 17.02.2010 21:52 31
1. Introducere in TPIStructura adreselor IP
- Network ID = componenta care identifica (sub)reteaua din Internet
- Host ID = componenta care identifica masina de calcul in (sub)retea
TPI 17.02.2010 21:52 32
1. Introducere in TPIModelul comunicatiilor in InternetClase de adrese numerice IP
TPI 17.02.2010 21:52 33
1. Introducere in TPIModelul comunicatiilor in InternetClase de adrese numerice IP
TPI 17.02.2010 21:52 34
1. Introducere in TPIModelul comunicatiilor in InternetUtilizarea serviciului DNS (Domain Name Server) pentru obtinereaadresei numerice IP echivalenta numelui masinii de calcul
TPI 17.02.2010 21:52 35
Modelulcomunicatiilorin InternetUtilizareaserviciului DNS
TPI 17.02.2010 21:52 36
1. Introducere in TPIModele de comunicatie prin mesaje- unicast (1 la 1)
- broadcast (difuzarecatre oricine)
- multicast (1 la N)
TPI 17.02.2010 21:52 37
1. Introducere in TPIModelul de comunicatie client-serverComunicatie prin mesaje cerere – raspuns (tranzactionala)
TPI 17.02.2010 21:52 38
1. Introducere in TPIModelul de comunicatie client-server (tranzactional)Client-server HTTP (HyperText Transport Protocol) peste TCP/IP
TPI 17.02.2010 21:52 39
1. Introducere in TPIComponentele functionale majore ale WWW (World Wide Web)
“Adresa” HTTP = URL (Uniform Resource Locator)
TPI 17.02.2010 21:52 40
1. Introducere in TPIModelul client-server Web (cerere-raspuns HTTP)1 – clientul furnizeaza adresa continutului HTML dorit, sub forma unei referinte URL (incapsulata intr-un mesaj HTTP request)