EPM 集成代理执行的步骤如下:
处理在 Oracle Enterprise Performance Management Cloud 中指定的由 EPM 集成代理数据源所定义的 SQL。
根据定义的数据源准备 SQL 结果集并传输到 EPM 云。
这些步骤称为“提取”和“上传”步骤。EPM 集成代理中的脚本编写支持与这两个处理步骤相关的四个事件,从中可定义自定义脚本。这些事件如下所示:
事件 | 脚本名称 | 说明 |
---|---|---|
|
|
代理提取处理之前所执行的脚本。如果想要在 SQL 处理之前执行任何处理,应在此脚本中加入该代码。 |
|
|
代理提取处理之后所执行的脚本。提取文件准备好之后,在 |
|
|
数据文件上传到 EPM 云之前所执行的脚本。上传到 EPM 云的文件是 |
|
|
数据文件上传到 EPM 云之后所执行的脚本。 |
在安装了代理的本地计算机上的 agent/Sample/jython
和 agent/Sample/groovy
文件夹中,提供了示例脚本。如果将某个脚本置于 agent/MyData/scripts
文件夹中,则系统会运行该脚本的实例。例如,如果仅希望执行 BefExtract
脚本,则只将此脚本保存在 agent/MyData/scripts
文件夹中。
您也可以选择创建自己的 Java 类实现,以实施上面介绍的四个自定义方法。Agent/Sample
文件夹中提供了一个示例以供参考,但如果选择此方法,需考虑以下几点:
如果选择直接在 Java 中实施集成逻辑,则无需将任何脚本保存在 agent/MyData/scripts
文件夹中。Java 实现始终执行这四个事件,如果其中的任一事件没有脚本文件,则仅处理客户/合作伙伴定义的 Java 逻辑。
可以创建一个 Java 类文件 CustomEvent.java
,该文件应实施 agent-interface.jar
中存在的接口 EPMAgentInterface
(例如,public class CustomEvent
实施 EPMAgentInterface{}
)。
CustomEvent.class
可在 agent-interface.jar
中打包为 oracle.epm.aif.agent.agentinterface.CustomEvent.class
。如果选择将它打包在单独的 jar 中(不是 agent-interface.jar
),则此 jar 必须包含在 CUSTOM_CLASS_PATH
代理启动参数中。
如果选择使用与 oracle.epm.aif.agent.agentinterface.CustomEvent.class
不同的类名称,则必须使用完全限定的 java 类名称设置启动参数 CUSTOM_INTERFACE_CLASS_NAME
。
请注意,每当开发人员在定期 EPM 云发布周期过程中提供修复或新版本时,agent-interface.jar
都会更新。自定义事件类可以用于开发和测试目的,但对于生产部署,建议维护单独的 jar,以免覆盖自定义。