0% found this document useful (0 votes)
9 views62 pages

Module 5-1 Client Server Architecture Notes

The document covers the history and evolution of web services and server technology, detailing the development of the World Wide Web, key protocols, and the functionalities of web servers. It also discusses the role of Java in client-server systems, emphasizing its features like platform independence and multi-threading. Additionally, it explains web services, microservices, APIs, and authentication methods, highlighting their importance in modern web applications.

Uploaded by

loveinwinter023
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)
9 views62 pages

Module 5-1 Client Server Architecture Notes

The document covers the history and evolution of web services and server technology, detailing the development of the World Wide Web, key protocols, and the functionalities of web servers. It also discusses the role of Java in client-server systems, emphasizing its features like platform independence and multi-threading. Additionally, it explains web services, microservices, APIs, and authentication methods, highlighting their importance in modern web applications.

Uploaded by

loveinwinter023
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/ 62

Module 5

Web Services History. Web Server Technology- Web Server, Web Server
Communication, Role of Java for Client/Server on Web. Web Services-
MicroServices, APIs, API Gateway, Authentication of users/clients,
Tokens/Keys for Authentication, Service Mesh, Message Queues, SaaS,
Web Sockets. Client/Server/Browser – Server Technology, Client/Server
Technology and Web Applications, Balanced Computing and the Server’s
Changing Role. Thin client computing - Computing models-Comparison-
Computing Environment.
Future of client/ server Computing Enabling Technologies,
Transformational system.
Client/Server Technology and Web Services
• WHAT ARE WEB SERVICES?
History of Web Services
1. Origins and Development (1989-1991)
• The World Wide Web (WWW) was developed by Tim Berners-Lee at CERN (European Organization for Nuclear Research) between
1989-1991.
• In 1990, Berners-Lee wrote the first web browser and HTML editor, which became the foundation for the web.
• The program was the first to use both FTP (File Transfer Protocol) and HTTP (HyperText Transfer Protocol) for data transfer.
2. Key Internet Protocols
• FTP (File Transfer Protocol): Used for transferring data over a network.
• HTTP (HyperText Transfer Protocol): Supports hyper-text documents, enabling web communication.
• Both protocols are essential for communication over the Internet and the WWW.
3. Public Availability and Expansion (1991-1994)
• In 1993, the source code for the World Wide Web was made public, making it available to everyone with a computer.
• Initially, web communication was limited to scientific organizations but later extended to universities and industries (1991-1994).
• By 1994, computers could transfer data between different operating systems using network cables.
4. Early Web Technologies
• The first web server, also developed by Berners-Lee, ran on NeXTSTEP, the operating system of NeXT computers.
• Berners-Lee also introduced URLs (Universal Resource Locators), which act as unique global identifiers for web documents.
• He wrote the initial specifications for HTML (HyperText Markup Language), which became the standard for web pages.
5. Expansion to the United States
• The first web server in the U.S. was installed on December 12, 1991, at SLAC (Stanford Linear Accelerator Center), a U.S.
Department of Energy laboratory.
6. World Wide Web Consortium (W3C) (1994)
• In 1994, Berners-Lee founded the World Wide Web Consortium (W3C) to regulate and standardize web technologies.
• The W3C established core standards to ensure compatibility between different operating systems, software, and web browsers.
7. Post-2000 Web Explosion
• After the year 2000, the World Wide Web expanded rapidly.
• Currently, there are over 110 million websites on the internet, making it a fundamental part of modern communication and business.
Web Server Technology
Basic Web Communication Process
• A web browser allows users to request, communicate, and
display HTML web pages.
• Popular web browsers: Internet Explorer, Mozilla Firefox, Safari,
Opera, and Netscape.
• When a user enters a URL and presses enter, a request is sent to
a server machine running a web server.
• A web server is software that delivers web pages to clients.
• Most popular web server software: Apache.
• The web server processes the request and returns the requested
web page.
Web Server Technology…..
Evolution of Web Technology
• Earlier Web Technology (Fig. 8.1(a))
• Web communication involved basic HTML pages transferred via HTTP requests.
• A simple browser-to-web server interaction existed.
• Modern Web Technology (Fig. 8.1(b))
• Websites can be static or dynamic.
• Uses databases, CGI scripts, and web applications to generate content dynamically.
Web Server Technology…..

Client-Server Model
• Clients: Devices requesting web pages (e.g., personal computers, smartphones).
• Servers: Machines providing web services (e.g., Google, Yahoo!).
• Clients send search requests, and servers process and return results.
Role of Web Servers in URL Processing
• Web servers translate URL path components into local file system paths.
• The root directory of the web server is structured like an inverted tree hierarchy.
•Example of a URL request:

•Client request: http://www.example.com/path/file.html


•Server action: Finds file.html in its local directory and sends it to the client’s browser .

Web Browser (Web Client)


• A browser is software that functions as an interface between the user and the web.
• Also called: Web client or universal client (because it acts as a client in a client-
server model).
• The browser:
• Contacts a web server and sends a request.
• Receives information and displays it.
• Graphical browsers: Display images, videos, and interactive content.
• Helper applications: Additional software needed to display multimedia (e.g.,
Web Server Technology…..
Accessing Databases on a Web Page
• A web browser cannot directly connect to a database.
• A server-side program acts as an intermediary between the browser and the
database.
• Common server-side technologies:
• CGI scripts
• Java Servlets
• Active Server Pages (ASP)
• Java Server Pages (JSP)
Steps in Web-Based Database Access (Fig. 8.2)
1.User Action: The user enters a URL, fills out a form, or submits a search request.
2.Browser Request: The browser sends the query to the web server.
3.Server Processing: The web server passes the request to a CGI script.
4.Database Query Execution:
1. The CGI script loads a library to connect to an SQL database.
2. The script sends SQL commands to the database server.
5.Database Response:
1. The database server executes the SQL query and returns the result.
2. The CGI script generates an HTML page with the retrieved data.
Web Server Technology…..
Web Server Technology…..
Database Operations on the Web
• Insert Operation: Filling out an online registration form.
• Update Operation: Updating a user profile (e.g., on Naukri.com).
• Search Operation: Searching for books in an online bookstore.
• Bookstore pages display dynamic information (price, sales rank,
availability).
• Data is stored in a database and retrieved when needed.
• Advantages of Database-Driven Websites
• Real-time updates: Any change in the database reflects
instantly on the website.
• Efficiency: Avoids manually updating static web pages.
• Dynamic Content: Generates personalized pages for each user.
Web Server Technology…..
Web Server
1. Definition and Function
• A web server is a computer that runs a server program responsible for handling
HTTP requests from clients (web browsers) and responding with web pages, images,
or other content.
• Web servers process requests and serve responses using the HTTP protocol.
2. Key Features of a Web Server
• (a) HTTP (Hypertext Transfer Protocol)
• Web servers accept HTTP requests from browsers and return HTTP responses.
• Responses can include:
• HTML documents
• Raw files (text, PDFs, etc.)
• Images or multimedia
• Error messages (when requests fail)
• (b) Logging
• Web servers record detailed logs about client requests and server responses.
• These logs help in:
• Analyzing traffic
• Detecting errors
• Improving server performance
Web Server Technology…..
2. Key Features of a Web Server
• (c) Additional Common Features
• Most modern web servers implement:
1.Authentication & Authorization
• Requires a username and password to access certain resources.
2.Support for Dynamic Content
• In addition to serving static files, web servers process dynamic content using:
• CGI, JSP, PHP, ASP, ASP.NET
• FastCGI, SCGI, NSAPI, ISAPI
3.Secure HTTPS Connections
• Uses SSL/TLS encryption to secure communications on port 443 (instead of port 80).
4.Content Compression
• Uses gzip encoding to reduce the size of responses and save bandwidth.
5.Virtual Hosting
• Hosts multiple websites on a single IP address.
6.Large File Support
• Handles files larger than 2GB, especially on 32-bit operating systems.
7.Bandwidth Throttling
• Limits the speed of responses to prevent network congestion and ensure fair resource
distribution.
Web Server Technology…..
3. Protocols and Communication
• Web servers rely on protocols to manage connections between
clients and servers.
• HTTP (Hypertext Transfer Protocol) governs how requests are
sent and responses are received.
• HTTP functions include:
• Request formatting
• Error handling
• Data transfer optimization
4. Static vs. Dynamic Content
• Static Content: Exists as pre-recorded files (e.g., HTML, CSS,
JavaScript, images).
• Dynamic Content:
• Generated in real-time based on user requests.
• Uses scripts, APIs, and databases to create interactive experiences.
• Requires server-side processing using technologies like JSP, PHP, ASP.NET.
Web Server Technology…..
Web Server Communication
1. Role of Web Servers in the World Wide Web
• Web servers facilitate the exchange of information across the internet.
• The World Wide Web (WWW) is a network of connected web pages that users can
access through web browsers.
• The WWW operates using HTTP, which standardizes the format of web
communication.
2. Web Server Communication Process
1.User Request Initiation:
• A user enters a URL or submits a request in a web browser.
2.Request Transmission:
• The browser sends the request to a web server in HTTP format.
3.Server Processing:
• The server processes the request (e.g., fetching a web page, searching a database).
4.Response Delivery:
• The server sends the response back in HTML format (or other formats like JSON, XML).
5.Page Display:
• The browser renders the returned HTML and displays the webpage.
3. Web Server as Hardware vs. Software
• Hardware: A physical computer that hosts and serves web content.

ROLE OF JAVA FOR CLIENT/SERVER ON WEB
• Role of Java in Client-Server Web Systems
1. Client-Server Model and Java’s Role
• The client-server model is essential for internet communication.
• Clients (e.g., web browsers) send requests, and servers (e.g., web
hosting systems) process and respond.
• Java is well-suited for this model due to its platform independence and
network capabilities.
2. Java’s Key Features for Client-Server Systems
• Java has several characteristics that make it ideal for client-server
computing:
• a) Platform Independence & Portability
• Java applications run on different operating systems (Windows, Linux,
Mac) using the Java Virtual Machine (JVM).
•Java source code ( bytecode ( , which the JVM interprets.
.java) is compiled into .class)

•This makes Java applications highly portable across different environments.


ROLE OF JAVA FOR CLIENT/SERVER ON WEB
2 . Java’s Key Features for Client-Server Systems
b) Object-Oriented Programming (OOP)
Java supports
OOP principles, which help in building modular and reusable code:
•Encapsulation: Data and methods are bundled within objects, providing
security.
•Inheritance: A class can inherit properties and methods from another class,
reducing redundancy.
•Polymorphism: Methods in different classes can have the same name but
function differently, increasing flexibility.
c) Multi-threading for Efficiency

simultaneously, improving performance.


•Java allows multiple tasks (threads) to run

•Thread-based multitasking enables efficient handling of multiple client


requests.
d) Robustness & Security
•Java has strong error handling mechanisms (e.g., Exception Handling).
•It prevents memory leaks and other vulnerabilities, making it more secure.
ROLE OF JAVA FOR CLIENT/SERVER ON WEB

3. Java’s Implementation in Client-Server Systems


Java provides two major ways to implement client-server communication:
a) Socket-based Communication

Sockets enable two-way communication between programs over a network.
•Client-side sockets send connection requests, while server-side sockets listen for connections.
•Port numbers identify different processes on the server.
•Java provides built-in socket classes (Socket and ServerSocket ) to handle communication.
•Java uses TCP/IP (Transmission Control Protocol/Internet Protocol) to ensure data is transmitted reliably.
Process:
1.A client creates a socket with the server’s hostname and port number.
2.The server listens for incoming requests on a ServerSocket.
3.Once a connection is established, the client and server can exchange data.
ROLE OF JAVA FOR CLIENT/SERVER ON WEB

b) Java’s Remote Method Invocation (RMI)


• RMI (Remote Method Invocation) allows Java objects to call methods on
remote objects across a network.
• Enables distributed computing, where applications interact as if they
were on the same machine.
• Key Components of RMI:
1.Stub (Proxy Program): Acts as an intermediary for communication between client
and server.
2.Remote Reference Layer: Manages remote object references and interactions.
3.Transport Layer (TCP/IP): Handles the actual data transmission between client and
server.
• How RMI Works:
1.The client calls a method on the stub (proxy).
2.The stub forwards the request via the remote reference layer.
3.The request is sent through the transport layer (TCP/IP) to the server.
4.The server-side skeleton receives the request, processes it, and sends
back the response.
5.The response travels back to the client using the same layers.
ROLE OF JAVA FOR CLIENT/SERVER ON WEB

4. Advantages of Using Java for Client-Server


Applications
• ✅ Cross-Platform Compatibility – Java applications run on
any system with a JVM.
✅ Efficient Memory Management – Java automatically
handles memory allocation and garbage collection.
✅ Scalability – Java supports multi-threading and
distributed computing, allowing applications to scale easily.
✅ Security – Java has built-in security features like
sandboxing and bytecode verification.
✅ Ease of Networking – Java simplifies socket
communication and RMI, making networking applications
easier to develop.
Web Services & Microservices
Web Services
• A web service is an internet-based interface that allows
applications to communicate over a network.
• They enable interoperability between different applications,
even if they are built on different platforms.
• Web services require a network (Internet or intranet)
to function.
• They are used to expose services of an application so that
other applications can access them over the web.
• Common web service architectures:
• SOAP (Simple Object Access Protocol)
• REST (Representational State Transfer)
• WebSocket API
Web Services & Microservices
Microservices
• Microservices are small, independent, modular
applications that work together within a larger application.
• Each microservice is self-contained, developed,
deployed, and scaled independently.
• They communicate via APIs and usually do not require a
network unless exposed externally.
• Microservices vs. Web Services:
• Web services enable communication between applications via
the internet.
• Microservices operate within a single application and use
APIs for internal communication.
APIs (Application Programming Interfaces)
• APIs allow software components to communicate
using predefined protocols and rules.
• They follow the client-server model, where the client
sends a request, and the server responds.
• Common API types:
• SOAP API – Uses XML-based messaging (older, rigid, and
secure).
• RPC API – Calls a function on the server and returns a response.
• WebSocket API – Uses JSON and allows two-way real-time
communication.
• REST API – The most widely used API format, uses HTTP and
JSON/XML for communication.
API Gateway
• An API gateway acts as a single entry point for
managing requests in microservices-based
applications.
• Functions of an API gateway:
• Routing requests to the appropriate microservices.
• Aggregating responses from multiple services.
• Enforcing security (authentication, authorization).
• Load balancing and monitoring.
• Reducing complexity for clients by simplifying API calls.
Web Services Authentication
Common API Authentication Methods:
1.HTTP Basic Authentication – Uses a username and password
encoded in Base64.
2.API Access Tokens – Unique identifiers assigned to users for
authentication.
3.OAuth with OpenID – OAuth handles authorization, while OpenID
manages authentication.
4.SAML (Security Assertion Markup Language) – Used in single
sign-on (SSO) environments.
Token-Based Authentication for Web APIs
• Enhances security by issuing a temporary token instead of
requiring repeated login.
• Commonly used token types:
• JSON Web Token (JWT) – Includes a header, payload, and signature.
• OAuth Tokens – Used for secure API access without exposing credentials.
Service Mesh

• A service mesh is a dedicated infrastructure layer


managing service-to-service communication in a
microservices architecture.
• Uses sidecar proxies to handle:
• Load balancing
• Security (TLS/mTLS encryption)
• Service discovery
• Traffic control and monitoring
• Difference between Service Mesh and API Gateway:
• API Gateway – Handles north-south traffic (external-to-internal
requests).
• Service Mesh – Handles east-west traffic (internal microservices
communication).
Message Queue
• Message queues enable asynchronous service-to-
service communication.
• Messages are temporarily stored in a queue until a
consumer processes them.
• Benefits:
• Decouples services, improving scalability.
• Buffers workloads, preventing system overload.
• Ensures reliable message delivery even if services crash.
• One-to-one (point-to-point) communication model.
Software as a Service (SaaS)
• SaaS is a software licensing model where applications are
accessed via a web browser instead of being installed locally.
• Hosted on external cloud servers.
• Examples: Google Docs, Dropbox, Salesforce.
Advantages of SaaS
✔ Accessible from anywhere
✔ Cost-effective (no hardware or software installation
required)
✔ Easy to implement, update, and scale
Disadvantages of SaaS
• ❌ Security risks (data stored on third-party servers)
❌ Slower speed (dependent on internet connection)
❌ Limited control over customization and updates
WebSocket Protocol

WebSockets provide persistent, bidirectional


communication between client and server.
• Unlike HTTP (which requires repeated requests),
WebSockets keep a connection open for real-time
updates.
Use Cases for WebSockets:
1.Real-time web applications – Continuously updating
data without refreshing the page.
2.Gaming applications – Instant updates without
reloading.
3.Chat applications – Seamless one-to-one or group
messaging.
Web Services & Client/Server (Browser-Server)
Technology
1. Integration of Distributed Components
• Web services and client/server technology enable applications
to integrate separate components that may exist on different
machines.
• These components communicate via a network (Internet) to
work together seamlessly.
• Applications utilizing web services integrate components from
multiple sources, making version management crucial.
2. Importance of Version Management
• Version management ensures developers track dependencies
and maintenance requirements for each application version.
• It allows for customized maintenance and deployment
adjustments.
Web Services & Client/Server (Browser-Server) Technology

3. Universal Formats & Standards


Web services use standardized programming languages for
seamless integration across different platforms:
• XML (Extensible Markup Language)
• A W3C standard that allows structured and semantically clear
communication.
• Can be customized with user-defined or industry-specific tags.
• WSDL (Web Standard Description Language)
• Uses XML to describe network services.
• Defines services as endpoints, which use messages to transmit:
• Documents (data exchange)
• Procedure-oriented information (service calls)
• While operations and messages remain abstract, they are later linked
to specific network protocols for communication.
Web Services & Client/Server (Browser-Server) Technology
4. Communication Protocols
• HTTP (Hypertext Transfer Protocol)
• Standard protocol for transmitting HTML files and documents over the web.
• SOAP (Simple Object Access Protocol)
• XML-based message format that uses HTTP for transmission.
• Enables cross-platform communication between different operating systems.
5. Balanced Computing Model vs. Traditional Client/Server Model
Balanced Computing Model
• Web services promote a balanced computing model, leveraging both client and
server capabilities efficiently.
• This improves upon traditional client/server models, distributing computing
load more effectively.
Traditional Browser-Server Model (Server-Centric)
• Earlier browser-server models were server-centric, handling user requests at the
server level only.
• They neglected client-side processing, which could enhance performance by
predicting user behavior.
Web Services & Client/Server (Browser-Server)
Technology
6. Importance of Headroom in Network
Communication
• Headroom (Attenuation Crosstalk Ratio) ensures stable
network connections by:
• Keeping signals strong and interference-free.
• Providing a consistent and customized user experience
despite unpredictable network behaviors.
Client/Server Technology and Web Applications

1. Differences Between Desktop and Web Applications


• Desktop applications run on a single computer,
leveraging local processing power for a faster and
more interactive user experience.
• Web applications run on the Internet, accessed via web
browsers and relying on server-side processing.
• Developers aim to make web applications as fast and
interactive as desktop applications.
• Despite the growth of web-based apps, many users still
prefer desktop applications due to their customization
and responsiveness.
Client/Server Technology and Web Applications
2. The Role of Thin Clients in Web Applications
• Thin clients are devices or applications that only initiate
requests and rely on servers for processing.
• Web applications rely on thin clients, using web browsers as
universal clients to display dynamic content.
• Examples of web applications include:
• Web-based email services (e.g., Hotmail)
• Online shopping and auction sites
• Wikis and blogs
Client/Server Technology and Web Applications

3. Structure and Functioning of Web Applications


• Web applications generate dynamic web pages using
HTML/XHTML and transmit them via HTTP.
• Standard server-side scripting (e.g., JavaScript,
DHTML, Flash) enhances interactivity.
• Web browsers interpret and display these web pages,
enabling user interactions like drag and drop actions.
• User Interface (UI) and Graphical User Interface
(GUI) improvements aim to bridge the gap between web
and desktop applications.
Generations of Web Applications
First Generation Web Applications
• Primarily static content with multimedia elements (text,
images, and graphics).
• No database management system (DBMS)
integration, leading to stateless connections (no
memory of user sessions).
• Used for electronic publishing, replacing physical
manuals with web-based access to updated company
resources.
• Limitations:
• Web servers cannot track users across pages.
• No real-time data processing or memory of previous user
requests.
• No interactive features like live updates or personalized
First Generation Web Applications
Generations of Web Applications

Second Generation Web Applications


• Major advancements:
• Support for active clients via downloadable applets (small software components).
• Live DBMS connections allowing servers to recognize users across sessions.
• True interactivity between client and server (bidirectional communication).
• DBMS Integration:
• Second-gen applications use SQL-based DBMS from vendors like Sybase, Informix, IBM, and
Oracle.
• Early limitations: SQL databases only supported basic data types (text, numbers, dates) and
not complex types (voice, video, maps).
• Java & Distributed Object Computing:
• Sun’s Java technology introduced a secure, object-oriented approach to web applications.
• Java applets allow components to be downloaded and executed within a browser.
• This enables event-driven behavior and expands web application capabilities.
• Security Improvements:
• Java’s design prevents downloaded applets from accessing sensitive memory areas, ensuring
safe execution.
• Collaborative Computing:
• Web-based applications enable real-time collaboration across different platforms.
• Example: Online group scheduling without requiring users to have the same software (e.g.,
Lotus Notes).
Future Directions & Evolving Web Applications
• Growing convergence of web and desktop
applications with improved performance and
interactivity.
• Continued development in:
• Better GUI/UX features to match desktop responsiveness.
• Stronger database integration for real-time data tracking.
• Enhanced security in distributed computing environments.
• Increased adoption of applet-based or cloud-driven
computing models.
Balanced Computing and the Server’s Changing Role
1. What is Balanced Computing?
• Processing is distributed among clients, servers, and
other network-connected devices.
• Shifting processing to the client-side improves
scalability by reducing server load.
• Load balancing enables applications to run across
multiple nodes, improving:
• Scalability – More users without overloading the system.
• Reliability – No single point of failure.
• Users can run and view applications on multiple devices
while the complexity remains hidden.
Balanced Computing and the Server’s Changing Role

2. Changing Role of Servers


• Servers now direct traffic rather than performing heavy
computation.
• Rich clients (applications running on user machines)
directly access databases instead of relying on servers.
• Enhanced Web Technologies:
• JavaScript, VBScript, and Java applets were embedded in web
pages to improve interactivity.
• AJAX (Asynchronous JavaScript and XML) made web
applications more responsive, similar to desktop apps.
• Connecting devices redirect processing to clients when
possible. If client power is weak, the server compensates,
ensuring consistent performance.
Balanced Computing and the Server’s Changing Role

3. User Experience and Customization


• Balanced computing improves user experience by:
• Customizing interfaces based on user roles.
• Storing user profiles locally for faster, personalized responses.
• Clients can directly query databases, reducing dependence on web
servers for data processing.
• Data integration allows apps to pull data from multiple sources,
enabling better analysis and decision-making.
4. Security and Privacy Benefits
• Data repositories are stored separately from the web server, making
them harder for external attackers to access.
• User profiles stored locally reduce the risk of centralized data
breaches.
• Decentralized models enhance security and privacy by limiting
exposure to threats.
Balanced Computing and the Server’s Changing Role

5. Future of IT Architecture and Distributed


Computing
• Organizations must develop flexible applications that
adapt to different user contexts.
• Loosely coupled applications:
• Can handle network failures or slow connections without
crashing.
• Protect core technologies from customer demands and
Internet bandwidth issues.
• Future applications will continue leveraging distributed
computing for scalability, security, and improved
user experience.
Thin client computing

Definition of Thin Client Computing


• A thin client is a lightweight computer or terminal that relies on a centralized server
for processing.
• Unlike traditional fat clients (PCs with their own CPU, RAM, and storage), thin clients
depend on a network connection to access applications and data from the server.
• Computing Models Comparison
Thin client computing

Key Characteristics of Thin Clients


• Minimal Local Resources: Uses limited local CPU and memory.
• Server Dependency: Needs a constant network connection to the
central server.
• Remote Access: Users can access their workspace from different
locations.
• Energy Efficient: Consumes less power compared to traditional PCs.
• Centralized Management: IT administrators can manage all
devices from a single location.
Types of Thin Client Models
• Server-Based Computing (SBC): All processing happens on a
central server (e.g., Citrix Virtual Apps).
• Virtual Desktop Infrastructure (VDI): Each user gets a virtual
machine hosted on a server (e.g., VMware Horizon, Microsoft RDS).
• Cloud-Based Thin Clients: Connect to cloud environments like AWS
WorkSpaces or Microsoft Azure Virtual Desktop.
Future of Client/Server
computing:
1. Introduction
• Client/Server technologies are constantly evolving.
• Transition from traditional models to intranet and distributed systems.
• Spotting and adapting to trends (like intranet, 3-tier systems, distributed objects)
is vital for tech professionals.
• Focus on upcoming trends and opportunities in Client/Server development.
2. Technology of the Next Generation

A. Networking
• Current bandwidth is insufficient; need for faster, more reliable networks.
• Technologies like ATM, frame relay, and switched networks will improve bandwidth.
• Networks will become the infrastructure for distributed applications.
• WAN performance improvements are critical, especially as Internet usage surges.
B. Development Tools
• True Compilers: Tools like Delphi provide efficient compiled apps; trend toward
compiling rather than interpreting.
• Native Links: Tools will increasingly support native connections to distributed objects
and transaction processing monitors (TP monitors).
• Component Development: More focus on building and integrating reusable
components (e.g., ActiveX, Java).
• Standards Usage: Importance of adopting standards like CORBA, COM, SQL92 to
promote interoperability.
• Consistent Language Support: Movement away from proprietary languages to
widely-used ones (e.g., C++, Pascal, VBA).
• Application Partitioning: Tools will better support splitting applications into
distributed parts using open standards.
• Intranet Consistency: Overloaded with technologies now; expected consolidation of
2. Technology of the Next
Generation…
C. Processors and Servers
• Processing power will continue to grow rapidly.
• SMP (Symmetric Multiprocessing) and component-based servers will
rise.
• Operating systems like Windows NT will dominate due to ease of use
and broad support.
• NT expected to take market share from Unix for server tasks.
• Web server dominance will shift to NT due to bundled server software.
D. Paradigms
• Object-oriented development will remain central.
• Components will become plug-and-play as standards improve.
• Future systems will enable seamless integration of components from
various tools.
ENABLING TECHNOLOGY
Definition:
Enabling technologies are hardware and software components
used to create client/server applications. They include:
• Transaction-processing (TP) monitors
• Databases
• Middleware
• Expert systems
• Imaging systems
• Point-of-Service (POS)
• Intranet and extranet systems
ENABLING TECHNOLOGY……
1. Transaction-Processing (TP) Monitors
• Crucial for large-scale, mission-critical distributed computing.
• Provide reliable application execution and load distribution.
• Gaining popularity over proprietary tools.
• Microsoft Transaction Server: Tailored for Windows and intranet,
supports ActiveX.
• TP monitors will become more common in the market.
2. Databases
• Continued innovation in performance and features.
• Dominated by Oracle, Sybase, and Informix.
• Relational model remains the standard.
• Universal servers to handle multiple data types (relational, object-
oriented, binary, etc.).
• Integration with distributed objects offers competitive advantages.
ENABLING TECHNOLOGY……
3. Middleware
• Middleware connects different applications, systems, and databases.
• Expected to evolve with easier deployment and consistent interfaces.
• Includes message-based and RPC-based middleware.
• Example: Microsoft Falcon—consumer-friendly messaging middleware.
• Middleware will become more modular (“snap-in”) and user-friendly.
4. Expert Systems
• A branch of AI that mimics human expert decision-making.
• Uses a knowledge base and inference engine to draw conclusions.
• Components:
• User interface
• Knowledge base (rules and expertise)
• Inference engine (applies logic)
• Benefits:
• Encapsulates expert knowledge for reuse across the organization.
• Reduces need for professional programmers—rules can be maintained by domain
experts.
Expert Systems
ENABLING TECHNOLOGY……
5. Imaging Systems
• Converts paper documents into digital images using scanners.
• Stored as bit-mapped images with indexed keywords.
• Indexes are stored in relational databases for easy retrieval.
• Accessed through image servers by client workstations.
• Digital document types include:
• Imaging (scanned documents)
• Structured documents
• Distributed hypertext
• Active/compound documents
Imaging Systems
ENABLING TECHNOLOGY……
6. Point-of-Service (POS)
• Widely used example of client/server systems (e.g., supermarkets,
hotels, restaurants).
• Integrates IT, MIS, and trade processes.
• Uses barcodes and scanners to log sales into a central server.
• Supports:
• Inventory control
• Pricing
• Reordering via EDI (Electronic Data Interchange)
• Demand forecasting
• Promotes efficient distribution and stock management.
• Reduces manual operations in warehouses and speeds up
distribution.
TRANSFORMATIONAL SYSTEM
Transformational Systems Overview
Client/Server technologies have significantly altered
business processes. The key transformational technologies
include:
• Electronic Mail
• Client/Server and User Security
• Object-Oriented Technology (CORBA)
• Electronic Data Interchange (EDI)
TRANSFORMATIONAL
SYSTEM……
1. Electronic Mail (E-Mail)
• Basic Concept: Allows users at workstations/terminals to
compose and exchange messages.
• Traditional E-mail Limitations:
• Often inflexible.
• Limited in attaching multimedia content.
• Modern Intranet Mail Features:
• Support for attachments (documents, images, sound, etc.).
• Mailing lists for group discussions and topic-specific
communication.
• Types of E-mail Systems:
• Single System Mail: Users on the same machine send/receive
messages via file-based mailboxes.
• Distributed Mail System: Multiple mail servers exchange
messages across WAN/Internet.
TRANSFORMATIONAL SYSTEM……
TRANSFORMATIONAL SYSTEM……
2. Client/Server and User Security
• Security Vulnerabilities:
• Distribution of services increases risk of breaches.
• Front-end clients (desktops) are typically least secure.
• Connections between client and server can be exploited if unsecured.
• Common Threats:
• Unauthorized access via weak or shared passwords.
• Physical access to machines (e.g., no disk locks).
• Users are often the weakest link.
• Security Measures:
• Use of password management (e.g., passphrases, password complexity, rotation
policies).
• Spyware detection and daily system updates.
• Securing gateways to block malware at network entry points.
• Application in Real Scenarios:
• Emergency Dispatch Systems:
• Real-time vehicle tracking using AVL (Automatic Vehicle Locator).
• Dynamic maps for incident and environment monitoring.
TRANSFORMATIONAL SYSTEM……
3. Object-Oriented Technology: CORBA
• Definition: CORBA (Common Object Request Broker
Architecture) enables distributed object communication
across diverse platforms.
• Architecture:
• Client requests services via an Object Request Broker (ORB).
• ORB locates the correct remote object, sends the request, and
returns the result.
• Objects communicate via RPC or object messaging.
• Components:
• ORB: Routes requests to appropriate services.
• CORBA Services: Basic services like naming, transactions, etc.
• CORBA Facilities and Domains: Application and industry-
specific services.
Object-Oriented Technology:
CORBA
Object-Oriented Technology:
CORBA
• Interface Definition Language (IDL):
• Standardized way to define object interfaces.
• Ensures platform/language independence.
• CORBA Model:
• A component can act both as a client and a server.
• Distributed computing model with object encapsulation, request
messaging, and service-oriented architecture.
• Conceptual Pillars:
• Object-Oriented Model: Everything is an object offering services via
operations.
• Open Distributed Computing: Uses ORB to simplify client-server
interaction.
• Component Integration & Reuse: Standardized interfaces (via IDL) enable
rapid integration and reusability of components.
Object-Oriented Technology:
CORBA
TRANSFORMATIONAL SYSTEM……
4. Electronic Data Interchange (EDI)
• Definition: EDI is the electronic transmission of
standardized documents between businesses without
human intervention.
• Examples of EDI Documents:
• Purchase orders, invoices, delivery notes, receiving reports, etc.
• How It Works:
• Documents are exchanged through EDI servers.
• Documents are structured with defined fields (e.g., sender,
recipient, amount).
• Users can download/upload data from their workstations.
• Advantages:
• Eliminates the need for paper documents.
• Reduces manual data entry and errors.
• Speeds up transaction processes, reducing cost and time.

You might also like