自从有人问“Which SOAP XML object serialization library for Java would you recommend?”以来已经有两年多了,假设从那以后发生了很多变化,我相信这足以成为修改该主题的充分理由。
因此,代替在 Java
中实现 SOA,这将尽可能与 .NET Framework
(或与此相关的任何其他企业平台)互操作,在第一次分析我正在考虑使用 Apache Tuscany但我想知道是否有任何理由我不应该这样做?任何反馈都将不胜感激。
最佳答案
实际上,我首先要考虑的是“我真的需要 SOAP/XMl 吗?”。
特别是:
- WSDL 不像建议的那样几乎是跨平台的;很容易遇到效果不佳的案例(本周早些时候在 SO re PayPal 上有一个案例)
- XML 是人类可读的...但结果是相对缓慢和臃肿
还有其他共享定义的方法 - 例如,我们都管理 just fine 一个 API 文档,上面写着“这个 API 返回这种形状的 JSON {...}”。 WSDL 主要 似乎可以帮助拖放式开发人员;我不是其中之一。
因此,我建议研究更简单的(想想:YAGNI)协议(protocol)。对于有效载荷,我是 protobuf 的忠实粉丝,它故意是一个更简单的模式,因此可以减少不同实现可以/不能处理的不确定性,同时仍然涵盖每个理智的用例。它也非常高效,或者兼顾 CPU/带宽。 Very portable ,并具有用于定义数据的模式定义语言 (.proto),但比 WSDL MUCH 简单。震撼恐怖!它不是人类可读的...好吧,有一些工具可以做到这一点 :) 为什么要将 us week 的失败和基于肉体的缓慢单元强加到我们的 API 上?
关于java - 使用 Java 实现高度可互操作的 SOA 的注意事项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6483407/