Introduction

iXPath uses the BPMN (Business Process Model and Notation) standard for the translation part.
BPMN is a business process modeling method to describe the business activities of an organization in a graphical representation.

Below an example of a flow traced by the iXPath BPMN module:

1615831422135-492.png

As we can see, there are 2 main types: Connectors and Gateways

Connectors

A connector is an algorithm that is executed via a trigger. In iXPath, the trigger is always an input file.

In this part, we go through each of the connectors and their particularities:

Listeners

A listening connector (or listener) is the entry point for a scenario. It allows the created event to be routed through a communication channel (FTP, SFTP, AS2, MAIL, FILE, Webservice). Communication's config is required to handle those connectors.

Note: iXPath detects incoming events in real-time.

Listener NameIconDescription
FTP Listener1615902036864-240.pngListen on an FTP/FTPS communication, on a specific user (created locally), and on a specific directory with a given file mask.
SFTP Listener1615903474893-102.pngListen on an SFTP communication, on a specific user (created locally), and on specific directory with a given file mask.
AS2 Listener1615903500591-246.pngListen on an AS2 communication, on specific AS2_ID (created locally), and on specific file mask.
FILE Listener1615903536880-750.pngReal-time listening on a specific directory with a given file mask.
WebService Listener1615903600906-895.pngListen on a Rest communication (HTTP/HTTPS), on a specific endpoint URI (GET/POST/PUT/DELETE) (created locally)
Mail Listener 1615903620708-998.pngListen on Mail communication (IMAP), on a specific mail, on a regex sender mask, on a regex mail subject, and on a given file mask.
App Event1615903682090-260.pngListen on a Rest communication (HTTP/HTTPS), on a specific endpoint URI (GET/POST/PUT/DELETE) (created locally). App event is used locally between iXPath's app.
Tracking Listener1615903640796-201.pngListen on a Tracking database event, on a specific tracking type (Order, OrderLine...), on the specific action (Create, Delete, Update), and on a specific tracking status.
Time Listener1615903655709-270.pngListen on a time with cron expression. it allows triggering event at a specific time periodically.

Scenario

A scenario connector deals directly with the input file, either translating it into some desired format or copying it, etc...

here's the list of all scenario connectors of iXPath :  

Scenario ConnectorIconDescription
FileToXML2021-04-21_12h19_50.pngTransforms a certain file to XML format with a given output file name.
XMLToFile  2021-04-21_12h27_09.pngConverts an XML file to a file format.
ExcelToXML  2021-04-21_12h31_41.pngTakes an Excel (XSL, xslx) file and converts it to XML format.
XMLToExcel 2021-04-21_12h31_58.pngconverts an XML file to its convenient Excel format.
XMLToPdf 2021-04-21_12h34_23.pngConverts an XML file to PDF text format.
PdfToXML 2021-04-21_12h34_33.pngTransforms a PDF file input to XML format.
XMLToXML 2021-04-21_12h34_57.pngTransforms an XML File to another XML File.
TrkToXML2021-04-21_12h49_47.pngretrieve a tracking from the database and translate it to an XML file.
XMLToTrk2021-04-21_12h49_52.pngStores tracking in the database from the XML input file.
XMLToBDD2021-04-21_12h50_16.pngTranslates data from an XML file and store it in the database.
BDDToXML2021-04-21_12h49_57.pngExtracts data from the database and converts it into an XML file.
JsonToXML2021-04-21_12h50_33.pngTakes a JSON file and translates it to XML format.
XMLToJSON2021-04-21_12h50_38.pngConverts an XML file to JSON format.
XMLToBin2021-04-21_12h50_24.pngConverts an XML file to its Binary format.
CopyFile2021-04-21_12h50_50.pngCopy a group of files from some connectors to a certain directory. 
SplitXML2021-04-21_12h51_08.pngsplits an XML file in a certain node with a split number and output file name.
MergeXML2021-04-21_12h51_12.pngmerges XML files in a certain node with a given output file name.
Pile2021-04-21_12h51_17.pngPut data in a linear stack that is used to store the collection of objects.
GenerateFile2021-04-21_12h51_24.pngwrites and generates a file with a given output file name.
FiltreTracking2021-04-21_12h51_30.png**********
LoadFile2021-04-21_12h51_33.pngLoads a group of files from a directory path and chooses to move it or not from the original folder.
ReturnWebService2021-04-21_12h50_45.png

returns a web service with an HTTP code response to a flow.

   
   


Routing

Routing connectors help route received files to the appropriate destination, and launch a route inside each environment.

Routing connectorIconDescription
File Detection2021-04-21_16h28_15.png

Detects the input file type and makes a filter by pattern and type.

File Fix2021-04-21_16h28_22.pngFixes a file by giving: its identifier column, size, and value and sets the value needed to be fixed.   
File Variable2021-04-21_16h28_33.pngSets a bunch of variables in the input file.
XML Detection2021-04-21_16h28_38.png 
Savoye2021-04-21_16h28_43.png 
Call Scenario2021-04-21_16h28_46.png 
   

Exploitation

Exploitation Connectors are often available only for root users in iXPath, their main mission is to fix and prevent all database and memory problems.

here's an updated list of exploitation connectors : 

Exploitation connectorsIconDescription 
PurgeJob2021-04-22_14h22_15.pngDeletes jobs older than a given date.
BackupBDD2021-04-22_14h24_03.pngDumps database for a backup.
PurgeTrackings2021-04-22_14h22_22.pngDeletes trackings older than a certain date.
PurgeFiles2021-04-22_14h22_30.pngDeletes files or directories older than a certain date.
Zip Create a zip format for input files.
UnZip Unzip the input zip file in a directory. 
   

Timers

Timers connectors, as its name says, set a timer to execute the next connector or launch a scenario ...

Timers connectors are listed as below : 

Timers connectorsIconDescription
Wait2021-04-22_14h40_14.pngWaits for a given time.
Wait Until2021-04-22_14h40_19.pngWaits Until a certain date. 

Gateways

Gateways is a BPMN notation used to control how a process flows. Connected by sequence flows, a gateway acts as a decision point that decides which (outgoing) sequence flow to take based on the result of the evaluation of condition(s) specified.

Inclusive gateway

2021-04-22_14h55_44.png

The inclusive gateway is used to create alternatives routes, and also parallel inside a process flow. Contrary to the exclusive gateway, all condition expressions are evaluated. Whilst the Inclusive Gateway can be used to show that all paths must be taken, it should be used in such a way that at least one of the paths is taken.

Exclusive gateway

parallel gateway

Variables

System variables

Local variables

Conditions

Tags:
Created by Achraf El Kari on 2021/03/15 18:06
    
This wiki is hosted and managed by iXPath
Powered by XWiki 13.3 debian