1.6. Web Services

Web Services是一种自包含、模块化的应用,且能够在网络上发布、定位和调用。Web Services是一种发展中的用于实现服务驱动架构(SOA)的技术,其注意力主要集中于如何使应用功能模块能够通过标准的互联网协议进行互用,而与运行平台、编程语言等无关。

1.6.1. Web Services引擎

Apusic应用服务器5.1提供了符合JavaEE 5及相关规范的Web Services服务支持。Apusic对Web Service的支持包括:

1.6.1.1. JAX-WS 规范

J2EE 1.4使用JAX-RPC作为Web Services的API规范,Java EE 5引入了Java API for XML-Based Web Services (JAX-WS)规范。这个规范是对JAX-RPC扩展,由一系列相关规范整合而成,包括JAX-WS 2.1、 JAXB 2.0、 SAAJ 1.3等等,用于取代原有的JAX-RPC规范。Apusic Web Services引擎完全支持JAX-WS规范,同时向下兼容JAX-RPC规范。

遵循JAX-WS规范,Apusic应用服务器5.1的Web Services引擎具有以下特性:

  • UDDI (Universal Discovery Description and Integration)

    UDDI提供了在互联网上进行全球范围的业务注册并相互发现的开放式注册框架。

  • JAXB 2.0

    JAXB 2.0定义了Java与XML数据绑定规范,并提供了Java与XML间双向的自定义数据绑定规则。它提供了一种简便的方法,通过使用Java对象来处理XML文档。

  • SOAP 1.2

    SOAP定义了在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.1

    WS-I BP是由Web Services可互用性组织(Web Services Interoperability Organization)整理的一系列非其私有的规范集合,并对这些规范进行了阐明、修正、扩展等,用于提高Web Services的可互用性。

  • 异步操作

    加入了对客户端异步操作的支持。

  • 加强了对非HTTP传输机制的支持

    JAX-WS增强了XML消息与底层传输机制的分离,简化了非HTTP传输的使用。

  • 基于消息的会话管理

    JAX-RPC 1.1的会话(Session)管理依赖于HTTP协议。JAX-WS 2.0加入了对基于消息的会话管理的支持。

1.6.1.2. 对Java EE 5.0的支持

Apusic应用服务器5.1遵循Web Services for JavaEE规范(JSR109),允许建立基于JavaEE组件架构的Web Services服务架构,提供了一个可在多应用服务器间移植和互动的客户端与服务器端编程模型。这个模型提供了可扩展的安全环境,并为JavaEE开发人员所熟悉。

在客户端,允许服务客户通过JNDI查找来获取服务接口(Service Interface)或服务端点接口(Service Endpoint Interface)。服务客户还可使用WebServiceRef注解来注入服务或服务端点。Apusic应用服务器扮演中间代理的角色,保证JNDI查找在web容器、EJB容器以及客户端容器中顺利进行。

在服务器端,允许服务提供方使用无状态会话Bean来作为服务实现Bean(Service Implementation Bean),在实现服务逻辑过程中,可查找或请求容器注入上下文实例,访问容器所提供的各种资源与服务。Apusic应用服务器自动管理服务实现Bean的生存周期与实例池。

Apusic应用服务器还为所部署的Web Services提供基于JavaEE规范的安全环境。包括JavaEE身份验证与授权模型。

1.6.1.3. Apusic应用服务器的消息安全机制

Apusic应用服务器采用OASIS的Web Services安全标准(WS-Security),这是一套为可交互的Web Services安全性而订的国际标准,由加盟OASIS的主要网络服务技术提供商共同制定。

Web Services安全标准是一套使用XML加密技术与XML数字签名技术的消息安全机制,保证在SOAP协议上的消息安全性。消息安全机制将安全信息插入到消息中,伴随消息一起传输到发送目的地。消息安全机制独立于传输层安全机制,因此能保证在传输完成后,消息仍然是受保护的。

Apusic应用服务器遵循Web Services安全标准,支持多种安全标识(Token),包括X.509认证,SAML断言,Username/Password标识等,来验证与加密SOAP上的Web Services消息。

1.6.2. UDDI

UDDI提供了一个基于XML,可以让全球范围的业务注册并相互发现的开放式注册框架,其最终目的是允许不同公司的业务系统能在全球互联网上相互发现,共享描述信息并协同工作,简化在线事务处理。Apusic应用服务器5.1支持全部UDDI V3 API以及部分UDDI V1与UDDI V2 API。同时,Apusic应用服务器5.1中整合了符合UDDI V3标准的UDDI注册服务。