Взаимодействие программ
От: Beam Россия  
Дата: 26.09.08 13:19
Оценка:
Всем привет.

Пусть у нас есть несколько программ/библиотек, написанных на разных языках, под разные платформы.
Как следствие они не совместимы между собой. Например, Java — wxWidgets, Haskell — Prolog, VB — Smalltalk и т.д.
Иногда, хочется наладить взаимодействие между ними. Часто для этого пишут мосты.

Один из самых простых способов самому организовать такое взаимодействие — использовать сокеты. Как правило все платформы имеют все необходимое для работы с ними. Остается придумать протокол и вперёд!.
Плохо то, что постоянно изобретают свои протоколы. Например, java-prolog — один протокол, а в другом проекте haskell-prolog — другой.

Какие стандартные протоколы есть для такого взаимодействия? Ведь поддерживая стандарт для каждой из платформ можно было бы наладить взаимодействие с любыми двумя системами.

Например Java могла бы реализовать так: получаем сообшение с названиями методов и параметры, вызываем их.
На Прологе: получаем сообщение с фактами и целями, находим решение. и т.п.
И пожалуйста — обращайся из haskell к prolog или к java, все легко (легко ли?).

XML-RPC вроде хорош. Однако он заточен под вызов процедур, но не все меряется процедурами и функциями. Хотя притянуть за уши можно все. Может это вообще должен быть обычный построчный протокол с передачей данных в JSON?

А может это вовсе не надо никому, вот и не используют? Или есть технические проблемы (скорость и пр.)?
Однако ж мосты, все же пишут...
Best regards, Буравчик
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.