欢迎来到天天文库
浏览记录
ID:9752075
大小:57.50 KB
页数:7页
时间:2018-05-07
《使用 apache synapse 将现有的系统转化为 soa 平台》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、使用ApacheSynapse将现有的系统转化为SOA平台 ApacheSynapse的概述 Synapse是一个简单的XML和L消息的能力。 ApacheSynapse项目最近发行了版本1.0。 将您现有的系统转化为SOA平台 大多数公司热衷于将它们现有的中间件转换为SOA平台,通常这需要花费很大的代价。ApacheSynapse是一个简单的、高质量开放源代码的替代方法,为实现SOA提供了一种途径,它可以公开现有的应用程序,而无需重新编写任何代码。重用、集成、管理和控制与现有应用程序的交互,而无需对它们进行更改,这种能力使得Synapse成为一项颇
2、具吸引力的选择、以及实现SOA策略的关键途径。 不幸地是,ESB概念定义得非常糟糕。然而,我们提供了一个简单的、实际的定义:连接、转换、管理。 ESB模型促进了与服务契约和与服务契约相关联的元数据的基于SOA的集成,如L和essaging和L/HTTP服务前面直接放置一个Synapse实例,您就可以添加对L文档,然后再从响应中获取XML文档。 SOAP是一种通用的、传输方法独立的消息传递格式。因为它与平台、传输方法和语言无关的本质,所以它已被许多应用程序所采用,从帮助eBayPoS)、邮件、XML/HTTP和SOAP,其核心仍然使用了SOAP模型。这意味
3、着什么呢?从最基础的角度而言,这意味着有反映SOAP信封的内部数据结构。例如,to和replyTo地址使用S。此外,可以通过编写自定义中介对其进行扩展。 通用数据模型 勿庸置疑,目前XML已经成为通用数据格式,受到几乎所有编程语言的广泛认可和支持。这使得异类应用程序能够使用共同的数据模型来传递数据,而任何语言都可以很容易理解这个数据模型。在Synapse中,所有的内容都是与XML有关的,并且其思想是在网络中尽可能地使用XML,从而将您的整个网络变为一个总线。这样做的原因之一是,网络中所有的XML交互构成了ESB,可以使用Synapse对这个总线进行管理(请
4、参见图2)。 图2.ApacheSynapseESB模型 Synapse部署模型 可以使用不同的方法来部署Synapse。部署Synapse的最简单的方法是使用代理概念。 Proxy模型 在代理模型(如图3所示)中,您明确地定义一个新的端点(代理),Synapse在该端点上进行侦听。实际上,这就像一个新的服务,除了服务逻辑是通过远程服务来实现之外。在这个模型的最简单的实例化过程中,您可以直接将代理侦听器连接到远程端点。然而,即使在这种简单的情况下,您也可以完成一些有价值的事情。例如,您可以在XML/HTTP、SOAP以及JMS之间进行切换。您可以打开
5、或者关闭某些协议,如essaging和WS-Security。并且在Synapse1.0发行123下一页....,。版中,您可以在这些协议之间定义一组相同的服务并平衡负载。 图3.代理模型 基于策略的部署 在这一方法中,您可以对客户端进行配置,以便将所有的消息发送到Synapse。例如,Synapse可以作为一个HTTP代理。这是非常方便的,因为几乎每个L/JMS。使用这种方法,可以对更大范围的客户端公开遗留的资源,包括AsynchronousJavaScript+XML(Ajax)应用程序和移动设备。 管理 Synapse为管理策略和服务的其他方面
6、提供了一致的模型。通过将Synapse作为中间层,您可以控制诸如身份验证、审核、日志之类的方面,或者诸如故障转移和负载平衡之类的QoS方面。这使得您的组织可以更高效且更有效地管理资源。可以通过配置一个简单的XML文件来启用所有这些特性,而无需编写任何代码。 下面提供了一些示例: 可以将personal的请求进行身份验证、日志记录、以及随机地进行日志记录和审核标注。 可以对suppliers?category=XXXX应用中介,以便根据供应商类别添加不同的策略。例如,如果category=silver,那么供应商的信用额度是5000;如果category=
7、gold,那么供应商的信用额度可以是10000。 转换 Synapse可以将您的遗留应用程序转换为先进的L映射为JavaScript 使用传统的Java对象(POJO),您可以在其中编写Java逻辑,以便对消息进行操作 将JSON映射为XML,其中可以将JSON/HTTP流作为SOAP消息发送,反之亦然 执行附件中介,其中可以将带附件的SOAP转换为MessageTransmissionOptimizationMechanism(MTOM)、将Base64转换为MTOM,反之亦然。 执行您自己的自定义转换 这为重用您现有的应用程序、以最少的投资对
8、它们进行集成以提供更好的服务提供了机会
此文档下载收益归作者所有