基于DotNet平台的分布式应用程序架构设计

来源:互联网 发布:全民tv淘宝权直播间 编辑:程序博客网 时间:2024/05/24 05:04

一、COM平台架构综述
    COM是组件对象模型,是基于接口的编程模型,是基本的组件服务。从1993年出现至今,它的发展经历了从COM到DCOM,再到MTS和目前广泛应用的COM+。COM出现以后,改变了应用程序的设计思想,到目前为止,几乎所有的
分布式应用程序都在使用COM的核心思想在设计。最简单的COM就是我们所编写的动态连接库文件(DLL文件)在W indows中注册就成为了一个COM组件,它可以被无数的应用程序调用,有着非常好的通用性。
    由于COM是本地的组件服务,它无法跨越计算机边界,DCOM在原来的COM的基础上增加了远程支持的服务,即带有远程支持的分布式组件服务,
程序员可以开发一些跨越多台计算机的,甚至跨越网络的分布式应用程序。事务服务器(MTS)是W indowsNT的一个基于组件的事务处理系统,它合并了事务处理监视器和对象请求代理的特性。MTS定义了一种编程模型,并且提供运行环境以及一个图形化的管理工具以管理企业应用程序,它是基于组件的事务支持,并支持基于角色的安全模型。
    W indows2000出现以后,产生了基于COM和MTS整合组件服务COM+,它主要提供了COM+目录、负载平衡、内存数据库、对象池、队列组件、新的事件模型、组件管理和配置等服务,在企业级应用程序设计过程中已被广泛应用。
   
二、应用程序架构简介
    在应用程序发展史上,应用程序架构体系主要包括:  
    1.C/S(Clinet/Server)架构。即大家熟知的客户机/服务器结构。它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销,提高系统的性能。到目前为止,很多实际的应用程序仍采用这种架构来设计,是一个胖客户端(Rich Clinet),可以充分地利用到客户端的Control、API等,实现非常丰富的用户体验。它由客户机负责处理业务逻辑和数据访问,由于客户端承载了大量的业务处理,所以对客户机的配置要求较高。
    2.B/S(Browser/Server)架构。即浏览器/服务器结构。它的用户UI的呈现是基于浏览器的,这是一个瘦客户端(Thin Clinet),它的控件的数量和质量远不如C/S架构,它只能提供一些有限的控件供我们编程使用。它的连接方式是客户端透过Internet连接到
Web Server,由Web Server来处理业务和数据访问,Web Server通过IIS提供应用程序宿主环境。

 

  3.W indows DNA架构。即W indows Distributed InternetApplication Architecture,W indows分布式网络应用程序体系架构。在DotNET出现之前,这是一种十分流行的应用程序设计架构。它的客户端可以由Rich Clinet,也可以由ThinClinet,甚至还可以由W indows CE等设备来实现用户UI,它的业务逻辑、数据访问分别由独立的服务器组(群)来处理。W indowsDNA使用了一系列的服务来完成它的架构,例如组件(Components)、DHTML、WEB浏览器( IE)、WEB服务器(IIS)、事务管理、消息队列、安全机制、系统管理、用户界面、数据库存取等等。当开发人员遵循W indowDNA来开发时,就会半被迫地采用基于组件的开发方式。另外采用W indowsDNA的结构相当于它为开发人员做了大量的安全管理、事务管理、数据库存取等基础服务工作,从而让开发人员集中精力开发有意义的业务逻辑部分。
   
三、基于DotNET平台的分布式应用程序架构
    基于DotNET平台的分布式应用程序框架模型分为三层:表示层(presentation layer)、业务逻辑层( businesslayer)和数据服务层(data layer)。表示层包括客户端组件、应用程序、Web浏览器等,负责客户端的工作,一般的表现为WebForm或W inForm界面。业务逻辑层是分布式应用系统的关键。表示层通过SOAP、HTTP等协议与业务逻辑层进行通信,业务逻辑被打包成组件,通过详细定义的接口与表示层进行交互。它从表示层接受用户的请求,并根据编码的业务规则处理用户的请求,如果请求需要对数据库进行访问,则要通过数据访问组件访问数据服务层,并将获取的数据处理后返回给表示层。数据服务层是分布式应用框架的数据最终提供者,实际数据存储在该层中,一般采用SQL Server、Sybase、Oracle等数据库来实现,业务逻辑层和数据库层之间使用ADO. NET提供的API进行通信。
    对于大型应用系统来说,可以将业务逻辑层再细分为业务外观层和业务规则层,由此可拓展为多层结构,分布式应用系统框架这样的层次逻辑结构有以下的优点:
    1.把业务规则放在一个组件中很容易创建、使用以及重用,开发和维护也变得非常容易。
    2.使用高级语言来开发业务规则,相对于使用存储过程所限制的SQL语言进行业务规则的校验更加方便。
    3.将数据访问放在一个组件中,这就在整个系统中实现了代码的共享,任何客户端访问特定的数据表都是通过同一个组件来实现,数据访问集中化将有助于系统的维护,任何数据访问方式的变化通过一次性修改代码就可实现。
    4.提供了一种把组件分布在不同机器上的灵活性,这有助于实现系统的伸缩性和更好的代码集中化。
   
四、基于DotNET平台的分布式应用程序创建方法
    在实际设计中,一个分布式应用程序一般既是W indows又是基于Web的客户端,以操作数据库表中的数据。对于Web部分,是由Web窗体设计器创建的一个与
标准HTML3. 2浏览器兼容的Web页。在服务器上,Web窗体代码将调用XMLWeb services以从数据库中检索数据。对于W indows部分,是一个W indows应用程序,它与同一个XMLWeb serv-ices通信以检索数据。使用HTTP和XML处理与此XMLWeb services的通信。
现在我们以VisualStadio 2005为例,介绍创建一个三层结构的
分布式Intranet应用程序的步骤。此应用程序由三个逻辑层组成:数据层、业务逻辑层表示层。数据层使用SQLServer数据库,业务逻辑层处理如何访问数据以及如何将数据发送到客户端,表示层由基于Web的应用程序和传统的W indows应用程序组成。
    开发分布式应用程序的方案一般是一次创建一层,多是从数据层开始,然后业务逻辑层,最后创建用户界面层。其中,最主要的是业务逻辑层的创建。在Visual Stadio 2005中的设计步骤如下:
    业务对象在运行在Web
服务器上,提供分布式应用程序所需的性能和可伸缩性。以XMLWeb services形式实现业务对象,使客户端可以使用标准Internet协议从任何平台与设计的业务对象进行通信。创建中间层业务对象的过程,就是一个创建Web Service项目的过程。
创建Web Service的方法:
    1.打开Visual Studio. Net 2005,通过菜单—新建—项目,来显示“新建项目”对话框;
    2.选择开发语言为Visual
C#,所以选择项目类型为“VisualC#项目”,并且在对话框右边的模板列中选择“ASP.NetWeb服务”。
    3.在位置框中输入Web服务器称和项目名称。
    4.此时系统会自动产生一个Service1. asmx的文件,可以更改它的Name属性以适应具体应用程序的要求。
    5.将方法添加到XMLWeb Service,以返回一个Hello
    World字符串为例,需要编写如下代码:
    [WebMethod]
    public stringHelloWorld()
    {
    return "HelloWorld";
    }
    6.生成输出项目文件。至此,一个简单的Web Service就成功地建立了,在ASP.NetApplication和W indowsApplica-tion中添加引用,通过实例化Web Service就可以访问WebService的公共方法了。

原创粉丝点击