SOA与客户-服务器架构的特性比较_第1页
SOA与客户-服务器架构的特性比较_第2页
SOA与客户-服务器架构的特性比较_第3页
SOA与客户-服务器架构的特性比较_第4页
SOA与客户-服务器架构的特性比较_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SOA与客户-服务器架构的特性比较几乎在任何环境中,只要有一段软件从另一个请求或接收信息,都能够 被称为“客户-服务器。”几乎每一个不同的应用架构都曾存在(包括SOA)一种 客户-服务器的交互元素。然而,行业术语“客户-服务器架构”通常是指特殊的 前一代环境,期间客户端与服务器扮演了特定的角色,并有清晰的实现特征。客户-服务器架构简史初期庞大的主机授予组织严格的计算方式,通常被视作是客户-服务器架 构稚形。这些环境,其中庞大的主机后端伺服瘦客户端,被看作单层客户-服务 器架构(图1)。-triin (dumb) cfientno application logicminirnaE proces

2、sing intelligent server all application logic, bulk of processing图1. 一个典型的单层客户端服务器架构presentation+businessasyndi nonoussynchronous主机系统天然支持同步及异步通信。后一种方法主要用于让服务器连续 不断地接收来自终端的字符,以响应个别的击键事件。只在某种条件下服务器才 会响应。虽然它仍有残留痕迹,但是当两层客户-服务器的变化设计在80年代后 期出现时,主机作为最初的统治计算平台开始衰退。这个新方法引入了委派逻辑、以及处理职责下发到单个工作站的概念, 导致了胖客户的诞生。受

3、图形用户界面(GUI)创新的进一步支持,两层客户-服务 器被认为是前进了一大步,并在90年早期持续统治了 IT界数年之久。这个架构的通常配置包含多个胖客户端,每一个都有自己到中心数据库 服务器连接。客户端软件执行大量处理,包括所有的展现相关及多数的数据访问 逻辑(图2)。一个或多个服务器通过累积可扩展的关系型数据库管理系统,促进 了这些客户端。tw细E翡iwc-tler client-serversyncranouEprngnlatiQn-datamse 舞地,弓由3理旧|网lagie, 机相而辨W髀* data-Ffilal&d proEe&sing, -one ocfinscLDn per

4、 user-fat (i-n(ailigentjcli&fit b-uK of sppHcation logic bulk of process图2.典型的两层客户-服务器架构让我们通过单独地和将它们与SOA的相应部分作比较两种方式,来看一看SOA和两层客户-服务器架构的主要特征。应用逻辑客户-服务器环境将大多数应用逻辑放到客户端软件中。这导致庞大的程 序连同后端资源来一起来控制用户体验。分布式业务规则是一个例外。一个流行 趋势是将嵌入的和维护的业务规则与数据关联,放入数据库的存储过程与触发器 之内。这略微抽象了一组来自客户端的业务逻辑,并简化了数据访问编程。尽管 如此,客户端还是承担着所有的

5、展示任务。当代面向服务解决方案中的展现层会有所不同。任何软件片段若有能力 依照所需的服务契约进行SOAP消息交换,都可归为服务请求者。同时通常也 期望请求者能提供服务,展现层的设计完全开放并对应特定的解决方案需求。在服务器环境内,存在关于应用逻辑如何驻留与分布的选择权。这些选 择权不排除数据库触发器和存储过程。同时,面向服务设计的原则开始起作用, 通常指导划分自治处理逻辑的单元。这促进了特定设计品质,比如服务无状态化 及协同性,还有可组合性及复用性。另外,常有这些处理逻辑单元在SOA内不属于任何解决方案的情形。这 也支持了促进复用以及跨越应用边界的松散耦合这一终极目标。应用处理因为大部分客户-

6、服务器应用逻辑驻留于客户端,客户端工作站负责了大 量的处理。80/20比率常被作为一个经验法则,按此法则数据库服务器承担了 20%的工作量。尽管如此,数据还是常常成为这些环境中的性能瓶颈。有大用户量的两层客户-服务器解决方案,通常需要每一客户建立其自身 的数据库连接。通信可预期是异步的,而且这些连接是永久的(意味着它们需要 通过用户登录并保持活动直至其退出应用)。专有数据库连接是昂贵的,并且资 源需求经常压垮数据库服务器,给所有用户以可观的反应时间。另外,假定客户被分配以主要的处理职责,他们常要求重要的资源。客 户端执行完全是有状态的,并要消耗大量的固定PC内存。用户工作站因此经常 需要专门运

7、行客户端程序,以便所有可用资源能够提供给应用。SOA中的处理是高度分布式的,每一服务都有一个清晰的功能边界和相关的资源需求。在面向服务架构建模技术中,对于如何能够定位及部署服务你有 很多的选择。企业解决方案包含多个服务器时,每一个都装有Web服务并支持中间 件。因此,对于SOA而言没有固定的比率。服务可根据需要分布,而且在决定 物理部署配置时,性能需求是要考虑的因素之一。服务与请求者间的通信可以是同步的或是异步的。这一灵活性允许进一 步改进处理,特别是使用异步的消息模式时。另外,通过在消息中放入更多的智 能,可获得消息层面的语境管理选择。这促进了无状态的及自治的服务本性,并 进一步经历减少对状

8、态信息缓存的需要。技术客户-服务器应用的出现促进了第四代4GL编程语言的使用,比如 VisualBasic与PowerBuilder。这些开发环境充分利用了 Windows操作系统所 提供的能力,来创建更美观丰富、更具交互性的用户界面。尽管如此,传统的第 三代语言,比如C+,仍在使用,特别是对于有更严格的性能需求的解决方案。 在后端,主流的数据库厂商,象Oracle、Informix、IBM、Sybase与微软,提 供了强健的关系型数据库管理系统,能够管理多连接,同时提供了灵活的数据存 储及数据管理特性。SOA所用的技术集实际上并不象它所延展的那么多。旧版本的程序语言 的更新版本,象Visua

9、lBasic,依旧能够用于创建Web服务,且依旧可以使用 传统数据库。尽管如此,SOA的技术版图已经变得日渐不同。除了 Web技术的 标准集(HTML、CSS、HTTP等等),当代SOA 一并带来了建立XML数据表达 架构的绝对需求还有SOAP通讯框架,以及服务架构所包含的永远扩展的Web 服务平台。安全除了数据的存储与管理以及嵌入存储过程和触发器中的业务规则,安全 是经常在客户-服务器架构的服务器层面集中处理的另一个部分。数据库十分复 杂,足以管理用户帐户及用户组长,并将其分配到物理数据模型的个别部分。安全也能够客户程序中控制,特别是当它与特定应用逻辑执行的业务规 则相关联时(譬如挑选用户对

10、部分用户界面进行限制访问)。另外,与操作系统级 的安全协作可实现单点登录,此时应用直接继承操作系统的登录账户信息。尽管有人夸耀SOA的优势,许多架构师却羡慕客户-服务器的安全性。 企业数据经由单点鉴权而受到保护,建立了客户端与服务器间的单一连接。在 SOA的分布世界中,这是不可能的。安全变成一个重要而复杂的问题,与必需 的安全措施程度直接相关。牵扯到许多典型技术,大多数包含在WS-安全框架 中。管理客户-服务器时代终结的一个重要原因在于相关分发的大量维护成本的 增加,以及跨工作站应用逻辑的维护。因为每一个客户装载有应用代码,每一次 应用更新都要对所有的工作站重新分发软件。在较大型的环境中,这造成了高度 繁重的管理流程。维护问题跨越了用户端和服务器端。客户工作站受特定环境问题的支配,因为不同的工作站会安装不同的软件程序,或者可能购买不同的硬件厂商。更有 甚者,还增加了对服务器端数据库的要求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论