Workflow_标准BusinessEvent用以监控供应商的修改(案例)

2014-06-01
BaoXinjian

一、摘要


Workflow中有一块比较重要内容就是bussiness event,

Oracle
业务时间系统,就是一个消息产生和消费的过程,Oracle打算使用它作为系统集成,源系统产生数据,分装为业务事件,送给目标系统

比如,客户在系统架构时,EBS对supplier的任何修改,都需要抛转至另外一个外接的supplider管理系统,可要要求是即时的,即修改后就发送,而不是异步处理,如果是异步通过db
link会更好

实现该需求有很多种技术

如database trigger,但是有可能会产生性能问题

如application alter,其实质也是在database中建立trigger

另外一种就是workflow的business event

因为business
event是一种异步处理机制,如果以transaction需要处理很多业务,系统可以把消息定制和发送,独立出来,作为一个消息定制的做法,产生异步消息处理,就可以对一个transaction的业务处理的数量较少一部分

比如所,在supplier-init / site-init /contact -
init通过API和Interface导入时,系统都会调用business
event(oracle.apps.ap.supplier.event),发送一个供应商被修改的消息给通道】

二、案例


需求:在供应商supplier的任何修改包括建立、删除、更新,都需通过标准的supplier change business
event去监控,并将信息记录至客制化的log表中

1. 查询到该标准Even
(oracle.apps.ap.supplier.event)
    2. Update
Subscription
     3. Update Subscription Header,
设定Execuation Condition 和 Action Type
     4. Update
Subscription Detail, 设定该Event的action为PLSQL或为Workflow

     5. 建立PLSQL Function,必须有两个参数 p_subscription_guid &
p_event
     6.1. 手工测试通过Event Test功能,直接Raise Event

     6.2. 手工测试通过Event Test功能, 输入Event Key

     6.3. 手工测试通过Event Test功能, 查看table中的变化

    7.1. 手工测试建立Supplier触发Event

     7.2. 手工测试建立Supplier触发Event,查看table结果

    8.1. 测试Event Parameter,调用Event时建立手工参数

    8.2. 测试Event Parameter,查看table确认结果

三、案例实现


1. 查询到该标准Even (oracle.apps.ap.supplier.event)

2. Update Subscription

3 Update Subscription Header, 设定Execuation Condition 和 Action
Type

4. Update Subscription Detail,
设定该Event的action为PLSQL或为Workflow

5. 建立PLSQL Function,必须有两个参数 p_subscription_guid &
p_event


 1 FUNCTION test_event(p_subscription_guid IN raw,
2
3 p_event IN OUT NOCOPY wf_event_t)
4
5 RETURN VARCHAR2 IS
6
7 l_parameter_list wf_parameter_list_t := wf_parameter_list_t();
8
9 l_parameter_t wf_parameter_t := wf_parameter_t(null, null);
10
11 i_parameter_name l_parameter_t.name%type;
12
13 i_parameter_value l_parameter_t.value%type;
14
15 i pls_integer;
16
17 BEGIN
18
19 DELETE FROM xxbxj_wf_event;
20
21 l_parameter_list := p_event.getParameterList();
22
23 IF l_parameter_list IS NOT NULL THEN
24
25 i := l_parameter_list.first;
26
27 WHILE (i <= l_parameter_list.last) LOOP
28
29 i_parameter_name := null;
30
31 i_parameter_value := null;
32
33 i_parameter_name := l_parameter_list(i).getName();
34
35 i_parameter_value := l_parameter_list(i).getValue();
36
37 IF i_parameter_name IS NOT NULL THEN
38
39 INSERT INTO xxbxj_wf_event (priority,
40
41 send_date,
42
43 receive_date,
44
45 correlation_id,
46
47 event_name,
48
49 event_key,
50
51 parameter_name,
52
53 parameter_value)
54
55 VALUES
56
57 (p_event.priority,
58
59 p_event.send_date,
60
61 p_event.receive_date,
62
63 p_event.correlation_id,
64
65 p_event.event_name,
66
67 p_event.event_key,
68
69 i_parameter_name,
70
71 i_parameter_value);
72
73 END IF;
74
75 i := l_parameter_list.next(i);
76
77 END LOOP;
78
79 END IF;
80
81 RETURN(‘SUCCESS‘);
82
83 END;

四、案例测试


Test1. 使用Business Event自带的Test工具,去测试正规Business Event

Test1.1 手工测试通过Event Test功能,直接Raise Event

Test1.2 手工测试通过Event Test功能, 输入Event Key

Test1.3 手工测试通过Event Test功能, 查看table中的变化

Test2. 直接建立一个supplier,去触发business event

Test2.1 手工测试建立Supplier触发Event

Test2.2. 手工测试建立Supplier触发Event,查看table结果

Test3. 测试business event中的parameter参数使用

Test3.1 测试Event Parameter,调用Event时建立手工参数

Test3.2. 测试Event Parameter,查看table确认结果

参考:黄健华 http://www.docin.com/app/p?id=32307815

Thanks and Regards

时间: 2024-09-29 03:58:14

Workflow_标准BusinessEvent用以监控供应商的修改(案例)的相关文章

Workflow_标准控件Event的用法(案例)

2014-06-06 Created By BaoXinjian

Workflow_标准控件Wait_For_Flow和Contiune_Flow的用法(案例)

2014-06-04 BaoXinjian 一.汇总 1. 设定Wait_For_Flow 2. Contiune_Flow的属性 3. 分步测试 二.分部解析 1. 设定Wait_For_Flow 的Continuation Activity为ContiuneFlow 2. 设定ContiuneFlow 的WaitingFlow为Wait_For_Flow 3. 分步测试 3.1 启动Workflow,程式停留在Wait_For_Flow中,等待设定的activity的状态 3.2 系统停留在

在CentOS 7上使用Tripwire监控和检测修改的文件

在CentOS 7上使用Tripwire监控和检测修改的文件 Tripwire是一个免费的开源入侵检测系统(IDS). 它是用于监视和警告系统上文件更改的安全工具. Tripwire是一个功能强大的IDS,可以保护您的系统免受不必要的更改. 您可以使用它来监控您的系统文件,包括网站文件,因此当有不需要的文件更改时,Tripwire会检查您的系统,如果设置正确,可以通过电子邮件提醒您. 在本教程中,我们将向您展示如何使用CentOS 7系统上的Tripwire监控和检测系统文件中的任何更改. 我们

已核准客户、供应商可修改的问题

描述:系统已核准的客户.供应商信息,允许直接修改的问题 解决:可以通过设置数据权限来实现.设置修改允许,条件为客户状况不等于核准客户. 客户的核准状态为0,供应商核准状态为1,料品核准状态为2. 客户 供应商:

nagios4.2.4 添加被监控端需要修改的文件

nagios 4.2.4 Install: epel源 yum install -y nagios yum install -y nagios-plugins-all private 目录下面的resource.cfg 文件记录 插件位置 监控.被监控都需要nrpe yum install -y nrpe /etc/nagios/nrpe.cfg 命令需要修改 安装完成以后 一.监控端 1.修改配置文件 vim  /etc/nagios/nrpe.cfg    allow hosts = 127

spotlight_监控Linux_无需修改用户权限

网上很多资料是需要root权限,当前版本不需要,改了权限反而连不上   修改权限:vi /etc/passwd       aa哪一行权限修改为0:0   保存   不行 reboot aa登录,还原文件权限:501:503 spotlight断开重连   OK了

02:添加自定义监控项和修改字符集(解决乱码情况)

一.监控远程主机上的系统文件大小(内部情况): 需求:监控远程node1系统文件:/etc/services(其它以此类推) 步骤:先在客户端上添加相关监控项,再在web界面上添加次监控项(这里要注意的是:客户端和web界面上的键值必须保持一致) 1.在node1上的/etc/zabbix/zabbix_agentd.d/目录下添加一个monitor_file.conf文件并重启agent,内容如下: [[email protected] ~]# cat /etc/zabbix/zabbix_a

JMeter监控Linux服务器资源案例

JMeter是一款压力测试工具,我们也可以用它来监控服务器资源使用情况.JMeter正常自带可以通过Tomcat的/manager/status来监控服务资源使用情况.这种情况只能监控Tomcat支持的资源使用部分. 本文主要来说一下如何通过JMeter插件来监控服务器CPU.内存.磁盘.网络等相关资源.JMeter 插件网址:http://jmeter-plugins.org/Perf Mon 插件 http://jmeter-plugins.org/wiki/PerfMon/ 1 服务本身:

Workflow_将一个消息同时发给通过用户(案例)

2014-06-04 BaoXinjian 一.汇总 1. 建立一个虚拟Responsibility 2. 建立测试账号 (1). 建立测试BXJ_USER_1 (2). 建立测试BXJ_USER_2 3. 测试脚本 4. 测试结果,其发送到了两个账号 二.分部解析 1. 建立一个虚拟Responsibility 2. 建立测试账号 (1). 建立测试BXJ_USER_1 (2). 建立测试BXJ_USER_2 (3). 检视结果 3. 测试脚本 1 DECLARE 2 3 l_item_key