建立好两个Firewall后,我们现在来建立一个新的Firewall来实现ESB中的路由和消息转换,如图7:
图7. ESB路由Firewall
Policy的定义如图8:
图8. Policy定义
我们需要配置请求消息流和返回消息流中的各个节点来完成ESB的功能。转换节点中,我们开发XSL来进行格式转换;在路由节点中,我们要定义路由表,如图9所示,
图9. 路由规则表
下面,我们对上述ESB消息流增加安全方面的支持。假定Datapower使用在A银行的内部网中,那么我们只需要在和B,C银行之间的传输中增加安全支持,如图10所示。
图10. 实现场景图中的安全需求
·加入SSL
SSL在Datapower中是一个独立开发的对象,我们开发好SSL的对象后,我们只需要在XML Firewall的配置界面上选择该对象即可,如图11:
图11. 在Firewall中增加SSL
·签名和确认
B银行要求传过去的请求消息是带有数字签名,我们需要在B FirewallService中加入Sign(签名)节点来支持此项功能,如图12所示:
图12. 消息流中增加签名
·加密解密
B银行返回消息是加密的,我们需要在B FirewallService的Firewall Policy中加入Decrypt(解密)的节点,如图13所示。
图13. 消息流中增加解密节点
上面几张图中我们介绍了如何对B提供的服务增加安全支持,对C的服务业一样处理。至此,我们方便得在Datapower和B,C银行之间提供安全的服务请求,通过配置的方式即可完成安全的支持,节省了很大的开发成本,此外,Datapower对XML的处理速度达到线速,有兴趣的读者可以参考相关文献。
ESB产品的联合应用的场景介绍
三款产品并不是独立使用的,在某些环境下可能需要三款产品的联合使用
WESB和WMB联合使用
在图14的场景中,某跨国公司在世界各地都有分公司,由于时区的原因,每天的信息需要通过异步的方式统一到总公司,由于总公司的业务量大,我们可以使用WMB做总公司的ESB,而在分支机构,业务量小,且都是J2EE和Web Service的应用,我们可以使用WESB作为分公司的ESB。
图14. WMB和WESB联合使用的场景
Datapower和WESB联合使用
如图15所示,我们可以在WPS上实现负责的业务流程,在企业内部使用WESB作为ESB。在该场景中WESB只负责服务的注册、路由和查找功能,而安全方面的处理,以及部分消息格式转换的功能由Datapower处理(外部传来的非XML格式的数据通过Datapower处理成XML格式的数据),该场景既利用到Datapower在安全和XML处理方面的优势,有利用到WESB和WPS集成的优势。
图15. Datapower和WESB联合使用的场景
Datapower和WMB联合使用
如图16所示,Datapower可以和WMB配合使用。WMB提供了多种多样的消息协议和格式的支持,比如遗留的EIS系统,SAP、PeopleSoft等,也可以充分利用WMB的扩展性自定义消息集或者消息节点,以此来满足特殊的应用需求。Datapower可以提供高性能的Web Service安全网关。客户端通过SOAP over HTTP可以访问到Datapower,而Datapower用过MQ访问WMB。该场景兼顾了Datapower在性能上强大的优势和WMB丰富的消息协议与格式支持。
图16. Datapower和WMB联合使用的场景
结束语
在和客户以及合作伙伴交流的过程中,我们经常会被问到IBM的三款ESB产品的差别以及如何选择合适的ESB产品。在这篇文章中,我们分成两个部分介绍了ESB以及IBM的三款ESB产品的各自特点和适用的场景,并通过一个实际案例基于三款产品的实现来描述其开发部署的差异。至此,希望能帮助读者在选择正确ESB产品时起到一定的作用。
作者简介
马国耀,2007年毕业于北京大学信息科学技术学院,现在IBM CDL的战略合作部担任软件开发工程师。对SOA,企业集成,消息中间件等方面都有很广泛的爱好。曾发表过使用Datapower实现ESB文章。业余时间喜欢围棋,五子棋,扑克等网络游戏,旅游和网上聊天业是他的爱好。你可以通过maguoyao@cn.ibm.com和他联系。
吴宇:毕业于上海交通大学,现在在IBM BPTSE部门担任软件开发工程师,对SOA和企业集成应用方面有浓厚兴趣,你可以通过william.wu.8156@gmail.com和他联系。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
AWS上可以部署普通的PC程序吗?
-
总线技术究竟该不该用?
曾几何时企业服务总线(ESB)被视为企业IT的核心。今天,不仅ESB受到了比被废弃还要糟糕的攻击,若干开发趋势似乎对更简单的消息总线也发起了质疑。
-
从ESB到微服务:如何演变?
从web开发人员的角度看,大量的微服务部署到轻量级的Karaf 容器中,这就符合了ESB的定义。
-
开发者的黄金时代=运维人员的恶梦?
开发与运维常常被人们放在一起,而如今DevOps的流行也与他们脱不了关系。目前软件环境的变化可以说是开发者的黄金时代,而对于运维来说,这些变化正给他们带来新的挑战和期望。