贵州新闻网LOGO 首页 asp.net HTML教程 C#教程 SQLSever CSS教程 javascript 软件开发 项目管理
基于.Net Framework的N层分布式应用开发[1] 软件工程
来源:csai 作者:sortol.com 发布时间:
基于.Net Framework的N层分布式应用开发[1] - 希赛网软件工程

    一、分布式处理概述
    分布式处理是将应用程序逻辑分布到2台或者更多台计算机上,在物理上或逻辑上分离的单元中。这一概念并不是新生事物,在大型工程已经得到广泛使用。只不过,Internet的出现为分布式处理赋予了新的特征,Internet内部连接的特性可以让成百上千的计算机为一个任务工作,使得在更大规模上实施分布式处理成为可能,并跨越了传统的B/S(客户机/服务器)模型。
    分布式处理思想经历了很长的过程,不同IT时代的开发人员、各级供应商做了大量的工作,使得支持分布式处理的协议极为丰富。
    1、 DCOM/CORBA
    在.Net Framework之前,基于组件的分布式计算的主要协议是CORBA(Common Object Request Broker Architecture,通用对象请求代理结构),它来自Object Management Group(对象管理组),还有Microsoft的DCOM(Distributed Component Object Model,分布式组件对象模型)。
    DCOM是面向连接的。DCOM客户机持有对DCOM服务器的连接。这种连接方式导致了技术问题存在。例如,客户机可能持有引用信息,只有在用户单击按钮时生成调用。时间一长,服务器就会因等待客户机的请求而空闲。当客户机崩溃而无法请求服务器时,就会产生严重的后果。另外,在Internet上,DCOM或者CORBA服务器由数千台客户机使用,由于每一台客户机都有一个与服务器的连接,对于很少使用服务器或者根本不再使用服务器的客户机,应该保护宝贵的服务器资源。
    尽管DCOM有办法处理这些问题,但是增加了许多复杂性,这也是Web服务试图解决的问题之一。
    2、Web 服务
    随着Microsoft .Net Framewwork的推出,实现分布式处理有了新的技术,即Web Service(Web服务)。Web服务能够为另一个应用程序而不仅仅是浏览器提供数据,并通过外置数据以允许其他的客户机使用在同样的端口和传输层都起作用的标准协议(如HTTP)来执行操作。
    二、Web Service-.Net Framework下的分布式处理技术
    在.Net Framework中,Web服务指是以独立于平台的方式,通过标准的Web协议,可以由程序访问的应用程序逻辑单元。
    .Net Framework的开发者们将Web服务定位于基于开放的标准,能够用于任何平台。使它拥有作为跨平台和跨供应商的集成技术的潜力。实现了Web服务和Web服务构架后,用户就可以利用Internet上许多现有技术。Web服务成功的关键在于它基于开放的标准,诸如Microsoft、IBM和Sun等主要供应商都支持这些标准。
    1、DCOM/CORBA面临困难之解决方案--Web服务
    DCOM和CORBA在使用运行于相同平台的软件和紧密管理的局域网创建企业应用程序时非常优秀。但是,他们在创建跨平台 、跨Internet、适应Internet的可伸缩性的应用程序时力不从心。他们不是为完成这些目标而设计的。
    大多数公司面临的现实情况是他们拥有来自多个供应商的多种平台。运行于不同平台上的应用程序系统间通信困难。在与商务伙伴合作时,基于传统分布式的架构合作困难。
    DCOM和CORBA的问题是用户基本上要依赖一个供应商。如果要使用DCOM,就必须使用Microsoft Windows来运行服务器和客户机。尽管有其他平台上的DCOM实现方式,但是他们未被广泛采纳。虽然CORBA是由多个供应商实现的规范,互操作性仍只能以简单的方式完成,至于DCOM和CORBA间的集成就不必说了。
    从技术方面看,Web服务试图解决使用诸如CORBA和DCOM这样紧密捆绑的技术时遇到的问题。这些问题包括如何通过防火墙,协议的复杂性,异类平台的集成等。
    2、Web服务在分布式处理中的应用
    Web服务是一种优秀的分布式处理技术。
    下图演示了在.Net Framework下进行分布式处理的一般情形。作为客户端应用程序可以是传统的Windows Form应用程序、基于Web的Asp.net应用程序、蜂窝式移动应用程序等,还可以是另外的Web服务程序。这些客户端应用程序构成N层模型中的表示层(图中左列)用于数据显示。中间列是中间层,处理商务逻辑;右列是数据层,处理数据存储。
    随着一个基于xml的名为简单对象访问协议SOAP(Simple Object Access Protocol)的不断标准化,web服务正成为一个可以和其他服务器和应用程序交互、可行的方法。
    3、N层模型下客户机消费Web服务
    下图演示了客户机消费Web服务的情形。客户机可以是一个Web应用程序、另一个Web服务、诸如Microsoft Word的字处理程序等。
    Web服务的消费者调用名为Method()的Web服务上的方法。实际调用向下层传播,作为Soap消息通过网络,并向上层传播到Web服务。Web服务执行并响应(如果有的话)。
    实现Web服务与客户机之间的双向通知或者发布/订阅功能是可能的,但是必须手工完成。客户机可以实现自己的Web服务并在对服务器的调用中传递该Web服务的引用。服务器可以保存引用,然后回调给客户机。
[1]  [2]  [3]  [4]  [5]  
相关链接
最新信息
  • 技术评审方法与指南
  • 嵌入式操作系统Nucleus下触摸屏驱动的开发
  • 嵌入式数据库SQLite在电梯B/S监控中的应用
  • 如何安装使用IBM Rational RequisiteWeb
  • 通过自动化工具的实施提高你的CMM水平
  • ASP.NET系统用户权限设计与实现
  • 项目集成计划
  • 软件项目常见风险及其预防措施
  • 配置管理变更的关键路径
  • UML 对象模型图阅读指南
  • UML 2.0修成正果
  • “适用性”是最重要的需求
  • SaaS将成中小企业信息化趋势
  • 层次分析法(AHP)
  • WF 表决的例子
  • 流程发送动作
  • 企业架构观点:什么最适合您的组织?
  • 从城市建设看SOA
  • 企业信息化规划调研问卷
  • 最先进的技术:Windows Workflow Foundation
  • 软件系统设计层次与内容
  • 从瀑布模型、极限编程到敏捷开发
  • 嵌入式系统中入侵检测的设计与实现
  • CMMI四级量化项目管理QPM-特定目标SG1
  • 故障树分析法
  • 项目管理
  • 信息系统监理为什么要做好变更控制?
  • 软件工程-软件目的需求开发与管理
  • 测试驱动需求分析--需求文档评审实例
  • 体系结构实践,第 1 部分: 理解面向服务的体系结构
  • 推荐资讯
    黔ICP备07500009号