电子科技女学 Software Architecture Design Pattern Univers的aEe中onic Science and Technolopy时C Lecture 5 Distributed Computing Architecture Distributed Architecture 。Middleware Layer Introduction to CORBA Architecture Software Architecture and Design Pattern 1
Software Architecture & Design Pattern Software Architecture and Design Pattern 1 Lecture 5 Distributed Computing Architecture • Distributed Architecture • Middleware Layer • Introduction to CORBA Architecture
电子科技大学 Software Architecture Design Pattern University af Electronic Science and Technoloryf Chim Distributed Architecture A computing platform that supports a hardware system consists of multiple and autonomous computing elements multiple autonomous nodes resources may not be directly accessible software concurrency multiple controls/multiple failure Software Architecture and Design Pattern 2
Software Architecture & Design Pattern Software Architecture and Design Pattern 2 Distributed Architecture A computing platform that supports a hardware system consists of multiple and autonomous computing elements • multiple autonomous nodes • resources may not be directly accessible • software concurrency • multiple controls/multiple failure
电子科技大学 Software Architecture Design Pattern University af Electronic Science and Technoloryf Chim 分布式系统的优点 资源共享(Resource sharing) 一共享硬件和软件资源。 。 开放性(Openness) 一可使用有不同供应商提供的设备和软件。 ·并发性(Concurrency) 一可通过并行处理来增强性能。 。9 缩放性(Scalability) 一可通过增加新的资源来提高生产力。 ,容错(Fault tolerance) 一在出现某个失误之后仍具备继续运行的能力。 Software Architecture and Design Pattern 3
Software Architecture & Design Pattern Software Architecture and Design Pattern 3 分布式系统的优点 • 资源共享(Resource sharing) – 共享硬件和软件资源。 • 开放性(Openness) – 可使用有不同供应商提供的设备和软件。 • 并发性(Concurrency) – 可通过并行处理来增强性能。 • 缩放性(Scalability) – 可通过增加新的资源来提高生产力。 • 容错(Fault tolerance) – 在出现某个失误之后仍具备继续运行的能力
电子州妓女学 Software Architecture Design Pattern University af Electronic Science and Technoloryf Chim 分布式系统的缺点 ·复杂性(Complexity) -分布式系统比集中式系统复杂得多。 。 保密性(Security) 一更易受到外部攻击。 。 可管理性(Manageability) -需要更多的人力来管理系统。 ·不可预见性(Unpredictability) 响应结果难于预料,与系统构造和网络的负载 情况有关。 Software Architecture and Design Pattern 4
Software Architecture & Design Pattern Software Architecture and Design Pattern 4 分布式系统的缺点 • 复杂性(Complexity) – 分布式系统比集中式系统复杂得多。 • 保密性(Security) – 更易受到外部攻击。 • 可管理性(Manageability) – 需要更多的人力来管理系统。 • 不可预见性(Unpredictability) – 响应结果难于预料,与系统构造和网络的负载 情况有关
电子州妓女学 Software Architecture Design Pattern University af Electronic Science and Technoloryf Chim 2.Distributed Architecture Definition A distributed architecture is an architecture supporting the development of applications and services that can exploit a physical architecture consisting of multiple,autonomous processing elements. Those elements do not share primary memory but cooperate by sending messages over the network. Example-Distributed System Key Characteristics: Home banking Credit Approval Application Application .Multiple autonomous components .Components are not shared by all users +Resources may not be accessible Bank branch .Software runs in concurrent processes server Credit Check Service on different processors .Multiple points of control .Multiple points of failure DBMS Solarison AlX on DBMS Server SPARC IBM RS/6000 Server Software Architecture and Design Pattern 5
Software Architecture & Design Pattern Software Architecture and Design Pattern 5
电子州技女学 Software Architecture Design Pattern University Electronic Scienceand eco 3.Middleware Systems Definition:Middleware is software that enables interprocess commmnication. It provides an API that isolates the application code from the underlying network communication formats and protocols (FAPs). -Middleware systems implement the various forms of distribution transparencies by creating the illusion of unity and homogeneity within the network,what is called in other words the "single-system image". +They act as glue between autonomous components and processes (e.g.,clients, server)by providing generic services on top of the OS. Com ponent Com ponent Com ponent Com ponent Com ponent Com ponent Middleware Network O perating System Com ponent = com ponent Hardw are Mid dlew are Host Network O perating System Hardware Ne tw ork Host Software Architecture and Design Pattern 6
Software Architecture & Design Pattern Software Architecture and Design Pattern 6
电子科技女学 Software Architecture Design Pattern University af Electronic Science and Technoloryf Chim -There are three kinds of middleware systems:transaction-oriented middleware,message-oriented middleware,and object-oriented middleware. +Transaction-oriented middleware supports distributed computing involving database applications. +Message-oriented middleware supports reliable,asynchronous communications among distributed components. +Object-oriented middleware systems are based on object-oriented paradigm,and primarily supports synchronous communications among distributed components. -The most popular object-oriented middleware paradigms include CORBA,DCOM,DotNET,and EJB (which is based on RMI) +All these middleware systems,also referred to as Object-Oriented middleware, are based on the Remote Procedure Call (RPC)framework foundation. They extend RPC framework by introducing object-oriented mechanisms. 6 Software Architecture and Design Pattern 7
Software Architecture & Design Pattern Software Architecture and Design Pattern 7
电子州妓女学 Software Architecture Design Pattern University af Electronic Science and Technoloryf Chim Example Middleware Home banking Credit Approval Application Apphcation Standard APIs Information Application-specifie 入fanagement Middleware Exchange senices Services Services (distributed services) Platform In适erfaces Bank branch server Credit Check Service DBMS Solaris on AIX on DBMS Server SPARC 1B入I段S6制 Server Example-Distributed Middleware with CORBA Domin-specific Home banking Credit Approva Application Apehcation for haoking bjoct Renuest Brok台r Bark beanch Credit Check Dircto. 9 Lile Cvele. Software Architecture and Design Pattern 8
Software Architecture & Design Pattern Software Architecture and Design Pattern 8
电子科技女学 Software Architecture Design Pattern Universitya ectronic Scienceand ecnol Remote Procedure Call (RPC) -RPC allows the invocation of operations across different hardware and operating system platforms. Provide the same mechanism as local procedure call but at the interprocess level. +Support a common Interface Definition Language (IDL). -The RPC mechanism is provided by a RPC software,which handles transparently all the steps involved.The functionality of the RPC software include: Home baakin redit Appro +Location of the server functions,and and concurrent requests. Parameters passing and data Rank hranch 阳 Credit Check Service representation. ÷Failure management D国 IBM 6000 ÷Security management -The RPC software provides an implementation of the session and presentation layer.Note that the transport layer(below)is 0 implemented as a socket. Software Architecture and Design Pattern 9
Software Architecture & Design Pattern Software Architecture and Design Pattern 9
电子州技女学 Software Architecture Design Pattern Universitya Electronic Scienceand ecolo RPC Mechanism Network Directory Service Client Server 2.locate server 1.publish (Start Up)】 Start Up】 3.call function 6.Receive RPC (Client Application) (Server runtime)】 4.pack arguments 7.unpack arguments (Client stub)】 (Server stub) RPC 5.Make RPC 8.Execute function (Client runtime) (Server application) Software Architecture and Design Pattern 10
Software Architecture & Design Pattern Software Architecture and Design Pattern 10