《Apusic 应用服务器 50技术白皮书.docx》由会员分享,可在线阅读,更多相关《Apusic 应用服务器 50技术白皮书.docx(24页珍藏版)》请在三一办公上搜索。
1、Apusic应用服务器5.0 技术白皮书1概述2006年5月,新一代Java企业级平台开发规范JavaEE 5正式通过了 JCP (Java Community Process )的批准。JavaEE 5 规范是 Java 平台在企 业级应用上的一次重大的升级,正像JavaEE 5提倡的口号:“Do more with less work ”一样,JavaEE 5的推出,标志着JavaEE平台开始朝着轻量、 敏捷的方向发展。JavaEE 5为我们带来了以下的新特性:简化的配置标志着JavaEE开发过程由繁入简的蜕变全新的EJB模型新的EJB 3.0规范,在保持并且增强了 EJB原有功能的同时,
2、其开发也变得 简单起来新的Web开发技术新纳入的JSF 1.2规范,使得Web应用的开发跨上了新的台阶 更完善的Web Services支持Web Services开发过程的简化,是JavaEE 5.0的最大特色 作为全球第四家通过JavaEE 5兼容性测试认证的产品,Apusic应用服务器 5.0不仅允许客户使用所有JavaEE 5规范的新技术特性,更提供了一组 Apusic应用服务器特有的优势技术,包括: Web 开发新变革Apusic OperaMasksApusic应用服务器5.0融合了金蝶中间件公司沉淀多年的Web开发解决方案 “Apusic OperaMasks”。Apusic O
3、peraMasks 提供了从容器级别对 Ajax 予以支持的JSF引擎,与其它Ajax解决方案相比,它对Ajax的支持是原生 的。任何JSF应用,在Apusic OperaMasks引擎上运行时,无需修改任何 代码,只需要增加一个配置参数,都能够转变成为自然而然的Ajax应用。此外, Apusic OperaMasks还拥有丰富的组件库,包括用TreeView以树结构来组 织数据,用DataGrid以表格形式展现数据,用Chart以图表形式绘制数据, 用DataView以任何你能够想到的格式来描述数据等,并且,这些Rich Components还具备换肤、自定义风格等其它特色。Apusic O
4、peraMasks技 术为Web应用开发提供了标准、开放、完整、先进的解决方案。 WebDav协议的支持JavaEE规范对应用的管理粒度为“模块”,即可以管理以war、jar、或者 ear形式组织的应用。Apusic应用服务器5.0提供了符合RFC2518的WebDav 实现,这使得对应用的管理粒度可以细致到单独的文件资源,从而使用户对大 型Web站点的内容管理工作变得更为简单与精准。 特有的 Apusic Launcher 技术常规J2EE应用服务器的Class Loader机制无法克服应用与系统之间类命 名空间相互冲突的局限,在Apusic Launcher启动模式下,Apusic应用服
5、务器5.0使用自己特有的Filter Class Loader来启动服务器和装载应用, 可有效避免应用服务器和用户应用中第三方库的冲突。完善的集群支持Apusic应用服务器5.0提供了完善的集群解决方案,包括对Web、JNDI、 EJB、JMS等JavaEE资源进行集群Apusic集群提供了创新性的设计和实现, 采用了 Client Session Cache (客户端会话缓存)等独创技术,以保障企 业应用的高可用性及水平可扩展性。 Apusic Domain 支持Apusic应用服务器5.0提供域模型(Domain)概念,使得应用服务器的管 理和部署更加简便和灵活。 可加密混淆的JSPC工具
6、使用JSPC工具发布应用时,只需发布编译好的JSP class,而不需要提供JSP 源程序文件,从而避免暴露JSP源代码。JSPC也省略了应用运行时对JSP的 编译过程,从而节省了首次编译时间。此外,Apusic JSPC工具还可以与金蝶 中间件提供的Java编译混淆器“ Jocky”联合使用,使得JSPC编译出来的 class文件不可反编译,从而有效保护客户知识产权。 对第三方Http服务器的集成Apusic应用服务器5.0有自己的Http服务器实现,但也允许用户集成使用 其它的Http服务器,以获取增值服务,例如集成Apache Http Server和 IIS 等。 支持多Selecto
7、r的多路复用服务Apusic应用服务器5.0在NIO的方式下,能够使用多个Selector来服务 用户的请求,从而在多CPU的环境下提升性能。可扩展的安全框架Apusic应用服务器5.0提供灵活的、可扩展的安全框架,能够将JavaEE的 安全认证与LDAP、数据库或其它身份验证服务器集成,提供认证和授权服务, 并与Apusic SSO紧密集成。 高度安全性国外厂商在诸如安全算法、加密位数等核心技术上是有严格的海外出口限制的, 这对我国的信息化安全是一种严重的挑战。Apusic应用服务器5.0完整实现 了 Java安全框架,包括Java认证和授权服务(JAAS)、Java安全套接字 扩展(JSS
8、E)和 Java 加密扩展(Java Cryptography Extension,JCE), 加密位数不再受任何限制,从而更好的保护我国企业、政府的信息安全。 远程监控和管理工具Apusic应用服务器5.0提供了丰富的远程监控和管理工具,可以监控应用服 务器内存、线程、资源、类装载等状态。可靠、高效的消息传输机制Apusic应用服务器5.0提供了可靠、高效的JMS实现,构建于成熟的、经过 实践验证的Apusic消息中间件之上,并提供了标准之外的增强功能,诸如智 能路由、集群队列等。开发工具的良好支持Apusic Studio集成开发环境基于Eclipse平台技术,为Apusic应用服务 器提
9、供了良好的支持。使用Apusic Studio,可快速的构建基于JavaEE 5 的应用,并能将应用方便的部署到Apusic应用服务器中,大大提升应用开发 效率。Apusic应用服务器5.0通过JavaEE 5规范兼容性认证,为复杂应用提供了 一个敏捷、快速、健壮、高效的开发和运行平台,对于分布式的企业级应用, 提供了易扩展、可伸缩和高安全性等特性。本文将介绍Apusic应用服务器5.0 的体系结构及其提供的服务和功能,从而展示Apusic应用服务器对大型应用 系统的支持能力。2体系结构Apusic应用服务器5.0是通过JavaEE 5兼容认证的JavaEE应用服务器产品, 构建于金蝶中间件特
10、有的Apusic Core微内核体系之上,图一展示了 Apusic应用 服务器5.0的体系结构。而顽RScb:Sg 虹A.jkjkI fEe tgnliinerAdmin GUIHTTPSen ctM uiiniiiiunLikploj Mouicnicnl Scn-iwMoihikM Sm jApujtitf InMunLtMCVSevuriiy l-njin urkNpg.、山 1Security 黑屿1应面,AiJtRin 汹wJSF EngineLeix- dueAjjw其邹ELDAP图一 Apusic应用服务器5.0体系架构2.1术语:Apusic服务器、Apusic域和Apusic
11、实例要能正确理解Apusic应用服务器的体系结构,需要首先理解Apusic服务器、 Apusic域和Apusic实例等术语。 Apusic 服务器(Apusic Application Server)Apusic服务器是指Apusic应用服务器的物理部署单元。直观的来说,就是 Apusic应用服务器在硬件机器上的一个物理安装。 Apusic 域(Apusic Domain)Apusic域是一个逻辑的管理配置单元。一个Apusic域包含着一组配置,这 些配置可以被多个Apusic实例(Apusic Instance)共享。每个Apusic 域都有自己的一个或多个Apusic实例。Apusic域可
12、以将自己的Apusic实 例委托给其它Apusic域管理,也可以接受其它Apusic域委托,管理委托者 的Apusic实例。 Apusic 实例(Apusic Instance)Apusic实例是一组运行的进程,为用户提供应用服务器的各种服务。Apusic实例受到Apusic域的管理并使用它的配置。通过Apusic域模型,部署在不同物理位置上的Apusic实例,可以共享一套 公用配置。同时,可以在单一节点上,通过一个Apusic域统一管理多个Apusic 实例。这使得Apusic应用服务器的部署和管理变得简单和灵活。2.2 Apusic体系结构组成Apusic应用服务器5.0的体系结构分成如下
13、组成部分: Apusic Core微内核体系 容器基础服务 Web Services安全框架 管理和监控集群服务接下来的章节,我们将对上述组成部分分别进行介绍。3 Apusic Core 微内核体系在Apusic应用服务器5.0中,各项服务以可插拔的方式加入服务器并提供 服务,而Apusic Core微内核体系则为这些服务解决资源、线程、事务、通 讯等关键领域问题,如此一来,能够从一定程度上屏蔽应用给引擎带来的干扰, 并能够有效降低开发成本,带来长远利益。资源:Apusic Core对以下资源进行统一管理:JDBC Resources、JCA Resources、 JMS、URL、Java M
14、ail、Resource Environment 等。线程:Apusic Core提供高效稳定的线程池服务,对线程进行管理,维护线程的生命 周期,处理高并发请求。事务:Apusic Core提供的事务管理器可进行全局事务管理,可管理的事务资源包括 数据库连接池、消息和符合J2EE连接器架构(J2EE Connector Architecture, JCA)的资源等。通讯:Apusic Core负责处理Apusic应用服务器与客户端的通讯,支持HTTP、 HTTPS、RMI / IIOP等通信协议,并且,通过Apusic通讯协议框架,能够轻 松实现对其它协议的支持。4容器JavaEE容器为Jav
15、aEE应用提供了运行的基础环境。Apusic应用服务器5.0包括 如下类型的容器:Web容器、EJB容器 和Client容器。4.1 Web容器Apusic应用服务器5.0提供的Web容器,用于处理客户端发出的静态和动态 Web内容请求,它包括: JSP/Servlet 弓 |擎:JSP/Servlet引擎负责解析JSP页面,以及执行和管理Servlet组件。Apusic 5.0 兼容 JavaEE 5 标准,实现了对 Servlet 2.5 和 JSP 2.1 的 支持,并提供向下兼容的能力。 JSF引擎Apusic JSF引擎包括以下的特性:容器级别的AJAX支持:在设计时,充分考虑对AJ
16、AX的支持,无需任何配置即 可实现AJAX效果,开发扩展AJAX组件也更加容易。简化的ManagedBean管理: 使用JDK1.5的annotation,在类上标注 ManagedBean即可将一个POJO定义为ManagedBean,省去了维护 faces-config.xml 的烦恼。扩展的导航机制:扩展了标准的JSF导航机制,除了允许使用导航配置规则中 的view-id进行导航外,Apusic JSF也允许直接使用页面地址导航。增强的布局和模板组件:Apusic JSF提供的布局和模板组件,提供了强大的 页面布局管理能力。扩展的富客户端组件:Apusic JSF提供了一组扩展的富客户端
17、组件,包括 DateField,TabBox,Menu,Tree, DataGrid 等。统一的资源和皮肤管理:Apusic JSF提供了统一的资源和皮肤管理机制,具 有良好的扩展性。使用者可以根据应用需求制作自己的界面皮肤,将制作好的 皮肤打包成jar放在应用中即可。虚拟主机虚拟主机是指能在单机上模拟多个主机的服务能力。在Apusic服务器中,我 们能够将指定的某些J2EE应用与虚拟主机关联起来。当用户对虚拟主机发出的 请求,实际上是对该J2EE应用的请求,同时该虚拟主机的资源无法通过其他的 方式进行访问。从而有效实现了在共享硬件与软件资源的情况下,模拟多个主 机服务用户请求的效果。 Htt
18、p Connector虽然Apusic 5.0自己可以处理静态Http内容请求,但在很多情况下,用户 会选择使用其它的Http Server来处理静态Http内容请求。Apusic 5.0 提供了一组Http Connector,可以很容易的将其它的Http Server产品, 如Apache Http Server和IIS等,集成至U Apusic 5.0应用服务器中。 WebDav的支持WebDav (Web-based Distributed Authoring and Versioning)是 一组Http协议的扩展,允许你从远程访问和修改Web站点上的内容。Apusic 5.0提供了
19、自己的WebDav实现,这使得对大型Web站点的内容管理工作变得 更为简单。4.2 EJB容器EJB Container为EJB提供部署和管理需要的所有运行时服务,并为Enterprise Java Bean对象提供对象池、多线程、分布式、安全控制、事 务支持和生命周期管理等底层服务,同时管理JPA对象、CMP对象的数据存储 与提取。Apusic应用服务器5.0支持EJB最新规范3.0版本,包括: Session BeanSession Bean通常被用于实现业务过程逻辑,它可被视为客户端程序在服务 器上的部分逻辑延伸。根据Session Bean保持会话状态的方式,可分为有状 态的和无状态的
20、Session Bean。Session Bean是非持久的,其状态不被 保存到持久存储机制(如数据库、文件系统)中,尽管Session Bean本身 可以执行对数据库的操作,但它并不是一种持久对象的表示。Apusic应用服务器5.0对予Session Bean有完整的支持。 Message-Driven Bean作为一种具有JMS使用者(consumer)功能的Enterprise Bean组件模型, Message-Driven Bean由EJB容器进行管理,具有一般的JMS使用者 (consumer)所不具有的优点,如对于一个Message-driven Bean,容器可 创建多个实例来
21、处理大量的并发消息,而一般的JMS使用者(consumer)开 发时则必须对此进行处理才能获得类似的功能。同时Message-Driven Bean 可取得EJB所能获得的标准服务,如容器管理事务等服务。Apusic应用服务器5.0对予Message-Driven Bean有完整的支持。 JPAJPA是EJB 3.0中用来替换Entity Bean的新的编辑模型。相对于Entity Bean,JPA是一种轻量的O/R-Mapping解决方案。Apusic应用服务器5.0 允许以可插拔的形式替换JPA实现,默认情况下,Apusic应用服务器集成了 TopLink作为JPA的默认实现。此外,Apu
22、sic应用服务器5.0提供向下兼容能力,任何符合EJB 1.X或者 EJB 2.x的应用,可以无缝移植到Apusic应用服务器5.0版本。4.3 Client 容器Client Container是由一组Java类和XML部署描述符组成,它同客户端 应用一起运行在客户端的Java虚拟机中,管理应用客户端组件的执行。像其他 JavaEE应用组件一样,应用客户端的执行依赖于客户端容器提供的系统服务。 客户端容器和Apusic应用服务器通讯使用RMI/IIOP。和其他服务器端的 JavaEE容器相比,客户端容器可以说是相对简单的容器。客户端容器提供的系统服务有:创建客户端运行环境,负责和应用服务器进
23、行通讯。提供JNDI包装,使客户端能够通过Naming串绑定形式定位资源 认证客户端。应用客户端容器自动完成JAAS用户认证。4.4容器Session管理 Session存储形式Session是指用户与服务器之间的会话信息,Apusic应用服务器为Session 提供了一系列管理手段。In-memory Cache: Apusic应用服务器将Session缓存在内存中,以保证 Session访问的效率。存储:当Session数量超过默认缓存大小,Apusic应用服务器会将内存中的 Session持久化到存储介质中,并根据Session的活跃性对存储中的 Session和缓存中的Session进
24、行交换。管理员可配置Session缓存池的的 大小。Apusic应用服务器支持的Session持久化包括文件系统、RDBMS、 BerkerlyDB,管理员可通过管理工具切换Session的存储方式。如果Session中的数据非常重要,即使服务器失效,这些数据也不能丢失,那 么建议采用数据库来持久化Session。Session Failover在集群环境中,当一个Apusic实例(Apusic Instance)失效时,它原来 服务的所有用户的请求,将会由集群内的另一个Apusic实例响应。这个过程 对用户来说要求是透明的,这意味着用户的会话信息在此情况下不能丢失。 Apusic提供内存复制
25、、Session迁移、数据库存储等多种技术来保证Session 的失败恢复。内存复制:Apusic集群中的任意Apusic实例可通过内部的复制技术,在网 络中复制集群内另一个Apusic实例的Session信息,从而在该实例内存中形 成另一个Apusic实例的Session备份。当某Apusic实例失效时,另一个 Apusic实例会接收此实例原来服务的请求,整个过程对用户是透明的,用户感 觉不到原先对他进行服务的Apusic实例已经失效。Session迁移:Session迁移是指在集群中使用Apusic负载均衡器来转发 请求时,所采用的Session Failover技术。负载均衡器负责将失效
26、的Apusic 实例中的Session迁移到另一个Apusic实例中。数据库存储:如果集群中的Apusic实例不使用In-memory Cache缓存 Session,而使用数据库作为Session的存储中心。这时,由于Session不 在Apusic实例中存储,因此,Apusic实例失效不会影响Session的使用。 Session Stick: Apusic集群中的负载均衡器,比如Apache或Apusic Load Balancer,在转发用户请求到集群内的Apusic实例中时,总是将一个用户的 请求固定的转发到第一次响应他的Apusic实例中,这就是Apusic集群的 Session
27、Stick。这可以避免频繁的Session迁移,减小网络和服务器的负 担。Session Timeout: Apusic应用服务器可以对部署在其上的Web应用的 Session超时时间进行全局的设置,也可以对每个应用的Session超时时间 进行单独的设置。Stateful Session Bean:在单个 Apusic 实例时,SFSB ( Stateful Session Bean)的Session状态保存在服务器端的SFSB对象实例中。而在 Apusic集群中,采用创新的CSC(Client Session Cache)技术保存SFSB 的状态。CSC直接将Session状态保存在客户端
28、,当服务器失效时将Session 状态转移到可用的服务器上。SFSB的特点决定了 CSC技术是有效的,根据EJB 规范,一个SFSB仅限于单个客户使用,不存在共享的情况,因此只需要在客户 和服务器之间共享Session状态,而不需要在服务器之间共享Session状态。 CSC避免了 Session状态发生改变时,在集群节点之间频繁的Session复制, 提升了集群的性能。i=i5基础服务5.1 JCA服务J2EE连接器架构是为了和传统的应用系统进行连接定义的一套标准的架构。它定义 了一套可升级的,安全的,能基于事务的机制,以便J2EE平台可以和传统的应用系 统进行整合。J2EE连接器架构还定义
29、了公用客户端接口,使其它平台的应用能访问 J2EE平台。对于不同的应用,Apusic应用服务器需要其提供资源适配器,Apusic 应用服务器能将符合规范的资源适配器插入应用服务器,以达到应用服务器访问异构 系统的目的。Apusic应用服务器目前提供了 JCA 1.5的完整实现。5.2命名服务由于J2EE应用的关键特性是分布式的,其提供的服务可能分布在任何一个机器或网 络,应用的开发统一通过 JNDI (Java Naming and Directory Interface) 来获得服务,开发者在开发时可以不用关心服务的物理位置。Apusic完全支持使用JNDI 1.2,并且开发完成后,部署者(
30、Deployer)可以在部 署工具中配置应用所需要的环境、资源、服务,使应用获得所需的分布式服务,完成 最终运行环境的建立。5.3 JTA服务J2EE中对于事务的处理是分布式的,Apusic应用服务器完全提供对XA事务的支 持。为了简化开发者对事务的处理,Apusic应用服务器在EJB容器中提供容器管 理事务(Container Managed Transaction),应用开发者使用EJB 管理数据 即自动获得了事务的保证,由于EJB容器对数据库的管理是分布式的,开发者由此 自动获得了对应用开发较为困难的分布事务管理能力,这一切都由应用服务器完成。 为保证应用数据和业务逻辑的的完整性,除了提
31、供完全符合规范和强壮的事务管理器 之外,Apusic应用服务器还提供了强壮而灵活的事务构架。JTA(Java事务API) 对数据的完整性起到关键作用,Apusic支持的事务包括EJB,JMS,JCA,JDBC等。 支持分布式事务,两阶段提交。5.4死锁检测Apusic应用服务器能够根据资源等待图自动检测出死锁状态,当事务发生死锁时将 其中一个事务回滚,以释放事务所占用的资源,使其他事务能够继续执行。5.5并发控制Apusic应用服务器提供了灵活和强壮的并发控制机制,单独分离出了并发控制部分, 可以使用插件的形式同时提供多种并发控制协议。5.6 JMS全局事务Apusic应用服务器提供了一个作为
32、事务性资源管理器的JMS提供者(Provider), 允许从JSP, Servlet, EJB等应用组件中对JMS进行事务性的访问。同时,从一 个单一事务边界中允许多个应用组件访问JMS提供者。5.7 JDBC数据源服务Apusic应用服务器模型中的数据层提供企业应用对关系型数据库和传统企业应用 数据的高效而可靠的访问。使得企业应用可以通过JDBC实现对关系型数据库安全、 可靠而且高效的访问。目前Apusic应用服务器提供了对最新的JDBC3.0版本的支 持。任意合法的J2EE编程模型都可以从Apusic应用服务器数据库连接池中获得 对关系型数据库的连接。Apusic应用服务器提供了很多功能或
33、特性,使对数据层访 问的开发更为简单,同时达到更为高效和安全的目标。5.8 JDBC结果集缓存对于Session Bean、JSP、Servlet为主的J2EE应用中,频繁访问数据库而缺 少对应的数据缓存等机制,往往会成为企业应用的瓶颈。因此,Apusic应用服务器 提供了 JDBC结果集缓存技术,通过将数据库返回的结果集保存在内存中,可以大幅 提高应用系统的性能,同时,使用结果集缓存对应用开发者是完全透明的,保证了应 用的可移植特性。5.9 JDBC语句缓存企业应用频繁对数据库的访问,往往会成为企业应用的瓶颈。因此,Apusic应用服 务器还提供了 JDBC语句缓存技术,同时使用预编译的查询
34、语句,提高应用程序访问 数据库的效率。5.10消息服务JAVA消息服务(JMS)定义了 Java中访问消息中间件的接口。消息中间件提供数据 的异步传输,通过消息中间件,一些原本互相孤立的业务组件可以组合成一个可靠的、 灵活的系统。消息中间件分为两类:Point-to-Point(PTP)和 Publish-Subscribe(Pub/Sub)。PTP是点对点传输消息,建立在消息队列的基础上,每个客户端对应一个消息队列, 客户端发送消息到对方的消息队列中,从自己的消息队列读取消息。Pub/Sub是将消息定位到某个层次结构栏目的节点上,Pub/Sub通常是匿名的并能 够动态发布消息,Pub/Sub
35、必须保证某个节点的所有发布者(Publisher)发布的信 息准确无误地发送到这个节点的所有消息订阅者(Subscriber) 0Apusic应用服务器支持以上两种模型,并完全实现了 JMS1.1版本。5.11 JavaMailJavaMail是一个用于阅读,编写和发送电子消息的API,可以用来建立基于标准的 电子邮件客户机,它支持各种因特网邮件协议,包括 SMTP,POP,IMAP,MIME,NNTP,S/MIME 及其他协议。Apusic服务器支持所有邮件协议,并完全支持JavaMail 1.4版本。5.12 JMXJMX ( Java Management Extensions, 即 J
36、ava 管理扩展)是一个为应用程序、 设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体 系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。基于JMX 架构的Apusic应用服务器具备高度可管理性。而服务器基于JMX的体系架构,也带 来管理的便利性与可靠性。我们可以通过JMX管理获取服务器的运行现状,并能够通 过微内核所提供的诊断数据了解服务器的健康水平。6 Web ServicesWeb Services是一种自包含、模块化的应用,且能够在网络上发布、定位和调用。 Web Services是一种发展中的用于实现服务驱动架构(SOA)的技术,其注意力
37、主要 集中于如何使应用功能模块能够通过标准的互联网协议进行互用,而与运行平台、编 程语言等无关。6.1 Web Services 引擎Apusic应用服务器5.0提供了符合JavaEE 5及相关规范的Web Services 服务支持。Apusic对Web Service的支持包括: JAX-WS 规范J2EE 1.4 使用 JAX-RPC 作为 Web Services 的 API 规范,Java EE 5 弓I 入了 Java API for XML-Based Web Services (JAX-WS规范。这个规 范是对JAX-RPC扩展,由一系列相关规范整合而成,包括JAX-WS 2.
38、1、JAXB 2.0、 SAAJ 1.3等等,用于取代原有的JAX-RPC规范。Apusic Web Services引擎完全支持JAX-WS规范,同时向下兼容JAX-RPC规范。Apusic应用服务器5.0的Web Services引擎具有以下特性:UDDI (Universal Discovery Description and Integration) UDDI提供了在互联网上进行全球范围的业务注册并相互发现的开放式注册框 架。 JAXB 2.0JAXB 2.0定义了 Java与XML数据绑定规范,并提供了 Java与XML间双向 的自定义数据绑定规则。它提供了一种简便的方法,通过使用J
39、ava对象来处理 XML文档。 SOAP 1.2SOAP定义了在HTTP协议上通过XML实现跨系统信息交换的轻量级协议。 SAAJ (SOAP with Attachments API for Java)SAAJ为Java平台提供了在互联网上发送XML文档的标准方法。 支持元数据注解 (Metadata annotation)JAX-WS定义了 Java语言注解(JSR 175) 在 Web Services中的应用,并支 持Java平台Web Services注解(JSR 181),使客户端与服务器端应用开 发更为方便简洁。 支持 WS-I Basic Profile 1.1WS-I BP
40、是由 Web Services 可互用性组织(Web Services Interoperability Organization)整理的一系歹U非其私有的规范集合, 并对这些规范进行了阐明、修正、扩展等,用于提高Web Services的可互用 性。异步操作加入了对客户端异步操作的支持。加强了对非HTTP传输机制的支持JAX-WS增强了 XML消息与底层传输机制的分离,简化了非HTTP传输的使用。基于消息的会话管理JAX-RPC 1.1的会话(Session)管理依赖于HTTP协议。JAX-WS 2.0加 入了对基于消息的会话管理的支持。 对 Web Services for Java EE
41、 的支持Apusic 应用服务器 5.0 遵循 Web Services for JavaEE 规范(JSR109), 允许建立基于JavaEE组件架构的Web Services服务架构,提供了一个可在 多应用服务器间移植和互动的客户端与服务器端编程模型。这个模型提供了可 扩展的安全环境,并为JavaEE开发人员所熟悉。在客户端,允许服务客户通过JNDI查找来获取服务接口 (ServiceInterface)或服务端点接口(Service Endpoint Interface) 0 服务客户 还可使用WebServiceRef注解来注入服务或服务端点。Apusic应用服务器 扮演中间代理的角色
42、,保证JNDI查找在web容器、EJB容器以及客户端容器 中顺利进行。在服务器端,允许服务提供方使用无状态会话Bean来作为服务实现Bean(Service Implementation Bean),在实现服务逻辑过程中,可查找或 请求容器注入上下文实例,访问容器所提供的各种资源与服务。Apusic应用服 务器自动管理服务实现Bean的生存周期与实例池。Apusic应用服务器还为所部署的Web Services提供基于Java EE规范的 安全环境。包括JavaEE身份验证与授权模型。 Apusic应用服务器的消息安全机制Apusic应用服务器采用OASIS的Web Services安全标准(
43、WS-Security), 这是一套为可交互的Web Services安全性而订的国际标准,由加盟OASIS 的主要网络服务技术提供商共同制定。Web Services安全标准是一套使用XML加密技术与XML数字签名技术的消 息安全机制,保证在SOAP协议上的消息安全性。消息安全机制将安全信息插入 到消息中,伴随消息一起传输到发送目的地。消息安全机制独立于传输层安全 机制,因此能保证在传输完成后,消息仍然是受保护的。Apusic应用服务器遵循Web Services安全标准,支持多种安全标识 (Token),包括X.509 认证,SAML 断言,Username/Password标识等,来 验
44、证与加密SOAP上的Web Services消息。 UDDIUDDI提供了一个基于XML,可以让全球范围的业务注册并相互发现的开放式注册框架,其最终目的是允许不同公司的业务系统能在全球互联网上相互发现, 共享描述信息并协同工作,简化在线事务处理。Apusic应用服务器5.0支持 全部 UDDI V3 API 以及部分 UDDI V1 与 UDDI V2 API。同时,Apusic 应 用服务器5.0中整合了符合UDDI V3标准的UDDI注册服务。7安全框架对于企业应用而言,应用服务器所能提供的安全方面的功能,是保证企业应用 数据完整、逻辑完整和减少被入侵可能的重要特性。针对多层的分布式企业应
45、 用的安全要求,Apusic应用服务器提供了可靠高效的安全构架。同时,为应 用程序的加密需求提供了一个安全、强壮、高效的JCE(Java Cryptography Extension)提供者。同时,Apusic5.0应用服务器以一种可靠的安全框架实现对资源(Web资源, EJB资源,数据源资源)进行有效保护,Apusic应用服务器的安全框架提供了 灵活,易于扩展的机制,并允许用户实现自己的安全认证服务。 JAVA授权和鉴定服务(JAAS)JAVA授权和鉴定服务(JAAS)是基于用户的访问控制,即根据谁在运行代码 来进行授权。JAAS认证被实现为可插入的方式,允许应用程序与具体认证技术 保持独立
46、,新增或者更新认证方法并不需要更改应用程序本身。JAAS目前已经整合进了 Java 2 SDK 1.4及以上版本,作为标准的用户认证 与授权模型。Apusic应用服务器也提供了 JAAS的实现。 JavaEE容器的授权合约(JACC)JavaEE容器的授权合约(JACC),定义了 J2EE容器和外部授权系统之间的 合约,定义了外部授权提供者如何与J2EE进行交互,以达到使用其它授权系 统的目的。例如,J2EE和网络管理系统的结合等。Apusic应用服务器提供了 JACC1.0的完整实现。 Apusic Security ExtensionsApusic Security Extensions即
47、Apusic应用服务器的安全扩展特性, Apusic服务器提供了一套方便、灵活的安装机制能够用于处理Apusic应用 服务器本身的安全,同时也提供了与第三方安全验证产品整合的能力,如:LDAP、 数据库系统、Sun Access Manager等,共同完成身份验证和授权工作。同 时,Apusic应用服务器所提供的安全扩展功能,允许开发自己的安全提供程序, 来完成与自己的特有系统进行安全整合。 Apusic SSOSSO全称Single Sign On,即单点登录,是目前比较流行的企业业务整合的 解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以 访问所有相互信任的应用系统。
48、Apusic SSO提供了单点登录的解决方案,市 场上所提供的单点登录产品有Yale CAS,OpenSSO, Sun Access Manager 等,Apusic应用服务器能够有效地与这些产品整合.身份鉴定Apusic应用服务器提供了面向用户、调用过程和客户端调用等方式的身份鉴 定,通过使用用户名和密码、证书等等方式,将合法的应用用户和调用程序与 非法的入侵者区分开来。授权授权是使企业应用的完整性和安全性得以保证的重要因素,Apusic应用服务 器对企业应用的授权策略提供了易于配置和修改的方法与工具,同时提供了可 靠安全的授权机制。加密对于企业应用中的敏感数据的保存和交换,Apusic提供了高效可靠的加密机 制。Apusic安全服务提供了数字签名、消息摘要、消