Wiki source code of 4. The iXPath BPMN
Version 83.9 by Outhman Moustaghfir on 2021/04/21 18:35
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | {{box cssClass="floatinginfobox" title="**Contents**"}} |
2 | {{toc/}} | ||
3 | {{/box}} | ||
4 | |||
![]() |
2.2 | 5 | = Introduction = |
![]() |
1.1 | 6 | |
![]() |
2.2 | 7 | **iXPath** uses the BPMN (Business Process Model and Notation) standard for the translation part. |
8 | BPMN is a business process modeling method to describe the business activities of an organization in a graphical representation. | ||
9 | |||
![]() |
2.3 | 10 | Below an example of a flow traced by the iXPath BPMN module: |
![]() |
2.2 | 11 | |
![]() |
19.1 | 12 | [[image:1615831422135-492.png||height="378" width="996"]] |
![]() |
2.2 | 13 | |
![]() |
42.2 | 14 | As we can see, there are 2 main types: Connectors and Gateways |
![]() |
2.2 | 15 | |
![]() |
1.3 | 16 | = Connectors = |
![]() |
1.1 | 17 | |
![]() |
2.4 | 18 | A connector is an algorithm that is executed via a trigger. In iXPath, the trigger is always an input file. |
19 | |||
20 | In this part, we go through each of the connectors and their particularities: | ||
21 | |||
![]() |
4.1 | 22 | == Listeners == |
![]() |
2.4 | 23 | |
![]() |
19.2 | 24 | 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. |
![]() |
2.4 | 25 | |
![]() |
42.2 | 26 | **//Note~://** iXPath detects incoming events in real-time. |
![]() |
6.1 | 27 | |
28 | (% style="margin-left:auto; margin-right:auto" %) | ||
![]() |
18.1 | 29 | |=(% style="width: 138px;" %)Listener Name|=(% style="width: 103px;" %)Icon|=(% style="width: 974px;" %)Description |
![]() |
76.179 | 30 | |(% style="width:138px" %)[[FTP Listener>>Documentation.iXPath.User Guide.The iXPath BPMN.Connectors.Listeners.FTP Listener.WebHome]]|(% style="width:103px" %)[[image:1615902036864-240.png||height="66" width="69"]]|(% style="width:974px" %)Listen on an **FTP/FTPS** communication, on a specific user (created locally), and on a specific directory with a given file mask. |
31 | |(% style="width:138px" %)[[SFTP Listener>>doc:Documentation.iXPath.User Guide.The iXPath BPMN.Connectors.Listeners.SFTP Listener.WebHome]]|(% style="width:103px" %)[[image:1615903474893-102.png||height="59" width="63"]]|(% style="width:974px" %)Listen on an **SFTP** communication, on a specific user (created locally) and on specific directory with a given file mask. | ||
![]() |
42.2 | 32 | |(% style="width:138px" %)[[AS2 Listener>>doc:Documentation.iXPath.User Guide.The iXPath BPMN.Connectors.Listeners.AS2 Listener.WebHome]]|(% style="width:103px" %)[[image:1615903500591-246.png||height="66" width="61"]]|(% style="width:974px" %)Listen on an **AS2 **communication, on specific AS2_ID (created locally), and on specific file mask. |
33 | |(% style="width:138px" %)[[FILE Listener>>doc:Documentation.iXPath.User Guide.The iXPath BPMN.Connectors.Listeners.FILE Listener.WebHome]]|(% style="width:103px" %)[[image:1615903536880-750.png||height="60" width="60"]]|(% style="width:974px" %)Real-time listening on a specific directory with a given file mask. | ||
34 | |(% style="width:138px" %)[[WebService Listener>>doc:Documentation.iXPath.User Guide.The iXPath BPMN.Connectors.Listeners.WebService Listener.WebHome]]|(% style="width:103px" %)[[image:1615903600906-895.png||height="53" width="81"]]|(% style="width:974px" %)Listen on a **Rest** communication (http/https), on a specific endpoint URI (GET/POST/PUT/DELETE) (created locally) | ||
35 | |(% style="width:138px" %)[[Mail Listener >>doc:Documentation.iXPath.User Guide.The iXPath BPMN.Connectors.Listeners.Mail Listener.WebHome]]|(% style="width:103px" %)[[image:1615903620708-998.png||height="67" width="67"]]|(% style="width:974px" %)Listen on **Mail **communication (IMAP), on a specific mail, on a regex sender mask, on a regex mail subject, and on a given file mask. | ||
![]() |
34.1 | 36 | |(% style="width:138px" %)[[App Event>>doc:Documentation.iXPath.User Guide.The iXPath BPMN.Connectors.Listeners.App Event.WebHome]]|(% style="width:103px" %)[[image:1615903682090-260.png||height="55" width="72"]]|(% style="width:974px" %)Listen 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. |
![]() |
40.1 | 37 | |(% style="width:138px" %)[[Tracking Listener>>doc:Documentation.iXPath.User Guide.The iXPath BPMN.Connectors.Listeners.Tracking Listener.WebHome]]|(% style="width:103px" %)[[image:1615903640796-201.png||height="65" width="59"]]|(% style="width:974px" %)Listen 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. |
![]() |
42.2 | 38 | |(% style="width:138px" %)[[Time Listener>>doc:Documentation.iXPath.User Guide.The iXPath BPMN.Connectors.Listeners.Time Listener.WebHome]]|(% style="width:103px" %)[[image:1615903655709-270.png||height="67" width="69"]]|(% style="width:974px" %)Listen on a **time **with cron expression. it allows triggering event at a specific time periodically. |
![]() |
6.1 | 39 | |
![]() |
4.1 | 40 | == Scenario == |
![]() |
2.4 | 41 | |
![]() |
42.2 | 42 | A scenario connector deals directly with the input file, either translating it into some desired format or copying it, etc... |
![]() |
2.4 | 43 | |
![]() |
42.2 | 44 | here's the list of all scenario connectors of iXPath : |
45 | |||
![]() |
72.2 | 46 | |(% style="width:158px" %)**Scenario Connector**|(% style="width:79px" %)**Icon**|(% style="width:753px" %)**Description** |
![]() |
76.105 | 47 | |(% style="width:158px" %)__FileToXML__|(% style="width:79px" %)[[image:2021-04-21_12h19_50.png||height="69" width="82"]]|(% style="width:753px" %)Transforms a certain file to XML format with a given output file name. |
48 | |(% style="width:158px" %)__XMLToFile__|(% style="width:79px" %) [[image:2021-04-21_12h27_09.png||height="60" width="68"]]|(% style="width:753px" %)Converts an XML file to a file format. | ||
![]() |
76.180 | 49 | |(% style="width:158px" %)__ExcelToXML__|(% style="width:79px" %) [[image:2021-04-21_12h31_41.png||height="63" width="66"]]|(% style="width:753px" %)Takes an Excel (XSL, xslx) file and converts it to XML format. |
![]() |
76.105 | 50 | |(% style="width:158px" %)__XMLToExcel__|(% style="width:79px" %) [[image:2021-04-21_12h31_58.png||height="59" width="59"]]|(% style="width:753px" %)converts an XML file to its convenient Excel format. |
51 | |(% style="width:158px" %)__XMLToPdf__|(% style="width:79px" %) [[image:2021-04-21_12h34_23.png||height="64" width="63"]]|(% style="width:753px" %)Converts an XML file to PDF text format. | ||
52 | |(% style="width:158px" %)__PdfToXML__|(% style="width:79px" %) [[image:2021-04-21_12h34_33.png||height="56" width="64"]]|(% style="width:753px" %)Transforms a PDF file input to XML format. | ||
53 | |(% style="width:158px" %)__XMLToXML__|(% style="width:79px" %) [[image:2021-04-21_12h34_57.png||height="55" width="59"]]|(% style="width:753px" %)Transforms an XML File to another XML File. | ||
![]() |
76.110 | 54 | |(% style="width:158px" %)__TrkToXML__|(% style="width:79px" %)[[image:2021-04-21_12h49_47.png||height="61" width="68"]]|(% style="width:753px" %)retrieve a tracking from the database and translate it to an XML file. |
55 | |(% style="width:158px" %)__XMLToTrk__|(% style="width:79px" %)[[image:2021-04-21_12h49_52.png]]|(% style="width:753px" %)Stores tracking in the database from the XML input file. | ||
![]() |
76.105 | 56 | |(% style="width:158px" %)__XMLToBDD__|(% style="width:79px" %)[[image:2021-04-21_12h50_16.png||height="58" width="65"]]|(% style="width:753px" %)Translates data from an XML file and store it in the database. |
![]() |
76.113 | 57 | |(% style="width:158px" %)__BDDToXML__|(% style="width:79px" %)[[image:2021-04-21_12h49_57.png]]|(% style="width:753px" %)Extracts data from the database and converts it into an XML file. |
![]() |
76.105 | 58 | |(% style="width:158px" %)__JsonToXML__|(% style="width:79px" %)[[image:2021-04-21_12h50_33.png]]|(% style="width:753px" %)Takes a JSON file and translate it to XML format. |
59 | |(% style="width:158px" %)__XMLToJSON__|(% style="width:79px" %)[[image:2021-04-21_12h50_38.png]]|(% style="width:753px" %)Converts an XML file to JSON format. | ||
60 | |(% style="width:158px" %)XMLToBin|(% style="width:79px" %)[[image:2021-04-21_12h50_24.png||height="69" width="71"]]|(% style="width:753px" %)Converts an XML file to its Binary format. | ||
![]() |
76.90 | 61 | |(% style="width:158px" %)__CopyFile__|(% style="width:79px" %)[[image:2021-04-21_12h50_50.png]]|(% style="width:753px" %)Copy a group of files from some connectors to a certain directory. |
![]() |
76.105 | 62 | |(% style="width:158px" %)__SplitXML__|(% style="width:79px" %)[[image:2021-04-21_12h51_08.png]]|(% style="width:753px" %)splits an XML file in a certain node with a split number and output file name. |
63 | |(% style="width:158px" %)__MergeXML__|(% style="width:79px" %)[[image:2021-04-21_12h51_12.png]]|(% style="width:753px" %)merges XML files in a certain node with a given output file name. | ||
![]() |
76.102 | 64 | |(% style="width:158px" %)__Pile__|(% style="width:79px" %)[[image:2021-04-21_12h51_17.png]]|(% style="width:753px" %)Put data in a linear stack that is used to store the collection of objects. |
![]() |
76.105 | 65 | |(% style="width:158px" %)__GenerateFile__|(% style="width:79px" %)[[image:2021-04-21_12h51_24.png]]|(% style="width:753px" %)writes and generates a file with a given output file name. |
![]() |
83.9 | 66 | |(% style="width:158px" %)__FiltreTracking__|(% style="width:79px" %)[[image:2021-04-21_12h51_30.png]]|(% style="width:753px" %)~*~*~*~*~*~*~*~*~*~* |
![]() |
76.135 | 67 | |(% style="width:158px" %)__LoadFile__|(% style="width:79px" %)[[image:2021-04-21_12h51_33.png]]|(% style="width:753px" %)Loads a group of files from a directory path and chooses to move it from the original folder or not. |
![]() |
76.160 | 68 | |(% style="width:158px" %)__ReturnWebService__|(% style="width:79px" %)[[image:2021-04-21_12h50_45.png]]|(% style="width:753px" %)((( |
![]() |
76.165 | 69 | return a web service with an HTTP code response to a flow. |
![]() |
76.160 | 70 | ))) |
![]() |
42.2 | 71 | |
![]() |
50.2 | 72 | == |
73 | Routing == | ||
![]() |
2.4 | 74 | |
![]() |
83.2 | 75 | |(% style="width:151px" %)**Routing connector**|(% style="width:86px" %)**Icon**|(% style="width:753px" %)**Description** |
76 | |(% style="width:151px" %)__FileDetection__|(% style="width:86px" %)[[image:2021-04-21_16h28_15.png]]|(% style="width:753px" %) | ||
77 | |(% style="width:151px" %)__FileFix__|(% style="width:86px" %)[[image:2021-04-21_16h28_22.png]]|(% style="width:753px" %) | ||
![]() |
83.3 | 78 | |(% style="width:151px" %)__FileVariable__|(% style="width:86px" %)[[image:2021-04-21_16h28_33.png]]|(% style="width:753px" %) |
79 | |(% style="width:151px" %)__XMLDetection__|(% style="width:86px" %)[[image:2021-04-21_16h28_38.png]]|(% style="width:753px" %) | ||
80 | |(% style="width:151px" %)__Savoye__|(% style="width:86px" %)[[image:2021-04-21_16h28_43.png]]|(% style="width:753px" %) | ||
81 | |(% style="width:151px" %)__CallScenario__|(% style="width:86px" %)[[image:2021-04-21_16h28_46.png]]|(% style="width:753px" %) | ||
![]() |
76.178 | 82 | |
![]() |
4.1 | 83 | == Exploitation == |
![]() |
2.4 | 84 | |
85 | |||
![]() |
18.1 | 86 | == Timers == |
![]() |
2.4 | 87 | |
88 | |||
![]() |
1.3 | 89 | = Gateways = |
![]() |
1.1 | 90 | |
![]() |
76.71 | 91 | == Inclusive gateway == |
![]() |
1.1 | 92 | |
![]() |
76.71 | 93 | == Exclusive gateway == |
![]() |
1.1 | 94 | |
![]() |
1.3 | 95 | == parallel gateway == |
96 | |||
97 | = Variables = | ||
98 | |||
99 | == System variables == | ||
100 | |||
101 | == Local variables == | ||
102 | |||
103 | = Conditions = |