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 Plugins, which is installed by default into the C:\Program Files (x86)\Sparx Systems\Cloud Services\SBPI\ folder (assuming a 64bit machine is being used).

Requirements

In order to install a particular Integration Plugin 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 Plugins folder initially consists of a 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.

Task

Script

See also

Integraton (SBPI) Server

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

Application Lifecycle Manager Plugin

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

Autodesk Plugin

The AutodeskSbpi.exe plugin interacts with AutoCAD's file and management component AutoDesk.

Bugzilla Plugin

The BugzillaSbpi.exe plugin 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 Plugin

The ConfluenceSbpi.exe plugin interacts with Atlassian's Team Collaboration Software.

Dropbox Plugin

The DropboxSbpi.exe plugin interacts with Dropbox's web based file hosting service.

EA plugin

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

Jazz Plugin

The JazzSbpi.exe plugin interacts with IBM Rational DOORS Next Generation's requirements management tool.

Jira Plugin

The JiraSbpi.exe plugin interacts with Atlassian's issue tracking system.

ServiceNow Plugin

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

SharePoint Plugin

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

Team Foundation Server (TFS) Plugin

The TFSSbpi.exe plugin interacts with Microsoft's source code management.

Wrike Plugin

The WrikeSbpi.exe plugin 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 plugins (such as DropboxSbpi.exe and JiraSbpi.exe).  The Integration Server and each Integration plugin 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 Plugins 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 plugins 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 plugins on different machine(s) to the Pro Cloud Server, each of the individual plugins 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 Cloud Configuration Client allows the definition and maintenance of the Integration Server options without the need for you to manually manipulate the registry.

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

User Guide

Configuring Integration Data Providers

Each Data Provider (or Plugin) is defined as both a series of registry entries in [HKEY_USERS\.DEFAULT\Software\Sparx Systems\SQLBridge\SBPI\Plugins\{unique} and 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 the user to manually manipulate the registry and configuration files.

Add/Edit Data Provider

Configuring the Firewall

The Integration server (SBPI.exe) typically needs to 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 need to 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 to 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]

"Arguments"="-port 8080"

"Port"=dword:00001f90

"Path"="C:\\Program Files (x86)\\Sparx Systems\\Cloud Services\\SBPI\\SBPI.exe"

"Protocol"="http"

"Server"="yourdomain.com"

  • Arguments - the arguments that are used to start the SBPI server, which include the port the server should listen to; for example, "-port 8080"
  • Port - a hexadecimal value, representing the port number that the SBPI server should be listening to, which value should match the value specified in the arguments; for example, dword:00001f90   (decimal 8080)
  • Path - the full path to the SBPI server's EXE; for example:
         "C:\\Program Files (x86)\\Sparx Systems\\Cloud Services\\SBPI\\SBPI.exe"
    When SBPI.EXE and the Pro Cloud Server are running on the same machine, PCS will attempt to start the SBPI.exe in this location
  • Protocol - the protocol that should be used to communicate to the machine hosting the SBPI server; that is, http or https
  • Server - the name (or IP number) of the machine hosting the SPBI server (for example, yourdomain.com); it is important to realize that this address is forwarded to the client (Enterprise Architect) so that it can make direct requests, which means the name or IP must be resolvable from the client machines

Note:   The SBPI server 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 External Data Sources

Each External Data Source 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 source.  This is an example of a complete External Data Source definition:

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

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

    "Name"="Sparx Systems Sample account"

    "Path"="C:\\Program Files (x86)\\Sparx Systems\\Cloud Services\\SBPI\\JiraSbpi.exe"

    "Port"=dword:00001f91

    "Prefix"="jira"

    "Protocol"="http"

    "Server"="127.0.0.1"

    "Type"="Jira"

Arguments - the arguments that should be used to start the plugin, which include the port the plugin should listen to and the name of the configuration file; for example, "-port 8081 -config Jira1.config"

Name - a 'friendly' project name to describe the external data source, which is displayed to all Enterprise Architect users; for example 'Sparx Systems Sample account'

Path - the full path to the plugin's EXE; for example, C:\Program Files (x86)\Sparx Systems\Cloud Services\Service\JiraSbpi.exe

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

Prefix - a short unique name that is meaningful to the users and prefixes each link stored within the Enterprise Architect model; for example, jira::10001  (where 10001 is the Jira object ID)

Protocol - the protocol that should be used to communicate to the machine hosting the plugin, such as http or https

Server - the name (or IP number) of the machine hosting the plugin (for example, yourdomain.com  or  127.0.0.1); it is important to realize that this address is relative to the machine hosting the SBPI server, therefore the name or IP must be resolvable from the SBPI host machine

Type - a generic name to 'group' external data sources within Enterprise Architect

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

SERVER=example.com

PROTOCOL=https

PORT=443

BASEURL=myproject

USERNAME=

PASSWORD=

CREATEITEMS=false

MODIFYITEMS=false

POSTDISCUSSIONS=true

PROXY=10.0.0.0:3128

PROXYBYPASS=<local>;10.*

IGNORESSLERRORS=true

SERVER - the name (or IP number) of the external data source's server, such as  example.com 

PROTOCOL - the communicate protocol, such as https

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 Sources

In order for users of an Enterprise Architect model to connect to a given External Data Source, a 'binding' between the Enterprise Architect model and the External Data Source 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 source combination. In this string, {unique} is an 8 hexadecimal digit 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 Intergration Server or Integration Provider levels 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\Cloud Services\SBPI\  folder.

See sections SSL Certificates and Self-Signed Certificate using OpenSSL on the page Add a Port Definition  for more information on how to create a valid 'server.pem' file.

The Integration Plugin for Enterprise Architect requires

- the BaseURL is the model's DB Alias

- the defined model must be configured as 'Enabled' and 'Enable Pro Features (OSLC, WebEA and Integration)' in the Pro Cloud Server

What data is returned by Integration Plugins

Each of the Integration plugins 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 Plugin 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 menu option Issues | Manage Filters

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