You are on page 1of 9

SOAP:

Many organizations use multiple software systems for management. Different software systems
often need to exchange data with each other, and a we ser!ice is a method of communication
that allows two software systems to exchange this data o!er the internet. "he software system
that re#uests data is called a service requester, whereas the software system that would process
the re#uest and pro!ide the data is called a service provider.
Different software might e uilt using different programming languages, and hence there is a
need for a method of data exchange that doesn$t depend upon a particular programming
language. Most types of software can, howe!er, interpret %M& tags. "hus we ser!ices can use
%M& files for data exchange.
'ules for communication etween different systems need to e defined, such as:
(ow one system can re#uest data from another system
)hich specific parameters are needed in the data re#uest
)hat would e the structure of the data produced. *ormally, data is exchanged in %M&
files, and the structure of the %M& file is !alidated against an .xsd file.
)hat error messages to display when a certain rule for communication is not oser!ed, to
ma+e trouleshooting easier
All of these rules for communication are defined in a file called )SD& ,)e Ser!ices
Description &anguage-, which has the extension .wsdl.
)e ser!ices architecture: the ser!ice pro!ider sends a )SD& file to .DD/. "he ser!ice
re#uester contacts .DD/ to find out who is the pro!ider for the data it needs, and then it contacts
the ser!ice pro!ider using the SOAP protocol. "he ser!ice pro!ider !alidates the ser!ice re#uest
and sends structured data in an %M& file, using the SOAP protocol. "his %M& file would e
!alidated again y the ser!ice re#uester using an %SD file.
A directory called .DD/ ,.ni!ersal Description, Disco!ery and /ntegration- defines which
software system should e contacted for which type of data. So when one software system needs
one particular report0data, it would go to the .DD/ and find out which other system it can
contact for recei!ing that data. Once the software system finds out which other system it should
contact, it would then contact that system using a special protocol called SOAP ,Simple O1ect
Access Protocol-. "he ser!ice pro!ider system would first of all !alidate the data re#uest y
referring to the )SD& file, and then process the re#uest and send the data under the SOAP
protocol.
REST [representational state transfer]
A software architecture is defined y a configuration of components, connectors, and data
constrained in their relationships in order to achie!e a desired set of architectural properties.
Components[
A component is an astract unit of software instructions and internal state that pro!ides a
transformation of data !ia its interface
Connectors
A connector is an astract mechanism that mediates communication, coordination, or
cooperation among components.
Data
A datum is an element of information that is transferred from a component, or recei!ed y a
component, !ia a connector.
Multimedia applications:
Just like the traditional applications described earlier in this chapter, multimedia
applications such as telephony and videoconferencin need their o!n protocols"
The Real#Time Transport $rotocol %RT$& provides many of the functions that are
common to multimedia applications such as conveyin timin information and identifyin
the codin schemes and media types of an application"
'"P comines its data transport with a control protocol ,'"2P-, which ma+es it possile
to monitor data deli!ery for large multicast networ+s. Monitoring allows the recei!er to
detect if there is any pac+et loss and to compensate for any delay 1itter. 3oth protocols
wor+ independently of the underlying "ransport layer and *etwor+ layer protocols.
/nformation in the '"P header tells the recei!er how to reconstruct the data and descries
how the codec it streams are pac+etized. As a rule, '"P runs on top of the .ser
Datagram Protocol ,.DP-, although it can use other transport protocols. 3oth the Session
/nitiation Protocol ,S/P- and (.454 use '"P.
'"P components include: a sequence number, which is used to detect lost pac+ets6
payload identification, which descries the specific media encoding so that it can e
changed if it has to adapt to a !ariation in andwidth6 frameindication, which mar+s the
eginning and end of each frame6 source identification, which identifies the originator of
the frame6 and intramedia synchronization, which uses timestamps to detect different
delay 1itter within a single stream and compensate for it.
'"P2 components include: quality of service (QoS) feedback, which includes the
numers of lost pac+ets, round7trip time, and 1itter, so that the sources can ad1ust their
data rates accordingly6 session control, which uses the '"2P 389 pac+et to allow
participants to indicate that they are lea!ing a session6 identification, which includes a
participant$s name, e7mail address, and telephone numer for the information of other
participants6 and intermedia synchronization, which enales the synchronization of
separately transmitted audio and !ideo streams.
2ompressed '"P ,2'"P-, specified in ':2 5;<=, was de!eloped to decrease the size of
the /P, .DP, and '"P headers. (owe!er, it was designed to wor+ with reliale and fast
point7to7point lin+s. /n less than optimal circumstances, where there may e long delays,
pac+et loss, and out7of7se#uence pac+ets, 2'"P doesn$t function well for >oice o!er /P
,>o/P- applications. Another adaptation, 9nhanced 2'P" ,92'P"-, was defined in a
suse#uent /nternet Draft document to o!ercome that prolem.
Packet header[edit]
RT$ packet header
'ersion $ (
)
)
M $T Se*uence +umber
Timestamp
SSR) identifier
)SR) identifiers
"""
$rofile#specific e,tension header
-.
E,tension header
lenth
E,tension header
"""
"he '"P header has a minimum size of ?5 ytes. After the header, optional header extensions
may e present. "his is followed y the '"P payload, the format of which is determined y the
particular class of application.
@?AB
"he fields in the header are as follows:
Version: %/ bits& -ndicates the version of the protocol" )urrent version is /"
[01]
P (Padding): %0 bit& 2sed to indicate if there are e,tra paddin bytes at the end of the
RT$ packet" 3 paddin miht be used to fill up a block of certain si4e, for e,ample as
re*uired by an encryption alorithm" The last byte of the paddin contains the number of
paddin bytes that !ere added %includin itself&"
[05]:0/[01]
X (Extension): %0 bit& -ndicates presence of an Extension header bet!een standard
header and payload data" This is application or profile specific"
[01]
CC (CSRC Count): %6 bits& )ontains the number of )SR) identifiers %defined belo!&
that follo! the fi,ed header"
[05]:0/
M (Marker): %0 bit& 2sed at the application level and defined by a profile" -f it is set, it
means that the current data has some special relevance for the application"
[05]:05
PT (Payload Type): %7 bits& -ndicates the format of the payload and determines its
interpretation by the application" This is specified by an RT$ profile" 8or e,ample, see
RTP Profile for audio and video conferences with minimal control %R8) 5990&"
[/:]
Sequence Nu!er: %0; bits& The se*uence number is incremented by one for each
RT$ data packet sent and is to be used by the receiver to detect packet loss and to
restore packet se*uence" The RT$ does not specify any action on packet loss< it is left
to the application to take appropriate action" 8or e,ample, video applications may play
the last kno!n frame in place of the missin frame"
[/0]
3ccordin to R8) 599:, the initial
value of the se*uence number should be random to make kno!n#plainte,t attacks on
encryption more difficult"
[05]:05
RT$ provides no uarantee of delivery, but the presence of
se*uence numbers makes it possible to detect missin packets"
[0]
Tiestap: %5/ bits& 2sed to enable the receiver to play back the received samples at
appropriate intervals" =hen several media streams are present, the timestamps are
independent in each stream, and may not be relied upon for media synchroni4ation" The
ranularity of the timin is application specific" 8or e,ample, an audio application that
samples data once every 0/9 >s %? k@4, a common sample rate in diital telephony&
could use that value as its clock resolution" The clock ranularity is one of the details
that is specified in the RT$ profile for an application"
[/0]
SSRC: %5/ bits& Synchroni4ation source identifier uni*uely identifies the source of a
stream" The synchroni4ation sources !ithin the same RT$ session !ill be uni*ue"
[05]:09
CSRC: %5/ bits each& )ontributin source -.s enumerate contributin sources to a
stream !hich has been enerated from multiple sources"
[05]:09
Extension "eader: %optional& The first 5/#bit !ord contains a profile#specific identifier
%0; bits& and a lenth specifier %0; bits& that indicates the lenth of the e,tension
%E@ABe,tension header lenth& in 5/#bit units, e,cludin the 5/ bits of the e,tension
header"
[05]:07
The Resource Reservation $rotocol, RS'$ can be used to re*uest the allocation of
resources in the net!ork so that the desired *uality of service %CoS& can be provided to
an application"
-n addition to these protocols for multimedia transport and resource allocation, many
multimedia applications also need a sinallin or session control protocol.
8or e,ample, suppose that !e !anted to be able to make telephone calls across the
internet %Dvoice over -$E or 'F-$&"
Session )ontrol and )all )ontrol %S.$, S-$, @"5/5&
The -ET8 has defined protocols for Gust this purpose" The protocols that have
been defined include
S.$ %Session .escription $rotocol&
S3$ %Session 3nnouncement $rotocol&
S-$ %Session -nitiation $rotocol&
S))$ %Sinallin )onnection )ontrol $rotocol&
Session .escription $rotocol %S.$&
The Session .escription $rotocol %S.$& is a rather eneral protocol that can be
used in a variety of situations and is typically used in conGunction !ith one or
more other protocols %e"", S-$&"
-t conveys the follo!in information:
The name and purpose of the session
Start and end times for the session
The media types %e"" audio, video& that comprise the session
.etailed information needed to receive the session %e"" the multicast
address to !hich data !ill be sent, the transport protocol to be used, the
port numbers, the encodin scheme, etc"&
S-$%Session -nitiation $rotocol& is used to allo! real time sessions to be initiated
bet!een remote users" 'oice and 'ideo telephony are popular uses"
S-$
The capabilities provided by S-$ can be rouped into five cateories:
2ser location: determinin the correct device !ith !hich to communicate
to reach a particular user<
2ser availability: determinin if the user is !illin or able to take part in a
particular communication session<
2ser capabilities: determinin such items as the choice of media and
codin scheme to use<
Session setup: establishin session parameters such as port numbers to
be used by the communicatin parties<
Session manaement: a rane of functions includin transferrin
sessions %e"" to implement Dcall for!ardinE& and modifyin session
parameters"
OVERLAY NETWORK
3n o#erlay net$ork is a computer net!ork !hich is built on the top of another net!ork" +odes
in the overlay can be thouht of as bein connected by virtual or loical links, each of !hich
corresponds to a path, perhaps throuh many physical links, in the underlyin net!ork" 8or
e,ample, distributed systems such as cloud computin, peer#to#peer net!orks, and client#server
applications are overlay net!orks because their nodes run on top of the -nternet" The -nternet
!as oriinally built as an overlay upon the telephone net!ork !hile today %throuh the advent of
'o-$&, the telephone net!ork is increasinly turnin into an overlay net!ork built on top of the
-nternet"
'"P comines its data transport with a control protocol ,'"2P-, which ma+es it possile
to monitor data deli!ery for large multicast networ+s. Monitoring allows the recei!er to
detect if there is any pac+et loss and to compensate for any delay 1itter. 3oth protocols
wor+ independently of the underlying "ransport layer and *etwor+ layer protocols.
/nformation in the '"P header tells the recei!er how to reconstruct the data and descries
how the codec it streams are pac+etized. As a rule, '"P runs on top of the .ser
Datagram Protocol ,.DP-, although it can use other transport protocols. 3oth the Session
/nitiation Protocol ,S/P- and (.454 use '"P.
'"P components include: a sequence number, which is used to detect lost pac+ets6
payload identification, which descries the specific media encoding so that it can e
changed if it has to adapt to a !ariation in andwidth6 frameindication, which mar+s the
eginning and end of each frame6 source identification, which identifies the originator of
the frame6 and intramedia synchronization, which uses timestamps to detect different
delay 1itter within a single stream and compensate for it.
'"P2 components include: quality of service (QoS) feedback, which includes the
numers of lost pac+ets, round7trip time, and 1itter, so that the sources can ad1ust their
data rates accordingly6 session control, which uses the '"2P 389 pac+et to allow
participants to indicate that they are lea!ing a session6 identification, which includes a
participant$s name, e7mail address, and telephone numer for the information of other
participants6 and intermedia synchronization, which enales the synchronization of
separately transmitted audio and !ideo streams.
2ompressed '"P ,2'"P-, specified in ':2 5;<=, was de!eloped to decrease the size of
the /P, .DP, and '"P headers. (owe!er, it was designed to wor+ with reliale and fast
point7to7point lin+s. /n less than optimal circumstances, where there may e long delays,
pac+et loss, and out7of7se#uence pac+ets, 2'"P doesn$t function well for >oice o!er /P
,>o/P- applications. Another adaptation, 9nhanced 2'P" ,92'P"-, was defined in a
suse#uent /nternet Draft document to o!ercome that prolem.
Packet header[edit]
RT$ packet header
'ersion $ (
)
)
M $T Se*uence +umber
Timestamp
SSR) identifier
)SR) identifiers
"""
$rofile#specific e,tension header
-.
E,tension header
lenth
E,tension header
"""
"he '"P header has a minimum size of ?5 ytes. After the header, optional header extensions
may e present. "his is followed y the '"P payload, the format of which is determined y the
particular class of application.
@?AB
"he fields in the header are as follows:
Version: %/ bits& -ndicates the version of the protocol" )urrent version is /"
[01]
P (Padding): %0 bit& 2sed to indicate if there are e,tra paddin bytes at the end of the
RT$ packet" 3 paddin miht be used to fill up a block of certain si4e, for e,ample as
re*uired by an encryption alorithm" The last byte of the paddin contains the number of
paddin bytes that !ere added %includin itself&"
[05]:0/[01]
X (Extension): %0 bit& -ndicates presence of an Extension header bet!een standard
header and payload data" This is application or profile specific"
[01]
CC (CSRC Count): %6 bits& )ontains the number of )SR) identifiers %defined belo!&
that follo! the fi,ed header"
[05]:0/
M (Marker): %0 bit& 2sed at the application level and defined by a profile" -f it is set, it
means that the current data has some special relevance for the application"
[05]:05
PT (Payload Type): %7 bits& -ndicates the format of the payload and determines its
interpretation by the application" This is specified by an RT$ profile" 8or e,ample, see
RTP Profile for audio and video conferences with minimal control %R8) 5990&"
[/:]
Sequence Nu!er: %0; bits& The se*uence number is incremented by one for each
RT$ data packet sent and is to be used by the receiver to detect packet loss and to
restore packet se*uence" The RT$ does not specify any action on packet loss< it is left
to the application to take appropriate action" 8or e,ample, video applications may play
the last kno!n frame in place of the missin frame"
[/0]
3ccordin to R8) 599:, the initial
value of the se*uence number should be random to make kno!n#plainte,t attacks on
encryption more difficult"
[05]:05
RT$ provides no uarantee of delivery, but the presence of
se*uence numbers makes it possible to detect missin packets"
[0]
Tiestap: %5/ bits& 2sed to enable the receiver to play back the received samples at
appropriate intervals" =hen several media streams are present, the timestamps are
independent in each stream, and may not be relied upon for media synchroni4ation" The
ranularity of the timin is application specific" 8or e,ample, an audio application that
samples data once every 0/9 >s %? k@4, a common sample rate in diital telephony&
could use that value as its clock resolution" The clock ranularity is one of the details
that is specified in the RT$ profile for an application"
[/0]
SSRC: %5/ bits& Synchroni4ation source identifier uni*uely identifies the source of a
stream" The synchroni4ation sources !ithin the same RT$ session !ill be uni*ue"
[05]:09
CSRC: %5/ bits each& )ontributin source -.s enumerate contributin sources to a
stream !hich has been enerated from multiple sources"
[05]:09
Extension "eader: %optional& The first 5/#bit !ord contains a profile#specific identifier
%0; bits& and a lenth specifier %0; bits& that indicates the lenth of the e,tension
%E@ABe,tension header lenth& in 5/#bit units, e,cludin the 5/ bits of the e,tension
header"
[05]:07

You might also like