高级软件架构设计剖析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 代理程序驻留在一个不应该频繁更改的、众所周知的位置。已被激活并且准备接收请求的任何服务器都将向代理程序注册自己,以便下一次客户端向代理程序请求这种类型的服务器时,代理程序能够使用它。这还可能提高系统的性能和可用性,因为它使您可以拥有多个同时运行并服务于多个客户端的、完全相同的服务器组件。这种机制有时称为负载平衡。 * 客户/服务器(Client/Server) 系统分为客户和服务器,服务器一直处于侦听的状态,客户主动连接服务器,每个服务器可以为多个客户服务。 * 优缺点 优点: 结构简单,系统中不同类型的任务分别由客户和服务器承担,有利于发挥不同机器平台的优势; 支持分布式、并发环境,特别是当客户和服务器之间的关系是多对多时,可以有效地提高资源的利用率和共享程度; 服务器集中管理资源,有利于权限控制和系统安全。 缺点: 在大多数client-server风格的系统中,构件之间的连接通过(远程)过程调用,接近于代码一级,表达能力较弱。 * 点对点(Peer to Peer) 系统中的节点都处于平等的地位,每个节点都可以连接其他节点。在这种架构中,一般需要由一个中心服务器完成发现和管理节点的操作。ICQ以及Web Service技术的大多数应用,都是典型的点对点结构。 * 模型-视图-控制器(MVC) 当应用程序的用户界面非常复杂,且关于用户界面的需求很容易变化时,我们可以把交互类型的软件抽象成模型、视图和控制器这三类组件单元,这种抽象可以很好地分离用户界面和业务逻辑,适应变化的需求。大多数现代交互软件都在一定程度上符合这一架构模型的特点。 MVC模式最吸引人之处在于它迫使用户必须抽象自己的代码,把项目分为表示、逻辑和控制三部分,每部分间的关联较小。 以MVC模式构造软件,可以使得软件结构灵活、重用性好、扩展性佳。 * 模型—视图—控制器交互的示意图 * 模型:视图:控制器: 模型: 模型表示应用的数据及操作这些数据的逻辑方法。任何和整个应用有关的持久性数据都应该放在模型中。对于模型,它所提供的API不能只针对某一个专门的视图或控制器,应该更一般化以适应不同客户的需求。 视图: 视图将模型的当前状态展示给用户,具体的显示方法由视图负责,因此一个模型可以适用多个不同的视图。在模型状态改变后,通过模型和视图之间的协议,视图得知这种改变并修改自己的显示。对于用户的输入,视图将它们交给控制器处理。 控制器: 控制器负责交互和将用户输入的数据导入模型,它还利用用户的输入将应用转向其他视图。一些非持久的临时数据也应该在视图中存取。 * SOA的架构的特点 服务(Service) 定义良好的,自包含的,不依赖于上下文和其它服务的一组功能 SOA(Service-Oriented Architecture) 本质上是一组服务的集合 服务之间相互沟通 可以是简单的数据传输,或者是由两个或多个服务共同参与的一些活动,SOA也包括Service之间的连通技术。 * OO vs. SOA –OO的扩展遇到了挑战 随着时间的推移,接口继承的复杂度在累积 随着系统间距离的延伸,调用成本在上升,类型系统的不同步 扩展组件的功能成本高,不可确定未来需求,不可堆叠的扩展方式 重用与标准化,重用是OO的第一原则,难以维持和维护复杂的重用标准和机制 * –OO vs. SOA OO仍然适用于服务的开发 明显的性能优势 成熟的设计与开发方法 SOA适用于系统的互联 互操作性的要求强于性能的要求 * SOA 既不是一种语言,也不是一种具体的技术,它是一种新的软件系统架构模型。 SOA 最主要的应用场合在于解决在Internet环境下的不同商业应用之间的业务集成问题。 SOA 架构的出现为企业系统架构提供了更加灵活的构建方式,如果企业架构设计师基于 SOA 来构建系统架构,就可以从底层架构的级别来保证整个系统的松耦合性以及灵活性,这都为未来企业业务逻辑的扩展打好了基础。 * 特性: 松耦合性 松耦合性要求 SOA 架构中的不同服务之间应该保持一种松耦合的关系,也就是应该保持一种相对独立无依赖的关系; 位置透明性 位置透明性要求 SOA 系统中的所有服务对于他们的调用者来说都是位置透明的,也就是说每个服务的调用者只需要知道他们调用的是哪一个服务,但并不需要知道所调用服务的物理位置在哪里; 协议无关性。 协议无关性要求每一个服务都可以通过不同的协议来调用。 * * BPM、EA 和OOAD * OOAD OO 支持应用程序分析、设计和开发的完整生命周期 SOAD 应该尽可能多地利用OO 分析技术 将OO 分析成功地应用于SOA 项目 必须一次分析多个系统,用例模型必须继续扮演重要的角色 SOAD 主要是流程,而不是用户驱动的。SOAD 需要BPM

文档评论(0)

LOVE爱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5341224344000002

1亿VIP精品文档

相关文档