第十五章 开发Productions - ObjectScript Productions - 开发Productions介绍
互操作性产品允许连接可能使用不同通信协议和不同消息格式的系统。可以使用 Java、.NET、ObjectScript、SQL 或业务流程、数据转换和业务规则的图形编辑器来开发产品。
文档
- 互操作性生产概述
- 在
ObjectScript中开发 - 使用
PEX在Java或.NET中开发 - 使用
SQL - 业务流程 (
BPL) - 数据转换 (
DTL) - 业务规则
- 配置生产
- 使用推送通知定义工作流
在线内容
ObjectScript:开发系统集成ObjectScript:构建自定义业务组件- 创建数据转换
开发Productions介绍
本页介绍产品开发的过程。
环境考虑
只能在具有特定 Web 应用程序的支持互操作性的名称空间内使用 IRIS 互操作性。创建类时,应避免使用保留的包名称。以下小节提供了详细信息。
支持Production的命名空间
支持互操作性的名称空间是具有全局映射、例程映射和包映射的名称空间,这些映射使支持产品的类、数据和菜单对其可用。有关映射的一般信息,请参阅系统管理指南中的配置命名空间。
安装 IRIS 时创建的系统提供的名称空间不支持互操作性,但在社区版中,USER 名称空间是支持互操作性的名称空间。创建的任何新命名空间在默认情况下都启用了互操作性。如果在创建命名空间时清除了为互操作性Production启用命名空间复选框, IRIS 会创建禁用Production的命名空间。
重要提示:所有系统提供的命名空间在重新安装或升级时都会被覆盖。为此, 建议客户始终在创建的新命名空间中工作。
Web应用要求
此外,仅当命名空间具有名为 /csp/namespace 的关联 Web 应用程序时,才能在命名空间中使用产品,其中命名空间是命名空间名称。 (这是命名空间的默认 Web 应用程序名称。)
保留包名称
在任何支持互操作性的命名空间中,避免使用以下包名称:Demo、Ens、EnsLib、EnsPortal 或 CSPX。这些包在升级过程中被完全替换。如果在这些包中定义类,则需要在升级前导出这些类,然后在升级后导入它们。
此外, 建议避免使用任何以 Ens 开头(区分大小写)的包名称。这个建议有两个原因:
- 当编译名称以
Ens开头的包中的类时,编译器会将生成的例程写入ENSLIB系统数据库。 (编译器这样做是因为名称以Ens开头的所有例程都映射到该数据库。)这意味着当升级实例并替换ENSLIB数据库时,升级会删除生成的例程,只留下类定义。此时,为了使用这些类,必须重新编译它们。
相反,当升级实例时,不需要重新编译名称不以 Ens 开头的包中的类。
- 如果在名称以
Ens开头的包中定义类,则它们在所有启用互操作性的命名空间中都可用,这可能是合意的,也可能不是合意的。一个结果是,如果包名称以Ens开头,则不可能在不同的启用互操作性的命名空间中具有相同名称和不同内容的两个类。
查看Production定义
虽然在管理门户中创建和配置产品,但在选择的 IDE 中查看现有产品类的定义是有指导意义的。下面显示了一个简单的产生式示例:
请注意以下几点:
production是一个类,具体来说是Ens.Production的子类。XData ProductionDefinition块保存生产的配置信息。- 每个都是一个业务宿主;这些也称为配置项。
- 每个业务主机指一个类。
ClassName指定此主机所基于的类。这意味着当production创建这个业务宿主的实例时,它必须创建一个指定类的实例。 - 业务主机的名称是任意字符串。有时,为此目的使用类名会很方便,如本例所示。当创建大量使用相同类的业务主机时,此约定不起作用。
在开发过程的早期建立命名约定很重要。请参阅创建产品的最佳实践。缺乏命名约定会导致混淆。
XData块中的其他值都是设置。在顶部,<ActorPoolSize>; 是产品的设置。在业务主机定义中,PoolSize、Enabled、Foreground和InactivityTimeout是这些业务主机的设置。