2013-10-24 3 views
1

Я новичок в мире Tibco ... Мне было предложено создать приложение VB.net, чтобы сделать пару вещей:Чтение TIBCO сообщений из приложения VB.Net

  1. Обновить значение столбца в базе данных (который затем генерирует сообщение в TIBCO EMS).

  2. Мое приложение затем нужно прочитать это сообщение от TIBCO и определить, если сообщение имеет определенное слово в нем, и отображать результат как Pass или неудачу

Я уже написал первую часть однако я не имею в виду, как действовать на втором. Я надеюсь получить какую-то помощь/руководство о том, как действовать дальше! Какие-либо предложения?

Спасибо, NewTibcoUser

ответ

1

Это можно легко сделать в зависимости от Tibco инструменты, которыми вы владеете. Если у вас есть BW и ADB (Active Database Adapter), вы можете использовать это.

вариант 1:


Если вы не имеете ADB вы можете имитировать его, делая что-то вроде следующего (АБР не магическая его довольно Пролив вперед)

1) Создать Зеркало таблицы, ведется наблюдение за изменения (вы можете просто положить в колонке вы хотите контролировать плюс ключе) Key ColumnYouWantToMonitor DeliveryStatus (Adb_L_DeliverStatus) типа транзакции (adb_opCode) времени Это произошло (Adb_timestamp) Статус доставки (ADB_L_DeliveryStatus) 2) Создайте триггер в таблице, который вставляет запись в таблицу.

3) Написать процесс .Net, который отслеживает за столом каждые 5 секунд или 10 или что-то (Сделать это настраивается) (выберите * от tableX где DeliveryStatus = 'N' порядка по transactionTime)

4) Поместите сообщение в очереди EMS или вызов службы для вас .Net App.


Вариант 2

1) Создайте триггер на таблице и записать событие в службу брокерской деятельности SQL Server Queue 2) Написать приложение .Net, который считывает из этой очереди SSBs и преобразует его в а EMS сообщений

некоторые конструктивные соображения

  • Старайтесь не постоянно запроса (ака опрос) для изменения на вашей основной таблицы (предотвратить блокирование)
  • Если ваше приложение не работает и происходят изменения БД, убедитесь, что у вас есть время истечения срока действия сообщения. Поэтому, когда ваше приложение запускается, ему не нужно обрабатывать 1000 сообщений из очереди (в зависимости от того, требуется ли вам сообщение или нет)
  • Если вам нужны сообщения, которые могут потребовать установки очереди на диск поэтому вы не теряете сообщений. Также подтверждение клиента в вашем .Net-приложении было бы хорошей идеей, а не просто автоаккой.

0

Как вы упоминаете, то первый пункт уже сделано (Возможно, с АБР или пользовательской программой, реагирующей на DB вкладышем).

Итак, ваша проблема заключается в том, что проблема заключается в «Реагировании на содержимое сообщения EMS из VB.Net».

Я вижу две возможности: 1- Если у вас есть EMS, ADB и BW, сделайте абонент адаптивного адаптера (конфигурацию BW), чтобы каким-то образом изменить БД в ответ на сообщения на шине. Ваше приложение VB может просто запросить БД, чтобы получить статус ответа.

2- Если у вас не так много продуктов из стека TIBCO, тогда вы должны сделать простую клиентскую программу C# EMS (см. Примеры, представленные в документах EMS). Этот клиент может затем сообщить вам приложение VB (какая-то внутренняя сигнализация .Net, может быть, я сам не специалист) или написать статус ответа в БД.

Смежные вопросы