2016-02-17 2 views
0

У меня есть унаследованное веб-приложение sys-1, написанное в cgi, которое в настоящее время использует соединение сокетов TCP для связи с другой системой sys-2. Sys-1 отправляет данные в виде строки unix. Теперь sys-2 обновляет веб-сервис Java, который, в свою очередь, требует обновления. Есть ли способ обновления с минимальными изменениями в существующем устаревшем коде. Я рассматриваю создание блока кода, который получает вывод Sys-1 и изменяет его в формат, необходимый Sys-2 и наоборот.Запросы Python vs java webservices

При исследовании, я нашел два способа сделать это:

  1. С помощью «запросов» библиотеки в питоне.
  2. Пойдите с веб-сервисами java.

Я новичок в веб-сервисах Java и имею некоторые знания в области python. Может ли кто-нибудь посоветовать, работает ли этот метод и который лучше всего выбрать с точки зрения производительности и обслуживания? Любые новые предложения также приветствуются!

ответ

0

Есть ли способ обновления с минимальными изменениями существующего устаревшего кода.

Решение, добавляющее уровень преобразования за пределы приложения, будет иметь наименьшее влияние на существующую базу кода (в том смысле, что она не меняет существующую базу кода).

Может кто-нибудь посоветовать, если этот метод работает

бы писать Наследство-System-2 для Modern-System-2 преобразователя работы? Да. Вы можете написать это на любом удобном вам языке. Веб-сервисы - это веб-службы, неважно, в чем они реализованы. То же самое с сокетами TCP.

лучший способ выбрать из спектакля

Насколько важна производительность? Если это используется один раз в синей луне, то кто заботится. Добавление поля между службами приведет к замедлению связи между службами. Если они будут хорошо реализованы и будут работать рядом с Системой 1 или Системой 2, вероятно, не намного медленнее.

техническое обслуживание точка зрения?

Добавление дополнительной инфраструктуры добавляет сложности, тем самым, больше проблем с обслуживанием. Он также добавляет новый кусок кода для поддержки, и если Системе 1 необходимо использовать Систему 2 по-новому, у вас есть два ряда кода для поддержки (Legacy System 1 и Legacy/Modern converter).

Любые новые предложения также приветствуются!

Насколько плохое наследие? Не могли бы вы разорвать код System-1-System-2 на некоторые приятные интерфейсы, которые вы могли бы обновить, чтобы использовать Modern System 2 без особых проблем? В долгосрочной перспективе это будет иметь более низкую общую стоимость, но будет иметь (потенциально значительно) более высокую первоначальную стоимость. Поэтому вы должны принять решение о том, что для вашей организации более важно.Время выхода на рынок или долгосрочное обслуживание. Никто, кроме вашей организации, не может ответить на это.

+0

Спасибо за понимание! @mlk – kvrs

0

Возможно, вы можете добавить человека в центре. Сервер сокетов, который получает строки unix, анализирует их в сообщении типа sys-2 и отправляет его в sys-2. Это может быть вариант не переписывать все вызовы между двумя системами.