java - 使用 Java 实现高度可互操作的 SOA 的注意事项?

标签 java .net interop soa

自从有人问“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/

相关文章:

java - Visual Studio Code - Java 类路径不完整。只会报告语法错误

java - 非运行时分配方案——ArrayList

c# - PropertyGrid 替代品

c - 从 C 调用 Swift 代码

c# - 如何在 C# 程序中嵌入 perl 解释器

java.security.AccessControlException 如何获得完全权限?

javascript - jqplot pointLabels如何格式化最多2位小数的数字

c# - 防止其他人使用我的 dll

c# - 对于数据库键由多列组成的对象,最合适的设计是什么?

java - Scala 无法访问 Java 方法