Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4022850
  • 博文数量: 626
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 11080
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-23 13:08
文章分类

全部博文(626)

文章存档

2015年(72)

2014年(48)

2013年(506)

分类: Java

2013-09-30 09:51:07

Sun Metro分析


Metro是一种高性能、可扩展、易于使用的Web Services栈。它是一个一站式的提供所有所需的Web服务,从最简单的hello world Web Services到可靠、安全、涉及.NET的事务处理的Web Services。

Metro 
Metro现在的版本为1.2,Sun公司推出。

1、Transports
Metro提供了多种传输及相关技术来向不同的服务提供有效的连接: 
· HTTP传输
    Metro既可以作为HTTP的一个客户端,又可以作为HTTP的服务器。其HTTP的Web Services可以运行在任意Servlet容器内或运行在Java SE6之上。

· MTOM和XOP
    这些规范,能够优化在SOAP 1.2有效载荷的XML内容的二进制编码。 XML结构是保存在一个基于文本的“XML信息集”中,同时使该文件的内容能够序列化到任何二进制编码。
    这些规范使得XML内容作为MIME正文部分和封装的部分内容-以及相关的XML信息集清单 - SOAP 1.2信封。
    该规范还描述了如何封装HTTP包内的XML主体部分的二进制编码。
    主要的一点是,XML的规模有所降低,使得沟通更佳有效。 

· SOAP/TCP
    通过TCP传输的SOAP技术能够高效传输SOAP消息,通过使用FastInfoset。

Metro中的传输支持是可扩展的。还有其他的传输,包括虚拟机内的传输、JMS传输、SMTP传输等。

2、Reliability
Metro的可靠性,确保系统能够从错误中得到恢复。 

可互操作的可靠性是通过实现WS - ReliableMessaging规范来完成的。在Metro中打开可靠性,当开发Web Services时,仅仅是选中一个复选框,如下面的截图所示。

互操作性设置 

3、Transaction
原子事务是一个众所周知的手段,确保事务边界内的所有动作以一致的方式成功或失败。如果其中一个操作失败,那么所有其他的操作中止。事务处理支持在Java企业版中一直是有效的,Metro提供了Web Services的事务性支持。 

在Metro中可互操作的原子事务的启用,是通过实现WS - Coordination和WS - AtomicTransactions规范完成的。

4、Security
至今Web Services还是依靠传输的安全,例如SSL提供了点对点的安全。Metro实现了WS - Security规范,提供可互操作的信息内容的完整性和保密性,即使存在中介机构。换句话说,WS - Security是不依赖于传输的安全。 WS - Security是Metro所提供的一个安全选项,现有的传输安全仍然可以使用。Metro还提供了WS - Trust规范的实现,作为发行、更新和验证安全令牌WS - Security所使用的安全性,并建立和Broker的信任关系。 

5、Core
在Metro的核心实现了JAX - WS的API,并作为所有的高级功能服务的基础。在这一层的服务,能够实现“现收现付”的模式,在这里您可以只支付所使用的performance/complexity的价格。

核心还提供了基本的互操作性的特征,例如WS - I Basic Profile,WS-I Attachments Profile和WS-Addressing。

6、JAXB/JAXP/StAX/SAAJ
Metro建立于下列依赖库之上,这些包括: 
· JAXB RI    数据绑定层
· SAAJ    SOAP消息的原始DOM访问
· Woodstox    高效XML解析 
· XML stream buffer    高效的信息集缓冲

Metro与Spring无缝集成,使开发人员能够利用Spring的功能优势,减少学习的同时开销。

Metro还提供了多种工具:
· 一个NetBeans插件使它变得轻而易举开发Web服务;
· Maven2插件;
· Ant任务

阅读(2819) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~