1.5. 基础服务

1.5.1. JCA Services

J2EE连接器架构是为了和传统的应用系统进行连接定义了一套标准的架构。它定义了一套可升级的,安全的,能基于事务的机制,以便J2EE平台可以和传统的应用系统进行整合。J2EE连接器架构还定义了公用客户端接口,使其它平台的应用能访问J2EE平台。对于不同的应用,Apusic应用服务器需要其提供资源适配器,Apusic应用服务器能将符合规范的资源适配器插入应用服务器,以达到应用服务器访问异构系统的目的。

Apusic应用服务器目前提供了 JCA1.5的完整实现。

1.5.2. Naming

由于J2EE 应用的关键特性是分布式的,其提供的服务可能分布在任何一个机器或网络,应用的开发统一通过JNDI(Java Naming and Directory Interface)来获得服务,开发者在开发时可以不用关心服务的物理位置。

Apusic 完全支持使用JNDI 1.2,并且开发完成后,部署者(Deployer)可以在部署工具中配置应用所需要的环境、资源、服务,使应用获得所需的分布式服务,完成最终运行环境的建立。

1.5.3. JTA

J2EE 中对于事务的处理是分布式的,Apusic应用服务器完全提供对XA 事务的支持。为了简化开发者对事务的处理,Apusic 应用服务器在EJB 容器中提供容器管理事务(Container Managed Transaction),应用开发者使用EJB管理数据即自动获得了事务的保证,由于EJB容器对数据库的管理是分布式的,开发者由此自动获得了对应用开发较为困难的分布事务管理能力,这一切都由应用服务器完成。

为保证应用数据和业务逻辑的的完整性,除了提供完全符合规范和强壮的事务管理器之外,Apusic应用服务器还提供了强壮而灵活的事务构架。JTA(Java事务API)对数据的完整性起到关键作用,Apusic支持的事务包括EJB,JMS,JCA,JDBC等。支持分布式事务,两阶段提交.

1.5.4. 死锁检测

Apusic应用服务器能够根据资源等待图自动检测出死锁状态,当事务发生死锁时将其中一个事务回滚,以释放事务所占用的资源,使其他事务能够继续执行。

1.5.5. 并发控制

Apusic应用服务器提供了灵活和强壮的EJB 并发控制机制,单独分离出了并发控制部分,可以使用插件的形式同时提供多种并发控制协议。JMS 全局事务 。

Apusic应用服务器提供了一个作为事务性资源管理器的JMS 提供者(Provider),允许从JSP,Servlet,EJB等应用组件中对JMS 进行事务性的访问。同时,从一个单一事务边界中允许多个应用组件访问JMS 提供者。

1.5.6. JDBC

Apusic 应用服务器模型中的数据层提供企业应用对关系型数据库和传统企业应用数据的高效而可靠的访问。使得企业应用可以通过JDBC实现对关系型数据库安全、可靠而且高效的访问。目前Apusic 应用服务器提供了对最新的JDBC3.0 版本的支持。任意合法的J2EE编程模型都可以从Apusic 应用服务器数据库连接池中获得对关系型数据库的连接。Apusic应用服务器提供了很多功能或特性,使对数据层访问的开发更为简单,同时达到更为高效和安全的目标。 JDBC 结果集缓存

对于Session Bean、JSP、Servlets 为主的J2EE应用中,频繁访问数据库而缺少对应的数据缓存等机制,往往会成为企业应用的瓶颈。因此,Apusic应用服务器提供了JDBC结果集缓存技术,通过将数据库返回的结果集保存在内存中,可以大幅提高应用系统的性能,同时,使用结果集缓存对应用开发者是完全透明的,保证了应用的可移植特性。

1.5.7. JDBC 语句缓存

企业应用频繁对数据库的访问,往往会成为企业应用的瓶颈。因此,Apusic应用服务器还提供了JDBC语句缓存技术,同时使用预编译的查询语句,提高应用程序访问数据库的效率。

1.5.8. 连接池

对于复杂的企业应用而言,对数据库连接池的可靠、效率,成本都有着极高的要求,Apusic 应用服务器提供了对连接资源的优化,使有限的数据库连接资源得到最大程度的利用。

1.5.9. JMS

JAVA 消息服务(JMS)定义了Java中访问消息中间件的接口。消息中间件提供数据的异步传输,通过消息中间件,一些原本互相孤立的业务组件可以组合成一个可靠的、灵活的系统。消息中间件分为两类:Point-to-Point(PTP)和Publish-Subscribe(Pub/Sub)。

PTP是点对点传输消息,建立在消息队列的基础上,每个客户端对应一个消息队列,客户端发送消息到对方的消息队列中,从自己的消息队列读取消息。

Pub/Sub是将消息定位到某个层次结构栏目的节点上,Pub/Sub 通常是匿名的并能够动态发布消息,Pub/Sub必须保证某个节点的所有发布者(Publisher)发布的信息准确无误地发送到这个节点的所有消息订阅者(Subscriber)。

Apusic应用服务器支持以上两种模型,并完全实现了JMS1.1版本。

1.5.10. JavaMail

JavaMail是一个用于阅读,编写和发送电子消息的API,可以用来建立基于标准的电子邮件客户机,它支持各种因特网邮件协议,包括SMTP,POP,IMAP,MIME,NNTP,S/MIME及其他协议。

Apusic服务器支持所有邮件协议,并完全支持JavaMail 1.4版本。

1.5.11. JMX

JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。基于JMX架构的Apusic应用服务器具备高度可管理性。而服务器基于JMX的体系架构,也带来管理的便利性与可靠性。我们可以通过JMX管理获取服务器的运行现状,并能够通过微内核所提供的诊断数据了解服务器的健康水平。