中间件的优点及其应用
2008-04-09 04:02:14来源:互联网 阅读 ()
为了克服由于传统客户/服务器模型的这些缺陷给系统应用带来的影响,一种新的结构出现了,这就是三层(N层)客户/服务器模型。三层客户/服务器结构构建了一种分割式的应用程序。系统对应用程序进行分割后,划分成不同的逻辑组件,主要分为三层:
用户服务层:提供信息浏览,服务定位。主要是实现用户界面,并保证用户界面的友好性、统一性。
业务处理层:实现客户的全部业务逻辑。
数据服务层:实现数据定义、存储、备份、检索等功能,主要有数据库系统实现。
这三个层次共同组成应用系统。使用这种模型,可以将系统需求划分成可以明确定义的服务,例如事务服务、名字服务等。将这些服务以组件的形式实现,一个组件可以实现系统中的一种或者多种服务,是这些服务的物理封装。根据系统的功能、性能等各方面的需求,系统管理员可以在网络上灵活的部署这些组件。并且根据业务的改动可以灵活的对这些服务组件进行修改,而不影响其它的组件,从而降低维护的费用。
另外,这些组件应该做成通用的,基于某一标准接口的,所以它们可以被重用,其他应用程序可以使用它们提供的应用程序接口调用组件,完成所需的操作。
这就是基于ORB的中间件模型。这种模型完全克服了传统的客户/服务器模型的缺点,具有可重用性、灵活性、可管理性、易维护性等一系列优良的特性。目前对ORB及其支撑环境--应用程序服务器的研究正是如火如荼,感兴趣的朋友想进一步了解,可以查阅相关文献和资料。
基于ORB的中间件模型虽然在性能上非常优异,但是目前在国内的应用远远没有达到普及的程度,应用最广泛的是基于Web数据库的中间件技术。下面进行一些探讨。
数据库中间件的工作原理示意图如下:
数据库中间件连接客户端程序(通常是应用程序)可数据库,为用户提供可靠便捷的数据库访问。举一个简单的例子:在一个局域网环境下,使用Delphi编写客户端应用程序,后台数据库使用Ms NT4 SQL Server,在Delphi中,通过ODBC或者BDE连接到后台数据库。在此ODBC就是一种标准的数据库中间件,它是Windows操作系统自带的服务。BDE(Borland Database Engine)不是中间件,因为程序员虽然可以通过BDE和后台数据库相连,但是实际上BDE还是要通过ODBC的。后面提到的Web环境下的JDBC和ODBC类似,也是操作系统提供的标准数据库中间件。
这是一种传统的结构,这种结构有很多不足之处,例如有很"胖"的客户端,从而造成系统的可扩展性差等。我们要重点介绍的是基于Web的数据库中间件。下面是它的工作原理图:
这是目前得到广泛应用的一种标准结构。在这种结构中,用户使用标准的浏览器(如微软公司的IE)通过Internet和http协议访问服务方提供的Web服务器,Web服务器分析用户浏览器提出的请求,如果是页面请求,则直接用http协议向用户返回要浏览的页面。如果有数据库查询操作的请求(当然也包括修改、添加记录等),则将这个需求传递给Web服务器和数据库之间的中间件,这个中间件当然不是odbc了,由中间件再向数据库系统提出操作请求,得到结果后再返回给Web服务器,Web服务器把数据库操作的结果形成html页面,再返回给浏览器。
1、 CGI(公共网关接口)
公共网关接口是一种Web站点上可以用来访问Web站点的用户交互的各种程序的标准,这里讲的交互主要是允许用户在浏览器上访问数据库,完成各种数数据库的操作。
支持CGI的平台非常广泛,而且开发者在开发CGI程序时,也可以采用任何一种语言,如Perl,C,C++,vb,Delphi等。
CGI有个最大的缺点就是执行效率低,因为Web服务器都支持并发访问,对每个数据查询请求都要启动一个CGI的进程,这样极大的浪费服务器资源。
2、ASP(Active Server Pages)
ASP是一种开放的应用程序环境。它支持将Html脚本和可重用的Active Server组件结合在一起构建交互式网页。
所采用的技术主要是微软的组件技术(COM),通过组件ActiveDataObject(ADO)建立和数据库的连接。另外,ASP可以直接在Html文件中包含可执行的脚本,这样页面文件和脚本的开发就变成了一个过程。而在使用CGI的时候,程序和页面文件是要在不同的开发环境下进行开发的,这就导致了程序编制和修改的困难性。
3、JSP(Java Server Page)
近年来Java的流行想必大家都已经熟知了。Java是Sun公司开发的一种面向对象的程序设计语言,它和传统的程序设计语言不同,支持多线程控制,而且跨平台。Java为Internet应用带来了一场变革。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:使用索引服务器
下一篇:面向对象软件开发的十大原则
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