SlideShare une entreprise Scribd logo
1  sur  28
Yasir Rehman 429 
Haseeb ur Rehman 434 
Arsalan Khalid 436 
Usama Zafar 437 
Nasir Nazir 438 
Awais Shafeeq 439
Prof. Rana Ashraf Javed
The Distributed Software Engineering is a branch 
of Software engineering which deals with the 
study of the collection of independent software 
systems that appear to the user as a coherent 
system.
Basic aim to use this type of software development is as follows; 
1. Development becomes Fast 
2. Minimal Faults 
3. Not much burden on a single machine as the work is divided in chunks 
Virtually all large computer-based systems are now distributed systems. 
A distributed is system is one involving several computer systems working 
coherently and in chunks for a single objective. This technique is being 
used in many organizations around the globe. 
e.g. Free Lancing on Web Sites etc
Salient features of Distributed Software Engineering 
are given below; 
 Resource Sharing. 
Sharing of hardware and software resources. 
 Openness. 
Use of equipment and software from different 
vendors. 
 Concurrency. 
Concurrent processing to enhance performance. 
 Scalability. 
Increased throughput by adding new resources. 
 Fault Tolerance. 
The ability to continue in operation after a fault has 
occurred.
The key objectives which are on the back 
of developing a distributed software are 
as follows; 
 Agility: 
Key feature behind this type of 
development is the agility which it 
provides to develop software. Work is 
done simultaneously in chunks and to 
provide maximum advantage to the 
developing team.
 Dynamic testing: 
As the program is being monitored 
and developed on many other machines 
and developers, it is dynamically tested in 
all sections from which it undergoes. 
 Multiple Interactions: 
In case of C/S like systems, 
multiple users can interact with the same 
database simultaneously without any 
breakage.
 Timely development: 
When software is developed on 
multiple places in one time, it needs less 
time as compared to the same software 
being developed on a single machine. 
 Fault Tolerance: 
If a component of software being 
developed or a program being used shuts 
down, it does not affect the other 
components being developed. A 
developer can debug that error 
afterwards.
 Diversification: 
The approach of the users and 
the developers diversifies when 
components from different environment 
are molded together to built a large 
software and developers interact there 
thoughts by sharing their work with each 
other.
Basically there are eight main issues we have to 
handle while developing a distributed system; 
 Transparency: 
Ideally, users should not be aware that a system 
is distributed and services should be 
independent of distribution characteristics. 
 Authentication: 
Authentication is the process in which client is 
confirmed it’s identity weather he/she can do 
that specific task. He / She has rights to do the 
specific task. It can be done through many 
ways. Some of which are as follows: 
› Login-Password. 
› IP Address.
 Fault tolerance: 
The ability of a system to respond gracefully to 
an unexpected hardware or software failure. 
 Network Reliability: 
A good distributed software network may 
contain following aspects; 
› Latency is zero. 
› Bandwidth is infinite. 
› The network is secure. 
› Topology doesn't change. 
› There is one administrator. 
› Transport cost is zero. 
› The network is homogeneous
 Synchronization: 
Synchronization refers to the idea that multiple 
processes are to join up or handshake at a 
certain point, in order to reach an agreement or 
commit to a certain sequence of action. 
 Security: 
Difficulties in a distributed system arise because 
different organizations may own parts of the 
system. These organizations may have mutually 
incompatible security policies and security 
mechanisms. Developers need to ensure that 
the product they are designing is secured from 
any outside attacks, Interception as well as 
Interruption.
 Quality of Service: 
The quality of service offered by a 
distributed system reflects the system’s 
ability to deliver its services dependably 
and with a response time and throughput 
that is acceptable to its users. 
 Failure Management: 
In a distributed system, it is inevitable that 
failures will occur, so the system has to be 
designed to be resilient to these failures.
Except those, there are other sub-Issues as 
well; 
› Data Propagation 
› Overhead of Communication Protocols 
› Load Distribution 
› Recovery Procedure 
› Consistency 
› Scalability
Client-Server computing is the logical 
extension of modular programming with 
fundamental assumption that separation 
of a huge program into its constituent 
parts ("modules") can create the 
possibility for further modification, easier 
development and better maintainability. 
In Client-Server Computing, all large 
modules need not all be executed within 
the same memory space.
Basically three components are there on 
which this system constitutes; 
 Client 
A Client Server Process usually 
manages the user-interface portion of 
the application; validate data entered 
by the user, dispatch requests to server 
programs.
 Server 
On the other hand, the Server Process fulfills 
the client request by performing the service 
requested. After the server receives requests 
from clients, it executes the Database 
Retrieval updates and manages data 
integrity and dispatches responses to client 
requests. 
 Middleware 
Middleware allows applications to 
transparently communicate with other 
programs or processes regardless of 
location.
There are four basic characteristics of Client/Server computing; 
 Combination of a client or front-end portion that interacts with 
the user, and a server or back-end portion that interacts with 
the shared resource. 
 The front-end task and back-end task have fundamentally 
different requirements for computing resources such 
as processor speeds, memory, disk speeds and capacities, and 
input/output devices. 
 The environment is typically heterogeneous and multivendor. 
The hardware platform and operating system of client and 
server are not usually the same. Client and server processes 
communicate through a well-defined set of standard 
application program interfaces (API's) and RPC's. 
 An important characteristic of client-server systems is 
scalability. They can be scaled horizontally or vertically. 
Horizontal scaling means adding or removing client
Tremendous benefits for implementing Client-Server 
Technology in Business. Below are just a few of it. 
 Vendor independence as compared to the traditional 
mainframe computing. This includes application 
development methodologies, programming paradigms, 
products and architectures. 
 Organization has 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. 
 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 
 Better sharing of critical database resources and other 
application software 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.
Precisely, the distributed software 
development technique is quite 
profitable and fast-developing among 
other techniques and is being adapted 
in many organizations across the globe. 
Though it has some concerns regarding 
security and transparency of the 
product, but nothing is perfect in this 
world I suppose…
Distributed Software Engineering with Client-Server Computing

Contenu connexe

Tendances

Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
Ian Sommerville
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
Ian Sommerville
 

Tendances (16)

Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Ch14 resilience engineering
Ch14 resilience engineeringCh14 resilience engineering
Ch14 resilience engineering
 
Engineering Software Products: 10. Devops and code management
Engineering Software Products: 10. Devops and code managementEngineering Software Products: 10. Devops and code management
Engineering Software Products: 10. Devops and code management
 
Ch21 real time software engineering
Ch21 real time software engineeringCh21 real time software engineering
Ch21 real time software engineering
 
Engineering Software Products: 7. security and privacy
Engineering Software Products: 7. security and privacyEngineering Software Products: 7. security and privacy
Engineering Software Products: 7. security and privacy
 
Ch2 - SW Processes
Ch2 - SW ProcessesCh2 - SW Processes
Ch2 - SW Processes
 
Ch20 systems of systems
Ch20 systems of systemsCh20 systems of systems
Ch20 systems of systems
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Ch19 systems engineering
Ch19 systems engineeringCh19 systems engineering
Ch19 systems engineering
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
 
Ch7 implementation
Ch7 implementationCh7 implementation
Ch7 implementation
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
 
Ch10 dependable systems
Ch10 dependable systemsCh10 dependable systems
Ch10 dependable systems
 
Ch11 reliability engineering
Ch11 reliability engineeringCh11 reliability engineering
Ch11 reliability engineering
 
Ch7
Ch7Ch7
Ch7
 
Engineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architectureEngineering Software Products: 6. microservices architecture
Engineering Software Products: 6. microservices architecture
 

En vedette

Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
Otavio Ferreira
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
Jignesh Patel
 
Aspect oriented software development
Aspect oriented software developmentAspect oriented software development
Aspect oriented software development
Maryam Malekzad
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
suks_87
 
Gearman: A Job Server made for Scale
Gearman: A Job Server made for ScaleGearman: A Job Server made for Scale
Gearman: A Job Server made for Scale
Mike Willbanks
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 

En vedette (20)

Introduction to oracle
Introduction to oracleIntroduction to oracle
Introduction to oracle
 
Distributed system
Distributed systemDistributed system
Distributed system
 
Map algebra
Map algebraMap algebra
Map algebra
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed Computing
 
Spatial queries entity recognition and disambiguation
Spatial queries entity recognition and disambiguationSpatial queries entity recognition and disambiguation
Spatial queries entity recognition and disambiguation
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 
Spatial Transformation
Spatial TransformationSpatial Transformation
Spatial Transformation
 
Object Oriented Concepts and Principles
Object Oriented Concepts and PrinciplesObject Oriented Concepts and Principles
Object Oriented Concepts and Principles
 
Introduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingIntroduction to Aspect Oriented Programming
Introduction to Aspect Oriented Programming
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 
Aspect oriented software development
Aspect oriented software developmentAspect oriented software development
Aspect oriented software development
 
Database Normalization
Database NormalizationDatabase Normalization
Database Normalization
 
Srs for banking system
Srs for banking systemSrs for banking system
Srs for banking system
 
Risk Management by Roger Pressman
Risk Management by Roger PressmanRisk Management by Roger Pressman
Risk Management by Roger Pressman
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Risk analysis
Risk analysisRisk analysis
Risk analysis
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
 
Gearman: A Job Server made for Scale
Gearman: A Job Server made for ScaleGearman: A Job Server made for Scale
Gearman: A Job Server made for Scale
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
GPS based Bus management system
GPS based Bus management systemGPS based Bus management system
GPS based Bus management system
 

Similaire à Distributed Software Engineering with Client-Server Computing

Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
PINKU29
 
MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015
James Tramel
 

Similaire à Distributed Software Engineering with Client-Server Computing (20)

Improved Strategy for Distributed Processing and Network Application Developm...
Improved Strategy for Distributed Processing and Network Application Developm...Improved Strategy for Distributed Processing and Network Application Developm...
Improved Strategy for Distributed Processing and Network Application Developm...
 
Improved Strategy for Distributed Processing and Network Application Development
Improved Strategy for Distributed Processing and Network Application DevelopmentImproved Strategy for Distributed Processing and Network Application Development
Improved Strategy for Distributed Processing and Network Application Development
 
Middleware – Its Types, Architecture, and Benefits.docx
Middleware – Its Types, Architecture, and Benefits.docxMiddleware – Its Types, Architecture, and Benefits.docx
Middleware – Its Types, Architecture, and Benefits.docx
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
 
Distributed architecture (SAD)
Distributed architecture (SAD)Distributed architecture (SAD)
Distributed architecture (SAD)
 
C0371019027
C0371019027C0371019027
C0371019027
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
Importance of software engineering
Importance of software engineeringImportance of software engineering
Importance of software engineering
 
TermPaper
TermPaperTermPaper
TermPaper
 
Distributed system
Distributed systemDistributed system
Distributed system
 
unit 5 cloud.pptx
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptx
 
Download
DownloadDownload
Download
 
Software Evaluation
Software EvaluationSoftware Evaluation
Software Evaluation
 
Techniques for Developing Systems in IT Management System
Techniques for Developing Systems in IT Management SystemTechniques for Developing Systems in IT Management System
Techniques for Developing Systems in IT Management System
 
software engineering
 software engineering software engineering
software engineering
 
MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015MS Cloud Design Patterns Infographic 2015
MS Cloud Design Patterns Infographic 2015
 
Ms cloud design patterns infographic 2015
Ms cloud design patterns infographic 2015Ms cloud design patterns infographic 2015
Ms cloud design patterns infographic 2015
 
Mobile Responsive Social Corporate Intranet Portal Application
Mobile Responsive Social Corporate Intranet Portal ApplicationMobile Responsive Social Corporate Intranet Portal Application
Mobile Responsive Social Corporate Intranet Portal Application
 
Bt0081 software engineering
Bt0081 software engineeringBt0081 software engineering
Bt0081 software engineering
 

Dernier

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Dernier (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Distributed Software Engineering with Client-Server Computing

  • 1.
  • 2. Yasir Rehman 429 Haseeb ur Rehman 434 Arsalan Khalid 436 Usama Zafar 437 Nasir Nazir 438 Awais Shafeeq 439
  • 4.
  • 5. The Distributed Software Engineering is a branch of Software engineering which deals with the study of the collection of independent software systems that appear to the user as a coherent system.
  • 6. Basic aim to use this type of software development is as follows; 1. Development becomes Fast 2. Minimal Faults 3. Not much burden on a single machine as the work is divided in chunks Virtually all large computer-based systems are now distributed systems. A distributed is system is one involving several computer systems working coherently and in chunks for a single objective. This technique is being used in many organizations around the globe. e.g. Free Lancing on Web Sites etc
  • 7.
  • 8. Salient features of Distributed Software Engineering are given below;  Resource Sharing. Sharing of hardware and software resources.  Openness. Use of equipment and software from different vendors.  Concurrency. Concurrent processing to enhance performance.  Scalability. Increased throughput by adding new resources.  Fault Tolerance. The ability to continue in operation after a fault has occurred.
  • 9.
  • 10. The key objectives which are on the back of developing a distributed software are as follows;  Agility: Key feature behind this type of development is the agility which it provides to develop software. Work is done simultaneously in chunks and to provide maximum advantage to the developing team.
  • 11.  Dynamic testing: As the program is being monitored and developed on many other machines and developers, it is dynamically tested in all sections from which it undergoes.  Multiple Interactions: In case of C/S like systems, multiple users can interact with the same database simultaneously without any breakage.
  • 12.  Timely development: When software is developed on multiple places in one time, it needs less time as compared to the same software being developed on a single machine.  Fault Tolerance: If a component of software being developed or a program being used shuts down, it does not affect the other components being developed. A developer can debug that error afterwards.
  • 13.  Diversification: The approach of the users and the developers diversifies when components from different environment are molded together to built a large software and developers interact there thoughts by sharing their work with each other.
  • 14.
  • 15. Basically there are eight main issues we have to handle while developing a distributed system;  Transparency: Ideally, users should not be aware that a system is distributed and services should be independent of distribution characteristics.  Authentication: Authentication is the process in which client is confirmed it’s identity weather he/she can do that specific task. He / She has rights to do the specific task. It can be done through many ways. Some of which are as follows: › Login-Password. › IP Address.
  • 16.  Fault tolerance: The ability of a system to respond gracefully to an unexpected hardware or software failure.  Network Reliability: A good distributed software network may contain following aspects; › Latency is zero. › Bandwidth is infinite. › The network is secure. › Topology doesn't change. › There is one administrator. › Transport cost is zero. › The network is homogeneous
  • 17.  Synchronization: Synchronization refers to the idea that multiple processes are to join up or handshake at a certain point, in order to reach an agreement or commit to a certain sequence of action.  Security: Difficulties in a distributed system arise because different organizations may own parts of the system. These organizations may have mutually incompatible security policies and security mechanisms. Developers need to ensure that the product they are designing is secured from any outside attacks, Interception as well as Interruption.
  • 18.  Quality of Service: The quality of service offered by a distributed system reflects the system’s ability to deliver its services dependably and with a response time and throughput that is acceptable to its users.  Failure Management: In a distributed system, it is inevitable that failures will occur, so the system has to be designed to be resilient to these failures.
  • 19. Except those, there are other sub-Issues as well; › Data Propagation › Overhead of Communication Protocols › Load Distribution › Recovery Procedure › Consistency › Scalability
  • 20.
  • 21. Client-Server computing is the logical extension of modular programming with fundamental assumption that separation of a huge program into its constituent parts ("modules") can create the possibility for further modification, easier development and better maintainability. In Client-Server Computing, all large modules need not all be executed within the same memory space.
  • 22. Basically three components are there on which this system constitutes;  Client A Client Server Process usually manages the user-interface portion of the application; validate data entered by the user, dispatch requests to server programs.
  • 23.  Server On the other hand, the Server Process fulfills the client request by performing the service requested. After the server receives requests from clients, it executes the Database Retrieval updates and manages data integrity and dispatches responses to client requests.  Middleware Middleware allows applications to transparently communicate with other programs or processes regardless of location.
  • 24. There are four basic characteristics of Client/Server computing;  Combination of a client or front-end portion that interacts with the user, and a server or back-end portion that interacts with the shared resource.  The front-end task and back-end task have fundamentally different requirements for computing resources such as processor speeds, memory, disk speeds and capacities, and input/output devices.  The environment is typically heterogeneous and multivendor. The hardware platform and operating system of client and server are not usually the same. Client and server processes communicate through a well-defined set of standard application program interfaces (API's) and RPC's.  An important characteristic of client-server systems is scalability. They can be scaled horizontally or vertically. Horizontal scaling means adding or removing client
  • 25. Tremendous benefits for implementing Client-Server Technology in Business. Below are just a few of it.  Vendor independence as compared to the traditional mainframe computing. This includes application development methodologies, programming paradigms, products and architectures.  Organization has 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.  Network management is replacing vertical management
  • 26.  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  Better sharing of critical database resources and other application software 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.
  • 27. Precisely, the distributed software development technique is quite profitable and fast-developing among other techniques and is being adapted in many organizations across the globe. Though it has some concerns regarding security and transparency of the product, but nothing is perfect in this world I suppose…