Skip to main content
Kinetic Community

Bridgehub

Overview

Kinetic Bridgehub is the main web application that is used to store and run various Bridge Adapters that will be used to access data from different systems and convert it into a single, standardized bridging interface.

Installation

Download kinetic-bridgehub.war and place it in the tomcat webapps directory to deploy.

After the kinetic-bridgehub.war successfully deploys, you will be able to access Kinetic Bridgehub at http://server:port/kinetic-bridgehub. The default username/password combination is admin/admin.

Configuring the Console

Navigating to the Setup tab allows you to edit configuration details for the Bridgehub console.

The Configurator Username and Configurator Password allow you to modify the username/password combination that is needed to log into the Bridgehub Admin Console.

Log Level allows you to choose how verbose the bridge logging will be.

  • Info (Production) will log only necessary information, Debug (Development) will log events such as incoming requests, and Trace (Troubleshooting) is the most verbose logging available.

Log Size (MB) is the size that the Current Log is allowed to be in MB.

Creating a New Bridge

Click the Add Bridge button to start the process of creating a new Bridge.

bridgehub-choose-bridge-adapter.png

From the Bridge Adapter dropdown, choose the type of Bridge Adapter that you want to create.

After selecting a Bridge Adapter type, you will need to fill in the properties for your new Bridge.

  • Name: The Display Name for the Bridge
  • Slug: Unique short name/id for the Bridge (no spaces)
  • Use Access Keys?: An extra security measure that can be used alongside IP Address restrictions to only allow access to requests that include a pre-generated access/secret key combination (similar to passing a username/password along with a request)
  • Servers Allows API Access: A comma separated list of IP Addresses (* to allow all IPs) - Defaults to ipv4 and ipv6 localhost addresses

Any remaining properties are specific to the selected Bridge Adapter Class. See the individual documentation for each adapter to get more specifics about those properties.

Adding a New Access Key

When a bridge configuration has Use Access Keys set to Yes, the access key management (on the right side of the edit screen) will be shown.

bridgehub-add-access-keys.png

When adding access key the application will generate a secure and random access key and secret. It is also possible to edit these to values of your choosing when creating or editing access keys. It is also recommended to include a short description to denote who or what the key/secret will be used for.

bridgehub-create-access-key.png

Keep note of the access key and secret, which will be necessary for the user or integrating application to create signatures to authenticate the bridge request. All previously created access key/secret combinations will be available to view or edit on the bridge edit page.

bridgehub-added-access-key.png

Configuring Bridgehub Clustering Support with Cassandra

Configuring Bridgehub clustering allows multiple Bridgehub instances to be running with the same exact configuration. Any time an update happens in one Bridgehub instance, the other Bridgehub instances that are running in that cluster will automatically update the configuration details that changed. This cluster support makes it easier to run a load balancer among multiple Bridgehub instances. This clustering is accomplished by storing the configuration information in a Cassandra database and then having each Bridgehub instance poll for changes that happen on other instances in the cluster.

Setting up Cassandra

To setup Cassandra it is recommended to either use cqlsh (a command line program) or DevCenter (a GUI program). To get more information on using Cassandra with our products, view the FAQ on the preferred architecture for Request CE.

Create your keyspace

There are multiple way to create a keyspace in Cassandra, so no one example will universally work for all environments. The following are a couple examples labeled with what situation they are used in.

Example Development Keyspace

CREATE KEYSPACE IF NOT EXISTS kinetic_bridgehub_development WITH REPLICATION = { 'class': 'SimpleStrategy', 'replication_factor': 1 };

Example Production Keyspace

CREATE KEYSPACE IF NOT EXISTS kinetic_bridgehub_production WITH REPLICATION = { 'class': 'SimpleStrategy', 'replication_factor': 3};

Use the keyspace that was created

USE kinetic_bridgehub_development;

Create the tables that are needed for clustering and storing created Bridge configurations

CREATE TABLE IF NOT EXISTS cluster_events (
    action text,
    bucket text,
    content text,
    id timeuuid,
    source_node_key text,
    PRIMARY KEY ((bucket), id)
)
WITH CLUSTERING ORDER BY (id ASC)
 AND COMPACTION={
    'sstable_size_in_mb': '256',
    'tombstone_threshold': '0.05',
    'unchecked_tombstone_compaction': 'true',
    'tombstone_compaction_interval': '3600',
    'class': 'LeveledCompactionStrategy'
};

CREATE TABLE IF NOT EXISTS cluster_configuration_items (
    bucket text,
    content text,
    key text,
    PRIMARY KEY ((bucket), key)
)
WITH CLUSTERING ORDER BY (key ASC)
 AND COMPACTION={
    'sstable_size_in_mb': '256',
    'tombstone_threshold': '0.05',
    'unchecked_tombstone_compaction': 'true',
    'tombstone_compaction_interval': '3600',
    'class': 'LeveledCompactionStrategy'
};

Setting up Tomact

Specify the following Cassandra connection details as Java System Properties for the Tomcat instance running Kinetic Bridgehub

Property Name (Bold are required) Sample Value Description
com.kineticdata.bridgehub.clustering.contactpoints 127.0.0.1 Contact points are addresses of Cassandra nodes that the driver uses to discover the cluster topology (Read a more detailed explanation of contact points in the DataStax Documention).
com.kineticdata.bridgehub.clustering.keyspace kinetic_bridgehub_development The name of the keyspace that you previously created to store Bridgehub's data.
com.kineticdata.bridgehub.clustering.username a_user The username for the Cassandra instance.
com.kineticdata.bridgehub.clustering.password a_password The password for the Cassandra instance.
com.kineticdata.bridgehub.clustering.useSsl false true to use SSL, false if you are not.
com.kineticdata.bridgehub.clustering.ssl.keystore /path/to/client.keystore Fully qualified path to the keystore file.
com.kineticdata.bridgehub.clustering.ssl.keystore.password secret_password Password for the keystore (default blank)
com.kineticdata.bridgehub.clustering.ssl.truststore /path/to/client.truststore Fully qualified path to the truststore file.
com.kineticdata.bridgehub.clustering.ssl.truststore.password secret_password Password for the truststore (default blank)

Specify Cassandra connection details in a clustering.properties file in the Bridgehub data directory

Cassandra clustering connection details can also be defined in place of or alongside the Java System Property configuration values in a clustering.properties property file. This file should be placed in the Bridgehub data directory and the properties correspond to the Java System Properties with the com.kineticdata.bridgehub.clustering remove from the front of the property. Below is what a sample property file might look like:

contactpoints=127.0.0.1
keyspace=kinetic_bridgehub_development
username=a_user
password=a_password
useSsl=false
ssl.keystore=/path/to/client.keystore
ssl.keystore.password=secret_password

Restart Tomcat

Restart any tomcat instance that java properties were added to - the changes won't take affect until restart.

Structured Logging

Kinetic Bridgehub v1.2.0 introduced Structured Logging into the application. Structured logging essentially is ensuring that a log file is a preset, consistent, and machine readable format. Structured logs are useful for enterprise log aggregation tools like Splunk, Graylog, or Elastic. More information about using Structured Logging in Bridgehub and Filehub can be found here.

Adding a New Adapter Class

Adapter Classes are how functionality for different services is added into Kinetic Bridgehub.

To add an Adapter Class, add the .jar file that contains the Adapter Class into the Bridgehub WEB-INF/lib folder. Tomcat then needs to be restarted for the changes to take appear.

To check and see if the Adapter was added properly, look under Adapters header in the Environment tab to see the name and version of all the currently installed Adapters.

Changelog

v1.2.0 (2017-11-14) - Download

  • Implement structured logging
  • Bridge Path in adapter edit page now respects X-Forwarded-Host
  • Added support for clustering with a Cassandra database with encryption enabled
  • Cassandra connection properties can be defined in a clustering.properties file
  • Added the following adapters:
  • Updated the following adapters:
  • Updated the use of HttpClient to a non-deprecated client call in a number of adapters:
    • Aveksa, BMC Footprints, Kinetic Core, Jira, Microsoft Project, Microsoft SharePoint, Rackspace, Salesforce, ServiceNow

v1.1.1 (2017-06-08) - Download

  • Fix local configuration issue where sensitive properties were being encrypted multiple times leading to incorrect authentication after a Bridgehub restart

v1.1.0 (2017-05-16) - Download

  • Add Bridgehub clustering support with Cassandra
  • Add access key support
  • Add /{bridgeSlug} endpoint to the API to check if a bridge exists and is properly configured
  • All bridge results return as strings
  • If an adapter .jar is removed from the Bridgehub tomcat, the console now loads with a message saying the bridge cannot be found and allows deletion of missing bridge.
  • Bridges listed alphabetically
  • Passing no query parameters to an API request now has a more descriptive error
  • Removed sensitive properties from manage API returns
  • Updated Amazon EC2 Adapter to v1.0.1
  • Updated Google Admin Adapter to v1.0.1
  • Updated Kinetic Core Adapter to v1.0.3
  • Updated Salesforce Adapter to v1.0.1

v1.0.3 (2016-08-23) - Download

  • Show spinner and timing when testing bridge
  • Encrypt sensitive bridge properties in database
  • Add bridge adapter build
  • Allow pageSize and offset metadata values to be passed without a pageNumber
  • Authenticated users bypass IP Address list restrictions
  • Internet Explorer compatibility issues fixed
  • Key 'value'  for the Count object changed to 'count'
  • Added Azure Adapter
  • Updated Kinetic Core Adapter to v1.0.2
  • Updated Ars Adapter to v1.0.1

v1.0.2 (2016-06-03) - Download

  • Added support for Basic Authentication

v1.0.1 (2016-05-09) - Download

  • DisposableAdapter class added so that adapters could be destroyed on shutdown of the Bridgehub web application
  • Added a testing framework to make standalone adapter development easier

v1.0.0 (2015-12-18) - Download

  • Initial Version

Related

Topics
Form List
Create Form
Creating a new Request Form.
Form Description
Overview and other consoles containing detailed information about the Form
Builder
How to use the builder to create and maintain Forms for Request.
Forms
Form Details and Advanced Properties
Form Actions
Reviews available actions for the Forms.
Models
Mappings
Kinetic Bridgehub Adapter Creation Training
Class with activities on how to build your own bridges/adapters for bridgehub.
Add a Hyperlink to a Service Item
I would like to add a Hyperlink to my Service Item which will open a new Tab and display some related information.  How can I add a Hyperlink to my Service Item?
Migrating from Kinetic Request Remedy Edition (RE) to Kinetic Request Core Edition (CE) Q and A
Q&A for migrating from Request RE to Request CE
Remedy Bridge in CE for people search
Using Review Request in Kinetic Request CE
How to use Review Request to display a submission in read-only in Kinetic Request CE.
Bridgehub
Kinetic Bridgehub is the main web application that is used to store and run various Bridge Adapters that will be used to access data from different systems and convert it into a single, standardized bridging interface. Compatible with both Request RE and CE, bridgehub is a one stop shop for front end integrations.
Bridgehub
Kinetic Bridgehub is the main web application that is used to store and run various Bridge Adapters that will be used to access data from different systems and convert it into a single, standardized bridging interface.
References
Other