Please enable JavaScript.
Coggle requires JavaScript to display documents.
Slide 9,10,11,12 - Coggle Diagram
Slide 9,10,11,12
Slide 10:
Distributed Architecture (Kiến trúc phân tán)
Multi-tier
middleware tier
application server
business rule / data access
back-end tier
data server
Front-end tier
thin client
user interface
Advantages of multi-tier over two-tier architecture
Enhanced reusability and scalability by adding the middle tier
Middle layer can provide multi-threading support
Reduces traffic on the network
Have portable and nonproprietary design and implementation
Middle layer is easy to change
Cons
Difficulty in testing due to lack(thiếu) of testing tools
Adding multiple servers in the system makes the server reliability and availability even more critical
Broker
The Broker architectural style
Transparently distribute aspects of the software system to different nodes
An object can call methods of another object without knowing that this object is remotely located (được đặt từ xa).
CORBA is a well-known open standard that allows you to build this kind of architecture
Example:
Client(Proxy) --object request-> Broker -->Remote object
Style
Typical middleware arch. from mid 1990’s
Key Idea
Clients discover services through broker
Service provider register services through broker
Clients submit requests to broker
Broker massages requests from clients and relay results from service provider
Typical examples
RPC
RMI
CORBA
Summary
Advantages
Changeability and extensibility
Feasibility of run time changes of server components (add or remove server components)
Server component implementation and location transparency
Disadvantages
Inefficiency due to the overhead of proxies
Low fault tolerance
Difficulty testing
Broker Architecture
Sub-component
Skeleton (server-side proxy) – encapsulates lower network details, dispatch requests to local service objects
Encapsulates low-level system specific networking functions like client proxy and provides high level APIs to mediate between the server and the broker
It receives and unpacks the requests, unmarshals the arguments, and calls the appropriate service
It is also generated by service interface compilation (tổng hợp giao diện) and deployed at server side
When receives the result back from the server, it also marshals results before sending it back to the client
Bridges (optional) – for interaction with brokers
Hide implementation details when two brokers interoperates (tương tác)
Can translate requests and parameters from one format to another
Optional component
Stub (client-side proxy) – provide “stub” version of remote services, responsible for massaging messages
To the client, a remote object appears like a local one
The proxy hides inter-process communication at protocol level, marshals the parameter values, and unmarshals results from the server
Mediates between (làm trung gian) the client and the broker and providing additional transparency (it is invisible to the user) between them
The stud is generated at compilation time and deployed at client side to be used as a proxy for client
Network – for interaction with brokers
Connects components using designated protocol standards
OIIP
SOAP
TCP/IP
The request carries data in a message document or method invocation format
Broker - provide service registration
It stores all servers
It provides APIs for clients to request, servers to respond, registering or unregistering server components, transferring messages, and locating servers.
It coordinates(phối hợp) communications, passing on request and returning replies
Client/Server
The most commonly distributed system architecture
It has two communicating processes
So, it is decomposed into two major subsystems
Client
Server
Server process receives the request, carries it out, and sends a reply to the client
Running on different processors
Two tier: client and server
Front-end
focuses on the user interaction
Back-end
focuses on business logic and database management
Summary
Advantages
Reusability of server components
(Khả năng tái sử dụng)
Responsibility separation such as user interface presentation and business logic processing
Disadvantages
Lack of heterogeneous infrastructure (Thiếu cơ sở hạ tầng đồng nhất) to deal with the requirement changes
Security complications
Server availability and reliability
Testability and scalability
Service Oriented
Overview
Distributed System
is a collection of computational and storage devices (thiết bị tính toán và lưu trữ) connected through a communications network. Components are distributed
Two important issues
Topology: the way components connected
Mode: the method they communicate with each other
Many models available
Each has pros and cons
Interaction-Oriented Software Architectures
Model-View-Controller
Model-View-Controller programming
Models
View
Controller
MVC-I
d
MVC-II
Presentation-Abstraction-Control (PAC)
Slide 11
Slide 12