我是Tibco世界的新手......我被要求创建一个VB.net应用程序来做几件事:
更新数据库中列的值(然后在TIBCO EMS中生成消息)。
我的应用程序需要从TIBCO读取此消息并确定消息中是否包含特定字,并将结果显示为Pass或Fail
我已经编写了第一部分任务,但是,我不知道如何继续第二部分。我希望得到一些关于如何进行的帮助/指导!有什么建议吗?
谢谢, NewTibcoUser
答案 0 :(得分:1)
根据您拥有的Tibco Tools,可以轻松完成。如果您有BW和ADB(活动数据库适配器),那么您可以使用它。
选项1:
如果你没有adb,你可以通过做类似以下的事情来模仿它(亚行并不神奇,它的前沿相当不错)
1)创建正在监视更改的表的镜像(您可以只放入要监视的列加上密钥) 键 ColumnYouWantToMonitor DeliveryStatus(Adb_L_DeliverStatus) 交易类型(adb_opCode) 时间它发生了(Adb_timestamp) 交货状态(ADB_L_DeliveryStatus) 2)在表上创建一个触发器,将记录插入表中。
3)编写一个.Net进程,每隔5秒或10或其他任何时间监视表(使其可配置)(从tableX中选择*,其中DeliveryStatus ='N'按orderTime顺序)
4)将消息放在EMS队列上或对您进行服务调用.Net App。
选项2
1)在表上创建一个触发器,并将事件写入SQL Server代理服务队列 2)编写一个从该SSBS队列读取并将其转换为EMS消息的.Net应用程序
一些设计考虑因素
如果确实需要这些消息,您可能希望将队列设置为持久保存到磁盘,这样就不会丢失消息。您的.Net应用程序中的客户确认也不仅仅是自动确认。
答案 1 :(得分:0)
正如您所提到的,第一点已经完成(可能是ADB或自定义程序对数据库插入作出反应)。
因此,您的问题严格来说是“对来自VB.Net的EMS消息内容的反应”部分。
我看到两种可能性: 1-如果您有EMS,ADB和BW,请创建自定义适配器订户(BW配置)以某种方式更改数据库以响应总线上的消息。然后,您的VB应用程序可以简单地查询数据库以获取响应状态。
2-如果您没有TIBCO堆栈中的这么多产品,那么您应该制作一个简单的C#EMS客户端程序(请参阅EMS文档中提供的示例)。然后,这个客户端可以发信号通知VB应用程序(可能是某种.Net内部信号,我自己不是专家)或者在DB中写入响应状态。