Middleware Technologies: Robert Orfali
Middleware Technologies: Robert Orfali
Middleware Technologies: Robert Orfali
Robert Orfali
lecture 1 slide 2
MIDDLE WARE TECHNOLOGIES
lecture 1 slide 2
UNIT1 SYLLABUS
• Introduction to client server computing:
Evolution of corporate computing models
from centralized to distributed computing ,
client server models. Benefits for client
server computing, pitfalls of client server
programming.
lecture 1 slide 2
What is client/server
lecture 1 slide 1
Client/server characteristics
• Service
• Shared resources
• Asymmetrical protocols
• Transparency of location
• Mix and match
• Message based exchanges
• Encapsulation of services
• Scalability
• integrity
lecture 1 slide 2
Types of client/server architectures
• File servers
• Database servers
• Transaction servers
• Groupware servers
• Object application servers
• Web application servers
lecture 1 slide 3
Monolithic computing
• Early computing was performed on a
single processor
Makes use of a single cpu to execute one
or more programs for each application
Ex: A uni-processor
lecture 1 slide 4
Distributed system
• A distributed system is a collection of
independent computers ,interconnected
via a n/w.
Ex: WWW,email,ftp
lecture 2 slide 1
Historical trends
• Mainframe of 60’s
• Minicomputer
• Workstation
• Pc
• Community culture
• web
lecture 2 slide 2
Distributed computer advantages
lecture 2 slide 3
Distributed computer
disadvantages
• Multiple prints of failure
• Security concerns
lecture 2 slide 4
Specific types of servers
• App-servers
• File servers
• Mail servers
• Terminal servers
lecture 2 slide 5
Servers can be
• Stateless servers: do not keep any
information b/w requests
Ex: http
• Stateful servers : can remember
information
Ex: apache tomcat
lecture 2 slide 5
Types of clients
• Fat client
• Thin clients
• Hybrid clients
lecture 3 slide 1
Skills required by client/server
applications development
• Transaction processing
• Database design
• Communications experience
• Gui design
• Internet server
• Knowledge of distributed objects and
component instructors
lecture 3 slide 2
ERP
• ERP vendors now offer client/server solutions for
• Consumer packaged goods
• Automotive
• Sales force automotive
• Online catalogs
• Retail
• Oil and gas
• Supply chain management
• Banking
• E-commerce
lecture 3 slide 3
Comparison of 2-tier with 3-tier
• 2-tier
Security :low
Performance :poor
Scale :poor
Application reuse :poor
Ease of development :high
Server to server infrastructure :no
Legacy application :no
Internet support :poor
System administrations :complex
lecture 3 slide 4
Comparison of 2-tier with 3-tier
• 3-tier
Security :high
Performance :high
Scale :good
Application reuse :good
Ease of development :low
Server to server infrastructure :yes
Legacy application :yes
Internet support :good
System administrations :less complex
lecture 4 slide 1
Benefits of client/server
programming
• You can develop big applications in small steps
• Applications can reuse components.
• Clients can access data and functions easily and
safely
• Custom applications can incorporate off-the-
shelf components
• Component environments don’t get older – they
only get better
lecture 4 slide 2
Benefits of client/server
programming
• Vendor independence as compared to the
traditional mainframe computing. This includes
application development methodologies,
programming paradigms, products and
architectures
• Organization have changed from steep hierarchies
to flattened hierarchies. Decisions making are
carried out by many lower ranked managers
across the organization rather than performed only
by CEOs in the past.
lecture 4 slide 3
Benefits of client/server
programming
• Network management is replacing vertical
management
• Faster response and flexibility to changing
environment of business world outside
• The customer has a single point of contact
for all business with the organization
• The time required to complete the work will
be minimized
lecture 4 slide 4
Benefits of client/server
programming
• Better sharing of critical database resources and
other application software's among clients through
the network.
• Companies can cut costs on maintenance in
employing Client- Server Computing since servers
are usually cheaper than mainframe (1/10 of
mainframe) and the performance of servers and
mainframe are nearly identical.
• Networked webs of small, powerful machines. If
one machine goes down, the organization can still
function properly.
lecture 5 slide 1
Benefits of client/server
programming
• Systems grow easily. It is easy to updated
and modernize system, both hardware and
software as the companies evolved and has
new requirements.
• Individual client operating environments.
You can mix and match computer platforms
to suit the needs of individual departments
and users.
lecture 5 slide 2
Pitfalls of client/server computing
– Dependability - when the server goes down,
operations cease
– Lack of mature tools - it is a relatively new technology
and needed tools are lacking
• e.g.. Automated client software distribution
– Lack of scalability - network operating systems (e.g..
Novell Netware, Windows NT Server) are not very
scalable.
– Higher than anticipated costs
– Can cause network congestion
– What some call advantages, others call
disadvantages
lecture 5 slide 3
Database servers
lecture 5 slide 4
File servers
lecture 5 slide 5