Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python请求与java Web服务_Java_Python_Web Services_Python Requests_Legacy - Fatal编程技术网

Python请求与java Web服务

Python请求与java Web服务,java,python,web-services,python-requests,legacy,Java,Python,Web Services,Python Requests,Legacy,我有一个用cgi编写的传统web应用程序sys-1,当前使用TCP套接字连接与另一个系统进行通信Sys-1以unix字符串的形式发送数据。现在,sys-2正在升级到java web服务,这反过来又要求我们升级。是否有任何升级方法,只需对现有遗留代码进行最小的更改。我正在考虑创建一个代码块,该代码块获取Sys-1的输出,并将其更改为Sys-2所需的格式,反之亦然 在研究过程中,我发现了两种方法: 通过使用python中的“请求”库 使用java Web服务 我是JavaWeb服务新手,对pytho

我有一个用cgi编写的传统web应用程序sys-1,当前使用TCP套接字连接与另一个系统进行通信
Sys-1
以unix字符串的形式发送数据。现在,
sys-2
正在升级到java web服务,这反过来又要求我们升级。是否有任何升级方法,只需对现有遗留代码进行最小的更改。我正在考虑创建一个代码块,该代码块获取
Sys-1
的输出,并将其更改为
Sys-2
所需的格式,反之亦然

在研究过程中,我发现了两种方法:

  • 通过使用python中的“请求”库
  • 使用java Web服务
  • 我是JavaWeb服务新手,对python有一定的了解。有人能告诉我这种方法是否有效,从性能和维护的角度来看,哪种方法更好?欢迎提出任何新建议

    是否有任何升级方法,只需对现有遗留代码进行最小的更改

    提到的解决方案,在应用程序之外添加一个转换层,对现有代码库的影响最小(因为它不会更改现有代码库)

    有人能告诉我这种方法是否有效吗

    将Legacy-System-2转换成Modern-System-2会起作用吗?对你可以用任何你觉得合适的语言来写。Web服务是Web服务,它们在什么环境中实现并不重要。与TCP套接字相同

    选择退出演出的更好方式

    绩效有多重要?如果这是千载难逢的一次,那么谁在乎呢。在服务之间添加一个框将使服务之间的通信变慢。如果实施良好,并且在靠近系统1或系统2的地方运行,速度可能不会慢很多

    维护角度

    添加额外的基础架构会增加复杂性,从而增加维护问题。它还添加了要维护的新代码块,如果System 1需要以新的方式使用System 2,则需要维护两批代码(Legacy System 1和Legacy/Modern converter)

    欢迎提出任何新建议


    遗产有多糟糕?你能不能把System-1-to-System-2的代码撕成一些漂亮的界面,这样你就可以升级到使用现代System-2而不会太痛苦?长期来看,这将降低总体成本,但前期成本(可能显著)更大。因此,你必须决定什么对你的组织更重要。上市时间或长期维护。只有你的组织才能回答这个问题。

    也许你可以在中间加一个人。获取unix字符串、将其解析为sys-2类型的消息并将其发送给sys-2的套接字服务器。这可能是一个不重新写入两个系统之间所有呼叫的选项。

    感谢您的见解@mlk