代理模式
代理模式是一个符号空间,它定义了在其中所定义资源名称的唯一作用域。 这些资源包括消息流和其他可选资源,例如 ESQL 文件, Java™ 文件和映射文件。
代理模式被定义为从项目源目录到流名称的相对路径。
您可以创建新的代理模式,以在同一 集成项目中提供单独的符号空间。 代理模式作为项目中的文件夹或子目录实现,并提供该项目中的组织结构。 您也可以使用项目引用将单个代理模式的作用域扩大到多个项目中,以创建应用程序符号空间,该符号空间提供与该应用程序套件关联的所有资源的作用域。
如果在类别方式下创建新的代理模式,那么空模式在 " 应用程序开发" 视图中不可见。 要在 " 应用程序开发" 视图中显示空模式,请单击工具栏上的 隐藏类别
。
代理模式名称必须为字符串,以 Unicode 字符开始,随后为零或更多的 Unicode 字符或数字,以及下划线。 可以使用点来提供名称结构,例如 Stock.Common。 在项目目录中创建了一个目录来表示模式,并且如果模式是使用点构造,将定义了进一步的子目录。 例如,代理模式 Stock.Common 将导致目录 Common 位于 集成项目 目录中的目录 Stock 内。
如果在项目的缺省代理模式中创建资源(例如,消息流),将在代表该项目的目录内创建与那个资源相关联的文件或多个文件。 如果在另一个代理模式中创建资源,将在模式目录内创建文件。
例如,如果在 集成项目 Project1中的缺省模式中创建消息流,那么其关联文件将存储在 Project1 目录中。 如果在项目 Project1 中的 Stock.Common 代理模式中创建另一条消息流,将在 Project1\Stock\Common 目录中创建该消息流的关联文件。
由于每个代理模式表示一个唯一的名称作用域,因此可以创建两个消息流,这两个消息流在两个代理模式中共享相同的名称。 代理模式确保了这两个消息流被识别为分离的资源。 尽管这两个消息流有相同的名称,但仍被认为是唯一的。
如果将消息流从一个项目移动到另一个,如果保存了代理模式,可以继续在原先项目内使用消息流。 如果这样做,必须通过添加目标项目来为原先的项目更新相关的项目列表。 但是,如果没有保存代理模式,因为模式名称是被完全地限定的消息流名称的一部分,所以流成为一个不相同的流,而且不再由其他项目识别。 该操作导致链接被终止,您必须手动地校正。 有关在移动消息流之后更正错误的更多信息,请参阅 移动消息流或子流。
请勿通过移动文件系统中的相关文件来迁移资源;您必须使用 IBM® App Connect Enterprise 工具包来迁移资源,以确保所有引用均已更正,从而反映新的组织结构。
当您在代理模式中创建函数、过程和常量时,以下作用域和复用条件适用。
如果要全局复用函数或过程:
- 指定函数或过程的路径:
- 如果要在 ESQL 文件中复用函数或过程,请提供标准引用或包含定义该路径的 PATH 语句。
如果定义了路径,请在函数编码所在的 ESQL 文件中(而不是在任何 MODULE 中)编码 PATH 语句。
- 如果要在映射文件中复用函数,请执行下列其中一个步骤:
- 在组合表达式编辑器中限制函数。
- 在“大纲”视图中选择组织模式引用。 这会检测相关 PATH 并自动更新引用。
- 在“大纲”视图中选择修改模式引用。 然后,您可以选择定义函数的模式。
- 如果要在 ESQL 文件中复用函数或过程,请提供标准引用或包含定义该路径的 PATH 语句。
- 在定义和使用函数和过程项目之间设置引用。