4.5 认识Oracle应用服务器
Oracle应用服务器(Oracle Application Server,OAS)在网络计算体系结构中扮演了一个关键性的角色,并作为组件服务管理与组件或插件之间通信的焦点。
应用是商务逻辑的集合,可以由多个插件服务器组成。插件服务器是一个代码模型,通过标准接口与OAS交互。
OAS的基本功能是管理插件的交互,或更确切地说,是插件实例之间的交互。为完成这项任务,OAS管理应用逻辑插件的创建,客户插件与应用逻辑插件之间的通信,及应用逻辑插件之间的插件中通信。OAS还通过CORBA2.0兼容的对象请求代理(Object Request Broker,ORB)提供了强壮应用所必需的组件的基本服务。
Oracle应用服务器由以下三层组成:
(1)HTTP监听层,它通过标准因特网协议处理客户端与应用服务器层之间的通信。
(2)Oracle应用服务器层,管理插件服务器进程与插件实例的创建;在独立插件的多个实例之间均衡负载;插件服务,如传输服务、插件之间通信服务、永久存储服务及验证服务。
(3)应用层,在此使用特定的插件实现特定的应用功能。
这种层体系结构给予OAS两个基本的优点。首先,它允许每个组件被设计为最好将重点放在特定功能的需要上,而不是试图处理一台服务器上的所有任务。对实例而言,HTTP监听器必须准备好接收所有的HTTP信息,所以它应该是一个很小的应用,在必要时作出响应。县一方面,ORB将三层连接到一起,潜在地必须处理不同类型的请求,所以它必须有能力管弹多重任务,同时需要一个更坚固的应用。
OAS可以支持独立插件的多个实例,这使使用这些插件的应用具有高度可伸缩性。通过在需要时增加附加资源而不影响组件的其余部分的能力实现这个伸缩性。对实例而言,必须具有多个监听器处理高容量的通信,或在一个特定插件功能被沉重使用时产生附加的插件服务器与实例。
第二个优点来自于具有一个在不同组件之间定义明确的应用程序接口(API),这个接口倬OAS成为一个开放系统,可以在其上增加你自己的客户组件以创建你的系统。例如,可以使用其他的HTTP监听器代替Oracle Web监听器,并仍使用Oracle应用服务器的其他组件。更为重要的是,OAS的开放体系结构允许以常用编程语言书写自己的插件以支持任何开发环境,并传递在Web应用中需要的任何类型的功能,如图4-3所示。
图4-3 Oracle应用服务器的三层
4.5.1 HTTP监听层
Oracle应用服务器(OAS)使用一个Web监听器等待服务请求的到来。通常,一个监听器会设定一个用做电子路标的地址,告诉所有数据包旅客“我正在营业”。当然,监听器在营业之前必须先告诉Oracle应用服务器它的地址。当OAS将这个地址注册后,可以建立一条从监听器来的路径。通过这种方法,当一个客户发出一个请求时,监控器可以将信息路由到应用服务器,应用服务器会执行适当的服务。
4.5.2 Oracle应用服务器层
HTTP成功地接收到客户端送来的信息后,将权力传递给应用服务器层。在所有的Oracle应用服务器组件中,应用服务器层(以前称为Web请求代理或WRB)是最关键的,因为监听器与应用插件通过它代理它们的信息。
WRB合并了多线程与多进程体系结构,导致机器生产力的增长,几乎可以同步处理多个请求。WRB也支持异步独立进程,所以客户与服务器资源不必被迫等待返回结果集或其他信息。
当调度器通知ORB它需要一个新的插件执行实例时,资源管理器组件(Resource Manager,RM)检查所有可用的插件实例。如果没有可用的,它指示一个现有的插件服务器创建一个实例。如果所有现有的插件服务器都具有最大数量的实例,RM指示插件制造厂创建一个新的插件服务器。如果插件服务器已到最大数,请求被排队。
4.5.3 应用层
在Oracle应用服务器层下面是什么?当有一个特定应用的请求到来时,调度器将请求传送给适当的插件服务器。每个插件服务器具有一个多线程,每个插件实例都有它自己的线程。
这节省了为每一个查询启动一个进程的开销。一个应用可以拥有不止一个插件服务器(只要它们是相同类型的),并指定这个服务的最大与最小线程数量,所以调度器在多个服务之间进行动态负载均衡。
每个插件服务器有它自己的执行机并使用一个共享库。对象请求代理通过三个基本的API调用与组件通信,这三个基本应用用于初始化一个服务,关闭这个服务即将请求传递给这个服务。
在Oracle应用服务器上建立应用时,有一个金字塔形的选择。可以建立PL/SQL过程、移植Perl CGI脚本、建立Java伺服器或JCORBA对象,甚至使用企业级JavaBeans。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。