TongWeb技术白皮书
东方通科技公司
2004.05
目 录
1. 2.
概述 ................................................................................................................................................ 3 应用服务器概念及TONGWEB 的起源 ..................................................................................... 3
2.1 三层/多层应用模式和应用服务器 .................................................... 3
2.2 J2EE体系结构 .......................................................................................................... 4
3.
TONGWEB 体系结构.................................................................................................................. 4
3.1 概述 .............................................................................................................................. 4
3.2 TONGWEB主要构件和功能 .................................................................................. 5
(1) 易于扩展服务的TongWeb内核 ........................................................................................ 5 (2) TongWeb Web容器 ............................................................................................................. 6 (3) TongWeb EJB容器 ............................................................................................................. 6 (4) 会话管理器......................................................................................................................... 7 (5) 数据库管理功能 ................................................................................................................. 8 (6) 名字目录服务 ..................................................................................................................... 8 (7) JCA支持 ............................................................................................................................. 8 (8) Java消息管理 .................................................................................................................... 9 (9) 交易服务与交易API ....................................................................................................... 10 (10) 安全服务......................................................................................................................... 10 (11) 集群与均衡负载 ............................................................................................................. 11 (12) Web Service支持 ............................................................................................................ 11 (13) 通过IIOP与CORBA对象的交互 ................................................................................ 11 (14) 开发和管理工具支持 ..................................................................................................... 12
4.
与传统应用的集成....................................................................................................................... 12
4.1 4.2
支持JAVA连接器体系统结构(JCA) ........................................... 12 与TONGEASY、TONGLINK/Q的的集成 ............................................... 12
1. 概述
本技术白皮书是为想深入了解TongWeb 的技术人员编写,内容包括三层/多层应用模式介绍、应用服务器和J2EE介绍、TongWeb体系结构、功能特性、与传统应用的集成等几个部分。
2. 应用服务器
2.1 三层/多层应用模式和应用服务器
传统的应用系统模式是“主机/终端”或“客户机/服务器”。随着Internet 的发展壮大,新的开发模式也应运而生,即所谓的“浏览器/服务器”结构、“瘦客户机”模式。但是以Internet为基础的企业级应用,不仅要求在分布式环境下实现信息的采集、管理、发布、交换、处理等,还要求能解决好以下问题:
快速开发和构建 处理大量并发事务 交易完整性 易扩展 互操作性 可靠性 信息安全
要很好地解决以上问题,仅靠简单的Web技术是不够的,需要引入三层/多层应用模式。采用多层结构,即将应用划分为表示层、业务逻辑层、数据层。业务逻辑层随着应用的复杂度又可分为一层或多层。
这种分布式多层应用体系结构将会为企业带来实际的收益。首先,应用功能被分为几个模块化部分,使应用的创建、修改和维护更加容易。其次,当业务逻辑从后端移向中层的一般较便宜的硬件上时,会减少企业的实际成本。这种体系结构的模块化特征还使得企业便于实施革新的应用,从而改善业务流程,保持对竞争者的优势。
为了方便地开发、部署、运行和管理基于三层/多层结构的应用,需要以WEB的低层技术为基础,规划一个整体的应用框架,提供相应的支撑平台,作为Internet应用的基础设施(Infrastructure),这一支撑平台实际上是基于Internet的中间件,即应用服务器。
分布式多层体系结构要求应用服务器主要考虑三方面的技术。
开发环境:开发人员需要一种创建新组件、并将已有组件加以集成的开发环境。 应用程序的集成:由于企业计算环境比较复杂,它综合了传统的应用程序和新型应
用程序,因此开发人员需要集成各种应用程序,以创建出更强大的应用。
应用程序的配置:由于典型的Web 应用程序是分布式,其组件运行在不同的服务
器上,并且有大量的用户对其进行访问,因此需要配置平台的支持,以便在用户剧增时能有效地扩展,并保持系统的稳定。 应用服务器通过把用户接口、商业逻辑和后端服务分割开来,向开发者提供了一种创建、部署和维护企业规模的Web应用的模块化方式,为要转向Web的用户提供了高性能多线程的环境。它是一种支持多种工业标准的协议和界面引擎,它支持的标准包括数据库互联标准ODBC和JDBC、CORBA、COM/DCOM、Enterprise JavaBeans(EJB)对象模型等。
TongWeb是东方通公司推出的基于J2EE体系结构的JAVA应用服务器,TongWeb的目标,就是要帮助企业成功地实现基于Internet的企业级应用。
2.2 J2EE体系结构
J2EE 是Sun公司提出的利用java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术以java 2平台标准版J2SE为基础,不仅继承了标准版中的许多优点如\"编写一次、到处运行\"等特性,同时还提供了对EJB(Enterprise java Beans)、java Servlets API、JSP(java Server Pages)技术的全面支持。
J2EE使用EJB Server作为商业组件的部署环境,在EJB Server中提供了分布式计算环境中组件需要的所有服务,例如组件生命周期的管理、数据库连接的管理、分布式事务的支持、组件的命名服务、消息服务等等。实现商业逻辑的EJB组件可以更加高效地运行在应用服务器中,用户可以通过java Servlet或者JSP调用运行在EJB Server中的EJB,以实现商业逻辑,也可以通过IIOP直接访问运行在EJB Server中的组件。
J2EE1.3的体系结构如下图所示。
作为J2EE的一个具体实现,TongWeb提供了一个完整的底层框架,为J2EE中定义的各种组件(包括Servlet、EJB)提供各种底层服务,包括JSP和Servlet容器、EJB容器、JNDI(名字目录服务)、JTS(交易服务)、JMS(消息服务)等。
3. TongWeb 体系结构
3.1 概述
TongWeb 总体架构中含有内核及底层服务、构件容器、J2EE服务、界面/工具四大部分。内核及底层服务部分位于最底层,J2EE服务居中,构件容器建立在J2EE服务之上。产品基于JMX提供最基础的架构,其它部件以Mbean的形式加载进来。J2EE服务包括J2EE1.3所规定各项服务,包括JNDI,JDBC,JCA,JTS/JTA,JMS等,也包括Web Service服务。构件容
器包括EJB容器、Web容器和Application客户容器。界面/工具包括管理控制台和部署工具。
TongWeb 的总体体系结构如下图所示:
TongWeb的内核提供了底层的通信、线程、配置、时间、日志等核心功能。在内核之上,是遵循J2EE标准实现的各种服务。应用在这种微内核的设计模式使上层标准的服务实现与底层的系统资源管理分离,保持了软件模块间松散耦合的优点。同时,TongWeb还提供了专门的服务接口,允许客户不必局限在J2EE的框架中,直接在内核层次上开发针对于具体案例的系统服务,特别适合于有特殊需求的应用系统。
3.2 TongWeb主要构件和功能
(1)易于扩展服务的TongWeb内核
J2EE是基于构件的分布式计算模型,应用组件运行在系统的Run-time环境——容器中,通过容器与其它应用组件或底层服务交互。JMX为统一管理容器、服务、应用组件提供了一个基础。
JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,用户可以在任何Java应用程序中使用这些代理和服务实现管理。JMX适用于解决分布式系统管理的问题,因此能为网络管理工具(如基于SNMP的网管工具)连接接口是非常必要的。
TongWeb JMX Framework在JMX上规划TongWeb管理域,提供三种类型的Adapter:RMI Adapter, HTTP Adapter, SNMP Adapter,为外部管理工具提供选择的余地。
TongWeb将JMX框架和各模块/服务所需的公共基础服务合成在一起形成一个稳定、统一的系统内核,此内核具有以下特性:
提供动态载入模块机制; 提供公共基础服务(logging, thread等); 提供分隔的类加载器; 为加入到内核之上的模块提供一个公共的配置/管理/监视的框架; 各个模块可以灵活地添加和删除。
通过提供一个公共的配置/管理/监视的框架,使每个模块都可以有自己的配置/管理/监视部分,新加进来的模块也都将纳入到这个管理框架中。这样做的优点之一是可以方便地实现产品的增量开发,便于对已有模块进行改造或插入新的功能模块。优点之二是便于根据用户或市场的需要灵活裁剪或组合功能模块,满足用户的不同层次的需要。优点之三是便于J2EE Management API1.0的实现(基于JMX1.2),与新的有关J2EE管理的标准保持同步。
(2)TongWeb Web容器
TongWeb 的Web容器提供一个Servlet的运行环境,管理Servlet的生命周期和连接。TongWeb Web容器同时负责对JSP的管理。当接到JSP请求时,TongWeb Servlet容器会判别是否需要重新编译JSP文件。
TongWeb 的Web容器为每个Web应用提供一个类加载器。当应用的类修改以后,TongWeb会自动重新启动该应用。TongWeb提供对Web应用的热部署和自动部署功能。可以为每个应用指定定制的访问日志文件。
TongWeb当前版本支持Servlet2.3和JSP1.2规范。增加的功能主要包括:
Filter支持,Filter可以截获请求,操作request和response的内容,从而影响
请求的行为。 Application Lifecycle Events支持。ServletContext对象已经创建,将要销毁,
其属性(attribute)已经被添加,删除或修改时,或HttpSession对象已经创建,失效,超时,其属性(attribute)已经被添加,删除或修改时,注册的相应Listener都会被通知。
支持JSP 1.2中JSP页的XML语法。使用XML语法的JSP页称为JSP document,
JSP容器应能够直接处理JSP document。
JSP容器支持在翻译时对JSP页的验证,验证通过JSP页的XML视图进行。 支持JSP 1.2对标签处理的改进。如标签库描述符的格式扩展,支持多个标签
库描述符等。
TongWeb 可以通过一系列协议连接到Web服务器,或直接通过HTTP连接到Web浏览器。Web容器允许任意数量的Servlet到任意数量的连接。TongWeb Web容器也支持不同的的连通选项(RMI,Director,HTTP,HTTPS)。这意味着一个Servlet,通过使用不同的协议,可以连接到多个Web服务器上。这个功能极大的增加了运行在TongWeb 环境里的Servlet的重用性。
(3)TongWeb EJB容器
EJB组件技术为应用开发者开发服务器端的应用提供了一种方便而强大的组件模型。客户只需使用EJB API来实现自己的业务逻辑,并将它安装到EJB容器中,就可以使自己的EJB组件向各种类型的客户提供服务。TongWeb EJB容器支持三种类型的EJB:会话Bean、实体Bean和消息驱动Bean。会话Bean主要用于实现客户的应用逻辑,处于多层应用的业务逻辑层;而实体Bean是真实数据的抽象,它代表了数据库的数据。
EJB容器是整个TongWeb应用的核心部分。当EJB运行需要与外界打交道获取数据时,都要通过EJB容器提供的API来进行。TongWeb 符合EJB2.0规范,支持stateless和stateful两种形式的Session Bean。支持BMP和CMP两种形式的Entity Bean,支持EJB以编程和申明两种方式控制交易,支持MDB(Message Driven Bean)。
Session Bean(会话Bean):是客户程序的一部分,分布在Server上的对象。之所以叫做会话BEAN,是因为其生命周期和客户的每一次会话相同。Session Bean一般实现业务逻辑、
业务规则和工作流。如典型的Session Bean可以实现定单、银行交易、数据库操作、数据压缩和运算等等。
Entity Bean(实体Bean):与Session Bean相比,Entity Bean并不主要用于实现业务逻辑,它是持续化数据的抽象,代表了真实存在的数据实体,如银行帐号等。在关系型数据库占据市场主流地位的情况下,Entity Bean为关系数据库中的数据提供了面向对象的抽象,实现了数据访问层的逻辑。在持久化方面,TongWeb提供了专门的持久化管理器,支持Bean管理的持久性(BMP)和容器管理的持久性,支持EJB QL和新的实体关系模型。
MDB(消息驱动Bean):消息驱动Bean是在EJB容器中以基于异步消息服务(JMS)的企业Bean。实体Bean和会话Bean都是同步的,以阻塞方式进行,调用者在收到返回后,才能进行下一步处理。消息驱动Bean通常配置成是一个特别的主题(topic)或队列的客户端,作为消息的使用者。一个消息产生者将消息写入TOPIC或队列时,并不知道使用者是一个消息驱动Bean。这就允许集成一个分布式的计算系统时,有很大的灵活性。
EJB容器支持EJB在运行时,能根据部署描述符中的设置透明地插入交易边界、进行安全检查,从而以申明的方式提供中间件服务。
TongWeb 的EJB容器提供了容器生成工厂,负责创建和删除容器,创建和删除工作在ejb-jar加载和卸载时进行。每个容器对应一个ejb-jar文件,负责对这个加载的ebj-jar中的部件进行管理,包括实例池的建立、Bean的活化/钝化等生命周期管理。
EJB容器提供了容器请求处理插件接口,负责处理远程EJB请求,起连接器的作用,受理远程请求并向相应的容器转发,各插件分别实现JRMP/IIOP/SOAP HTTP/HTTP SSL等协议。
EJB容器提供了底层的实例池管理器,实现EJB的池化管理。容器对EJB的池化管理包括Session Bean 实例池、Entity Bean实例池、MDB实例池。系统通过部署和管理工具提供对这些实例池的配置和管理。
EJB容器提供了底层Caching管理器接口,提供外挂实现,实现对Cache的有效性管理。 EJB容器提供了底层的持久化管理器,用于EJB 2.0 CMP支持,只提供一个接口框架,以插件的形式提供具体实现。
对于容器管理持久性的Entity Bean ,需要在部署描述中定义抽象模式的名字。这些名字将可以通过使用Enterprise JavaBeas™ Query Language (EJB™ QL )编写的查询语句进行引用。
EJB QL 查询可以通过关系进行定位。关系的方向决定了是否可以从一个Bean 定位另一个Bean 。在TongWeb的自有特性中还提供了部分EJB2.1的功能,如对从EJBQL 中查询出的对象进行排序的功能,实现EJBQL的语句提供了对Order By子句的实现。此外,对容器管理的Entity Bean, TongWeb还提供支持各种主流数库的主键自增长功能。
(4)会话管理器
会话管理器和会话对象提供一个小巧灵活的机制,保证基于Web的有状态编程。TongWeb 提供一个通用的会话管理,作为复杂的状态模型的基础。会话是一个时间段内同一用户发生的一系列请求。会话事务模型比单请求模型有许多优点。它可以在多页面请求过程中保持状态和用户标识。它可以给出用户行为的概况,而不只是产生用户点击报告。
会话管理使得Servlet和其它服务器端应用能够在用户使用应用的过程中保存用户的状态。TongWeb 通过为每个用户创建一个会话对象来维护用户状态。这些会话对象在服务器上存储和维护。当用户第一次对应用发送请求时,用户会话管理器分派一个新的会话对象和一个唯一的会话ID。会话ID在随后的请求里,与会话对象匹配。然后会话对象作为请求部分传递到处理请求的Servlet。Servlet可以给会话对象增加信息或从他们读取信息。用户空闲一段时间后,会话失效,会话管理器就取消相关的会话对象。
在多服务器集群时,TongWeb提供Session复制功能以提供系统的高可用性。
(5)数据库管理功能
TongWeb的数据库连接管理功能实现了JDBC2.0扩展,提供对分布式交易和数据库连接池的支持。每一个数据源到一个逻辑数据库,逻辑数据库隐藏了不同JDBC和数据库实现的细微差别。这些连接由线程共享。连接负责维护到JDBC驱动器的连接及数据库连接的状态,包括当前状态和正在处理中的结果。通过提供数据库连接池,TongWeb有效降低了频繁建立和关闭数据库连接的开销。此外,数据库管理功能还对现实中经常遇到的用户忘记关闭数据库连接导致连接数据溢出的情况,提供了可选的强制处理功能。对于同属一个交易上下文的数据据库连接,TongWeb提供了智能的连接复用功能。下图显示了数据库管理器的模型和实际数据库的关系。
TongWeb的JDBC连接池服务通过包装数据库厂商提供的连接驱动实现。支持XA和非XA两种类型的连接,与交易管理器一起提供对分布式系统下两阶段提交的支持。
(6)名字目录服务
JNDI结构包括两组API:JNDI API(Application Programming Interface)和JNDI SPI(Service Provider Interface)。Java应用程序通过JNDI API访问各种命名目录服务。JNDI SPI使得各种命名目录服务(如LDAP、DNS、NIS等服务)透明地加入到JNDI结构中,从而使Java应用程序能够通过JNDI API访问这些服务。TongWeb还提供一个内嵌的LDAP实现。
(7)JCA支持
JCA(J2EE Connector Architecture) 即Java连接器架构,是J2EE规范的组成部分。JCA提供了基于Java的标准架构,使J2EE平台能够连接到异构的EIS(Enterprise Information Systems,即企业信息系统),从而解决企业应用集成(EAI)的问题。
JCA通过定义一组可伸缩的、安全的、支持交易的机制, 实现了企业信息系统与应用服务器和企业应用之间的集成。整个JCA架构包括资源适配器(resource adapter)、系统合约(system contract)和通用客户接口(CCI)。系统合约是JCA定义的应用服务器与EIS之间的一组系统级约定;通用客户接口是JCA为J2EE应用程序组件定义的、独立于EIS的客户API。资源管理器对应用服务器一端实现了系统合约,对应用构件实现了通用客户接口。
一个资源适配器是一个系统级的Driver,用于应用服务器或应用客户连接到
EIS。通过插入到应用服务器中,资源适配器与应用服务器协作,提供底层的交易、安全和连接池机制。系统合约包含的交易、安全、连接管理等系统级功能对应用构件来说是透明的。
无须陷入到有关EIS集成这些系统级问题中。通过在资源适配器中实现CCI,EIS厂商可以提供对它们的EIS产品的一个Java接口,它将在任何遵守J2EE 规范的应用程序服务器上运行。
JCA1.0在应用服务器和EIS之间定义了一组系统级合约,以允许从应用服务器到EIS的连接,这种连接是单向的(outbound)。这一组合约包括:连接管理合约、交易管理合约和安全管理合约。
TongWeb 支持JCA1.0。TongWeb提供的JCA构架支持资源适配器插入到系统中,从而实现与外部系统的连接。TongWeb JCA实现支持JCA规范所要求的连接管理协议、交易管理协议和安全管理协议。TongWeb还提供了连接的池化机制,为每一个受管连接工厂实例创建一个连接池。
(8)Java消息管理
消息系统允许分开的未耦合的应用程序之间可靠地异步通信。消息系统提供了许多其他分布式对象计算模型没有的优点,它允许建立动态、可靠的和灵活的系统,子系统能被修改而不会影响系统的其他部分。 在JAVA技术中,处理异步消息的能力是通过JMS来实现的。
JMS的目的是提供给消息系统客户一个统一的接口,而且与底层的消息提供者无关。这样,客户端的应用程序可以在不同的机器和操作系统中移植,而且能在不同的消息系统产品之间转移。JMS客户端都是建立在JAVA技术上的,从而也能使用其他JAVA API,如JDBC数据库连接,使用Java bean组件模型,JDNI名字服务,JTA客户端事务处理控制以及J2SE和J2EE API来实现企业级应用服务程序。
除了内置的JMS Server支持外,运行在TongWeb上的J2EE服务端组件(包括filter、jsp/servlet、EJB等)能方便的访问到第三方JMS Server上的JMS对象,并且具有可移植性和灵活性,即这种访问不依赖于特定的第三方JMS Server,也不依赖于特定的操作平台,能够通过一些简单的操作灵活的更换JMS Server。
消息驱动Bean的实现不依赖于特定的JMS Server,只需要实现了XA系列接口的JMS Server都能够支持TongWeb3.5的消息驱动Bean。消息驱动Bean的实现是不依赖于内部的JMS Server的,任何实现了XA接口的JMS Server都能够支持TongWeb3.5的消息驱动Bean。只有将远程JMS对象绑定到本地JNDI服务上,才能够方便的访问远程JMS对象,实现访问的可移植性和灵活性。
在与第三方JMS的集成实现上,TongWeb通过JNDI来和JMS Server进行集成。JMS Server将JMS对象绑定到JNDI server上,TongWeb的MDB容器通过在JNDI server查找来获取JMS对象,就和JMS客户端查找JNDI Server类似。 这里要解决的问题是多个MDB对象对JMS对象的并发访问。这可以通过预先提供多个MDB对象到JMS对象的连接来解决,并且还可以在运行时动态的建立新的连接来适应大的并发访问。
TongWeb的消息服务体系结构如下图所示。
ClientClientMessagesClientClientMessagesJava Message Service(JMS) APIJava Message Service(JMS) APIThird Party ProviderTongLINK/QMQSeries(9)交易服务与交易API
TongWeb 实现了支持JTS的交易管理器,同时还实现了JTA1.0规范。除了规范所要求
的交易定界、两阶段提交、交易上下文传递支持外,TongWeb交易管理器还提供以下特性:
支持本地(交易)交易优化。由于本地交易具有比全局交易更高的性能,对于使用同
一个容器、同一个资源管理器的操作,交易管理器使用本地交易优化机制实现。在调用新的资源管理器或向不同的容器传递交易上下文时,再堕性发起全局交易。 完整地支持分布式交易。即使应用构件 (包括数据层,业务层,表示层) 运行在不同
的JVM中, 也可以拥有一个跨越这些虚拟机的全局交易。交易上下文可以通过RMI/JRMP 和 RMI/IIOP传递。 对消息服务提供交易支持。用户可以将JMS消息发送和数据库更新放在同一个交
易中进行(如Servlet的一次Service方法调用)。 定时管理。每一个交易对象都有一个关联的定时器,在交易超时后进行自动回滚。
定时器随交易上下文一起传播。
Java JMS ServerMOM ServiceProviderMessaging ServiceMessaging ServiceTongWeb消息服务体系结构
(10)安全服务
TongWeb支持J2EE应用的代码授权和调用者授权。代码授权是通过java 2 安全模型来
限制特定J2SE的类和方法的执行,以保护和确保操作系统的安全。
调用者授权是通过安全角色的授权来实现的,应用构件的开发者通过部署描述符定义安全角色引用,为安全角色分配资源访问的权限。也在安全相关的程序代码中引用安全角色。由应用程序的装配者或应用程序的部署者分配。系统管理员通过映射应用程序的将实际系统环境中的用户和角色与安全角色联系起来,从而是实际的用户拥有对企业资源访问的适当授权。在调用受控资源时,容器(Web容器、应用客户容器、EJB容器)负责安全上下文的传递。
TongWeb实现了一个完整的安全架构,能提供为EJB容器和Web容器所共用的统一的安全服务,支持访问Web组件和EJB组件时的认证与授权,支持J2EE安全API, 支持基于部署描述符的申明级安全。同时,这一安全架构还可以支持对不同的应用使用多个安全域,
包括文件存贮的安全域和LDAP安全域,全面提升了产品对安全的支持。
TongWeb提供对JAAS协议的支持。JAAS提供了灵活和可伸缩的机制来保证客户端或服务器端的Java程序。JAAS强调的是通过验证谁在运行代码以及其权限来保护系统免受用户的攻击。
通过在应用程序和底层的验证和授权机制之间加入一个抽象层,JAAS可以简化涉及到Java Security包的程序开发。抽象层独立于平台的特性使开发人员可以使用各种不同的安全机制,而且不用修改应用程序级的代码。和其他Java Security API相似,JAAS通过一个可扩展的框架:服务提供者接口(Service Provider Interface,SPI)来保证程序独立于安全机制。服务提供者接口是由一组抽象类和接口组成的。
TongWeb还拓展了JAAS支持。东方通的强安全认证产品TongSEC可以通过TongWeb的SPI插入到JAAS服务,以满足关键系统的强安全要求。
(11)集群与均衡负载
在三层/多层Web应用体系结构中,TongWeb位于前置的Web服务器的后面,多个TongWeb服务器可以通过集群技术(cluster)来支持大规模并发用户。客户访问一个URL的时候,前置的Web Server将根据多种算法将请求转发给后端的某个TongWeb应用服务器进行处理,从而实现多个TongWeb应用服务器之间的负载均衡。TongWeb针对不同的Web Server,以插件或内置模块的形式提供了导向器(director),director目前支持的主流Web服务器有Apache、Internet Information Server(IIS)以及 iPlanet(Sun One) Web Server。
TongWeb Director通过分配用户负载到多个TongWeb Server上来为应用提供高伸缩性,高性能和高可用性。负载平衡算法支持带服务器灾难恢复的会话亲合和加权轮转法(Weighted Round-Robin),以及随机分配算法。会话亲合意味着一个特定会话将总是访问同一个TongWeb实例。加权轮转法是一种考虑每个TongWeb的物理配置和现存连接数量的负载平衡方案。服务器灾难恢复确保如果一个TongWeb Server意外关闭(如硬盘故障),所有的应用连接自动转移到另外一个TongWeb实例,并使用预先复制的会话状态信息,从而为业务系统的稳定运行提供可靠保障。
在EJB方面,TongWeb提供Session Bean的集群功能,保证一个EJB容器失效时,访问迁移到另一个可用的EJB容器。
通过与TongLINK/Q紧密集成,TongWeb提供了消息服务的集群功能,保证消息的可靠传输。
(12)Web Service支持
Web服务是一种部署在Web上的对象或组件,Web服务是基于Web服务提供者、Web服务请求者、Web服务中介者三个角色和发布、发现、绑定三个动作构建的。Web服务提供者就是Web服务的拥有者,它耐心等待为其他服务和用户提供自己已有的功能;Web服务请求者就是Web服务功能的使用者,它利用SOAP消息向Web服务提供者发送请求以获得服务;Web服务中介者的作用是把一个Web服务请求者与合适的Web服务提供者联系在一起,它充当管理者的角色,一般是UDDI。
TongWeb的Web容器和EJB容器都提供了的Web service支持,包括访问Web Service端点(port)和将容器内的Web组件或EJB组件包装成Web Service端点(port)对外提供服务。
(13)通过IIOP与CORBA对象的交互
CORBA (Common Object Request Broker Architecture, 公共对象请求代理体系结构)是由OMG (对象管理组织,Object Management Group )提出的应用软件体系结构和对象技术规范,被广泛的用来开发分布式系统。TongWeb内置了一个ORB的实现,从而完整
实现了CORBA-EJB 映射规范,可以和CORBA 对象进行互相调用,包括:
EJB 接口到CORBA 接口的映射; JNDI 名字到CORBA 名称服务的映射; EJB 和CORBA 之间的事务传播;
EJB 和CORBA 之间的安全传播。
(14)开发和管理工具支持
在开发工具的实现策略上,TongWeb借助于业界广泛使用的JBuilder开发工具,提供了JBuilder开发插件TongWeb OpenTool,支持用户全过程地开发web组件、EJB组件和ear企业级应用。JBuilder是一个广泛使用的Java集成开发环境,它支持EJB、JSP/Servlet的开发,并内置支持WebLogic,WebSphere等应用服务器,可以快速部署应用程序到这些J2EE应用服务器。
TongWeb OpenTool基于JBuilder的Open Tools架构,使用简便,易于配置。使用TongWeb OpenTool后,可以在JBuilder中轻松自如的开发、部署和调试TongWeb应用程序
TongWeb支持JMX1.2规范,通过JMX实现对服务端组件和服务的管理。在此基础上,TongWeb提供了强大的Web管理控制台,对系统运行状态、Web应用、EJB组件、数据库连接池、交易服务、JMS服务及其它服务端组件与服务进行动态监控与管理。web应用和ear的部署和管理也可以通过Web管理控制台进行,可以在部署时修改相关的部署时特性。支持web应用和ear应用的自动部署和热部署。
TongWeb还提供了可视化的ear和web应用迁移工具,支持对常用应用服务(WebSphere,WebLogic,JBoss)应用到TongWeb的移植,极大地提高了应用迁移的效率。
4. 与传统应用和传统中间件的集成
TongWeb应用服务器是支持分布式应用的基础平台。但在一个实际的企业应用中,通常是多种应用系统和应用环境并存,因此在使用TongWeb的时候,经常存在与传统应用的集成问题。TongWeb具有基于标准的开放体系结构,同时能与本公司的其它中间件产品无缝集成,这为企业应用的集成打下了良好的基础。
4.1 通过Java连接器结构与传统应用集成
Java连接器体系统结构(JCA)是J2EE1.3规范的一个组成部分,TongWeb支持JCA,这使得为传统应用开发的符合JCA标准的Adapter也都可以搭建在TongWeb上。 JCA由下列关键组件组成:
资源适配器——将企业信息系统资源连接到 JCA 基础架构;
通用客户接口——为通过资源适配器与企业信息系统交互提供通用编程接口模型; 服务质量工具——由 JCA 基础架构提供的实现地址连接管理、事务处理管理和安
全性的服务。
4.2 与交易中间件TongEASY的集成
TongWeb对交易管理器支持的一个独特之处,是通过JNI机制实现了与国内知名的交易中间件TongEASY的无缝集成,拓展了J2EE的交易管理能力引入了TongEASY所独有的以下能力:
第一,具有所有国外中间件产品所不具备的多种交易完整性管理机制并存的体系结构。
第二,“核对和重复提交/撤消”的交易完整性管理机制属世界首独,已申报国家发明专利。可以在各种复杂情况下保证交易结果的一致性,使TongEASY对网络环境的适应能力比国外同类产品更强。
第三,独创“核对和重复提交/撤消”与两阶段提交协议(Two-phase commit,2PC)相结合的交易完整性管理机制,以求得高处理效率、高交易完整性与简单编程的相对平衡
4.3 与消息中间件TongLINK/Q的集成
TongWeb提供了集成第三方JMS Server的能力。通过集成东方通公司的消息中间件TongLINK/Q, TongWeb不仅能完整地支持JMS规范,还使得消息传输能跨越不同的操作系统环境,包括非Java环境,提供了与非Java应用的基于消息的集成能力,同时也继承了TongLINK/Q的集群能力和高可用性。
TongWeb与TongLINK/Q的集成示意图如下所示:
因篇幅问题不能全部显示,请点此查看更多更全内容