预订演示
前页 后页

自定义 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接收回调数据并在脚本或插件中使用它

接口

函数/类

细节

也见

Create Plug-in (not required in C#)

The Plug-in must implement this export function:

     extern "C" SBPI_SERVICE_API SBPI_SERVICE_PLUGIN CreatePlugin();

It must return a pointer to a Class that implements the ISBPIServicePlugin interface. The recommended implementation is:

    SBPI_SERVICE_PLUGIN CreatePlugin()

    {

        return new ExampleServicePlugin;

    }

The newly created ISBPIServicePlugin can be deleted when it receives the ISBPIServicePlugin::Release method.

ISBPIServicePlugin 接口

dll插件必须实现 ISBPIServicePlugin 接口中的所有方法。

ISBPIServicePlugin 接口

学到更多