Documente Academic
Documente Profesional
Documente Cultură
Scurta introducere
Conf. dr. Liviu Gabriel Cretu
Agenda
1. Sockets + protocol
2. Implementarea conceptelor ntr-o
aplicaie real sistemul ABC
3. Exemplu cu un server de e-mail
4. Implementarea conceptelor ntr-o
aplicaie real sistemul ABC
Sockets
Socket (soclu) program (obiect)
folosit pentru a reprezenta fiecare din
capetele unei conexiuni ntre dou
procese ce ruleaz independent ntr-oPort un numr pe 16 bii ce
reea
indentific n mod unic un Socket
TCP (Transport Control Protocol)
Endpoint (capt) combinaie unic
de IP i numr port.
UDP (User Datagram Protocol
Ascult
Solicit conexiune
Client
P
O
R
T
Conexiune stabilit
Flux de date (cerere)
Protocol de reea
Protocol de aplicaie
P
O
Server
R
T
Deschide un Socket
Deschide fluxuri I/O de comunicaii
Comunic (protocol)
Inchide fluxuri
Inchide Socket
Try {
Socket echoSocket = new Socket(hostName, portNumber);
PrintWriter out =
new PrintWriter(echoSocket.getOutputStream(), true);
BufferedReader in =
new BufferedReader (
new InputStreamReader
(echoSocket.getInputStream()));
out.println(Hello Server!);
System.out.println("echo: " + in.readLine());
Prelucrri concurente
Client1
P
O
R
T
Client2
P
O
R
T
Client3
P
O
R
T
T.
Client1
P
O
Server
R
T
T.
Client2
T.
Client3
Thread
Agenda
1. Sockets
2. Implementarea conceptelor ntr-o
aplicaie real sistemul ABC
3. Email API
4. Implementarea conceptelor ntr-o
aplicaie real sistemul ABC
Creeaz comanda
nou
Order
unic
Cerine
1. Expunere operaii Order la distan
cu decuplare complet client-server
2. Definire protocol specific, bazat pe
coninut-text (e.g. XML, CSV,
specific)
3. Implementare componenta IOEmail
omponenta OrderSocket
omponenta OrderSocket
Interfaa CreateCSVOrder
omponenta OrderSocket
Implementarea CreateCSVOrder
omponenta OrderSocket
CreateOrderLocalJPA reutilizeaz
implementarea din Order
<dependency>
<groupId>com.babel</groupId>
<artifactId>order</artifactId>
<version>1.0</version>
</dependency>
omponenta OrderSocket
omponenta OrderSocket
omponenta OrderSocket
omponenta OrderSocket
Implementarea Thread-ului
omponenta OrderSocket
Care worker ?
omponenta OrderSocket
FELICITARI!
Tocmai ati creat un serviciu
Interfaa: CreateCSVOrder
Implementarea: CreateCSVOrderImpl
Agenda
1. Sockets
2. Implementarea conceptelor ntr-o
aplicaie real sistemul ABC
3. Email API
4. Implementarea conceptelor ntr-o
aplicaie real sistemul ABC
Javamail API
1. Specific protocol i informaii de
conectare
SMTP, POP3, IMAP - protocoale TCP/IP
pentru trimitere/citire mesaje email
2.
3.
4.
5.
Componenta IOEmail cu
dependene
Componenta IOEmail
Cerine
IOEmail-PSM
ReadEmailsImpl -
CreateOrderHandler
CreateOrderHandler executa
serviciul Order-Socket
Si testul
(nu uitai s pornii serverul )
n final
Cte servere sunt implicate n
ntregul proces?
Care este clientul fiecrui server?