Cordys云开通服务开发者指南(一)


1、定义一个派生应用

本节描述怎样定义一个派生应用,一个派生应用引用与另一个应用,这里是没有特殊特征与其相关联的。

开始之前

  • 你必须拥有全局应用管理员角色去执行这里所描述的活动。

在应用(application)定义中,有一个元素叫“DerivedFromApplicationId” ,这是一个字符串类型域(或字段),这个域中包含父应用在窗体中应用关键字的关系。

<ApplicationDetailDoc>    <ApplicationGuid>PARAMETER</ApplicationGuid>    <IsvGuid>PARAMETER</IsvGuid>    <OrganizationGuid>PARAMETER</OrganizationGuid>    <OrganizationName>PARAMETER</OrganizationName>    <IsvName>PARAMETER</IsvName>    <ApplicationName>PARAMETER</ApplicationName>    <Version>PARAMETER</Version>    <Description>PARAMETER</Description>    <AvailabilityId>PARAMETER</AvailabilityId>    <Availability>PARAMETER</Availability>    <ApplicationId>PARAMETER</ApplicationId>    <ApplicationTypeId>PARAMETER</ApplicationTypeId>    <ApplicationType>PARAMETER</ApplicationType>    <DerivedFromApplicationId>PARAMETER</DerivedFromApplicationId></ApplicationDetailDoc>

通过界面定义派生应用,操作如下:

  1. 打开  ( Global Applications),这个全局应用显示窗口,显示所有注册应用;
  2. 点击你想要定义的派生应用,应用细节被显示出来;
  3. 在派生来源的域中(Derived From),提供这个被派生出应用的应用ID;
  4. 点击保存图标 

派生应用被定义出来了。

其中 API GetDerivedApplicationsByApplicationId 能被用于查询特定应用下的所有子应用的对象( Application objects.)。

<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP:Body>
    <GetDerivedApplicationsByApplicationId xmlns="http://schemas.cordys.com/Ucf/Application/OrganizationDomain/1.0">
      <ApplicationId>PARAMETER</ApplicationId>
    </GetDerivedApplicationsByApplicationId>
  </SOAP:Body>
</SOAP:Envelope>

注: 父子应用关系是松散的,其中,域“DerivedFromApplicationId”是一个信息域,并不是约束指定到一个实际应用,即使父应用被删除后,子应用仍将指向原父应用。

2、开发面向应用开通程序

Cordys应用能被简单地通过为开通服务注册他们自己,然而,很多时候,当你在应用开通服务时,需要你执行特殊处理,比如应用初始化,本节描述怎样去开发面向应用开通过程所必须的模拟应用控制台(Servicedesk demo application)。

每个应用可以提供多租户开通处理过程,这样应用能被在开发之出的应用中定义。

  • 组织级应用订购:当应用被加到组织中时执行
  • 组织级应用取消订购:当应用被从组织中移除时执行
  • 用户级应用订购:当应用被加到用户上时执行
  • 用户级应用取消订购:当应用被从用户上移除时执行

在这个主题里,一个面向应用开通开发,在组织应用订购期间被触发,这个例子使你能够自动开通其他应用服务。

写在开始之前

  • 应用是注册可开通服务
  • 应用被加入组织集群中
  • 应用是应用集合一部分

开发一个面向应用开通服务程序,操作过程如下:

  1. 打开工作空间
    1. 创建一个CWS项目(CWS project),并名称为服务台服务(Service Desk Provisioning)
    2. 创建一个Web services文件夹(folder)
    3. 创建一个运行时参数指向服务开通服务台服务(Web service)接口,这个接口包含所有开通服务应用的API
    4. 创建一个业务程序文件夹,使他成为有效名称的开始点 (Create a Business Processes folder to make it the starting point for the qualified name)
    5. 创建一个有效名称结构,业务流程Business Processes)/com/cordys/demo/servicedesk/provisioning, 在业务流程Business Processes)文件夹下
  2. 开发程序,当应用被加到组织中时,这个程序被触发
    1. 在工作空间中,本地的OrgApplSubscription 处理成模板,并打开他
    2. 打开快速处理菜单,并选择另存为(Save as) 
    3. 保存他为OrganizationApplSubscription, 在u Business Processes/com/cordys/demo/servicedesk/provisioning 文件夹下
    4. 从服务开通控制台(Service Desk Provisioning)界面上虚拟活动,添加初始组织WEB服务(Web service) 
      当应用被添加到组织中时,这个活动必须触发,更多信息参照样例 Servicedesk Demo Application 。
    5. 通过消息地图编辑器(the message mapeditor)分配一个固定值IT,初始化组织WEB服务参数OrganizationType输入框。
    6. 点击保存(Save),点击发布(Publish)来分别保存和发布程序。
  3. 连接开通程度到应用
    1. 打开(Open)  (需要全局管理员角色Global Applications). 全局管理员窗口显现,列出所有已注册的应用。
    2. 查找服务台应用(Servicedesk)。
    3. 点击开通业务流程标签页(Provisioning BPMs),显示所有已注册可开通服务BPMs。
    4. 添加你所开发的每个程序,使用  来选择有你业务程序。

      注: BPM 查找窗口只显示共享空间和全局开通服务组织的程序,然而,你能在BPM路径下手动提供可开通程序。

    5. 设置BPM类型,组织级订购;
    6. 设置运行模型(Running mode): Long lived;
    7. 设置运行场景(Running location): Tenant organization(租户组织);
    8. 点击保存(Save)来保存这个过程,角色页(Roles tab)显示出来;
      在角色页规则是添加内置开通服务用户,此用户是启动BPM,这个用户需要处理WEB服务,这个服务用于BPM模型;
    9. 在角色页(Roles tab),点击 
    10. 在应用包角色(Application Package Roles)下,展开Cordys服务台;
    11. 选择 Servicedesk Provisioning,并点击 OK.
      这个角色包括处理WEB服务,这个服务用于服务台开通服务过程,此过程早已开发。
    12. 点击保存(Save)老保存角色;
    13. 重复这些步骤,取消组织订购和用户订购过程模版。
  4. 在本地测试服务开通过程
    1. 添加应用到你的组织和全局开通服务组织Global Provisioning Organization)中,选择你自己为用户;
    2. 打开(Open)过程实例管理(PIM),下面必须被执行成功:
      • 开始BPM(StartBPM),触发组织取消订购BPM(OrganizationUnsubscription BPM)
      • OrganizationApplSubscription
  5. 测试为其他组织开通过程
    1. 打包服务台开通项目(Service Desk Provisioning)
    2. 载入服务台开通应用包
    3. 重复步骤4测试开通过程

一个面向应用开通服务被开发,是在组织订购应用过程中去被触发。

原文见:Cordys Cloud Provisioning for BOP 4.3 Product Documentation

1、Defining a Derived Application

2、Developing Application-Specific Provisioning Processes

相关内容