发布网友 发布时间:2022-05-05 09:45
共1个回答
热心网友 时间:2022-06-27 07:23
1.1. 基于工业标准和规范的解决方案 Apusic遵循的相关工业标准、规范和已实现的API如下:
1.1.1. J2EE?相关
RMI/IIOP
JDBC?3.0及JDBC?2.0扩展
EJB?2.0
EJB?1.1
Servlets2.3
JSP?1.2
JMS1.1
JTS
JTA1.0
JCE1.2
JSSE
JavaMail?1.2
JAF1.0
JAXP1.1
JNDI
JMX1.2
JAAS
JSR-77
1.1.2. XML相关规范
XML1.0
XML Namespaces 1.0
SAX 2.0 API
DOM Level 2 Core Recommendation
XSL 1.0
1.1.3. WebServices相关规范
JAX-RPC1.0
JAXM1.1
SAAJ1.1
JAXR1.0
SOAP1.1
SOAP with Attachments
WSDL1.1
UDDI2.0
1.1.4. Internet相关协议及标准
TCP/IP protocol family
HTTP 1.0
SSL 3.0
以下依次介绍
服务器特性:
除提供了对以上规范、标准的支持和对相关API的实现之外,Apusic提供了很多独有的极具竞争力的特性,致力于降低分布式多层企业应用的设计、开发、部署和维护成本,提高生产效率,而同时不影响企业应用遵循相关的标准和规范。
按照多层企业应用的分层方式,从以下三个层次概述Apusic应用服务器3.0的特性。
表示层: 多层应用模型中的表示层主要被用于与浏览器、桌面应用、无线设备及其他客户端的交互,Apusic应用服务器支持所有的客户机/服务器的交互机制。
在基于J2EE?编程模型的应用中,表示层主要使用JSP、Servlets 编程模型,对于Apusic应用服务器,还支持诸如Java Applets、Java Application或其他ActiveX组件的客户类型。
对于通过浏览器进行的Http请求,Apusic应用服务器提供了一个高效可靠的Web服务器。通过使用Servlet和JSP实例池、结果缓存、JSP编译调试工具等工具和技术,对于部署于服务器上的JSP和Servlet,Apusic应用服务器服提供了一个高效可靠的运行时环境和开发、部署和维护的高效易用的平台。
2.1.1. 对规范的实现
J2EE?1.3规范中包含了JSP和Servlet规范,通过使用JSP和Servlet规范,定义了J2EE企业应用中的表示层的编程模型。通过使用JSP和Servlet,实现Web内容的动态生成。
JSP与Servlet是紧密相关的两种编程模型,二者都生成动态的Web内容。不同之处在于Servlet使用JAVA语言编写,而JSP的编写还使用了HTML的扩展版本。对于使用HTML编辑器或设计器并熟悉HTML的Web设计者来说,JSP非常便利。而全部使用JAVA的Servlet更适用于JAVA程序员而非Web设计者。
Apusic3.0应用服务器中的Web服务器严格遵循了J2EE?规范中Servlets2.3规范和JSP1.2规范。
2.1.2. 增值特性
除了对J2EE相关JSP和Servlet规范的实现,Apusic应用服务器中的Web容器和相关工具还提供了一些增值特性,通过这些增值特性,使得面向Apusic应用服务器的表示层的开发、部署、运行和维护变得更加方便和高效。
虚拟主机
可以在单个的Apusic应用服务器上配置多个Web站点。通过域名与应用服务器的路径映射实现此功能,只需指定域名即可实现对站点的访问。
多路复用
Apusic 应用服务器采用了多路复用(multiplexing)通讯技术。在一个TCP/IP 连接上建立多个双向的虚拟连接,每个虚拟连接可以进行完全独立的通讯功能。通讯双方可以根据需要打开或关闭虚拟连接,进行通讯,实现了将多个服务统一到一个端口上,降低服务器的管理成本。
使用第三方Web服务器
除了Apusic应用服务器内置的Web服务器外 ,Apusic应用服务器可以与其他现有的Web服务器进行整合,如Apache、Microsoft IIS等,通过使用Apusic应用服务器提供的负载均衡功能,为企业应用提供一个更高可用性和伸缩性的平台。
负载均衡与失效恢复
Apusic应用服务器提供了基于Web层的负载均衡的功能。当使用Apusic作为集群中的负载均衡器时,服务器提供了独有的负载均衡和失效恢复的特性。
对于一个使用Apusic作为负载均衡器的服务器集群,当客户请求到达负载均衡器时,负载均衡器将请求转发到最初服务此请求的内部服务器,如果是初次请求,则负载均衡器随机选择集群中的任意一个内部服务器处理此请求;当内部服务器处理完请求,将产生的应答返回给负载均衡器,会话数据被保存在负载均衡器上;当下一个请求到达而原先处理该请求的内部服务器失效时,负载均衡器重新选择一个正常的内部服务器,这时会话数据连同请求一起被转发给新的内部服务器,会话数据被迁移到新的内部服务器。
此特性以较少的数据迁移量,较高的容错性,提供了基于Web层的负载均衡与失效恢复的增值特性
JSPC工具
为提高表示层JSP的开发调试的效率,Apusic提供了一个简单易用的JSP命令行编译工具JSPC,通过此工具,开发者可以对JSP进行更为高效的开发和调试,通过设置相关调试工具,可以实现对JSP的源码级调试。
最有利的是,发布应用只需要发布编译好的jsp class,即可对jsp源代码提供保护,而不需要提供jsp源程序文件,以免因为其他原因暴露jsp的源文件,并且,在应用运行时,避免对jsp源文件进行编译以节省时间。 业务逻辑层: 多层应用模型中的业务逻辑层被用于封装应用业务逻辑,包括独立于应用界面的业务组件,通过应用服务器中的组件容器提供运行时环境。 Enterprise JavaBeans?(以下称EJB)是J2EE?应用中的业务逻辑层的组件模型。
Apusic应用服务器3.0版本提供了对EJB2.0规范的完全实现,同时提供了相关的增值特性,以简化对J2EE应用逻辑层的开发、部署、管理和维护。
2.2.1. 对规范的实现
Apusic应用服务器中的EJB容器提供对EJB的生存周期管理、缓存、持久性和事务管理等服务。 目前,J2EE规范中最新的EJB规范为2.0版本。
EJB2.0规范中定义了三种类型的EJB:Session Bean、Entity Bean和Message-driven Bean。 同时定义了相关的一些特性,如CMR、EJB QL等,为提高应用执行的效率,还定义了新的Local接口。Apusic3.0提供了对以上内容的完全实现。
Entity Bean
Entity Bean被用于表示应用中的业务实体,通常与数据库或传统应用中的业务数据实体保持映射关系,可以理解为数据库或传统应用中的业务数据实体在内存中的对象表示方式。
Entity Bean的实例可由任何客户端的请求生成实例,且不因客户连接中断、系统失效等原因而消失,其状态被持久保留在数据库或传统应用中。
EJB2.0规范中对Entity Bean定义了新的容器管理关系模型(CMR)和Entity Bean的查询语言EJB QL。
Session Bean
Session Bean通常被用于实现业务过程逻辑,通过对Entity Bean的操作完成业务过程并封装过程逻辑。 尽管在需要的情况下,Session Bean可以有保持数据到持久存储机制的能力,如数据库,但Session Beans不是持久的。
Message-driven Bean
Message-driven Bean 是EJB2.0规范中新增的一个enterprise bean 类型,通常被用于异步接收从客户端发送的消息,触发相应的业务处理过程。
作为Enterprise Bean,Message-driven Bean具有一些与Session Bean 和Entity Bean 相同的接口方法,但由于Message-Driven Bean 本身不处理客户端调用,也无会话状态,客户只能通过向与Message Driven Bean 关联的队列或主题发送消息从而与Message Driven Bean 进行交互,另外,Message–Driven Bean 异步地处理队列(Queue)或主题(Topic)中的消息,而非方法调用。
2.2.2. 增值特性
除了对EJB2.0规范的实现,Apusic应用服务器中的EJB容器和相关系统服务还提供了一些高端增值特性,通过这些增值特性,使得面向Apusic应用服务器的业务逻辑层的开发、部署、运行和维护变得更加方便、高效和可靠。
实例池
通过图形化的配置工具或简单修改组件配置文件,Apusic应用服务器可以预先装载指定数量的对象实例到实例池中,使对客户请求进行响应的过程更加高效。
CMP Entity Bean自动升迁
对于一个按照EJB1.1规范编写的CMP Entity Bean,应用服务器在运行时将其自动升级到EJB2.0,使按照EJB1.1规范编写的EJB可以使用EJB2.0规范中提供的Lazy Loading和Smart Update技术以提高应用执行的效率,同时降低已有应用在维护上的成本。
热部署
为提高企业应用开发、调试和维护的效率,Apusic应用服务器提供了热部署的功能。在运行时,可以动态地部署和修改应用中的应用程序,无需停止和重新启动服务器即可应用新的改动。
自动迁移及部署
不同的应用服务器厂商提供的基于J2EE?规范实现的应用服务器的不同,使得多数企业应用在不同的服务器之间迁移时,需要改动一些配置,提高了应用移植的成本,Apusic应用服务器提供了自动迁移和部署的能力,对于面向其他非Apusic应用服务器开发的企业应用,可以不改动应用程序,而由应用服务器自动完成移植的工作并部署到应用服务器,大大降低了应用移植的成本。
目前对于面向Weblogic6.0和J2EE?RI开发的企业应用,可以直接使用这项功能,Apusic应用服务器还将在此项功能上添加对当前其他主流应用服务器的支持。
自动生成查询
为提高面向CMP Entity Bean的开发效率和降低开发的难度,Apusic应用服务器可为CMP Entity Bean自动生成缺省的finder query。 数据层: Apusic应用服务器模型中的数据层提供企业应用对关系型数据库和传统企业应用数据的高效而可靠的访问。使得企业应用可以通过JDBC实现对关系型数据库安全、可靠而且高效的访问。目前Apusic应用服务器提供了对最新的JDBC3.0版本的支持。任意合法的J2EE?编程模型都可以从Apusic应用服务器数据库连接池中获得对关系型数据库的连接。
按照J2EE?的规范,Entity Bean被设计为与数据库直接交互的最佳模型,但在实际的企业运用开发中,任何一种编程模型都有可能直接与数据库进行交互,针对这种情形,Apusic应用服务器提供了很多功能或特性,使对数据层访问的开发更为简单同时达到更为高效而安全的目标。
JDBC结果集缓存
对于Session Bean、JSP、Servlets为主的J2EE应用中,频繁访问数据库而缺少对应的数据缓存等机制,往往会成为企业应用的瓶颈。因此,Apusic应用服务器提供了JDBC结果集缓存技术,通过将数据库返回的结果集保存在内存中可以大幅提高应用系统的性能,同时,使用结果集缓存对应用开发者是完全透明的,保证了应用的可移植特性。
JDBC语句缓存
对于Session Bean、JSP、Servlets为主的J2EE应用中,频繁访问数据库而缺少对应的数据缓存等机制,往往会成为企业应用的瓶颈。因此,Apusic应用服务器提供了JDBC语句缓存技术,同时使用预编译的查询语句,提高应用程序访问数据库的效率。
连接池
对于复杂的企业应用而言,对数据库连接池的可靠、效率,成本都有着极高的要求,Apusic应用服务器提供了对连接资源的优化,使有限的数据库连接资源得到最大程度的利用,同时,对于应用错误使用连接造成的死锁或阻塞,提供了死锁检测的技术,而以上的特性对于用户而言是完全透明的。