ITT501 Chapter 4
ITT501 Chapter 4
FUNDAMENTALS (ITT501)
CHAPTER 4 –
OVERVIEW OF
NETWORKED
APPLICATION
Chapter Outline
• Overview of application layer and
protocols
• The role of middleware
Remote Procedure Calls (RPC)
Web services
• Database-driven web applications
• Enterprise web based applications
Overview of application layer and
protocols
for network-core
network
data link application
transport
devices
physical
network
data link
network-core devices do physical
clients:
communicate with server
may be intermittently
client/server connected
may have dynamic IP
addresses
do not communicate
directly with each other
application application
socket controlled by
process process app developer
transport transport
network network controlled
link
by OS
link Internet
physical physical
~
~ entity body ~
~ body
URL method:
uses GET method
input is uploaded in
URL field of request
line:
www.somesite.com/animalsearch?monkeys&banana
200 OK
• request succeeded, requested object later in this msg
301 Moved Permanently
• requested object moved, new location specified later in
this msg (Location:)
400 Bad Request
• request msg not understood by server
404 Not Found
• requested document not found on this server
505 HTTP Version Not Supported
Application Layer 2-32
User-server state: cookies
example:
many Web sites use Susan always access
cookies
Internet from PC
four components:
visits specific e-
1) cookie header line
commerce site for first
of HTTP response time
message
when initial HTTP
2) cookie header line
in next HTTP request
requests arrives at
message site, site creates:
3) cookie file kept on • unique ID
user’s host, • entry in backend
managed by user’s database for ID
browser
4) back-end database
at Web site
Application Layer 2-33
Cookies: keeping “state” (cont.)
client server
ebay 8734
usual http request msg Amazon server
cookie file creates ID
usual http response
1678 for user create backend
ebay 8734
set-cookie: 1678 entry database
amazon 1678
usual http request msg
cookie: 1678 cookie- access
specific
usual http response msg action
Alice arrives …
… obtains list
of peers from tracker
… and begins exchanging
file chunks with peers in torrent
application application
socket controlled by
process process app developer
transport transport
network network controlled
link
by OS
link Internet
physical physical
Application Example:
1.client reads a line of characters (data)
from its keyboard and sends data to
server
2.server receives the data and converts
characters to uppercase
3.server sends modified data to client
4.client receives modified data and
displays line on its screen Application Layer 2-42
Socket programming with
UDP
UDP: no “connection” between client &
server
no handshaking before sending data
sender explicitly attaches IP destination
address and port # to each packet
receiver extracts sender IP address and port#
from received packet
UDP: transmitted data may be lost or
received out-of-order
Application viewpoint:
UDP provides unreliable transfer of groups of
bytes (“datagrams”) between client and server
write reply to
serverSocket read datagram from
specifying clientSocket
client address,
port number close
clientSocket
Application 2-44
Socket programming with
TCP
client must contact server when contacted by client,
server process must first server TCP creates new
be running socket for server process
server must have created to communicate with that
socket (door) that particular client
welcomes client’s contact • allows server to talk
with multiple clients
client contacts server by: • source port numbers
Creating TCP socket, used to distinguish
specifying IP address, port clients (more in Chap 3)
number of server process
when client creates
socket: client TCP application viewpoint:
establishes connection to
server TCP TCP provides reliable, in-order
byte-stream transfer (“pipe”)
between client and server
write reply to
connectionSocket read reply from
clientSocket
close
connectionSocket close
clientSocket
Applications
Operating System
Marshalling/Unmarshalling
Values must cross the network
Machine formats differ
– Integer byte order
• Little-endian or big-endian
– Floating point format
• IEEE 754 or not
Find
Publish
Bind
Web Services
Web Services would not replace existing
middleware such as
– CORBA
– J2EE
– MOM, EAI etc
Usage
– Make real-time recommendations to customers
(machine learning)
– Detect fraudulent transactions (machine learning)
– Identify influencers in a community and target
them with specific promotions. (Graph analytics )
– Keep track of deliveries using spatial data (GPS,
Remote Sensing)
Enterprise web based
applications
Enterprises are leveraging the benefits of web
application advantages in running business.
These enterprises build many business systems
commonly known as Enterprise Web Application.
Enterprise web applications allow companies to
handle internal and external needs and
operations.
Examples include billing systems, customer
relationship management systems and supplier
relationship management systems.
Enterprises often have so many different software
applications running simultaneously to improve
functionality, efficiency and production.
Enterprise web based
applications
Enterprise application integration (EAI) is a crucial
to ensure smooth communication between
applications and systems.
EAI method can be categorize into TWO methods
– Point-to-Point
• the communication between a client and a service is
via a
point-to-point channel, and data exchange is done in
a
synchronous, request-response interaction.
• Works well when the entities are
relatively few and the interactions
are simple.
• Becomes increasingly complex when
there are many entities, and one
Enterprise web based
applications
EAI method can be categorize into TWO methods
– Middleware
• mediates the interaction between the heterogeneous
components, and ensures the reliability and
persistence of the messages.
• Free up the publishers from handling the tedious
work, and greatly simplifies the implementation and
logic of
service providers.
References
James Kurose and Keith Ross, "Comptuer
Networking - A Top-Down Approach", Fifth
Edition, Chapter 2
Enterprise Software Architecture and
Design: Entities, Services, and Resources,
First Edition. Dominic Duggan. © 2012
John Wiley & Sons, Inc. Published 2012 by
John Wiley & Sons, Inc.
References
The Future is Data-Driven. Retrieved from
https://blogs.oracle.com/database/data-dri
ven-apps
A Consumer Review-Driven Recommender
Service for Web E-CommerK. Lin, C. Shen,
T. Chang and T. Chang, "A Consumer
Review-Driven Recommender Service for
Web E-Commerce," 2017 IEEE 10th
Conference on Service-Oriented
Computing and Applications (SOCA), 2017,
pp. 206-210, doi: 10.1109/SOCA.2017.35.
Ji, Xiaogang. (2009). A Web-Based
Enterprise Application Integration Solution.
135 - 138. 10.1109/ICCSIT.2009.5234730.