Distributed Application Development (Introduction)
1. Q8M1 β SC Dudy Fathan Ali S.Kom
Distributed Application Development
Q8M1
Dudy Fathan Ali, S.Kom (DFA)
2017
CEP - CCIT
Fakultas Teknik Universitas Indonesia
3. Objectives
Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Identify the distributed application technologies
4. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o Earlier computer applications were based on the single-tier architecture.
o The single-tier architecture:
o Does not support multiple users.
o Is not flexible.
o These limitations of the single-tier architecture led to the development
of the distributed application architecture.
5. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o The application architecture involves breaking up an application into
logically connected chunks of code known as tiers or layers.
o The application architecture involves the following layers:
o Presentation layer
o Business logic layer
o Data access layer
o In the single-tier architecture, these layers are packaged on the
same computer.
6. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o In the distributed application architecture, the presentation, the
business logic, and the data access layers are placed on different
computers.
o Depending upon the location of these layers, the distributed
application architecture is categorized as:
o Two-tier architecture
o Three-tier/n-tier architecture
o Service-oriented architecture
7. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o The two-tier application architecture can be of the following types:
o A fat client and thin server application architecture
o A fat server and thin client application architecture
8. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
Client Machine
Server Machine
Thin Client Fat Client
9. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o In fat client and thin server application architecture, the presentation
layer and the business logic layer reside on the client, and the data
access layer resides on the server.
o Installed on local computer (Client Side).
o Periodically sync with server remotely.
o A fat client and thin server application architecture:
o Helps in reducing load on the server.
o Is used in organizations that cannot afford a reliable network
infrastructure or have less user base.
o Example: ERP Software, Skype.
10. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o In fat server and thin client application architecture, the presentation
layer resides on the client, and the business logic layer and the data
access layer reside on the server.
o Complete processing on server side.
o A fat server and thin client application architecture:
o Is easily managed, less prone to security risks, and offers low
maintenance and licensing costs.
o Is used when the business and managerial operations are not
complex, and the access to the server is limited.
o Example: google.com, yahoo.com.
11. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o In the three-tier architecture, the business logic layer is separated from
the data access layer and handled by a middleware.
o The middleware:
o Is implemented by using application servers or Web servers.
o Performs functions such as queuing of tasks, scheduling, and
prioritizing of business processes.
12. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o The three-tier architecture is implemented when an effective distributed
client/server architecture that provides increased performance and
scalability is needed.
o The separation of layers in a three-tier architecture is difficult because
some business logic needs to appear on all the layers.
o This difficulty has led to the expansion of the three-tier software
architecture into the n-tier application architecture.
13. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o The following figure
displays the placement
and grouping of various
layers in the n-tier
architecture.
14. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o The n-tier architecture separates the various business processes into
discrete units of functionality called services.
o The applications deployed by using the n-tier architecture can be
invoked over the Web.
o Most enterprise-distributed applications use Web services.
o Web services are platform-independent interfaces that help
communicate with other applications developed by using HTTP and
XML.
15. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o Service-Oriented Architecture (SOA):
o Is an n-tier software architecture that is used to develop loosely-
coupled distributed applications.
o Provides interoperability and cross-platform communication.
o Consists of smaller modules of a distributed application known as
services.
o Is implemented by using Web services.
16. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o The advantages of implementing SOA in a distributed application are:
o It offers services across platforms.
o It offers location independence.
o It offers dynamic search and binding of services.
o It is loosely coupled.
o It provides flexibility to organizations to build applications without
replacing the existing application.
17. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
o The SOA architecture consists of the following building blocks:
o Service provider: Publishes a service and registers it in the public
registry.
o Service broker: Enables the service consumers to find the service
providers that meet the required criteria.
o Service consumer: Uses a service provider to complete business
processes by binding to a service that is provided by the service
provider.
18. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application architecture
Distributed Application Development
SOA Conceptual Models
19. Q8M1 β SC Dudy Fathan Ali S.Kom
Advantages of the distributed application architecture
Distributed Application Development
o The distributed application architecture provides the following
advantages:
o Increased productivity
o Flexibility and scalability
o Fault tolerance and availability
o Reusability
20. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application technologies
Distributed Application Development
o Some of the technologies that can be used to develop a distributed
application in .NET are:
o COM+ services
o .NET Remoting
o Web services
21. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application technologies
Distributed Application Development
o Single-tier applications provide code reusability with the help of
components.
o Components are reusable piece of code that are developed by using
Component Object Model (COM).
o COM components cannot communicate with other applications in a
distributed environment.
o This led to the development of Distributed Component Object Model
(DCOM).
22. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application technologies
Distributed Application Development
o .NET Remoting:
o Is a mechanism that enables communication between a .NET
application and a component residing on different computers within
the same or different networks.
o Uses various protocols to provide flexible communication between a
component and an application.
23. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application technologies
Distributed Application Development
o A Web service:
o Is a component that implements program logic and provides
functionality that can be accessed by disparate client applications
over the Web.
o Enable heterogeneous applications to interoperate with each other.
o Is mostly used for the Internet.
24. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application technologies
Distributed Application Development
o In this session, you learned that:
o The layers involved in the software architecture are:
o Presentation layer
o Business logic layer
o Data access layer
o The various types of distributed application architecture are:
o Two-tier architecture
o Three-tier/n-tier architecture
o Service-oriented architecture
25. Q8M1 β SC Dudy Fathan Ali S.Kom
Identify the distributed application technologies
Distributed Application Development
o The advantages of distributed application architecture are:
o Increased productivity
o Flexibility and scalability
o Fault tolerance and availability
o Reusability
o The various types of technologies that can be used to develop a
distributed application in .NET are:
o COM+ services
o .NET Remoting
o Web services
26. Exercise
Q8M1 β SC Dudy Fathan Ali S.Kom
Consider a scenario where the management of a large retail store, ABC
Stores, needs to communicate its business transactions and decisions to all
its stakeholders. The stakeholders may be internal and external to the retail
store.
The organization has more than 100 retail outlets located across the globe
and is growing at a fast rate. The querying, reporting, and analyzing tasks
are to be performed for the top management at the head office in Atlanta.
Therefore, this involves consolidation of data in every region.
27. Exercise (contd.)
Q8M1 β SC Dudy Fathan Ali S.Kom
The business analyst of the organization has to consider the huge volume of data
involved, the time taken by the queries to execute, and needs to publish the report
to the management. In addition, when handling the collected and analyzed data,
the business analyst needs to maintain its security.
In context of the preceding scenario, answer the following questions:
o Which type of software architecture is best suited to this condition? Give
reasons for the same.
o Which distributed application technology is best suited to this condition? Give
reasons for the same.
o Which type of client application (Windows or Web) is best suited to this
condition? Give reasons for the same.
28. Exercise (contd.)
Q8M1 β SC Dudy Fathan Ali S.Kom
bit.ly/4sc1-repo
Upload your answers in PDF format to: