咨询热线:0791-87557233
  首页 |   思诚New学堂 |   Java EE  
关于思诚
关注官方微信

使用 Web 服务器的 Listener 架构建议书

来源:网络    更新时间:2014-12-16


简介

目标
本文的目标是分析和设计可处理多种协议的 Listener 组件的高级视图。文中提供了一种构建 listener 组件的初始方法,并对比了使用 Servlet 与使用独立 Java 应用程序构建 listener 的设计。

使用 Servlet 与使用独立 Java 程序的 Listener 应用程序的对比
来自 Customer 的请求可能使用多种协议,像 FTP、TCP/IP、HTTP、SNA、SOAP、HTTPS 和 MQ。Customer Handler 负责处理请求并将控制传送到 Controller 以便进一步处理。

Listener 构成了 Customer (FTP/API/Web Customer) 和 Front controller 之间的接口。

Listener 组件处理来自 Customer 的请求,控制则被传送到 Customer Handler 以便进一步处理。

 

选项

选项 A 通用 Servlet 架构



可以配置 Listener 组件为特殊的协议工作。Configurator 接受配置文件并根据配置参数来配置 Listener 组件。

“Generic Servlet”具有多种抽象服务方法,可以实现它们以处理多种协议。要处理 FTP、TCP/IP、HTTP 等协议,我们可以实现可扩展 Generic Servlets 的 Servlets。FTP、TCP/IP、HTTP Servlets 可实现多种服务方法以接受来自客户的采用了不同协议的请求。

优势

· 无需单独的 GUI 来启动和停止 listener。可将 listeners作为一个 web 应用程序来部署,使其易于使用。通过 web 服务器管理控制台可以部署、撤销部署和重新部署 web 应用程序。

· 各个组件将作为 WAR(Web 档案文件)来创建和打包。这些 listeners 将在 web 容器内作为 web 应用程序来部署。

· 因为 Generic Servlet 能够处理多种协议,所以新的协议设计和实现将是基于标准的架构。


劣势

· 代码的实现要花费很多时间。

· 即使我们实现了使用 java 类和从 Servlet/JSP 调用 java 类,被调用的 java 程序也将无法参与到群集环境中,并且也无法将对象保留在会话中,这就意味着如果我们需要类似于HTTPServlet而设计,开发会变得更加复杂,并且为了使其能在群集环境中运行还需要大量的测试工作。

注意:任何 web 服务器都没有这样的实现。

选项 B Servlet Init 架构

在 web 服务器启动和 web 服务器shutdown期间的关机时将调用所有的 Servlets。每种协议的实现逻辑将被写入 Servlet 的 init 方法中。

优势

· web 服务器启动期间会调用 init 方法,并且在 web 服务器shutdown时会触发 destroy方法。

  • 上一篇文章:

  • 下一篇文章:
  • 思诚科技(seecen)是一家面向企业、高等院校、大学生,提供信息技术咨询与软件人才服务的专业机构。思诚科技同时是Oracle(甲骨文)公司江西地区唯一授权WDP合作伙伴,为客户提供Oracle原厂商认证的技术咨询与认证考试培训服务。
    赣ICP备17006097号  关于思诚 |    咨询服务热线  0791-87557233  CopyRight©2014  电脑版  手机版
    企业咨询| 企业内训| 人才服务提供商| 大学生实训| 南昌java培训机构| 南昌android培训| 南昌ios培训| 江西软件开发培训机构