+ All Categories
Home > Documents > BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the...

BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the...

Date post: 18-Aug-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
13
BECS RabbitMQ Listener Documentation B000xxxxx BECS RabbitMQ Listener Documentation Page 1 of 13 Synopsis: This document describes implementation of BECS RabbitMQ Listener. BECS RabbitMQ Listener Documentation 1 BECS (Bentley Enterprise Connection Services) ................................................................................ 2 2 BECS RabbitMQ Listener setup and usage ........................................................................................ 2 2.1 BECS RabbitMQ Listener prerequisites ..................................................................................... 2 2.2 Architecture ............................................................................................................................. 2 2.3 BECS RabbitMQ Listener Setup ................................................................................................. 3 2.3.1 BECS Scheduler Service..................................................................................................... 3 2.3.2 BECS Scheduler Management overview and configuration ............................................... 3 2.4 RabbitMQ example of usage .................................................................................................... 9 3 References..................................................................................................................................... 12 4 Glossary......................................................................................................................................... 13 Number: B000xxxxx Updated: 6 th September 2018 By: Alex Cimbalak, Bentley SK State: Draft Scope: BECS Listener 5.5x
Transcript
Page 1: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 1 of 13

Synopsis: This document describes

implementation of BECS RabbitMQ Listener.

BECS RabbitMQ Listener Documentation

1 BECS (Bentley Enterprise Connection Services) ................................................................................ 2

2 BECS RabbitMQ Listener setup and usage ........................................................................................ 2

2.1 BECS RabbitMQ Listener prerequisites ..................................................................................... 2

2.2 Architecture ............................................................................................................................. 2

2.3 BECS RabbitMQ Listener Setup ................................................................................................. 3

2.3.1 BECS Scheduler Service ..................................................................................................... 3

2.3.2 BECS Scheduler Management overview and configuration ............................................... 3

2.4 RabbitMQ example of usage .................................................................................................... 9

3 References ..................................................................................................................................... 12

4 Glossary ......................................................................................................................................... 13

Number: B000xxxxx

Updated: 6th September 2018

By: Alex Cimbalak, Bentley SK

State: Draft Scope: BECS Listener 5.5x

Page 2: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 2 of 13

1 BECS (Bentley Enterprise Connection Services) BECS enables trusted and certified integration between Bentley software and mission critical enterprise

applications such as enterprise resource planning (ERP) systems based on visual modeling of integration

projects. BECS automates the flow of data between Bentley applications, such as ALIM, and enterprise

applications to provide two-way communications for data creation, updates, and modifications, keeping

the data in both systems accurate and up to date. Bentley Enterprise Connection Services is certified for

integration with SAP® NetWeaver™ as well as SAP® HANA™ and provides the ability to exchange both

business object metadata and table data with SAP.

BECS is essentially a service bus with typical service bus related functionality. This functionality includes

an ability to create and use native "connectors" to external applications, including but not limited to

SAP®, Maximo®, Oracle® and many others.

Connectors are used in conjunction with data flow controls such as merge, split etc., to form a data

exchange solution template. BECS solution templates may be as simple as an incoming and outgoing

connector with pass through data flow, or very complex comprising many connectors with very

sophisticated data flow controls, internal BECS mappings and validations.

2 BECS RabbitMQ Listener setup and usage In this chapter, we will describe all relevant processes related to installation and setup of BECS

RabbitMQ Listener

2.1 BECS RabbitMQ Listener prerequisites BECS RabbitMQ Listener requires:

BECS Server version 5.5 or higher

RabbitMQ server

2.2 Architecture BECS RabbitMQ listener awaits messages in defined RabbitMQ server. After message receive, BECS

RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads

required information and in case of successful processing sends command to predefined MSMQ,

dedicated to BECS Server.

Message received from RabbitMQ must be a valid XML.

Page 3: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 3 of 13

2.3 BECS RabbitMQ Listener Setup Listener consist of BECS Scheduler Service and BECS Scheduler Management

2.3.1 BECS Scheduler Service BECS Scheduler service is installed as a Windows Service. Logs are stored in Listener installation folder.

2.3.2 BECS Scheduler Management overview and configuration Configuration of BECS RabbitMQ Listener is done in BECS Scheduler Management. Following steps

describe how to setup BECS Scheduler Service for listening on RabbitMQ and use it for execution of

Integration projects on BECS Server.

1. Open Scheduler Management 2. On the bottom of welcome screen, click on “Integrator” button

3. On the right side of screen click “Add”

Page 4: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 4 of 13

4. To schedule RabbitMQ queue trigger, it is necessary to define on which BECS server you will run integration projects triggered by received queue messages Properties for Target:

- Name - MSMQ – Full connection string for BECS Integrator MSMQ - Database

a. Server – Server Name b. UserID – DB User c. Password d. BECS System database e. Trusted connection Option

Page 5: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 5 of 13

5. Click Save 6. After definition of target BECS Server, click on the bottom side on the button “Queues” 7. Click Add button on the right side. 8. In this screen the definition of RabbitMQ listener is done

- Properties for Connection: o Name o Host (IP address of RabbitMQ server) o UserName (Standard RabbitMQ user/LogOn) o Password o VirtualHost of RabbitMQ queue o Queue Name

Page 6: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 6 of 13

9. After Listener setup, Scheduler Management allows users to setup trigger for this connection in “Schedule Packs” section.

10. On the bottom side click “Schedule packs“ button 11. Click “Add” button on the right side

Page 7: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 7 of 13

- Properties for Package: o Package Name o Trigger type – choose Queue o Listener – choose Name of Queue which you defined in listener/Queue/Connection

definition o XSLT transformation – you can write or load XSLT transformation which will

transform incoming message Example:

o Condition – set conditions using Xpath for incoming message – if message meets

these conditions, it will be further processed Example:

o Parameters – define parameters/variables for BECS Integration project, which will

be run Example:

Page 8: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 8 of 13

Choose type of parameter

Node for Node Value

Complex for Node Tree

Attribute for Node Attribute

Constant for constant value Write XPath and name of parameters which maps to variable in BECS

integration project o Project settings – choose target BECS server(defined in Integrator section) and

integration project name

12. Click Save 13. Restart BECS Scheduler Service

Page 9: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 9 of 13

2.4 RabbitMQ example of usage In this example we will use integration Project defined in “BECS RabbitMQ connector documentation”

document. We will send message to RabbitMQ and receive it with BECS RabbitMQ listener and start

another BECS Integrator project with received message.

2.4.1.1 Package Definition

In package definition we choose on which queue will scheduler listen to messages, which values will be

used as conditions, which parameters will be sent to BECS integration project and target BECS Server

with Integration Project

Page 10: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 10 of 13

2.4.1.2 RabbitMQ Status check

Check status of RabbitMQ server

2.4.1.3 Execution of BECS Project

Run related BECS Integration project(for this case we ran project from BECS Visual Architect)

Page 11: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 11 of 13

2.4.1.4 RabbitMQ Receiving

RabbitMQ received message.

Message:

2.4.1.5 BECS RabbitMQ Listener process

Page 12: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 12 of 13

Open BECS Scheduler Service Log

2.4.1.6 Description

There is a Schedule Pack is defined to read target RabbitMQ. After execution of Integration project

dedicated to Send a Message to RabbitMQ, BECS Scheduler reads a message from it.

Scheduler checks if message meets conditions, reads parameters from the message and sends command

to defined BECS Server to run Integration Project.

3 References Number Revision Title Status

2018-09-06 14:30:04.3748 INFO Service started.

2018-09-06 14:30:04.4683 INFO Message recieved from: RabbitMQ With ID: 1

2018-09-06 14:30:04.4683 INFO Message:<SyncAssets>

….

</SyncAssets>

2018-09-06 14:30:04.4683 INFO (RabbitMQ Package) Executing project.

2018-09-06 14:30:04.4997 INFO Transformed

2018-09-06 14:30:04.5459 INFO (RabbitMQ Package) Request is sent to Integrator: BECS Integrator

Server

2018-09-06 14:30:04.6702 INFO Message recieved from: BECS_IN

2018-09-06 14:30:04.6702 INFO (MSMQ) Executing project.

Page 13: BECS RabbitMQ Listener Documentation · RabbitMQ listener reads contents, checks whether the message meets defined conditions, reads required information and in case of successful

BECS RabbitMQ Listener Documentation B000xxxxx

BECS RabbitMQ Listener Documentation Page 13 of 13

4 Glossary Term Description

End of document


Recommended