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

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.

Dropbox Plug-in

The DropboxSbpi.exe plug-in interacts with Dropbox's web based file hosting service.

EA plug-in

The EASbpi.exe plug-in interacts with external Sparx Systems's Enterprise Architect Cloud-based repositories.

Jazz Plug-in

The JazzSbpi.exe plug-in interacts with:

  • IBM Rational DOORS Next Generation's requirements 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.

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.

Team Foundation Server (TFS) Plug-in

The TFSSbpi.exe plug-in interacts with Microsoft's source code management.

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 Plugins 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 - no longer used since Pro Cloud Server 4.1, but in earlier versions represented 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' form the Integration Server's URL that the Pro Cloud Server will send SBPI related requests to.    Note: The complete URL ({protocol}://{server-name}:{port} needs to 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' form the Integration Server's URL that the Pro Cloud Server will send SBPI related requests to.    Note: The complete URL ({protocol}://{server-name}:{port} needs to 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' form the Integration Server's URL that the Pro Cloud Server will send SBPI related requests to.    Note: The complete URL ({protocol}://{server-name}:{port} needs to be resolvable by the Pro Cloud Server machine.
  • IgnoreSSLErrors - true or false, defines if 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 EA client's network address and supply that 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' form 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} needs to be resolvable by Enterprise Architect client machine.
  • ClientServer - defines server name (or IP number) that when combined with the 'ClientProtocol' and 'ClientPort' form 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} needs to be resolvable by Enterprise Architect client machine.
  • ClientPort - a hexadecimal value, defines the Port number that when combined with the 'ClientProtocol' and 'ClientServer' form 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} needs to be resolvable by Enterprise Architect client machine.

Note:   Version 4.1 of the Pro Cloud Server removed the need for the Integration Server requiring a Firewall rules of its own so that Enterprise Architect clients can communicate to it.  However for PCS version 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 ProCloudServer 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 the following supported values can be used:  cint, csvc, alm, ad, bug, cflu, drop, ea, jazz, jira, sf, now, sp, tfs, wrike
  • Arguments - Deprecated in PCS4.1, a dynamic arguments list is build from the individual settings. Earlier version uses this field to defines the arguments that should be used to start the Integration Plug-in, including the Port, Protocol and Config filename.
  • Config - Deprecated in PCS4.1, the config filename is now the prefix with a '.config'.  In version PCS 3 and PCS4 this field was given a independent value which 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

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

What data is returned by Integration Plug-ins

Each of the Integration plug-ins developed by Sparx Systems returns information based on a 'Filter' or position within the product's external data.  Some products, such as Enterprise Architect, Jira and TFS, provide a mechanism to customize the data returned, whilst others simply return all information at a particular position within the data. 

Note: For Enterprise Architect, Jira or TFS the filters must be configured prior to Enterprise Architect requesting that an Integration Plug-in should connect to them

Provider

Information returned

See also

Application Lifecycle Manager

Information returned based on the internal list for Defects, Requirements and Tests.

AutoDesk

Information returned based on the contents of:  Hubs | Projects | Folders.

Bugzilla

Information returned based on the contents of:  Product | Component | <all items in component>.                                                                                                                                           

Dropbox

Information returned based on the contents of:  Folders .

EA

Presents a list of 'External Model' searches as defined in the local model.  See screen 'Find in Project' | External Models

Jazz

Information returned based on the contents of:  (DoorsNG) - Folders.

Jira

Presents a list of 'Favorite Filters'. See the menu option 'Issues | Manage Filters'

Salesforce

Presents all item types that have a 'List View'.

ServiceNow

Presents a list of user-defined filters, grouped by the table they are based on.

Team Foundation Server

Presents a list of TFS global and 'My ...' queries.

Wrike

Information returned based on the contents of:  Accounts | Folders.