0% found this document useful (0 votes)
31 views

Lecture 2 Slides

This document discusses distributed computing system architectures. It begins with an overview of distributed computing systems and their key characteristics. It then covers two main architectures: tight coupling architecture, where components have direct communication; and loose coupling architecture, where components interact through well-defined interfaces. The document also discusses common distributed computing concepts like client-server models, middleware, and Internet protocols.

Uploaded by

sh6k2hr6w8
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Lecture 2 Slides

This document discusses distributed computing system architectures. It begins with an overview of distributed computing systems and their key characteristics. It then covers two main architectures: tight coupling architecture, where components have direct communication; and loose coupling architecture, where components interact through well-defined interfaces. The document also discusses common distributed computing concepts like client-server models, middleware, and Internet protocols.

Uploaded by

sh6k2hr6w8
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 53

Information & Communication

Architecture 2 [BINF 405]

GUC - Spring 2024 – Lecture 2


Distributed Computing Systems –
Architectures

Dr. Ayman Al-Serafi


TAs: Ghada Ahmed, Tameem Alghazaly, Youssef Ihab, Mohab Gehad
Outline
1. Distributed Computing System
2. Tight Coupling Architecture
3. Loose Coupling Architecture
4. Conclusion

Q&A breaks
between sections

Urgent Qs only in
between!
ICA II - GUC - Dr. Ayman Alserafi 2-2
Outline
1. Distributed Computing System
2. Tight Coupling Architecture
3. Loose Coupling Architecture
4. Conclusion

ICA II - GUC - Dr. Ayman Alserafi 2-3


Distributed Computing
• A distributed system is characterized as a collection of
heterogeneous networked computers, which
communicate and coordinate their actions by passing
messages.
 Distribution is transparent to the user so that the system
appears as a single integrated facility.

• One important characteristic of a distributed system is that


processes are not executed on a single processor
(computer), but rather span a number of processors.
 This requires inter-process communication mechanisms.

ICA II - GUC - Dr. Ayman Alserafi 2-4


Single powerful Dumb terminals
mainframe have no
computer providing application logic.
all application logic

Each terminal
(personal
computer) has
mini-computer with
application logic
support on local
machine.
Popularity with rise
of Operating
systems like MS
DOS and Mac OS
and Unix.
A computer
network

A server: a powerful computer with


more memory, more CPUs >8 cores,
etc. that serves requests from other
computer machines called “clients”,
using applications and data stored on
it

ICA II - GUC - Dr. Ayman Alserafi 2-5


Local Area
Network (LAN) Server-client
hosted inside LAN inside
company company

Gateway to the Wide


Area Network (WAN) of
Internet. Makes local
applications available to
external and public
“clients” over Internet.

All applications hosted on


the Internet (web servers)
and accessible by any
computing device! No
hardware / software hosted
on-premise inside company.
Companies rent computing
power as a service from 3rd
party service providers.

ICA II - GUC - Dr. Ayman Alserafi 2-6


Distributed Networking (vs. Mainframe Network)

ICA II - GUC - Dr. Ayman Alserafi 2-7


Internet Protocols
• Internet protocols are essentially methods of data transport
across the Internet. They define the standards by which the
different components in a distributed system communicate
across the Internet with each other & with remote components.
• The most prominent of the Internet protocols is transport control
protocol over Internet protocol (or TCP/IP), which provide for
the reliable delivery of streams of data from one host to another
across the Internet:
 The Internet protocol (IP) enables the unreliable delivery of
individual packets from one host to another.
 IP makes no guarantees as to whether the packet will be delivered, how
long it will take, or if multiple packets will arrive in the order they were
sent.
 The transport control protocol (TCP) adds the notions of connection
and reliability.

ICA II - GUC - Dr. Ayman Alserafi 2-8


ICA II - GUC - Dr. Ayman Alserafi 2-9
ICA II - GUC - Dr. Ayman Alserafi 2-10
ICA II - GUC - Dr. Ayman Alserafi 2-11
ICA II - GUC - Dr. Ayman Alserafi 2-12
Client–server model
• A client/server architecture is an architecture in which processing and storage
tasks are divided between two classes of network members, clients & servers.
• Client/server architecture involves client processes (service consumers)
requesting service from server processes (service providers). Servers may
in turn be clients of other servers.
 The client machine runs software and applications that are stored locally. The client
makes requests to servers and is also responsible for the user interface.
 Some of the applications may be stored and executed on the server.
 The server also provides the data for the application.

Source: From M. P. Papazoglou and P. M. A. Ribbers, e-Business: Organizational and Technical Foundations, J. Wiley & Sons, 2006. Reproduced with permission

ICA II - GUC - Dr. Ayman Alserafi 2-13


Types of Client/Server Computing
Thick
powerful
server Thin
Server

Thick /
Thin
“rich”
client
client

ICA II - GUC - Dr. Ayman Alserafi 2-14


Client-Server

Thick Client Thick


Client

SQL

Data
server

ICA II - GUC - Dr. Ayman Alserafi 2-15


First Middle Tiers

Thin Client Thin Client Thin Client


Distributed Objects Messaging

Middle tier Middle Tier


eliminates the
need for multiple Transactions
one-to-one
connections
between
application
servers from Database Connectivity Applications
n(n-1)/2 to n
where n=number
of apps

ICA II - GUC - Dr. Ayman Alserafi 2-16


Middle Tier for Web Applications
The web server manages requests
from a web client and forwards the
requests to further servers in a multi-
Browsers tier client-server architecture

Application
Server(s)

Middle
Web Tier
Server(s)
Prepackaged
Components

Much Larger
Demand

ICA II - GUC - Dr. Ayman Alserafi 2-17


Application Server Design

Web Server

call component

Application Server Make component distributed object


Maintain transaction state
Resource pooling
Resource pooling is Check security access
allocating specific & limited
computing resources from call component
the server like RAM and
processing power per each
client request
Component

ICA II - GUC - Dr. Ayman Alserafi 2-18


Application Server Features
 Distribute objects
 Applications are not all stored on a single computing machine,
but rather on multiple machines allowing for scalability
 Monitor transactions
 Ability to keep track of transactions and updates to a database to
guarantee transaction completion
 Impose security
 Check privileges and grant access to privileged users
 Load balancing
 Distribute requests over multiple computing resources based on
a balanced load per each resource
 High availability/fail over
 Servers are switchable; meaning they have mirrored applications
and whenever one server fails, the other backup server can take
its place

ICA II - GUC - Dr. Ayman Alserafi 2-19


Cloud Computing
• All clients are thin clients

• All applications stored on


application servers
connected to the Internet

• Client gets application logic


and data stored remotely on
a distributed computing
network over the Internet

ICA II - GUC - Dr. Ayman Alserafi 2-20


Outline
1. Distributed Computing System
2. Tight Coupling Architecture
3. Loose Coupling Architecture
4. Conclusion

Q&A
ICA II - GUC - Dr. Ayman Alserafi 2-21
Enterprise Information Integration
(EII)
Data integration was earliest form of integration, but
 batch ETL (Extract, Transform, Load) solutions of the
past were not capable of meeting today’s real-time
Option 1
integration (e.g., with RFID)
Enterprise Application Integration (EAI) solved data
latency problem by synchronizing changes across
systems in real time, but
 EAI can effectively move data among systems in real
time, but does not define an aggregated view of the data
Option 2 objects or business entities
We focus
on EAI in
this course!
ICA II - GUC - Dr. Ayman Alserafi 1-22
Running Example: Stock Price

What is the
JAVA price of
stock XYZ?

PHP

73 Euros C#
ICA II - GUC - Dr. Ayman Alserafi 2-23
Synchronous and asynchronous
messaging
• There are two basic modes of
message communication:
• Synchronous communication –
synchronized between two
communicating application systems,
which must both be up and running.
 Execution flow at the client’s side is
interrupted to execute the call.
• Asynchronous communication – the
caller employs a send and forget
approach that allows it to continue to
execute after it sends the message.
 Here an application sends a request to
another while it continues its own
processing activities. In such asynchronous scenarios, we can put timeout
time limit which is the maximum time (usually
milliseconds) a client waits before considering the
response from the server as unavailable and
handling this as an error to proceed.
ICA II - GUC - Dr. Ayman Alserafi 2-24
Remote procedure call
(program-to-program)
 Syntax remain the same in client (caller) and
server (the called) as if on the same machine
 Interface Description Language creates
 stubs at client, and
 skeleton at server
for communication, i.e. (re-)converting
parameters into messages

ICA II - GUC - Dr. Ayman Alserafi 2-25


Remote procedure call

ICA II - GUC - Dr. Ayman Alserafi 2-26


Remote procedure calls
• RPC is a basic mechanism
for inter-program
communication, where the
application elements use a
request/wait-for-reply
(synchronous) model of
communication.

RPC links applications


at the lowest-level and
detailed programmatic
interface

Source: From M. P. Papazoglou and P. M. A. Ribbers, e-Business: Organizational and Technical Foundations, J. Wiley & Sons, 2006. Reproduced with permission

ICA II - GUC - Dr. Ayman Alserafi 2-27


Distributed Objects
 Code sees server object as if it existed on the
client.

Client Middle Tier

ICA II - GUC - Dr. Ayman Alserafi 2-28


Distributed Objects
Example method interface signature : Double getStockPrice (String stockName) { … }
Specific output data
type for stock price Specific method Specific input data
name to be invoked type and variable
name
Client Server
Distributed
Object
method call
method call
Stub method call encoded data translated
as string of data
(Serialisation) into method call Skeleton

data data
TCP/IP
ORB ORB

ICA II - GUC - Dr. Ayman Alserafi 2-29


Stub and Skeleton
 Stub and skeleton classes are generated
automatically at compile time from interface

 Some tools use a) native language interface,


some use b) language independent IDL

 Stub and skeleton carry method call, return


value, and exceptions (errors)

ICA II - GUC - Dr. Ayman Alserafi 2-30


Types of RPC: Distributed Object
Vendors
 OMG CORBA
 Common Object Request Broker Architecture
 Most sophisticated (complex) solution
 Cross platform, cross language
 IDL interfaces

 Java RMI
 Java remote method invocation
 Simple solution
 Works only with Java (and CORBA bridge) – platform
dependent
 Uses Java programmatic interfaces

ICA II - GUC - Dr. Ayman Alserafi 2-31


Connecting to Distributed
Objects
 Traditionally, distributed objects are found via
Naming (specific object names)

 Very static – objects and their signatures


(interface) must be known at development
time

The signature of the methods are: the


method name, the input parameter(s)
data type and name, and output data
type(s) and names(s)

ICA II - GUC - Dr. Ayman Alserafi 2-32


Tightly coupled RPC point-to-point
integrations
• RPC-style programming leads to tight coupling of interfaces and
applications.
• In an RPC environment each application needs to know the
intimate details of the interface of every other application – the
number of methods it exposes and the details of each method
signature it exposes.

ICA II - GUC - Dr. Ayman Alserafi 2-33


Running Example: Stock Price

What is the
price of
stock XYZ?

RMI

JAVA 73 Euros
JAVA
ICA II - GUC - Dr. Ayman Alserafi 2-34
Running Example: Stock Price
Common Object Request Broker
Architecture: a standard protocol for
RPC defined by Object Management
Group organisation

What is the
price of
stock XYZ?

CORBA

JAVA 73 Euros C++


ICA II - GUC - Dr. Ayman Alserafi 2-35
Outline
1. Distributed Computing System
2. Tight Coupling Architecture
3. Loose Coupling Architecture
4. Conclusion

Q&A
ICA II - GUC - Dr. Ayman Alserafi 2-36
Asynchronous communication
• Asynchronous communication promotes loose coupling in
which an application does not need to know the intimate
details of how to reach and interface with other applications.
• Each participant in a multi-step business process flow needs
only be concerned with ensuring that it can send a message
to the messaging system.

ICA II - GUC - Dr. Ayman Alserafi 2-37


Middleware
 Software that connects other software
components or applications
 used most often to support complex,
distributed applications in a scalable
approach
 Modern approaches based on:
 Web services, Service-oriented architecture, etc.

 can be found in IT solutions


based on messages like: XML, SOAP (Simple
Object Access Protocol), Web REST APIs, etc.
ICA II - GUC - Dr. Ayman Alserafi 2-38
Today, enterprise architects believe that…

 Service Oriented Architecture (SOA) can


help businesses respond more quickly and
cost-effectively to the changing market
conditions
 This style of architecture promotes reuse at
the macro (service) level rather than micro
levels (e.g. objects in Java / C++ program)
 It can also simplify interconnection to and
usage of existing IT (legacy) assets
 Just encapsulate the functionality of old legacy
system in a web-service, without the need of
each client software using legacy
communication protocols.
ICA II - GUC - Dr. Ayman Alserafi 2-39
Service-oriented Architecture (SOA)
 Perspective of software architecture that defines the use of loosely
coupled software services to support the requirements of the
business processes and software users

 In an SOA environment, resources on a network are made


available as independent services that can be accessed without
knowledge of their underlying platform implementation
 (e.g., no tight-coupling of method / function calls between software, so no
need to replace function name in each client software with every change or
update, instead, the communication messages have an independent standard
/ fixed format that never changes!)
 Expose an Application Programming Interface (API) that doesn’t
change if provides the same functionality
 Hides application logic / processing inside software as blackbox (machine-to-
machine communication don’t care or consider specific internal
implementation of logic / processing, just considers input required and final
output expected.)
 Expose the data and functions inside software / applications in a
way that other systems can easily use (e.g., XML and web
services)

ICA II - GUC - Dr. Ayman Alserafi 2-40


Details to come in
future lectures, stay UDDI (Universal Description, Discovery, and Integration)
tuned!  is an XML-based registry for businesses worldwide to list
themselves and their web services on the Internet. Its ultimate
goal is to streamline online transactions by enabling
Web service The
companies to find one another on the Web and make their
systems interoperable for e-commerce.
directory

Software system
designed to support
interoperable machine-
to-machine interaction
over a network

The Web Services Description


Language (WSDL) is an XML-
based interface description
language that is used for
describing the functionality
offered by a web service. SOAP is a messaging protocol
specification based on XML
and HTTP for exchanging
structured information in the
implementation of web services
in computer networks.

ICA II - GUC - Dr. Ayman Alserafi 2-41


Web Services Standards

 Three description (“software”) standards


 XML
 WSDL
 UDDI
Details to
 Three communication protocols come in
future
 SOAP lectures,
 HTTP stay
tuned! 
 TCP/IP

ICA II - GUC - Dr. Ayman Alserafi 2-42


DISTRIBUTED COMMUNICATION
ARCHITECTURE A standard message
Details to come in
format! REST APIs
future lectures, (WEB HTTP protocol)
stay tuned! 

ICA II - GUC - Dr. Ayman Alserafi 2-43


DISTRIBUTED SYSTEMS
COMMUNICATION ARCHITECTURE
Standard Communication messages
Messaging
Protocols:
SOAP, REST API,
JAVA Enterprise Service Bus,
Middleware, etc.

C++
C#

PYTHON

PHP
ICA II - GUC - Dr. Ayman Alserafi 2-44
SOAP Example

Details to
come in
future
lectures,
stay
tuned! 

ICA II - GUC - Dr. Ayman Alserafi 2-45


Middleware Technology choice
Middleware supports and uses a combination of messaging
protocols, e.g., supports RPC and SOAP + other techniques
in one middle-tier server software to integrate different
heterogeneous applications

ICA II - GUC - Dr. Ayman Alserafi 2-46


Outline
1. Distributed Computing System
2. Tight Coupling Architecture
3. Loose Coupling Architecture
4. Conclusion

Q&A
ICA II - GUC - Dr. Ayman Alserafi 2-47
Tight Coupling Vs Loose Coupling
Architectures
TIGHT COUPLING LOOSE COUPLING
Traditional approach Modern approach
Static Dynamic
• Cannot easily change or replace underlying • Can easily replace underlying code and
code, whenever one program changes, all components
other programs must be reprogrammed. • Independent programming interfaces without
• Tight binding between programming binding at the low-level programmatic details.
interfaces • Promotes code reuse
• Does not promote code reuse
Technology dependent (except CORBA) Technology independent
Main techniques: Main techniques:
• RPC, RMI, etc. • XML messaging (e.g., SOAP), JSON
messaging, web REST APIs, Middleware
messaging, semantic data modelling, etc.
Synchronous communication Asynchronous communication
• Each distributed computing component is • Messaging protocols based on send-and-
blocked until the other computer responds forget

ICA II - GUC - Dr. Ayman Alserafi 2-48


We focus
Information Integration Tree on this in
this
Covered in course 
Postgrad / Masters
level courses

ICA II - GUC - Dr. Ayman Alserafi 2-49


Date Lecture (Saturdays) Tutorials (in same week)

Week 1 Introduction to Information & Communication Architecture II

Intro + XML Lab


Week 2 Distributed Systems

Web APIs + HTTP Protocols Lab


Week 3 XML Intro + HTML + HTTP Protocol (Intro to VS and Webforms + XML Binding)
HTTP API Methods + Practical for HTTP methods
Week 4 Cloud Computing  Assignment 1
 Mini-Project 1
HTTP API Methods + Practical for HTTP methods
Week 5 Virtualisation
 Quiz 1
Week 6 Middleware Overview and components Cloud Computing Case Study
16 March –
Mid-Term Exam
1 April
Virtualization Case Study
Week 7 Middleware Overview and Components  Assignment 1 submission
 Mini-Project 1 submission
SOA, Web Services and SOAP
Week 8 The Organizational SOA Roadmap
 Assignment 2
Week 9 Registering and Discovering Web Services SOAP + WSDL + UDDI Lab
REST API Lab 1 +JSON
Week 10 REST API  Assignment 2 submission
 Quiz 2
Middleware Messaging, Enterprise Service Bus, REST API Lab 2
Week 11  Final Project submission
Transaction Processing
Final Course Lab
Middleware Messaging, Enterprise Service Bus,
Week 12  Quiz 3
Transaction Processing
 Assignment 2 submission
Week 13 Revision
28 May - 13 June
Final Exam
Course Material

CMS

ICA II - GUC - Dr. Ayman Alserafi 1-51


DOs in the Lecture
 Raise your hand if you have an urgent question
you think will be important for everybody
 Discuss with the instructor and interact (don’t be shy!)
 Ask questions during section breaks
DON’T DOs in the Lecture
1. Come more than 5 minutes late to the lecture

2. Chat with your friends in side-talks

3. Eat during the lecture

4. Play with your mobile phone or use it for texting during the lecture (put on
silent-mode please!)

5. Show disrespect, sarcasm, discrimination or do any violent act to your


colleagues

6. Don’t expect me to give you exam questions and don’t ask if something is
coming in the exam (YES!)  Will have revision!
ICA II - GUC - Dr. Ayman Alserafi 1-52
THANK YOU FOR
YOUR ATTENTION
NEXT WEEK: XML Introduction
and HTTP Protocol

NEXT TUTORIAL: XML and


HTTP API Methods

You might also like