ISAPI与系统多层架构.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ISAPI与系统多层架构 lSAPI简介 ISAPI的全祢是Internet Service API(Internet服务避用程序接口)。是微软提供的用于创建Internet服务的系统解决方案。 在互联网还不是很普及的年代,C/S架构的应用占据着主导地位,而开发面向广域网的应用一般都采用CGI(公共网关接口)语言。比较典型的就是Perl,ISAPI 就是微软提供的一种替代CGI的解决方案,用于开发基于IIS(Internet Information Server,微软的Internet信息服务器)的Internet服务应用。同传统的CGI和目前很流行的ASP, JSP等脚本语言相比,ISAPI具有很多优势,比如ISAPI很高效,因为它是和IIS运行在同一线程 (确切的说是IIS的一个部分),同CGI的对每个连接部分配一个进程的方式和ASP等解释性语言相比,ISAPI具有很高的性能和很低的系统资源需求。另外,ISAPI有着很好的灵活性。提供了扩展应用和过滤器两种解决方案,能够实现很多CGI或ASP很难完成的功能,比如传输数据的加密和解密,压缩和解压等。 但是ISAPI的开发需要一定的编程技巧。并且ISAPI是高度多线程的,这足以让每一个有经验的程序员头疼。ISAPI的调试也需要一点特殊技巧。ISAPl的编程复杂性阻碍了ISAPI的进一步流行。 ISAPI与多层帮构 随着Internet的日益普及,基于Internet的应用也涌现出了多种解决方案,其中最引人注目的就是J2EE和.NET了。但是在某些产业,由于行业需求和历史原因,C/S架构依然占据着主要地位。但是也在朝着多层架构和Internet服务应用发展。通过某些工业化标准(比如XML),ISAPI能够很好得粘合前端和服务器,并且可以弥补C/S架构某些缺陷(比如Internet支持),实现系统从C/S到多层架构的转化。 1.二层架构和三层架构 基于数据库的应用,都会涉及到客户端如何访问数据库的问题。不外乎二种形式:客户端直接访问数据库(有时称为二层架构)和间接访问数据库(有时称为三层架构)。直接访问数据库的结构(以下简称二层架构)下,要求每台客户机都安装有相应的数据库驱动程序(最常见的是0racle和SQL Server),用来驱动ODBC数据源或者ADD,并且每个客户端都是直接访问数据源,而间接访问数据库的架构(以下简称三层架构)则只需要在业务层服务器上部署数据库驱动,所有的客户端都通过业务层服务器来间接访问数据源。在这种数据库访问分级,其实意味着一个系统开发相关的关键性的问题:业务层的剥离和分层。在二层架构下,业务层是完全和界面逻辑融合在一起的,而三层架构下,业务逻辑被分离出来集中到相应的业务模块,所以分层系统架构的本质问题其实是功能模块划分的问题。一个好的易于维护的系统,也当具有清晰的模块划分,模块之间具有低耦合度,而多层架构是符合这种系统设计理念的。 二层架构和三层架构各有优势和弱势,我们可以从应用层面和软件工程层面来分析这两种架构的优劣。 传统的基于数据库应用的C/S架构,在真正实施时,存在着以下问题,一方面是要大面积的部署数据库驱动程序,保证每个客户端数据源的可用性。这样的分布实施一方面带来实施难度和工作量,另一方面,由于每台客户机都能直接访问数据库,就会产生数据的安全隐患。而三层架构只需要业务层服务器安装有数据库驱动和配置,实施起来客户端几乎是零配置,不会成为实施的瓶颈,例如当数据库服务器需要改变时,二层架构需要每个客户端都更改本地数据源,而三层架构下只需改变业务层服务器的配置就可以了。另外由于避免了客户端对数据库的直接访问,三层架构能够有效地把数据库向客户屏蔽掉,避免了不必要的直接访问,增加了数据的安全性。 另外传统的二层架构对网络有比较严格的要求,很难做到支持Internet,并且是网关和防火墙敏感的,网络状况的改变(比如网关IP地址的改变或者防火墙配置做了改变)很可能会影响客户端和服务器的通讯,从而导致系统的瘫痪。所以二层架构在实际使用中受到很多限制。而采用ISAPI的三层架构,由于客户端和服务器的通讯协议是标准的HTTP协议,通讯端口是80端口,可以支持客户通过Internet远程访问服务器,通过采用工业化标准(比如XML)的格式传输信息,可以很容易地穿透防火墙等网络设施,等等。 多层系统架构所具有的这些优势,一方面可以提高项目实施的成功率,另一方面,也可以提升产品形象,增强市场竞争力。 在系统开发相关的问题上,二层架构在开发速度上和难度上要优于三层架构,二层架构开发起来相当快,周期短,有很多工具可以用来做快速

文档评论(0)

82393aa + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档