假设我开发了两个名为ProductAPI和OrderAPI的服务。它们都使用公共域模型(公共实体层次结构)。
这两个服务最终都公开为 RCP(SOAP 或 REST)。OrderAPI 在内部调用 ProductAPI。
在 REST 的情况下:
我们可以使用 JAX-RS 开发 ProductAPI,并且我们可以实现一个“ProductAPI REST Client”以在 OrderAPI 中使用来访问 ProductAPI。
此客户端可以使用相同的类层次将 JSON 反序列化为 ProductAPI 中使用的相同类。
所以,没有中间格式转换。
在 SOAP 的情况下:
我们使用 JAX-WS(或 Axis2..etc)开发 ProductAPI 并在 WSDL 中公开服务。在这种情况下,我们必须使用公开的 WSDL 实现“ProductAPI SOAP 客户端”。(可能正在使用使用公开的 WSDL 的存根生成工具)。
生成的类是从 WSDL 中的 XSD 定义生成的,如果我们想使用相同的公共域模型类,我们必须进行额外的格式转换。
我的问题:
1)在 SOAP 的情况下,有没有办法跳过这种格式转换?
2)在企业应用程序(如电子商务)中,避免这种中间数据转换以提高性能是一种好习惯吗?