Integration Project – High Level Setup

This page describes all necessary tasks needed to implement integration at a customer project.

Steps

Initial Work (Project Manager)

  1. Define a project team. 

  2. Order the project environment (responsibility of Project Manager and Solution Architect). For that you need to specify: 

    • Dedicated or shared environment 

    • Location of environment (USA, EU, etc.)

    • Number of environments (DEV, QA, PROD)

Environment Setup (Integration Engineer)

  1. Create a HelpDesk ticket for the SSH access to the target server. 

  2. Create a HelpDesk ticket for modification of the deploy scripts to include the new environments. 

  3. Create a HelpDesk ticket for firewall changes allowing connections between PlatformManager (integration.pricefx.eu) and nodes where the customer is served.
    By default, the range 9000-9030 is opened. 

  4. Create an integration user in relevant partitions (DEV, QA, PROD). 

  5. Set permissions for the integration user – assign the Data Integration user role in the Admin section. 

  6. Set an event URL if events are required. For details see Events (Option 1: Pull Events from PFX to IM). 

  7. Create a Jenkins job for different environments. Jobs are usually created by copying existing jobs. QA and PROD have to have the confirm dialog. Parameters of the deploy shell scripts are the target folder on the server (usually im-project-env) and name of the Spring profile (project_env). 

  8. After the deploy from Jenkins create a symlink in /etc/init.d to the JAR file. It is usually in /var/pricefx/runtime.

  9. Enable the IM as a service in the OS. systemctl enable im-cox-dev.

  10. Run update-rc.d im-cox-dev defaults – it enables starting after reboot at level 3 (etc/rc3.d). 

  11. Create a HelpDesk ticket for logging to ELK stack (for Pricefx staff only). The machine will send data to the port 4560 on the ELK server elkint.pricefx.net.

  12. Add the server into PlatformManager.

  13. Install Linux scripts for monitoring and archiving on the server.

  14. Create a ticket for SSH access for the team members.

Implementation of Interfaces (Various Roles)

  1. Create a new GIT repository (responsibility of IE Competence Lead).

  2. Specify integrations (sometimes called scheduled jobs).

    • Each project has a different set of integrations which are implemented according to the customer business requirements. Business requirements are defined by the customer and the customer is responsible for validation of all business requirements.

    • It is the responsibility of Project Manager and Solution Architect on the project to collect these requirements.

  3. Implement, deploy and test. 

    • Pricefx Integration Engineer is responsible for implementation of integrations according to the business requirements.

    • Implemented integrations are deployed to the DEV environment, tested by Pricefx first and then also tested by the customer. Tests by customer must cover all cases described in the business requirements and the customer is responsible for their validation.

    • If all tests are successful, the customer must formally approve integrations deployment to a next stage (which is the QA environment) and the whole process is repeated.

    • A final stage is to deploy the integrations to the production environment which must again be approved by the customer and the installation must be planned in cooperation with all involved teams.

Integration (Scheduled Jobs) Requirements

The first specification of interfaces should be described in the Integration template (see below). This file contains all necessary information about interfaces/jobs which have to be implemented. Sometimes the Solution Architect transfers the information from this file into a Confluence page or Jira tasks. The implementation of customer requirements for integration/jobs is stored in GIT (our source code management system).

PlatformManager can also show the information about integration implementation. 

Template for Integration Projects

The template contains all necessary information which Integration Engineer needs for implementation

  • Type of CRM/ERP system

  • Volume of records

  • Information about frequency of data transfer

  • Mapping into PFX entities

  • Encoding, data format, etc.

  • Type of interfaces

  • etc.

You can download the template here: Integration template.xlsx

IntegrationManager version 5.8.0