前页 | 后页 |
自定义 SBPI 服务
自定义 SBPI 服务是用户定义的集成插件,可以由Enterprise Architect的脚本或插件调用,然后可以使用响应来操作存储库数据。可以使用存储库从Enterprise Architect调用自定义插件。调用SBPI 自动化接口方法。
服务的请求范围和返回给Enterprise Architect的范围不受限制。例如,自定义服务可以响应从第三方服务收集信息的请求,并将其返回给Enterprise Architect脚本。可能的用途包括通过其它调用对模型数据本身执行操作,或运行自定义构建处理模型数据。
好处
- 允许任意请求和响应
- 为模型配置后,可以从脚本或插件中调用
- 由专业云服务器自动处理的生命周期和请求转发
- 可以用多种编程语言编写,包括 C++ 或 C#
概述
要编写自己的自定义服务插件,您可以从头开始,也可以复制其中一个示例并进行修改。
安装专业云服务器时,启用“SBPI 示例”组件以包含自定义服务示例。启用后,示例文件的默认位置位于“SBPI Examples\ExampleServicePlugins”文件夹中。例如:
C:\Program Files (x86)\ Sparx Systems \专业云服务器\SBPI Examples\ExampleServicePlugins
有关详细信息,请参阅专业云服务器安装帮助主题。
注记,默认情况下不启用“SBPI 示例”安装选项。如果您已经安装了没有“SBPI 示例”的专业云服务器,您可以执行完全重新安装(启用“SBPI 示例”),或使用安装程序的“更改”选项仅添加“SBPI 示例”零件。
插件可以用 C++ 或 C# 编写。
这些示例是使用 Visual Studio 2017 编写的,但这不是先决条件。
自定义服务插件必须实现 ISBPIServicePlugin 中定义的接口,该接口包含在 ISBPIServicePlugin.h(用于 C++)或 ISBPIServicePlugin.cs(用于 C#)中。
程序的一般流程是:
- 用户通过插件自动化接口在Enterprise Architect中执行需要来自服务插件的信息的操作
- 插件收到请求
- 插件解析请求并执行所需的任何操作(例如,调用第三方服务、运行程序、对专业云服务器进行 OSLC 调用)
- 插件通过提供的回调函数向Enterprise Architect发送响应;这可以是请求的实际数据或错误值
- Enterprise Architect接收回调数据并在脚本或插件中使用它
接口
函数/类 |
细节 |
也见 |
---|---|---|
创建插件(在 C# 中不需要) |
插件必须实现这个导出函数: extern "C" SBPI_SERVICE_API SBPI_SERVICE_PLUGIN CreatePlugin(); 它必须返回一个指向实现 ISBPIServicePlugin 接口的类的指针。推荐的实现是: SBPI_SERVICE_PLUGIN CreatePlugin() { 返回新的 ExampleServicePlugin; } 新创建的 ISBPIServicePlugin 在接收到 ISBPIServicePlugin::Release 方法时可以被删除。 |
|
ISBPIServicePlugin 接口 |
dll插件必须实现 ISBPIServicePlugin 接口中的所有方法。 |
ISBPIServicePlugin 接口 |
学到更多
- 存储库类(见CallSBPI 方法)