预订演示
前页 后页

定制 SBPI 服务

自定义 SBPI 服务是用户定义的集成插件,可由Enterprise Architect的脚本或插件调用,并根据脚本或插件的响应来操作存储库数据。自定义插件可以通过Enterprise Architect存储库调用。CallSBPI自动化接口方法。

该服务可请求的内容以及它可返回给Enterprise Architect内容范围不受限制。例如,自定义服务可以响应从第三方服务收集信息的请求,并将其返回给Enterprise Architect脚本。其它可能的用途包括通过 OSLC 调用对模型数据本身执行操作,或在模型数据上运行自定义流程。

好处

  • 允许任意请求和响应
  • 一旦为模型配置完毕,就可以从脚本或插件中调用
  • 由专业云服务器自动处理生命周期和请求转发
  • 可以用多种编程语言编写,包括 C++ 或 C#

概述

要编写您自己的自定义服务插件您可以从头开始,也可以复制其中一个示例并进行修改。

安装专业云服务器时,请启用“SBPI 示例”组件以包含自定义服务示例。启用后,示例文件的默认位置位于“SBPI 示例\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中执行操作,需要通过 CallSBPI 自动化接口获取服务插件的信息
  • 该插件收到请求
  • 该插件解析请求并执行所需的任何操作(例如,调用第三方服务、运行程序、对专业云服务器进行 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 接口

了解更多