Sun Metro分析

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/4792762 Sun Metro分析Metro是一种高性能、可扩展、易于使用的Web Services栈。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/4792762

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任务

目录
相关文章
|
4月前
|
Linux C# Android开发
一个开源、跨平台的.NET UI框架 - Avalonia UI
一个开源、跨平台的.NET UI框架 - Avalonia UI
171 3
|
5月前
|
前端开发 Linux API
Avalonia:一个.NET跨平台UI框架
Avalonia:一个.NET跨平台UI框架
175 0
|
开发框架 Java .NET
Mono 现状与未来: 从 Xamarin 到 WebAssembly、Blazor 及.NET 5
  本文要点:   Mono 项目始于 2001 年,是首个面向.NET 应用程序的多平台、开源框架的项目。Xamarin 和 Blazor 分别代表了微软在移动和 Web 应用程序方面的努力,它们都是基于 Mono 并由 Mono 提供支持的。.NET 5 为用户提供了两种运行时选项:高性能的 CoreCLR(用于服务器和桌面应用程序)和轻量级的 Mono(用于移动设备和 WebAssembly)。尽管 Mono 已经是.NET 的一部分了,但仍有一些开发工作要致力于改善 Mono 的运行时性能和垃圾回收器。现在.NET Core 可以与 Mono 并行安装了,因此可以一起演进语言和运行时
1173 0
Error:(6, 24) java: 程序包com.sun.glass.ui不存在
Error:(6, 24) java: 程序包com.sun.glass.ui不存在
|
Linux C# Docker
推荐一款基于.Net Core开发简约漂亮的 WPF UI库
这是一款使用简单、UI评论的WPF UI库,借鉴了多个开源框架。UI简单清晰、大气。
910 0
推荐一款基于.Net Core开发简约漂亮的 WPF UI库
|
JavaScript Linux 开发工具
APICloud-Tools-Core-APICloud 开发工具核心库
APICloud 开发工具核心库,支持新建页面模板,新建应用模板,WiFi 同步等核心功能。 开发者可基于此核心库,定制各种编辑器插件或者将 APICloud 的开发调试功能与已有的自动化业务流程结合,提升开发效率。
147 0
|
Java Android开发 开发工具
IBM,SUN,JAVA,ECLIPSE原来也有小故事
JAVA当然是SUN公司的编程作品了。 而ECLIPSE当然是IBM作的开发IDE工具了。JAVA实际应用多半是以它为基础+插件来编写代码的。 呵呵,SUN当然是太阳的意思了。 而Eclipse是日蚀的意思,针对sun公司,而起的名字。 这个小典故,倒是刚刚才知道。。。
1392 0
|
开发工具
一起谈.NET技术,Silverlight实例教程 - Out of Browser与Office的互操作
  Silverlight 实例教程索引 Silverlight 实例教程 - Out of Browser开篇 Silverlight 实例教程 - Out of Browser配置,安装和卸载 Silverlight 实例教程 - Out of Browser的自定义应用 Silverligh...
1043 0
|
Web App开发 .NET 数据库
艾伟:Microsoft .NET RIA Services快速上手
在MIX 09上,Nikhil Kothari发布了微软的一神作——Microsoft .NET RIA Services。虽然目前的版本仅仅是可怜的"March '09 Preview”,但它已经足够让人兴奋不已。
1471 0