关于三层架构中各层次的关系与实现模型
2008-04-10 02:48:15来源:互联网 阅读 ()
??在三层架构体系中,应用表示层(客户端)和商业逻辑层(中间层)及数据层之间可能位于不同的网络端,因此他们之间的通讯、调度就会变得很困难,而且在中间层广泛使用的组件之间的事务也会变得错综复杂,为此,微软提供了解决这些问题的系统方案,其中具体实现技术/工具主要包括:MS Remote Data Services、MS Transaction Server、COM/DCOM/COM 等。
??在客户端,通过 RDS 来远程创建中间层的数据服务组件。
??在中间层的 Transaction Server 运行时环境中运行 RDSServer.DataFactory 或自定义业务对象时,共享机制产生作用。只使用数百个而不是上千个数据库连接仍然可以支持上千个客户端。这是 Microsoft Transaction Server 中 ODBC 资源分配器的功能。
??在中间层和数据层之间可通过ADO来连接,实现数据读写操作。
??使用 RDS 可以有三种方式将 Recordset 从服务器返回给客户端。这三种方式分别为:
??(一)、使用自动调用 RDSServer.DataFactory 对象的 RDS.DataControl 方法和属性。
??(二)、手工调用 RDSServer.DataFactory 对象。
??(三)、创建执行数据访问功能的自定义 ActiveX DLL。
??在此,我们的客户端使用自行定义的中间层对象(DCOM/COM ),来处理商业逻辑并访问数据。
??首先,让我们来看看基本的 RDS 编程模型:
??RDS 为在如下环境中存在的应用程序确定地址:客户应用程序指定将在服务器上执行的程序,并指定用来返回相应信息的参数。服务器上被调用的程序访问指定的数据源,检索信息,对数据进行相应处理,然后将结果信息按易于使用的格式返回给客户应用程序。
??具体的实现模型如下列表。
??(1)、指定在服务器上被调用的程序,并得到从客户端引用该程序的途径。(该引用有时称为“代理”,它代表远程服务器程序。客户应用程序象调用本地程序一样“调用”代理,但实际上调用的是远程服务器程序。)
??(2)、调用服务器程序。将参数传送到标识数据源及所要发布命令的服务器程序。(服务器程序实际上使用 ADO 访问数据源。ADO 与所给参数中的一个建立连接,然后发布在其他参数中指定的命令)。
??(3)、服务器程序从数据源获得了 Recordset 对象。可以选择在服务器上处理 Recordset 对象。
??(4)、服务器程序将最终的 Recordset 对象返回客户应用程序。
??(5)、在客户端,Recordset 对象被转换成为便于可视化控件使用的格式。
??(6)、任何对 Recordset 对象所作的修改都将返回给服务器程序,服务器程序用这些修改来更新数据源。
??对应其上的编程模型如下(RDS 提供执行以下动作序列的途径),编程模型是指为完成这个目的所必需的活动序列:
??(1)、指定在服务器上被调用的程序,并获得通过客户端调用该程序的方式(代理)。(RDS.DataSpace)
??(2)、调用服务器程序。将参数传递给标识数据源及所要发布的命令的服务器程序。(代理或 RDS.DataControl)
??(3)、服务器程序从数据源获得 Recordset 对象(一般通过使用 ADO)。可选择在服务器上处理 Recordset 对象。(RDSServer.DataFactory)
??(4)、服务器程序将最终的 Recordset 对象返回客户端应用程序。(代理)
??(5)、在客户端,Recordset 对象被转换成可视控件能方便使用的格式。(可视控件和 RDS.DataControl)
??(6)、对 Recordset 对象所作的更改被返回服务器并用于更新数据源。(RDS.DataControl 或 RDSServer.DataFactory)
??以上是微软提供的标准三层架构编程解决方案,事实上我们可利用自行实现的中间层来替代RDSServer.DataFactory,而自行定制的各种Active Control/DLL则完全可替用RDS.DataControl。合理定制符合我们要求的组件将大大模块化整个系统,并使得客户端变得逻辑简单、易于移植。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:蔡学镛[散文随笔]:从A到E
下一篇:什么是项目管理
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash