应用服务器
应用服务器是指通过各种协议把商业逻辑曝露给客户端的程序。它提供了访问商业逻辑的途径以供客户端应用程序使用。应用服务器使用此商业逻辑就像调用对象的一个方法一样。
基本信息
中文名
应用服务器
提供
访问商业逻辑的途径
实现
动态网页技术
目录
定义
随着Internet的发展壮大,“主机/终端”或“客户机/服务器”的传统的应用系统模式已经不能适应新的环境,于是就产生了新的分布式应用系统,相应地,新的开发模式也应运而生,即所谓的“浏览器/服务器”结构、“瘦客户机”模式。应用服务器便是一种实现这种模式核心技术。[1]
Web应用程序驻留在应用服务器(ApplicationServer)上。应用服务器为Web应用程序提供一种简单的和可管理的对系统资源的访问机制。它也提供低级的服务,如>
市场上可以得到多种应用服务器,其中包括Apache的Tomcat、IBM的WebSphereApplicationServer、CauchoTechnology的Resin、Macromedia的JRun、NECWebOTXApplicationServer、JBossApplicationServer、Oracle(并购了BEA)的WebLogic等。其中有些如NECWebOTXApplicationServer、WebLogic、WebSphere不仅仅是Servlet容器,它们也提供对EJB(EnterpriseJavaBeans)、JMS(JavaMessageService)以及其他JavaEE技术的支持。每种类型的应用服务器都有自己的优点、局限性和适用性。
分类
通常,根据确定文档内容的时间,所有文档可以划分为如下三类。
静态
静态:静态Web文档是一个存储于Web服务器的文件。静态文档的作者在写作的时候确定文档的内容。由于文档内容不会变化,所以对静态文档的每次访问都返回相同结果。
动态
动态:动态web文档不是以一个预先定义的格式存在,而是在浏览器访问web服务器时创建。当一个请求到达时,web服务器运行一个应用程序创建动态文档(dynamicdocuments),服务器返回程序的输出作为应答。由于每次访问都要创建新的文档,动态文档的内容是变化的。
活动
活动:一个活动文档不完全由服务器一端说明,而是包括一个计算并显示值的程序。当浏览器访问活动文档时,服务器返回一个浏览器可以本地执行的程序。当该程序运行时,它可以和用户交互执行并不停地改变显示。这样,活动文档的内容是不固定的-只要用户让程序保持运行,它总是在不停地变化。静态文档的主要优点在于它的简单、可靠性和性能。由于静态文档是直接指定格式。它可以由不懂编程的人创建。更重要的是,在已经创建和测试之后,静态文档永远是正确的。最后,浏览器可以快速存取文档,同时通过把文档放在本地盘上的缓冲区内以加快以后对这些文档的访问速度。静态文档的主要缺点是不灵活-当信息变化时文档必须重新设计。另外,改变是很耗费时间的,因为它需要人工修改文件。因此,静态文档不适合频繁变化的报告信息。动态文档的主要优点是它报告当前信息的能力。例如,一个动态文档可以用来报告股市行情、天气预报或音乐会售票情况等内容。当浏览器申请信息的时候,服务器运行一个应用程序,访问所需要的信息,并创建一个文档,服务器于是将该文档返回给浏览器。动态文档把任务放在服务器一端,浏览器采用和静态文档同样的方法访问动态文档。实际上,从浏览器的角度来看。动态文档和静态文档是无区别的。由于动态文档和静态文档都采用HTML编写,浏览器不知道服务器是从一个磁盘文件还是计算机程序中取得文档。动态文档的主要缺点是增加成本和不能显示变化的信息。和静态文档类似,动态文档在浏览器取得文档后不会再改变。因此在信息发送给浏览器之后,文档就开始过时。例如一个报告股市信息的动态文档,由于股市信息变化迅速,当用户访问时文档很快就过时。动态文档的创建和访问成本比静态文档昂贵。创建动态文档的代价较高,因为动态文档的创建者必须懂得如何写程序。另外,程序必须仔细编写和广泛测试,以保证输出的合法性。验证这样一个程序的正确性是很困难的,因为输入可以包含不同来源的多种数据。动态文档除了创建成本高,所需的硬件成本也较高,因为服务器端需要更强大的计算机。最后取出动态文档需要的时间稍多些,因为服务器需要额外的时间去运行程序创建文档。尽管在申请到达时动态文档才创建,但信息可能很快过时,活动文档相对于动态文档的主要优点在于它持续更改信息的能力。例如,只有活动文档能够快速改变显示以显示动画。更重要的是,活动文档能够直接访问信息源并连续更改显示。例如,一个显示股市行情的活动文档可以连续读取股市信息,并且不需要用户干预而自动修改显示。活动文档的主要缺点是创建和运行这种文档所需的额外费用,同时缺少安全性。首先,活动文档的显示需要更复杂的浏览器软件和一个强有力的计算机运行浏览器。另外,写正确的活动文档比写其他画面需要更多的编程技巧,所得到的结果文档更难于测试。而且,由于活动文档必须运行在客户端而不是服务器端,程序必须解决在不同客户上的兼容性问题,最后,活动文档存在着潜在的安全性问题,因为文档既输入信息又输出信息。
1、Client/Server架构简析Client/Server是随着PC性能的和关系数据库的发展,在大型机(Framework)之后兴起的应用软件技术架构
Client/Server架构由后台的关系数据库服务器和前台的用户程序构成
每个用户前端都需要安装可执行程序
在C/S架构中,每个前端可执行程序需要与后台服务器建立固定的数据连接(Connection)
由于需要建立固定的数据连接,并且相对数据传输量较大,C/S架构的程序一般应用在高速局域网(LAN)内
Client/Server架构的优点是实现简单,在本地访问速度快,不足之处在于不适应远程应用,并且部署和升级工作量大
2、Application/Server架构简析Application/Server是一种过渡技术,它能在不改变现有应用程序的前提下,通过MTS等技术,实现应用程序的集中部署和远程访问
Application/Server由后台数据库服务器、终端服务器(TerminateServices)和用户端的TerminateClient构成
应用程序运行在终端服务器上,客户端通过上传键盘和鼠标指令,下载屏幕响应和打印数据流,实现远程应用
Application/Server架构的优点是便于集中部署,客户端部署简单,不足之处是对终端服务器压力过大,并且,对于远程通信线路的稳定性要求高,用户交互响应速度和远程打印都容易受远程网络压力大
并且,部署终端服务器的License成本相对较高
、3、Multi-Layer架构简析Multi-Layer架构,是在C/S基础上发展起来的技术
Multi-Layer架构之前主要在客户端执行的业务逻辑处理单独放在中间层运行,这样,前端用户界面不需要直接连接数据库服务器,不需要建立固定的数据连接
而处于中间的应用服务器可以基于连接池(ConnectionPool)的形式访问数据库,便于控制连接数据和数据库性能
Multi-Layer一般可以通过中间层实现前端的自动升级(Auto-Update),相对容易部署,并且,客户前端与中间层之间通过数据压缩等手段,可以适应远程访问
Multi-Layer的优点是适应远程访问,用户交互性好,但是Multi-Layer和Client/Server一样,需要每个客户端进行首次安装
4、Browser/Server架构简析Browser/Server是所有Internet应用采用的技术架构
Browser/Server架构适于远程应用,随着的WebServer和ApplicationServer技术的发展,是目前在internet上应用最广的技术
Browser/Server架构的优点是构建简单、易于部署,易于升级
但是由于基于HTML文本传输,通信效率相对较低,而基于Browser的 *** 作界面,用户交互性弱,适应于查询和简单的交互,不太适合大量、快速录入和编辑要求的应用环境,5、SmartClient架构简析SmartClient是近几年发展起来的,它充分综合了和C/S和B/S的优点
Smart/Client由后台数据库服务器、基于WebServer的中间层应用服务器、前端的ThinClient构成
中间层通过WebServices技术进行接口封装,这样,前端和中间就基于XML进行数据传递
Smart/Client技术本身支持Auto-Update形式的自动升级、可以基于Web的首次安装等特性
由于ThinClient和应用服务器之间传递的全部是业务数据,不包含UI元素,所以,相比B/S,它具有更高的响应速度
金蝶主要是应用服务器,东方通主要产品是数据交换,应用服务器,消息中间件以及交易中间件,西安协同是工作流产品synchroflow,中创号称啥都有但是啥也没见着太多的案例,我说的是知名案例。排在第一方阵的是东方通,第二方阵的是金蝶,第三方阵的是协同和中创。中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于 *** 作系统软件与用户的应用软件的中间。现在的主要中间件产品有IBM的websephere,oracle的weblogic,东方通的tonglink,易达讯,金蝶等目前,网络应用中间件逐渐在基础中间件、应用中间件、应用框架等三个层面形成激烈的产品竞争和市场竞争格局。从三个方面的产品来分析,国外厂商仍然占主导地位,主流厂商包括IBM,BEA,ORACLE,HP,Iona等,而一些新型的中间件公司,如Tibco,webMethod,Vitria也开始携其应用集成中间件或业务流程管理中间件进入中国市场。而国内一些规模较大的软件公司也开始进入此领域,形成了包括中创软件商用中间件、金蝶Apusic、东方通科技、中关村科技、中和威等在内的一批中间件专业厂商,东软、用友、信雅达等应用集成商也大量投入中间件产品的研发,国产中间件已经形成了比较完整产品体系,例如,中创软件、中和威推出了基于CORBA标准的通信中间件产品;中创软件、金蝶软件、东方通技等公司分别推出了遵循J2EE规范的应用服务器产品;中创软件、中科院软件所、东方通科技推出了消息中间件产品;中创软件推出了符合OMG标准的企业应用集成套件InforEAI;此外,还有大量的公司投入到中间件开发平台和构件库的建设中。
Web服务器的基本功能就是提供Web信息浏览服务。它只需支持>
应用程序服务器(简称应用服务器),我们先看一下微软对它的定义:"我们把应用程序服务器定义为“作为服务器执行共享业务应用程序的底层的系统软件”。就像文件服务器为很多用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序(通常是客户创建的应用程序)"
通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理>
以JavaEE为例,Web服务器主要是处理静态页面处理和作为Servlet容器,解释和执行servlet/JSP,而应用服务器是运行业务逻辑的,主要是EJB、JNDI和JMXAPI等J2EEAPI方面的,还包含事务处理、数据库连接等功能,所以在企业级应用中,应用服务器提供的功能比WEB服务器强大的多。
以这样的定义,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都属于应用服务器。
Apache:在Web服务器中,Apache是纯粹的Web服务器,经常与Tomcat配对使用。它对HTML页面具有强大的解释能力,但是不能解释嵌入页面内的服务器端脚本代码(JSP/Servlet。
Tomcat:早期的Tomcat是一个嵌入Apache内的JSP/Servlet解释引擎ApacheTomcat就相当于IISASP。后来的Tomcat已不再嵌入Apache内,Tomcat进程独立于Apache进程运行。而且,Tomcat已经是一个独立的Servlet和JSP容器,业务逻辑层代码和界面交互层代码可以分离了。因此,有人把Tomcat叫做轻量级应用服务器。
IIS:微软早期的IIS,就是一个纯粹的Web服务器。后来,它嵌入了ASP引擎,可以解释VBScript和JScript服务器端代码了,这时,它就可以兼作应用服务器。当然,它与J2EE应用服务器根本无法相比,但是,从功能上说,从原理上说,它勉强可以称之为应用服务器。确切地说,它是兼有一点应用服务器功能的Web服务器。
综上:Apache是纯粹的web服务器,而Tomcat和IIS因为具有了解释执行服务器端代码的能力,可以称作为轻量级应用服务器或带有服务器功能的Web服务器。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)