Describe Middleware Layer and Its Purpose

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

1. Describe middleware layer and its purpose.

The term is most commonly used for software that enables communication and management of data in
distributed applications. Serving as transitional software that connects operating systems and
communication protocols, middleware works to do the following:

 Disguise a disjointed and distributed network


 Create homogeneity from heterogeneous collection of software applications
 Provide developers with a uniform interface to support application development,
usability, and interoperability
 Offer a set of general purpose services that enable applications to work together and
prevent systems from duplicating efforts

Middleware also assists with the developing of applications by providing common programming
abstractions, masking application heterogeneity and the distribution of the underlying hardware
and operating systems, and by hiding low-level programming details

The purpose of middleware is to foster interaction between different aspects of an application or


even between applications themselves. By leveraging middleware, businesses can expect to
experience:

 Efficient connectivity
 Innovative solutions
 More concise transition periods
 Easily accessible workplace tools

2. Describe the goals of distributed system.

 The main goal of a distributed system is to make it easy for users to acces remote
resourses and to share them with others in a controlled way.
 Collaborating and exchanging information can be made easier by connecting users and
resource.

2. Transparency:

 It is important for a distributed system to hide the location of its process and resource. A
distributed system that can portray itself as a single system is said to be transparent.
 The various transparencies need to be considered are access, location, migration,
relocation, replication, concurrency, failure and persistence.
 Aiming for distributed transparency should be considered along with performance issues.

3. Openness:
 Openness is an important goal of distributed system in which it offers services according
to standard rules that describe the syntax and semantics of those services.
 Open distributed system must be flexible making it easy to configure and add new
components without affecting existing components.
 An open distributed system must also be extensible.

4. Scalable:

 Scalability is one of the most important goals which are measured along three different
dimensions.
 First, a system can be scalable with respect to its size which can add more user and
resources to a system.
 Second, users and resources can be geographically apart.
 Third, it is possible to manage even if many administrative organizations are spanned.

3. What are the different types of distributed systems?

4. Describe the software and system architectures in distributed system.

istributed systems are often complex pieces of software of which the components are by
definition dispersed across multiple machines. To master their complexity, it is crucial that
these systems are properly organized. There are different ways on how to view the
organization of a distributed system, but an obvious one is to make a distinction between
the logical organization of the collection of software components and on the other hand the
actual physical realization. 

The organization of distributed systems is mostly about the software components that
constitute the system. These software architectures tell us how the various software
components are to be organized and how they should interact. In this chapter we will first
pay attention to some commonly applied approaches toward organizing (distributed)
computer systems

The actual realization of a distributed system requires that we instantiate and place
software components on real machines. There are many different choices that can be made
in doing so. The final instantiation of a software architecture is also referred to as a system
architecture. In this chapter we will look into traditional centralized architectures in which
a single server implements most of the software components (and thus functionality),
while remote clients can access that server using simple communication means. In
addition, we consider decentralized architectures in which machines more or less play
equal roles, as well as hybrid organizations.

You might also like