Нужны мои приложения, чтобы общаться друг с другом - PullRequest
1 голос
/ 08 февраля 2012

В приложении DELPHI 2007, которое я разрабатываю, потенциальные клиенты считают интересным возможность обмениваться данными и информацией друг с другом.

Все они имеют одинаковое применение.

Все имеют независимые базы данных

Но у всех установлено одно и то же приложение, и есть некоторые типы данных, которые они могут захотеть разделить (реплицировать) между своими базами данных.

Как я могу разрешить им обмениваться данными с другими пользователями той же самой прикладной программы, но не со всеми в Интернете.

Я бы хотел, чтобы это было как можно более автоматическим, поскольку я уже рассмотрел подходы, которые включают отправку электронных писем вручную.

Я знаю, что Datasnap - это вариант, есть ли другой.

UPDATE:

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

Они должны быть в состоянии выбрать, какого партнера и что отправить.

Я изучал данные, но хотел бы знать, есть ли другой способ сделать это

Ответы [ 2 ]

5 голосов
/ 08 февраля 2012

Другой стандартный способ подключения распределенных приложений и обмена данными и информацией - через некоторое Промежуточное программное обеспечение, ориентированное на сообщения (MOM) . Существует множество продуктов промежуточного ПО с открытым исходным кодом ( брокеры сообщений ), которые можно использовать в клиентских библиотеках Delphi даже в многопоточных серверных приложениях Delphi. (Отказ от ответственности: я являюсь автором клиентских библиотек брокера сообщений для Delphi и Free Pascal)

Существует много существенных различий между веб-службами и брокерами сообщений, такими как модели одноранговой связи и публикации / подписки. Они также играют ключевую роль в шаблонах интеграции корпоративных приложений.

2 голосов
/ 08 февраля 2012

Одним из стандартных способов подключения приложений к другим приложениям является создание веб-службы и создание клиента, который использует этот веб-сервис, который называется веб-клиентом.Такие технологии, как SOAP и REST, относятся к таким веб-сервисам и веб-клиентам.

Ваш вопрос неопределенный, возможно, из-за того, что английский не является вашим языком, но вы, вероятно, должны отредактировать его и быть более конкретным.

Если все ваши приложения будут напрямую общаться друг с другом, чтоназывается «одноранговая сеть», и существуют огромные проблемы с включением такого вида связи напрямую через Интернет.Гораздо проще, если вы создадите сервер, к которому будут подключаться все эти приложения.

В качестве примера рассмотрите службу IRC Chat и подумайте о создании веб-службы, которая будет сервером чата, и рассмотрите все вашиклиенты будут "чат-клиенты".Совместное использование данных может быть той же идеей, что и создание "комнат" или "каналов" на сервере чата.

Я понимаю, что вам нужно что-то вроде одноранговой службы репликации данных.Я думаю, что ближе всего к этому вам придет что-то вроде «RSS-каналов» (используется службами синдикации блогов).Вы подписываетесь на них через простой веб-сервис и периодически обновляете контент.Поскольку эти данные должны быть опубликованы на центральном сервере, это означает, что одноранговый подход исключен.Если у вас нет собственного веб-сервера, работающего на веб-хостинге или в «облаке», и вам нужно действительно одноранговое решение, я не знаю ни одного способа сделать это, по крайней мере, безневероятные пользовательские инженерные усилия.

...