Как 2 приложения Powerbuilder могут взаимодействовать друг с другом?

У меня есть 2 приложения PowerBuilder, работающие в операционной системе Windows. Оба они подключаются к базе данных Microsoft SQL Server 2008 R2.

Первое приложение PowerBuilder (скажем, PB1) — это полноценное приложение со всеми визуальными элементами. Пользователи входят в PB1 и занимаются своими делами.

Второе приложение PowerBuilder (скажем, PB2) не имеет визуальных элементов; он будет запускаться каждые 30 минут. Он обрабатывает сотрудников по одному.

Теперь вот требование:

Прежде чем приложение PB2 начнет обрабатывать сотрудника (скажем, E1), оно должно сообщить приложению PB1, что оно начинает обрабатывать сотрудника E1. И после того, как приложение PB2 завершит обработку сотрудника E1, оно должно сообщить приложению PB1, что обработка сотрудника E1 завершена.

Как мне это сделать?


person wp1970us    schedule 03.04.2015    source источник


Ответы (2)


Вы также можете заставить P2 записывать в таблицу db, а P1 контролировать эту таблицу через таймер.

person Matt Balent    schedule 03.04.2015
comment
Я упустил момент, когда оба приложения подключены к одной и той же БД... Если OP нужно только регистрировать, например. некоторое время обработки, это намного проще, чем мои идеи IPC ;o) - person Seki; 03.04.2015

Вы можете искать Взаимодействие между процессами . Есть несколько возможностей, таких как связь через сокеты, COM, ... но, возможно, только для отправки уведомлений вы можете использовать MailSlots, которые действуют как почтовый ящик. Они специфичны для Windows, но достаточно разделены, чтобы позволить общаться на разных языках.

Я сделал несколько оболочек PB (классический) и Java для MailSlot, которые могут вам помочь (и образец программы для показать связь IPC между PB и/или Java). Два языка не связаны между собой, вы можете создавать диалоги PB↔PB или Java↔Java.

person Seki    schedule 03.04.2015