Prev Next

Install and Configure

The Sparx Systems Pro Cloud Server product is installed using a standard Microsoft Windows Installer package that includes a number of optional components. One of these components is Integration Plug-ins, which is installed by default into the C:\Program Files (x86)\Sparx Systems\Pro Cloud Server\SBPI\  folder (assuming a 64 bit machine is being used).

Requirements

In order to install a particular Integration Plug-in you must have:

  • A licensed Pro Cloud Server
  • Physical network access to a server hosting the external data
  • User credentials to access the external data
  • Enterprise Architect Corporate, Unified or Ultimate Edition, v14 or later
    Nb: Enterprise Architect Trial edition provides read-only access to Integrations

What is in the Package?

The Integration Plug-ins folder initially consists of an Integration Server executable (SBPI.exe), a separate executable (*SBPI.exe) for each supported external product, a sample configuration file and a text file describing the manual installation and configuration steps.

Plug-In

Description

See also

Integration (SBPI) Server

The SBPI.exe application acts as the interface between the Pro Cloud Server and each of the plug-ins, by translating Enterprise Architect requests, forwarding them to the appropriate plug-in and then returning the generated response to Enterprise Architect.

Application Lifecycle Manager Plug-in

The ALMSbpi.exe plug-in interacts with the MicroFocus Application Lifecycle Manager product (previously known as HP Quality Center).

Autodesk Plug-in

The AutodeskSbpi.exe Plug-in interacts with AutoCAD's file and management component AutoDesk.

Bugzilla Plug-in

The BugzillaSbpi.exe Plug-in interacts with the web based defect/bug tracking system that was originally developed and used by the Mozilla project and is now licensed under the Mozilla Public License agreement.

Confluence Plug-in

The ConfluenceSbpi.exe plug-in interacts with Atlassian's Team Collaboration Software. It is able to list spaces and link to pages.

Note that the content of the Confluence HTML pages is not synchronized.

Dropbox Plug-in

The DropboxSbpi.exe plug-in interacts with Dropbox's web based file hosting service. It is able to list folders within Dropbox and link to individual files.

EA Plug-in

The EASbpi.exe Plug-in interacts with external Sparx Systems's Enterprise Architect Cloud-based repositories. It is able to browse the Package hierarchy or perform search based queries.

Jazz Plug-in

The JazzSbpi.exe Plug-in interacts with:

  • IBM Rational DOORS Next Generation's Requirement management tool
  • Rational Rhapsody Design Management (DM)
  • Rational Team Concert Change and Configuration Management (CCM)
  • Rational Quality Manager (QM)

Jira Plug-in

The JiraSbpi.exe plug-in interacts with Atlassian's issue tracking system. It is able to list a user's favorite filters (also known as starred filters). Each filter will then list all the Jira items returned by the filter.

Salesforce

The SalesforceSbpi.exe plug-in interacts with Salesforce's Customer Relationship Management system.

ServiceNow Plug-in

The ServiceNowSbpi.exe plug-in interacts with ServiceNow's asset management component of its Cloud-based enterprise management system.

SharePoint Plug-in

The SharePointSbpi.exe Plug-in interacts with Microsoft's web-based collaborative platform, SharePoint.

Azure DevOps / TFS Plug-in

The TFSSbpi.exe Plug-in interacts with Microsoft's Azure DevOps / Team Foundation Server (TFS) work items

Wrike Plug-in

The WrikeSbpi.exe Plug-in interacts with Wrike's project management system.

How to Set Up

The Integration framework consists of an Integration server (SBPI.EXE) application that starts one or more Plug-ins (such as DropboxSbpi.exe and JiraSbpi.exe).  The Integration Server and each Integration Plug-in can be configured to run either on the same machine as the Pro Cloud Server or on completely different machines.  In the simplest configuration the Integration server and all Integration Plug-ins are installed on a single server. There are two main advantages with this configuration:

  1. The Pro Cloud Server will automatically start (and stop) all configured Plug-ins whenever its Windows service is started (or stopped).
  2. The Integration configuration GUI inbuilt into the Cloud Configuration client can be used to completely manage all aspects of the Integration configuration; see the Steps - Simple table.

However, if you elect to run the Integration Server or Integration Plug-ins on different machine(s) to the Pro Cloud Server, each of the individual Plug-ins must be manually configured as well as configured to start as Windows services with the correct parameters. See the Steps - Manual table.

Steps - Simple

The Integration configuration GUI included in the Cloud Configuration client removes most of the complexity involved in configuring the Integration Server and Data Provider(s), therefore this is the recommended method for most users.  However, this configuration method is restricted to running all Integration components (*SBPI.exe) on the same server as the Pro Cloud Server.

Step

Description

See also

Configuring Pro Cloud Server for Integration

Each installation of Sparx Systems Pro Cloud Server can be configured to communicate with a single Integration Server; the configuration options of this definition are defined as a series of registry settings, however the 'Integration' tab in the Pro Cloud Server Configuration Client allows the definition and maintenance of the Integration Server options without the need for you to manually manipulate the registry or configuration files.

This image shows the definition of an Integration Server with the default settings:

Alternatively, the Integration Server and Plug-ins can be configured via the WebConfig interface. See the WebConfig - Integration Plug-ins topic for details.

Configuring Integration Data Providers

Each Data Provider (or Plug-in) is defined both as a series of registry entries in [HKEY_USERS\.DEFAULT\Software\Sparx Systems\SQLBridge\SBPI\Plugins\{unique} and as settings within a configuration file.  Again, the 'Integration' tab in the Cloud Configuration Client allows the definition and maintenance of Integration Data Provider details without the need for you to manually manipulate the registry and configuration files.

Add/Edit Data Provider

Configuring the Firewall

In an effort to minimize Firewall rules needed to configure the Pro Cloud Server and its features, PCS version 4.1 now routes all requests for the Integration server (SBPI.exe) via the normal PCS ports, therefore if you are using PCS 4.1 or later there are no additional Firewall rules needed other than the ones for Enterprise Architect client to communicate to the Pro Cloud Server. 

For versions 3 and 4 of the PCS, the Integration server (SBPI.exe) typically must be granted access through any local firewall so that Enterprise Architect clients can connect to it. The Pro Cloud Server installer will automatically create a Firewall exception that allows any incoming requests to be passed through to SBPI.exe; however, the default settings should be reviewed and adjusted to suit your environment.

Steps - Manual

Important: these steps are only needed if the Integration components will run on different machine(s) to the Pro Cloud Server, otherwise the Steps - Simple table should be used.

Step

Description

See also

Configuring Pro Cloud Server for Integration

Each installation of Sparx Systems Pro Cloud Server can be configured to communicate with a single Integration (or SBPI) server. These configuration options are defined as a series of registry settings.

This is an example of all valid options for the Integration server:

[HKEY_USERS\.DEFAULT\Software\Sparx Systems\SQLBridge\SBPI\Server]

"Enabled"="true"

"LocalPort"=dword:00001f90

"UseLegacy"="false"

"Arguments"="-port 8080 -protocol http"

"Protocol"="https"

"Server"="localhost"

"Port"=dword:00001f90

"IgnoreSSLErrors"="true"

"AttemptAutoDiscovery"="true"

"ClientProtocol"="http"

"ClientServer"="alternativeservername"

"ClientPort"=dword:00001f90

  • Enabled - true or false, representing the Port number that the SBPI server should be listening on, which value should match the value specified in the arguments; for example, dword:00001f90   (decimal 8080)
  • LocalPort - a hexadecimal value, representing the Port number that the Integration Server is listening on when the Use Legacy option is FALSE; for example, dword:00001f90   (decimal 8080)
  • UseLegacy - true or false, controls if the simple (false) or complex (true) set of configuration options should be used by the Integration Server
  • Arguments - not used in Pro Cloud Server 4.1 or later versions; in earlier versions this represents the arguments that are used to start the Integration server, which include the Port and Protocol the server should listen on - for example, "-port 8080 -protocol http"
  • Protocol - http or https, the protocol that should be used to communicate with the machine hosting the Integration server when the Use Legacy option is TRUE; this field is combined with the 'Server' and 'Port' to form the Integration Server's URL, which the Pro Cloud Server will send SBPI related requests to
    Note: The complete URL ({protocol}://{server-name}:{port} must be resolvable by the Pro Cloud Server machine
  • Server - the name (or IP number) of the machine hosting the Integration server when the Use Legacy option is TRUE (for example, yourdomain.com); this field is combined with the 'Protocol' and 'Port' to form the Integration Server's URL, which the Pro Cloud Server will send SBPI related requests to
    Note: The complete URL ({protocol}://{server-name}:{port} must be resolvable by the Pro Cloud Server machine
  • Port - a hexadecimal value, representing the Port number that the Integration Server is listening on when the Use Legacy option is TRUE - for example, dword:00001f90 (decimal 8080); this field is combined with the 'Protocol' and 'Server' to form the Integration Server's URL, which the Pro Cloud Server will send SBPI related requests to
    Note: The complete URL ({protocol}://{server-name}:{port} must be resolvable by the Pro Cloud Server machine
  • IgnoreSSLErrors - true or false, defines whether the SSL related errors that occur while communicating with the Integration Server component should be ignored when the Use Legacy option is TRUE
  • AttemptAutoDiscovery - true or false, defines if the Pro Cloud Server should automatically attempt to determine the Enterprise Architect client's network address and supply it to the Integration Server when the Use Legacy option is TRUE
  • ClientProtocol - http or https, defines the protocol that, when combined with the 'ClientServer' and 'ClientPort', forms the resolvable URL that Enterprise Architect clients can communicate to the Integration Server when the Use Legacy option is TRUE
    Note: The complete URL ({protocol}://{server-name}:{port} must be resolvable by the Enterprise Architect client machine
  • ClientServer - defines the server name (or IP number) that, when combined with the 'ClientProtocol' and 'ClientPort', forms the resolvable URL that Enterprise Architect clients can communicate to the Integration Server when the Use Legacy option is TRUE
    Note: The complete URL ({protocol}://{server-name}:{port} must be resolvable by the Enterprise Architect client machine
  • ClientPort - a hexadecimal value defining the Port number that, when combined with the 'ClientProtocol' and 'ClientServer', forms the resolvable URL that Enterprise Architect clients can communicate to the Integration Server when the Use Legacy option is TRUE; for example, dword:00001f90   (decimal 8080)
    Note: The complete URL ({protocol}://{server-name}:{port} must be resolvable by the Enterprise Architect client machine

Note: From version 4.1 onwards of the Pro Cloud Server, the Integration Server does not need to have Firewall rules of its own so that Enterprise Architect clients can communicate with it. For PCS versions 3 and 4 the Integration Server (SBPI.exe) typically needs to be granted access through any local firewall so that clients can connect to it. The Pro Cloud Server installer will automatically create a Firewall exception that allows any incoming request to be passed through; however, the default settings should be reviewed and adjusted to suit your environment.

Configuring Data Providers

Each Data Provider is defined as a series of registry entries in:

     [HKEY_USERS\.DEFAULT\Software\Sparx Systems\SQLBridge\SBPI\Plugins\{unique}

where {unique} is a unique UUID for the Data Provider. 

This is an example of a complete External Data Provider definition:

[HKEY_USERS\.DEFAULT\Software\Sparx Systems\SQLBridge\SBPI\Plugins\{853489C1-4C22-4bad-9A8E-3098D07A3FC1}]

"AutoStart"="true"

"Enabled"="true"

"Group"=""

"Name"="Sparx Systems Sample account"

"Port"=dword:00001f91

"Prefix"="jr1"

"TypeKey"="jira"

"Arguments"="-port 8081 -config jr.config"

"Config"="jr1.config"

  • AutoStart - true or false, defines if the Integration Server (SBPI.exe) should maintain a running process (*sbpi.exe) for this Data Provider
  • Enabled - true or false, defines if the Integration Server (SBPI.exe) should allow communications to be forwarded to this Data Provider
  • Group - an optional value that can be used to 'sort' Providers into groups when displayed in Enterprise Architect
  • Name - a 'friendly' project name to describe the external Data Provider, which is displayed to all Enterprise Architect users; for example 'Sparx Systems Sample account'
  • Port - a hexadecimal value representing the Port number that the external data source expects to receive requests on, which value should match the value specified in the arguments; for example, dword:00001f91 (decimal 8081)
  • Prefix - a short unique name that is meaningful to the users and that prefixes each link stored within the Enterprise Architect model; for example, jr1::10001  (where 10001 is the Jira object ID)
  • TypeKey - defines the Provider type of the current Data Provider; only these supported values can be used:  cint, csvc, alm, ad, bug, cflu, drop, ea, jazz, jira, sf, now, sp, tfs, wrike
  • Arguments - deprecated from PCS 4.1 onwards, a dynamic arguments list is built from the individual settings; earlier versions used this field to define the arguments that should be used to start the Integration Plug-in, including the Port, Protocol and Config filename
  • Config - deprecated from PCS 4.1 onwards, the config filename is now the prefix with a '.config'; in versions PCS 3 and PCS 4 this field was given an independent value that had to be unique

Each External Data Provider requires its own set of options to define the details of how the configured Plug-in connects to the External Data Source. These settings are stored in a .config file that resides in the same location as the Plug-in's .exe file. For example, using the above definition a 'jr1.config' would need to be created, and would contain information similar to this:

PROTOCOL=https

SERVER=example.com

PORT=443

BASEURL=myproject

USERNAME=

PASSWORD=

CREATEITEMS=false

MODIFYITEMS=false

POSTDISCUSSIONS=true

PROXY=10.0.0.0:3128

PROXYBYPASS=<local>;10.*

IGNORESSLERRORS=true

  • PROTOCOL - the communication protocol, http or https
  • SERVER - the name (or IP number) of the external data source's server, such as example.com 
  • PORT - the Port the external data source is configured to listen on, such as 443
  • BASEURL - when the external data source supports multiple 'projects', the BaseURL property identifies which should be used; for example, for Enterprise Architect SBPI the BaseURL is the DB Alias as defined in the PCS
  • USERNAME - optional - see Note1
  • PASSWORD - optional - see Note1
  • CREATEITEMS - defines if Enterprise Architect users can create items in the External Data Source - see Note2; default value: false
  • MODIFYITEMS - defines if Enterprise Architect users can modify existing items in the External Data Source - see Note2; default value: false
  • POSTDISCUSSIONS - defines if Enterprise Architect users can add Discussions to items within the External Data Source - see Note2; default value: true
  • PROXY - optional - the server name or IP number and Port of the proxy server, such as  10.0.0.0:3128
  • PROXYBYPASS - optional - a semi colon separated list of IP numbers that should not be sent through the proxy; for example, <local>;10.*
  • IGNORESSLERRORS - optional - a boolean value to ignore any SSL certificate errors

Note1

  • If the external server supports OAuth 2 authentication (Autodesk, Dropbox and Wrike), when accessing from within Enterprise Architect, a browser window will open and prompt you to log in to the external account and allow Enterprise Architect to access your account
  • Enterprise Architect never sees your credentials in this process; instead it is provided with a unique token to access the external account
  • If the external server allows basic authentication, then the username and password can be optionally set in the configuration file
  • If the username and password are not specified in the configuration file, Enterprise Architect will prompt you for credentials to access the external data

Note2

  • Not all external products support the creation and modification of their objects; for example, Dropbox does not

Configuring Models for External Data Providers

In order for users of an Enterprise Architect model to connect to a given External Data Provider, a 'binding' between the Enterprise Architect model and the External Data Provider must be configured. This is performed by a series of registry settings in [HKEY_USERS\.DEFAULT\Software\Sparx Systems\SQLBridge\SBPI\Bindings\{unique}] for each model/External Data Provider combination. In this string, {unique} is an 8-digit hexadecimal number uniquely identifying the binding. For example:

[HKEY_USERS\.DEFAULT\Software\Sparx Systems\SQLBridge\SBPI\Bindings\B6EE6851]

"LocalModel"="eaexample"

"Plugin"="{853489C1-4C22-4bad-9A8E-3098D07A3FC1}"

  • LocalModel - the DB Alias of the model, such as 'eaexample'
  • Plugin - the UUID of the external data source; for example, {853489C1-4C22-4bad-9A8E-3098D07A3FC1}

Special Notes

Using SSL at the Integration Server or Provider Level

If you choose to implement the HTTPS protocol at either the Integration Server level or Integration Provider level, the Integration Executables (*SBPI.EXE) will require a 'server.pem' file in the same folder as themselves; therefore, if using the default installation path this would mean 'server.pem' should be placed into the C:\Program Files (x86)\Sparx Systems\Pro Cloud Server\SBPI\  folder.

See the section SSL Certificates in the Add a Port Definition Help topic and the Self-Signed SSL Certificates Help topic for more information on how to create a valid 'server.pem' file.

The Integration Plug-in for Enterprise Architect Requirements:

  • The BaseURL as the model's DB Alias
  • The defined model configured as 'Enabled' and 'Enable Pro Features (OSLC, WebEA and Integration)' in the Pro Cloud Server