我有一个类似的典型要求...... 我有一个包含大量服务的 Oracle Tuxedo 服务器,现在我们需要在其上添加一个微服务层,该微服务层可以与 Tuxedo 服务器通信(传入和传出),类似于一个适配器,可以接受来自 Tuxedo 服务器的调用,并且还可以调用REST 中的一些燕尾服服务。
但问题是 tuxedo 服务器(版本 12)可以接受 REST 调用,但从 tuxedo 服务器我们没有找到任何在 REST 中调用微服务的方法。根据我的研究,tuxedo 服务器只能以其传统方式调用其他服务,即用 C++ 编写的 TPC/IP。
如果有人可以帮助我实现这一设计,我将不胜感激......
解决要点
1) 用java编写一个适配器,它可以接受来自tuxedo服务器的tuxedo调用,并可以调用tuxedo服务。 (为该部分已解决的服务调用 tuxedo 服务器,BEA 文档中的示例代码,但另一部分,以传统方式接受来自 tuxedo 的服务调用,我们没有找到任何服务,是否可以用 java 编写一些东西?有任何文档或示例吗?)
**or**
2) 如果可以从 tuxedo 服务器以任何方式调用 REST 到我们的微服务,则替换建议的适配器从 tuxedo 服务器直接调用不同的微服务。(可以用 java 或 c++ 编写并部署在现有的 tuxedo 服务器中)
如果有人建议任何其他好的方法来实现这一目标,请告诉我。
最佳答案
我认为 Oracle SALT 正是您所需要的:它既可以将 Tuxedo 服务公开为 Web 服务,又可以从 Tuxedo 调用 Web 服务。请参阅https://docs.oracle.com/cd/E35855_01/salt/docs12c/overview/over.html但这也是您必须从 Oracle 购买的附加产品。
您也可以自己构建这样的适配器,但它将是 Tuxedo 代码(而不是一些利用 Tuxedo 内部结构的 Java 代码)。调用 REST 服务的 Tuxedo 服务器非常简单 - 使用 C++ 中的 libcurl 之类的东西,只需将 Tuxedo 数据类型转换为 JSON 或 XML 即可。还可以使用 Python ( tuxmodule ) 和 Java 编写 Tuxedo 服务器。 要从其他微服务通过 HTTP 调用 Tuxedo 服务,您可以
- 使用 Web 服务器并创建使用 https://en.wikipedia.org/wiki/Common_Gateway_Interface 的端点或 WSGI 和 tuxmodule调用 Tuxedo 服务。您的代码充当基本的 Tuxedo 客户端。
- 在 Tuxedo 服务器中实现多线程 Web 服务器。
关于java - JAVA 中 Tuxedo 调用的自定义适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55545962/