常见分布式应用模式 ●Web Applications Firewall HTTP Servers Business Logic CGI/Servlets Data Store User Interface interaction initiated by user UI based on HTML,Java,Javascript,etc. CGI/Servlet composes HTML,forwards interaction requests to business logic Distributed Systems Frameworks 11
Distributed Systems Frameworks 11 常见分布式应用模式 i Web Applications 4 interaction initiated by user 4 UI based on HTML, Java, Javascript, etc. 4 CGI/Servlet composes HTML, forwards interaction requests to business logic Business Logic User Interface Data Store Firewall HTTP Servers CGI / Servlets
常见分布式应用模式 Peer-to-Peer Systems Requests Application Notifications Message Persistent Store queue User Interface (mixed initiative) Monitor Enterprise Applications An architecture where there is no special machine or machines that provide a service or manage the network resources. Instead all responsibilities are uniformly divided among all machines,known as peers.Peers can serve both as clients and servers. Distributed Systems Frameworks 12
Distributed Systems Frameworks 12 常见分布式应用模式 i Peer-to-Peer Systems Application User Interface (mixed initiative) Persistent Store Monitor Enterprise Applications Requests Notifications Message queue • An architecture where there is no special machine or machines that provide a service or manage the network resources. • Instead all responsibilities are uniformly divided among all machines, known as peers. Peers can serve both as clients and servers
分布式应用的构成 3 layers of a distributed application: network level (TCP/IP,network protocols) higher-level services(directory services,security protocols,etc.) application level At the application level: processes threads objects:processes can be made up of one or more objects which can be accessed by one or more threads within the process agents:an"independent"functional element (e.g.,in a banking application we may have a customer agent,a transaction agent,an information brokerage agent) Distributed Systems Frameworks 13
Distributed Systems Frameworks 13 分布式应用的构成 i3 layers of a distributed application: 4network level (TCP/IP, network protocols) 4higher-level services (directory services, security protocols, etc.) 4application level iAt the application level: 4processes 4threads 4objects: processes can be made up of one or more objects which can be accessed by one or more threads within the process 4agents: an “independent” functional element (e.g., in a banking application we may have a customer agent, a transaction agent, an information brokerage agent)
分布式应用的一般技术需求 Partitioning and Distributing Data and Functions data-driven distribution functional distribution object-based distribution Flexible,Extendible Communication Protocols allocation of tasks to agents has a direct influence on the complexity of the communication protocol(type of data, amount of data,persistence of connections) may also be dictated by legacy systems that need to be incorporated Distributed Systems Frameworks 14
Distributed Systems Frameworks 14 分布式应用的一般技术需求 iPartitioning and Distributing Data and Functions 4data-driven distribution 4functional distribution 4object-based distribution iFlexible, Extendible Communication Protocols 4allocation of tasks to agents has a direct influence on the complexity of the communication protocol (type of data, amount of data, persistence of connections) 4may also be dictated by legacy systems that need to be incorporated
分布式应用的一般技术需求 Multi-threading Requirements server object may need to service multiple remote clients at once effective way to optimize resources Security Requirements authentication of client identities define resource access levels data encryption Distributed Systems Frameworks 15
Distributed Systems Frameworks 15 分布式应用的一般技术需求 iMulti-threading Requirements 4server object may need to service multiple remote clients at once 4effective way to optimize resources iSecurity Requirements 4authentication of client identities 4define resource access levels 4data encryption