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

IFA - 307 - Middleware - Client and Server - Lec5 - E

This document discusses middleware, client-server architecture, and different software architectures. It defines middleware as software that manages communication between different components of a distributed system. Client-server architecture is described as having advantages like modularity, flexibility, and extensibility. Common software architectures like thin/fat client, one-tier, two-tier, three-tier, and N-tier architectures are also summarized.

Uploaded by

Fikri Haekal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

IFA - 307 - Middleware - Client and Server - Lec5 - E

This document discusses middleware, client-server architecture, and different software architectures. It defines middleware as software that manages communication between different components of a distributed system. Client-server architecture is described as having advantages like modularity, flexibility, and extensibility. Common software architectures like thin/fat client, one-tier, two-tier, three-tier, and N-tier architectures are also summarized.

Uploaded by

Fikri Haekal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Semester Ganjil 2018/2019 , Fakultas Teknologi Industri, Jurusan Teknik Informatika.

Middleware: Client and Server


Interoperability IFA-307

Lisa Kristiana S.T., M.T., Ph.D

Institut Teknologi Nasional, Fakultas Teknologi Industri


Jurusan Teknik Informatika,
Program Sarjana Informatika
lisa@itenas.ac.id
Agenda
• Middleware concept
• Advantages and disadvantages of Client-server
development
• Client-server architecture
Middleware Concept
• Software that manages and supports the
different components of a distributed system.
• It sits in the middle of the system.
Functions of middleware
• It knows the addresses of servers. So, based
on client requests, it can locate the servers.
• It can translate between client and server
formats of data and vice versa.
Advantages of Client-server Software
Development (1)
• Simplicity and modularity – Client and server components are
loosely coupled and therefore modular.
• Flexibility – Both client and server software can be easily
migrated across different machines. Also, clients and servers
can be added incrementally.
• Extensibility – More servers and clients can be effortlessly
added.
• Concurrency – Clients and servers reside in different machines
which can operate in parallel and thus processing becomes
faster.
• Cost Effectiveness – Clients can be cheap desktop computers
whereas severs can be sophisticated and expensive computers.
Advantages of Client-server Software
Development (2)
• Specialization –Servers can be specialized to solve some
specific problems.
• Current trend –Cell phones can act as clients.
• Application Service Providers (ASPs) –A client and simply logs
in and ASP charges according to the time that the software is
used.
• Component-based development –This is akin/similar to the
way hardware developers integrate ICs on a Printed Circuit
Board (PCB). Components might reside on different
computers which act as servers and clients.
• Fault-tolerance – Client-server based systems are usually
fault-tolerant. If one server crashes then client requests can
be switched to a redundant server.
Disadvantages of Client-server Software
Development (1)
• Security – a lot of flexibility is provided and a client can
connect from anywhere. This makes it easy for hackers to
break into the system. Therefore, ensuring security in client-
server system is very challenging.
• Servers can be bottlenecks – Servers can turn out to be
bottlenecks because many clients might try to connect to a
server at the same time.
• Compatibility – Clients and servers may not be compatible to
each other.
• Inconsistency – Replication of servers is a problem as it can
make data inconsistent.
Client-server architecture
Thin and fat clients (1)
• Thin-client model
– all of the application processing and data
management is carried out on the server
– client is simply responsible for running the
presentation software
• Fat-client model
– the server is only responsible for data management
– software on the client implements the application
logic and the interactions with the system user
Thin and fat clients (2)
Software Architecture
• A ‘tier’ can be referred as a ‘layer’
• Each tier/layer should be able to be constructed separately.
• Each tier/layer should not be able to operate independently
• Tier is a physical unit, where the code/process runs. E.g.:
client, application server, data base server
• Layer is a logical unit, how to organize the code. E.g.:
presentation (view), controller, models, repository, data
access
• One Tier, Two Tier, Three Tier …and N Tier
The Standard Logical layers
• Presentation Logic: The User Interface (UI) which
displays data to the user and accept input from the
user. Ex: Web application, the part which receives
the HTTP request and returns the HTML response.
• Business Logi:; Handles data validation, business
rules and task-specific behavior
• Data Access Logic: Communicates the data base by
constructing SQL queries and executing them via
the relevant API
One Tier Architecture
• All 3 layers are on the same machine  Stand alone
application. It contains all the application, presentation layer
• Presentation, Logic, Data layer are tightly connected:
– Scalability: Single processor means hard to increase volume of
processing
– Portability: Moving to a new machine may mean rewriting
everything
– Maintenance: Changing the layer requires changing other layers.
• MP3 Player, Ms Word
Two-Tier Architecture
• Database runs on server
– Separated from client
– Easy to switch to a different database
• Presentation and Logic layers still tightly connected
– Heavy load on server
– Potential congestion on network
– Presentation still tied to business logic
Three-Tier Architecture
• Each layer can potentially run on a different
machine
• Member of applications are increased
• Presentation, logic, data layers disconnected
N-Tier Architecture (1)
• Multiple number of tier
• The code for each layer must be contained
with separate files which can be maintained
separately
• Each layer may only contain code which
belongs in that layer.
N-Tier Architecture (2)
N-Tier Architecture (3)
• Persistence Layer: The database or other storage
mechanism that keeps data in an organized way
• Accessor Layer: The programs that pass queries to the
persistence layer. These programs expose “get” and
“set” functions
• Business logic Layer: the programs that process user
input and stored data dan come up with a useful
result.
• Presentation Layer: the programs that format the
results of the logic layer as HTML, XML.
N-Tier Architecture (4)
• Requester/consumer Layer: The Web
browser, XML parser, or other client that
makes requests of the application and receives
its output.
• Elsewhere Layer: the external Web Services,
HTML pages, and other resources to which
applications make reference.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy