首页 > OOP语言 > 其它 > 正文

使用Mule ESB与Groovy编排RESTful服务
2012-08-22 18:07:59   来源:www.bianceng.cn   评论:0 点击:

暂时无描述信息

如下代码展示了OrderMicroformatToEmailMap转换器的实现:

<scripting:transformer name="OrderMicroformatToEmailMap">
  <scripting:script engine="groovy"><![CDATA[
   def order = new XmlSlurper().parseText(payload)
   .declareNamespace(acme: 'urn:acme:order:3:1')
   result = [emailId:'OrderConfirmation',
  emailAddress:order.'acme:customerEmail'.text(),
  orderId:order.@id.text()]
   ]]>
  </scripting:script>
</scripting:transformer>

没错,就两行Groovy代码,我们使用了一个命名空间感知的XML解析器和一个map构建器。其好处真是让人难以置信,不过这就是创建map(email网关服务所期望的)所需的全部内容。

最终的REST

在本文中,我们遵循着一个事先定义好的编排,新订单资源的URL是唯一的动态元素。开发者可以利用示例中介绍的转换器和表达式来支持更多的动态交互,如果你打算遵从HATEOAS路线,你就能获得一切。如果事实如此,那其他的Mule路由就唾手可得了,比如可以创建幂等接收者的路由。你也看到了Groovy的强大功能和灵巧性加上Mule的通信能力极大地简化了与RESTful服务的交互。Mule的表达式和少量的Groovy 脚本能够有效地动态定义Mule配置。除此之外,通过使用异步的VM队列将编排的各个步骤链接起来可以在最大负荷下优雅地降级,这要归功于Mule内在的SEDA架构。

借助于这些强大的工具,集成REST资源变得非常简单了。

祝你好运!

大家可以从http://dossot.net/datastore/mule-groovy-rest.tar.gz下载完整的配置和相关的测试资源,这是一个独立的Maven项目。

相关热词搜索:

上一篇:基于WAS CE和Axis2开发Web Service应用
下一篇:通过Apache配置Rewrite实现网络服务的co-branding

分享到: 收藏