Professional Documents
Culture Documents
Development
Paulo Gandra de Sousa, PhD
psousa@dei.isep.ipp.pt
MSc in Computer Engineering
DEI/ISEP
Programao de
Sistemas
Distribuidos
Paulo Gandra de Sousa
psousa@dei.isep.ipp.pt
Mestrado em Engenharia Informtica
DEI/ISEP
Disclaimer
2
ISEP/IPP
Tannembaum
Coulouris
Doug Terry (CS 294)
Miguel Losa (ARQSI)
Todays lesson
Communication
3
ISEP/IPP
APIs
Web services
COMMUNICATION
4
ISEP/IPP
Communication APIs
Sockets
MPI
RPC
Remote objects
5
ISEP/IPP
CORBA, DCOM
Java RMI, .net remoting
History
Comm.
API
Problems:
Bitstream oriented
Man. built msg.
6
ISEP/IPP
RPC
Problems:
Procedure oriented
Hard error handling
Dist.
Objects
Problems:
Intranet only
Web
services
Problems:
Verbose
Slow
A sample server
A client
using the
server to
copy a file.
sockets
10
ISEP/IPP
Windows
Several unix OS
IBM OS/400
socket
any port
agreed port
socket
message
client
server
other ports
Meaning
Socket
Bind
Listen
Accept
Connect
Send
Receive
Close
14
ISEP/IPP
The Message-Passing
Interface (MPI)
Meaning
MPI_bsend
MPI_send
MPI_ssend
MPI_sendrecv
MPI_isend
MPI_issend
MPI_recv
MPI_irecv
RPC
17
ISEP/IPP
Steps of a Remote
Procedure Call
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Distributed objects
22
ISEP/IPP
Distributed Objects
remote
interface
Data
m1
m2
m3
implementation
of methods
m4
m5
m6
local
remote
invocation
A
C
E
invocation local
invocation
local
invocation
D
remote
invocation
Instantiation of remote
objects
L
C
remote
invocation
instantiate instantiate
M
remote
invocation
Parameter Passing
Distributed objects
CORBA
DCOM
Sun Java
Enterprise components for the Java platform
30
ISEP/IPP
Microsoft
Allows access to remote .net objects
EJB
Sun Java
Allows access to remote Java objects
.Net Remoting
Microsoft
Binary based interface compatibility
Java RMI
OMG
Based on the concept of Object Request Broker
Microsoft
Enterprise components for the .net platform
Web services
The Internet
31
ISEP/IPP
Firewalls,
SOAP
XML-RPC sucessor
Independet of transport protocol (binding)
Most common binding: HTTP
Concept of Envelope
32
ISEP/IPP
Thru firewalls
Header + payload
Web services
33
ISEP/IPP
Web Services
Web Services
http://www.w3.org/TR/2004/NOTE-ws-arch-20040211
Web Services
36
Sample scenario
37
Issues
Interoperability
Aditional funcionalities
38
ISEP/IPP
Diferent implementation
technologies/vendors
Diferent data types
Security
Reliability
WS-*
WS-Addressing (W3C)
WS-Security (OASIS)
WS-ReliableMessaging (OASIS)
39
ISEP/IPP
WS-Policy (W3C)
WS-Coordination
WS-Trust
WS-Transaction, WS-AtomicTransaction
WS-I
Basic
40
ISEP/IPP
Security
Reliable secure
Exercise
41
ISEP/IPP
Remember the
example DS you
provided in the last
session.
What kind of
communication API
(do you think) it
uses?
Would there be
advantages in using
another kind?
Exercise
42
ISEP/IPP
Bibliography
43
ISEP/IPP
Chapter 2 Tanenbaum
Chapter 2 & 4 Coulouris
http://en.wikipedia.org/wiki/Interprocess_communication
http://en.wikipedia.org/wiki/Distributed_object
http://en.wikipedia.org/wiki/Web_service
http://en.wikipedia.org/wiki/Enterprise_service_bus
http://en.wikipedia.org/wiki/Loose_coupling
Suggested readings
44
ISEP/IPP
http://en.wikipedia.org/wiki/SOAP
http://en.wikipedia.org/wiki/Distributed_C
omponent_Object_Model
http://en.wikipedia.org/wiki/CORBA
http://en.wikipedia.org/wiki/.NET_Remoti
ng
http://en.wikipedia.org/wiki/Java_RMI
http://en.wikipedia.org/wiki/XML-RPC