Distributed Application Development (Introduction)

29
Q8M1 – SC Dudy Fathan Ali S.Kom Distributed Application Development Q8M1 Dudy Fathan Ali, S.Kom (DFA) 2017 CEP - CCIT Fakultas Teknik Universitas Indonesia

Transcript of Distributed Application Development (Introduction)

Page 1: Distributed Application Development (Introduction)

Q8M1 – SC Dudy Fathan Ali S.Kom

Distributed Application Development

Q8M1

Dudy Fathan Ali, S.Kom (DFA)2017

CEP - CCITFakultas Teknik Universitas Indonesia

Page 2: Distributed Application Development (Introduction)

Additional Documents

Q8M1 – SC Dudy Fathan Ali S.Kom

bit.ly/4sc1-repo

Download this Powerpoint Slide:

Page 3: Distributed Application Development (Introduction)

Objectives

Q8M1 – SC Dudy Fathan Ali S.Kom

Identify the distributed application architecture

Identify the distributed application technologies

Page 4: Distributed Application Development (Introduction)

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.

Page 5: Distributed Application Development (Introduction)

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.

Page 6: Distributed Application Development (Introduction)

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

Page 7: Distributed Application Development (Introduction)

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

Page 8: Distributed Application Development (Introduction)

Q8M1 – SC Dudy Fathan Ali S.Kom

Identify the distributed application architecture

Distributed Application Development

Client Machine

Server Machine

Thin Client Fat Client

Page 9: Distributed Application Development (Introduction)

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.

Page 10: Distributed Application Development (Introduction)

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.

Page 11: Distributed Application Development (Introduction)

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.

Page 12: Distributed Application Development (Introduction)

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.

Page 13: Distributed Application Development (Introduction)

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.

Page 14: Distributed Application Development (Introduction)

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.

Page 15: Distributed Application Development (Introduction)

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.

Page 16: Distributed Application Development (Introduction)

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.

Page 17: Distributed Application Development (Introduction)

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.

Page 18: Distributed Application Development (Introduction)

Q8M1 – SC Dudy Fathan Ali S.Kom

Identify the distributed application architecture

Distributed Application Development

SOA Conceptual Models

Page 19: Distributed Application Development (Introduction)

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

Page 20: Distributed Application Development (Introduction)

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

Page 21: Distributed Application Development (Introduction)

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).

Page 22: Distributed Application Development (Introduction)

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.

Page 23: Distributed Application Development (Introduction)

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.

Page 24: Distributed Application Development (Introduction)

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

Page 25: Distributed Application Development (Introduction)

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

Page 26: Distributed Application Development (Introduction)

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.

Page 27: Distributed Application Development (Introduction)

Exercise (contd.)

Q8M1 – SC Dudy Fathan Ali S.Kom

The business analyst of the organization has to consider the huge volume of datainvolved, 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.

Page 28: Distributed Application Development (Introduction)

Exercise (contd.)

Q8M1 – SC Dudy Fathan Ali S.Kom

bit.ly/4sc1-repo

Upload your answers in PDF format to:

Page 29: Distributed Application Development (Introduction)

Q8M1 – SC Dudy Fathan Ali S.Kom

Thank You!Dudy Fathan Ali, S.Kom

[email protected]