Я отвечу только на один ответ из предыдущего опыта - взгляните на это промежуточное программное обеспечение , которое используется здесь крупными компаниями - промежуточное программное обеспечение имеет одну цель - склеивать отключенные системы ( написанные на разных языках) вместе, чтобы они могли взаимодействовать друг с другом и оптимизировать бизнес-процесс - Entera, как я уже имел опыт работы, создает промежуточный уровень, в котором Unix-блок, использующий процессы, написанные на C, взаимодействует с системой мэйнфреймов (DB2 , COBOL) через интерфейс, написанный на PowerBuilder (я не называю компанию!).
Из описания, которое я дал, Entera - это промежуточное программное обеспечение, которое содержит несколько вещей - плавную интеграцию потока данных независимо от формата байтов, возможность взаимодействия разных языков с посредником промежуточного программного обеспечения ( брокер - это CORBA или DCE -подобный процесс, который соответствует 'Открытой группе), которая прослушивает определенный порт) и определяется IDL , который делает процесс кажется локальным - если вы понимаете терминологию, используемую в Remoting под Microsoft .NET Framework, вы не за горами! Промежуточное программное обеспечение генерирует заглушки, которые связаны во время компиляции, и управляет созданием процесса, размещением его через порт, многопоточностью во время выполнения, а также современными интерфейсами (такими как .NET, Java PowerBuilder, даже невероятный VB6 (хорошо ... VB.NET для пуристов) может взаимодействовать, открывая соединение с указанным портом на определенном IP-адресе, и используя созданные заглушки, может напрямую взаимодействовать с ним.
Очевидно, из того, что было описано, вы можете увидеть, как унаследованные системы могут вдохнуть новую жизнь и, следовательно, масштабируемость процесса, основным недостатком этого является фактор стоимости, который может исчисляться тысячами долларов. Крупные компании, которые используют мэйнфреймы в качестве своих внутренних систем обработки для выставления счетов / выставления счетов, которые приносят огромные доходы, очевидно, могут позволить себе такой дорогой продукт - для них это было бы похоже на бросание копеек в лужу воды ... из-за использования промежуточного программного обеспечения, которое продлевает бизнес-процесс и вдыхает в него новую жизнь, может продлить бизнес на многие годы в будущем, не беспокоясь о прикрепленной к нему метке «наследство»
Кстати, я выполнил это в рамках своей диссертации на степень бакалавра. в информационных системах, которые покрывали этот коммерческий интерфейс. Была доступна версия промежуточного программного обеспечения с открытым исходным кодом, доступная на sourceforge, под названием FreeDCE , но усилия по разработке отклонены или остановлены.
Edit:
@cocotwo: Это именно то, что промежуточное программное обеспечение делает, как вы сказали, что это сантехнический инструмент ... промежуточное программное обеспечение, ориентированное на сообщения, на самом деле не слышно об AFAIK, потому что я представляю, что процессы (функции) должны вызываться так, как если бы они локально видны в домене приложения внешнего интерфейса, чтобы с ним было легко взаимодействовать.
Использование сообщений может иметь свои преимущества перед вызовами RPC в том, что сообщения помещаются в очередь в области безопасного хранения в случае отключения сети - в этом аспекте может происходить некоторое кэширование данных, чтобы разрешить интерфейс продолжить независимо ... это было бы полезно в случаях «обновления статуса определенного номера счета / счета» - односторонней записи данных в серверную часть через промежуточное ПО.
Хорошо, у крупных компаний была бы развитая системная инфраструктура, в которой технические специалисты постоянно работают круглосуточно, чтобы обеспечить бесперебойную доставку потока данных, так что это необходимо учитывать. У компании, с которой я работал, был контракт с IBM Global Support. выполнить, чтобы обеспечить максимальное время безотказной работы 99% с шестью девятью после десятичной запятой ... с горячими заменами / сбалансированными кластерами / зеркальными системами ...
Принимая во внимание, что с RPC, если происходит разъединение, внешний интерфейс должен был бы быть перезапущен или должен был бы обработать событие разъединения. Это действительно зависит от того, обрабатывает ли промежуточное программное обеспечение очереди сообщений каждое сообщение в режиме реального времени и немедленно передает результаты внешнему интерфейсу ...
Именно здесь у каждого (промежуточное ПО для организации очереди сообщений и связанного с RPC) есть свои сильные и слабые стороны ... а также фактор снижения затрат, такой как поддержка, максимальное время безотказной работы, усилия по разработке и обучение - это здесь важно так как промежуточное ПО действительно проприетарное (несмотря на то, что оно соответствует макету / стандартам Open Group) и сложное в настройке и склеивании всего вместе с помощью скриптов.