DISTRIBUTED SOFTWARE
ENGINEERING
Name: Amer Ghannam Alharbi
ID: 381101843
Dr. Khalid Nazim
TOPICS COVERED
Distributed systems issues
Client–server computing
Architectural patterns for distributed systems
Software as a service
WHAT IS DISTRIBUTED SYSTEMS ENGINEERING?
 Distributed systems engineering is a field of software engineering that deals
with systems whose components are located on different computers within
the same network. A distributed system is, therefore, one that uses multiple
computers that coordinate their actions and communicate with one another to
achieve a common objective.
DISTRIBUTED SYSTEM
CHARACTERISTICS
Openness
• Use of equipment and software from different vendors
Scalability
• Increased throughput by adding new resources
Concurrency
• Concurrent processing to enhance performance
Transparency
• distributed system should be seen by both users and programmers as a single unit
CLIENT/SERVER
COMPUTING
 Client/Server is a term used to describe a computing model for
the development of computerized systems. This model is based
on the distribution of functions between two types of
independent and autonomous processors: servers and clients.
 This allows each layer to be distributed to a different computer.
Figure 18.6 illustrates this model, showing an application structured
into four layers:
CLIENT/SERVER
ARCHITECTURE
Clients
• The client is any computer process that requests services from the
server.
Servers
• The server is any computer process providing services to the clients.
Communication middleware
• It is any computer process(es) through which clients and servers
communicate.
ARCHITECTURAL PATTERNS FOR
DISTRIBUTED SYSTEMS
In this section, I discuss five architectural styles:
1. Master-slave architecture, which is used in real-time systems in which
guaran- teed interaction response times are required.
2. Two-tier client–server architecture, which is used for simple client–server
systems,
3. Multitier client–server architecture, which is used when there is a high
volume of transactions to be processed by the server.
4. Distributed component architecture, which is used when resources from
differ- ent systems and databases need to be combined
5. Peer-to-peer architecture, which is used when clients exchange locally
stored infor- mation and the role of the server is to introduce clients to
each other
SOFTWARE AS A SERVICE
 Software as a service (or SaaS) is a way of delivering applications over the
Internet—as a service. Instead of installing and maintaining software, you simply
access it via the Internet, freeing yourself from complex software and hardware
management.
 SaaS applications are sometimes called Web-based software, on-demand software, or
hosted software.
SAAS CHARACTERISTICS
Multitenant Architecture
• in which all users and applications share a single, common infrastructure and code base that is
centrally maintained.
Easy Customisation
• The ability for each user to easily customise applications to fit their business processes without
affecting the common infrastructure.
SaaS Trends
• Organisations are now developing SaaS integration platforms (or SIPs) for building additional SaaS
applications.
SAAS AND SOA
 ( SaaS ) is a way of providing functionality on a remote server with client access
through a web browser.
( SOA )is an approach to structuring a software system as a set of separate, state-
less services.
A MULTI-TENANT
DATABASE
REFERENCE :
1. https://www.slideshare.net/software-engineering-book/ch17-
distributed-software-engineering
2. https://www.indeed.com/career-advice/finding-a-
job/distributed-systems-engineering
3. https://pdfs.semanticscholar.org/fe8c/ca2f103875e09a3f7ca72
e1542c4022f0729.pdf
4. https://www.salesforce.com/in/saas/
5. The book ( software engineering 9) chapter (18) pages (496 –
524)
Anyquestions?

381101843.pptx

  • 1.
    DISTRIBUTED SOFTWARE ENGINEERING Name: AmerGhannam Alharbi ID: 381101843 Dr. Khalid Nazim
  • 2.
    TOPICS COVERED Distributed systemsissues Client–server computing Architectural patterns for distributed systems Software as a service
  • 3.
    WHAT IS DISTRIBUTEDSYSTEMS ENGINEERING?  Distributed systems engineering is a field of software engineering that deals with systems whose components are located on different computers within the same network. A distributed system is, therefore, one that uses multiple computers that coordinate their actions and communicate with one another to achieve a common objective.
  • 4.
    DISTRIBUTED SYSTEM CHARACTERISTICS Openness • Useof equipment and software from different vendors Scalability • Increased throughput by adding new resources Concurrency • Concurrent processing to enhance performance Transparency • distributed system should be seen by both users and programmers as a single unit
  • 5.
    CLIENT/SERVER COMPUTING  Client/Server isa term used to describe a computing model for the development of computerized systems. This model is based on the distribution of functions between two types of independent and autonomous processors: servers and clients.  This allows each layer to be distributed to a different computer. Figure 18.6 illustrates this model, showing an application structured into four layers:
  • 6.
    CLIENT/SERVER ARCHITECTURE Clients • The clientis any computer process that requests services from the server. Servers • The server is any computer process providing services to the clients. Communication middleware • It is any computer process(es) through which clients and servers communicate.
  • 7.
    ARCHITECTURAL PATTERNS FOR DISTRIBUTEDSYSTEMS In this section, I discuss five architectural styles: 1. Master-slave architecture, which is used in real-time systems in which guaran- teed interaction response times are required. 2. Two-tier client–server architecture, which is used for simple client–server systems, 3. Multitier client–server architecture, which is used when there is a high volume of transactions to be processed by the server. 4. Distributed component architecture, which is used when resources from differ- ent systems and databases need to be combined 5. Peer-to-peer architecture, which is used when clients exchange locally stored infor- mation and the role of the server is to introduce clients to each other
  • 8.
    SOFTWARE AS ASERVICE  Software as a service (or SaaS) is a way of delivering applications over the Internet—as a service. Instead of installing and maintaining software, you simply access it via the Internet, freeing yourself from complex software and hardware management.  SaaS applications are sometimes called Web-based software, on-demand software, or hosted software.
  • 9.
    SAAS CHARACTERISTICS Multitenant Architecture •in which all users and applications share a single, common infrastructure and code base that is centrally maintained. Easy Customisation • The ability for each user to easily customise applications to fit their business processes without affecting the common infrastructure. SaaS Trends • Organisations are now developing SaaS integration platforms (or SIPs) for building additional SaaS applications.
  • 10.
    SAAS AND SOA ( SaaS ) is a way of providing functionality on a remote server with client access through a web browser. ( SOA )is an approach to structuring a software system as a set of separate, state- less services.
  • 11.
  • 12.
    REFERENCE : 1. https://www.slideshare.net/software-engineering-book/ch17- distributed-software-engineering 2.https://www.indeed.com/career-advice/finding-a- job/distributed-systems-engineering 3. https://pdfs.semanticscholar.org/fe8c/ca2f103875e09a3f7ca72 e1542c4022f0729.pdf 4. https://www.salesforce.com/in/saas/ 5. The book ( software engineering 9) chapter (18) pages (496 – 524)
  • 13.