Chapter 4. Channels
Overview
This section gives you the high-level view of how the messages are processed by the Babelway system.In Babelway words, the messages are processed by Channels. A channel defines the full path that a message follows within Babelway, from the external system that generated the input file, to the extern...
Channels List
The List of Channels screen shows you all the channels defined in your environment, and is the starting point for editing them, create new ones or deploy them to the production systems. Channel List ScreenThe list can contain the following: Name: A name that identifies the channel. Descript...
Creation of a New Channel
This screen allows you to create a new channel from scratch.It is accessible from the channels list screen.The screen will just prompt you for a name and a description for your channel. When filled, just click on Create. The channel will then be created, and you will be redirected to the channel det...
Deployment
Main features of Deployment V2 Deployment occurs on the element (Gateway, Message, etc.) level Deployments can occur independently (easier for multiple users in one environment) Visual changes to channels and elements noting completeness and status Certificates, lookup tables, partners and documents...
Delete a Channel
To delete a channel, just click on Delete in the general tab of the channel detail screen.This action is not available if the channel is currently deployed (You will find the Delete button is grey and can't be clicked on ). If it is the case and you want to delete it, you must first undeploy it from...
Duplicate a Channel
This operation allows you to easily create a channel similar to an existing one.By default, the created channel will be completely independent from the source one : all referenced elements (gateways, message definitions and transformations) will also be duplicated. But you can change this in the Mor...
Gateways
This section contains all the tools needed to manage your gateways. A simplified edition of the gateways is directly available in the channels overview, but you need to come to this section to have access to all functionalities.Gateways are used in Babelway to specify how messages are communicated b...
Gateways List
The List of Gateways screen shows you all the gateways defined in your environment, even if they have not been used in any channel. From here, you can easily edit them, or create new ones.This screen is accessible by clicking on Manage & Build section, then choose Gateways from Components drop-d...
Creation of a Gateway
To create a gateway, you have two main options: Create the gateway from scratch. Duplicate an existing gateway that you already created, or from the Babelway catalogue. You can access this choice by clicking on Create New in the gateways list screen, or directly from the channel detail screen.Create...
Gateway Detail
This page shows all the details about a gateway, and gives access to all operations that can be made on gateways.This page can be accessed from the gateways list, or by following any link that refers to a gateway.The page contains the following tabs.GeneralThe general tab contains the signaletic inf...
Gateway Types: Part 1
Gateway In Email Gateway In: Incoming messages are attached to email messages and sent to a specific Babelway email address and processed as soon as they arrive. FTP Client Gateway In: Incoming messages are polled and retrieved from a remote ftp server using a login and password. SFTP Client Ga...
Gateway Types: Part 2
Rest Gateway In: Allows you to implement a REST api and it is using asynchronous request. X.400 Gateway In: Incoming messages are transferred to a Babelway specific X.400 server and processed as soon as they arrive. Scheduler Gateway In: Create new messages based on time triggers. NFS Gateway In: I...
Gateway Types: Part 3
zPEPPOL Gateway In: Incoming messages are received from the PEPPOL network. RosettaNet Gateway In: Incoming messages are received from a RosettaNet server. ePrior Gateway In: Incoming messages are received from ePrior requests. Simpl.ePrior Gateway In: Incoming messages are received from Simpl.ePri...
Gateway Types: Part 04
OFTP Server Gateway Out: With an OFTP Server Out Gateway, outgoing messages are available from a Babelway OFTP server. OFTP Client Gateway Out: With an OFTP Client Out Gateway, outgoing messages are transferred to an external OFTP server. Http Gateway Out: With a HTTP out Gateway, outgoing messages...
Gateway Types: Part 5
Internal Gateway Out: The internal gateways in / out are used to transfer messages between 2 channels inside the same Babelway environment. Null Gateway Out: The outgoing messages are not sent anywhere. Splitter Gateway Out: A gateway used to split your messages and pass them to other gateways. Agg...
Message Definitions
This section contains all the tools needed to manage your message definitions. A simplified edition of the message definitions is directly available in the channels overview, but you need to come to this section to have access to all functionalities.Message definitions describe in Babelway the forma...
Message Definitions List
The List of Message definitions screen shows you all the message definitions defined within your environment, even if they are not used in any channel. From here, you can easily edit them, or create new ones.This screen is accessible by clicking on the menu Manage & Build, then the sub-menu Mess...
Creation of a message definition
To create a new message definition, you have two main options: Create it from scratch. Duplicate an existing message definition (from your environment, or from the Babelway catalogue). You can access this choice by clicking on Create new in the message definitions list screen, or directly from the c...
Message Definition Detail
This page shows all the details about a message definition, and gives access to all operations that can be made on a message definition.This page can be accessed from the message definitions list, or by following any link that refers to a message definition.GeneralThe general tab contains the gener...
Update the message definition tree
Once a new message format has been saved or during edition of existing messages, the message tree is rendered in the Visual Editor in a hierarchical and graphical form as illustrated below.In Visual Editor, you can further configure and set up message format as well as add verification rules as expl...
Message definition formats: Part 1
This list shows main message formats supported by the application. CSV EDIFACT X12 Odette XML Excel Message In of type PDF PDF based on XHTML template Serving Xml Multirecord Tradacom Json Rest SAP Idoc flat file Not Defined UBLRosetta Net CSVA CSV or comma-separated values file is used for the digi...
Message Definition Formats: Part 2
JSON Message FormatJSON Wizard screen allows you to define your JSON message format according to your own file format.JSON (JavaScript Object Notation) is a lightweight text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for rep...
Common Message Definition Properties
Message DefinitionThis file is Babelway's internal representation of your message definition tree. You can view and modify its contents through here for troubleshooting purposes. However, we highly recommend you use the graphical editor (tree) as this guarantees that all your changes are supported b...
Support for 997 Acknowledgements
997 is the functional acknowledgement in X12. It will typically: indicate if the original X12 message is structurally valid or not optionally describe the errors found (data element too long, invalid control numbers etc.) provide an acknowledgement code indicating if the message was accepted or not....
Choosing an X12 (EDI) Communication ID
If this is your first time exchanging X12 documents, you may be wondering which communication identifiers to supply your trading partner. Identifiers can be requested for ISA (interchange envelope) and GS segments (functional group) and can differ between production and test transactions. So, you ca...
Transformations
This section covers all sections related to transformations.Transformations are used to convert a message in into a message out.The transformation is the place in Babelway where you indicate how we should convert your incoming message into your message out. It contains all the rules indicating which...
Transformations List
The list of transformations screen shows you all the transformations defined in your environment, even if they are not used in any channel. From here, you can easily edit them, or create new ones.This screen is accessible by clicking on the Channels menu, then on the Transformations sub-menuThe list...
Transformation Detail
GeneralThe general tab contains the general information of the gateway, and offers actions that act on the whole transformation. Message IN: The message definition of the input message related to this transformation. Message OUT: The message definition of the output message related to this transf...
Drag and Drop Transformation
This transformation visual editor is divided into the following zones: Top bar allows you to edit all of your formulas, when a mapping rule is selected. In other circumstances, it just guides you with contextual help. Left panel displays the structure of the message in. Right panel displays the st...
Viewing and Selecting Mapping Rules
An icon (chain mark) shows, at a glance, all the fields that are used in the transformation.To see how a field is used in the transformation, you can simply click on it.Click on mapped field If you click on a node that is already used in the transformation, the nodes involved in the transforma...
Nodes Mapping
You can initiate new mappings via the following methods : Drag-and-dropJust drag your source field to the target field. A simple mapping will be defined. This mapping states that the target field must be filled with the value that was in the source field. You can then update the formula (see the sec...
Edit Formula
Formula barBy default, when you just make your mappings by dragging and dropping your source fields to the corresponding target fields, the values are associated without any transformation. Formula BarFor advanced users, the formula language is xpath, and you can use whatever xpath function...
Understanding Functions
Functions are used in formulas to calculate the wanted output starting from your input fields.IntroductionA function is an operation that takes values as input (the parameters), and computes an output value (the result). Functions can be written for any calculation you can think of. They will be ide...
User-defined functions
Babelway offers many functions to make the calculations in your mappings. These functions should be enough for most of your needs. Anyway, in some situations, you could want to define additional functions, to simplify your mappings. Specialize existing function to specific needs The first reason why...
Sub-formulas
Sub-formulas are parts of formulas that you can name and reuse later.Sub-formulas are another way to simplify the writing of very long formulas. When you work on this part of the formula, you only see this part (instead of the whole formula), and do not have to identify this part again and again ins...
Working with formulas - frequent scenarios
This section explains in detail some frequent scenarios when working with formulas. It gives a lot of examples, and also emphasizes some traps in which you should not fall. Working with numbers When you have to do some calculations, you must always keep in mind that all fields from your source and ...
Mapping loops
Loops from the input message must be mapped to the output if you want to map one of its enclosed fields. Otherwise the mapper cannot resolve the reference to the field since there can be more than one occurrence. The "loop mappings" tell the mapper how to deal with this multiplicity of values.You c...
Multi nodes mapping
Visual mapping is able to map two message definition tree structures, when they have the same fields. This is very valuable when dealing with complex and often similar XML messages like in soap messages, IDOC or UBL…To map the 2 structures, drag-and-drop your source structure to the target structure...
Using or changing metadata
In drag and drop transformation you can use metadata associated with the incoming message (such as fileName, receive date, ...). You can also store whatever info in a metadata for future use. Using metadata Accessing metadata can be done in your formulas with the function metadata. It just takes one...
Drag and Drop transformation properties
The following properties are available : Mapping definition This file is the definition of the visual mapping. You normally edit it via the mapping tree editor. Xslt This file is the xslt transformation that will be applied on the internal xml representation of your incoming message to tr...
Xslt Transformation
Xslt transformation test editor enables to define transformation rules and implement transformation functions directly in Xslt language.To specify a new XSLT transformation type or change its current type,you will go to transformation part , you may find that it is by default was chosen as visual , ...
No Transformation
The No transformation option is used when Babelway interface is used to transfer an unchanged message from one gateway to another.If you are only transfering messages that do not require transformation from a gateway to another, for example from a mail server to an FTP server, you should use the "No...
Notifications
This section contains all you need to manage your notifications. A simplified edition of the notifications is directly available in the channels overview, but you need to come to this section to have access to all functionnalities.Message notifications allow you to be informed by email when a messag...
Notification detail
This page shows all the details about a notification, and gives access to all operations that can be made in notifications.This page can be accessed from the notifications list, the Notifications tab of the channels detail page, or by following any link that refers to a notification.The page contain...
Partners
The Partners are the entities that communicate via Babelway.For example, when Babelway is used to transfer an invoice from Coca-Cola to Colruyt, the 2 partners involved in the communication are Coca-Cola and Colruyt. Coca-Cola is the sender, or Partner IN. Colruyt is the receiver, or Partner OUT.Bab...
Defining partners manually
To define your partners, the easiest way is to go to the Partners section. As for all sections, you will first come to a main screen with the list of all your partners.Partners sectionThe action button Create Partner, at the bottom of the list allows you to define new partners. You just have to fill...
Assigning partners to messages
Assigning partners to the messages is automatically interesting, because it will allow you to view the partners directly involved in a message, make searches, e.g.: "give me all messages exchanged with partner X" or "make stats by partners", ... See the section Using partners for more details.You ca...
Using partners
Partner information can be used in many places within the application. View or search in your messages In the table of your messages, you can directly view the identified partners. You can also search these fields or sort them.Partners IN and OUT in list of messagesThe information is also available ...
Be compliant to GS1.
Babelway offers all the tools needed to be compliant with GS1.You have access to the partner GS1 tab, with all the info required by GS1. You also have access to the generation of all reports asked by GS1.Partners - GS1 tab...
Automatic Population of your Partners List
The import partners page allows you to import all your partners from a CSV file.Importing Partners From CSV - General SV File The CSV file contains the list of partners you wish to import. The first line must contain the column headers for the values you wish to import. The file must only c...
Lookup tables
Lookup tables are tables of values, that can be accessed by transformations to replace incoming values by corresponding outgoing values (For example, when your B2B partner is using item codes that differ from your own item codes).Lookup tables are not bound to a specific channel, but are defined at ...
Lookup tables list
The List of lookup tables screen shows you all the lookup tables defined in your environment. From here, you can easily edit them, or create new ones.This screen is accessible by clicking on the menu Channels, then the sub-menu Lookup tables List of lookup tables The list can contain the following...
Create a lookup table
This page explains how to create a new lookup table.Just click on the Create New action button at the bottom of the lookup tables list screen.The creation screen will ask you to choose a name and description for the table, and a name for each column that you want to use. Just leave empty the columns...
Lookup table detail - General
his page shows you all the details about the lookup table. It can be accessed from the lookup tables list screen.The page contains the following tabs. General This tab contains the signaletic information of the lookup table, and offers actions that act on the whole lookup table. Lookup table det...
Lookup table detail - Structure
This page shows you all the details about the lookup table. It can be accessed from the lookup tables list screen.The page contains the following tabs. Structure This tab allows you to edit the columns of the lookup table. Lookup table detail - tab Structure ...
Lookup table detail - Content
This page shows you all the details about the lookup table. It can be accessed from the lookup tables list screen.The page contains the following tabs. Content This tab allows you to view and edit content of the lookup table. Lookup table detail - tab Content To update the value of a cell, ju...
Lookup table detail - Related items
This page shows you all the details about the lookup table. It can be accessed from the lookup tables list screen.The page contains the following tabs. Related items This tab allows you to see in which transformations the lookup table is used. Note that this list does not contain transformations wit...
Use your lookup tables
The lookup tables are almost exclusively used in transformations, to translate incoming values to outgoing values contained in the table.This is explained in detail in the in the help section about drag-and-drop transformations....
Automatic Population of Lookup table from CSV
Automatic Population of Lookup table allows you to import the lookup table data directly from a CSV file without the need to create a channel to do so.After creation of a lookup table you can import data from a CSV file by clicking on Import from CSV action button under the Content tab as illustrate...
Automatic Population of Lookup table using Channel
Automatic Population of Lookup table allows you to import the lookup table data from outside data source.After creation of a lookup table you can create a data import channel by clicking on Create a channel to import data in the table as illustrated below:Create a lookup table data import Chann...
Routing
Routing is used to choose which channel must process a message when different channels share the same gateway in.Routing is done at the first step that is different for channels sharing the same gateway in. So if 2 channels use the same gateway in but different messages in, routing will take place a...
Routing list
The List of routings shows all the routings existing in your environment, one by line.This screen is accessible by clicking on the Components menu, then on the Routings sub-menu List of routings The first five columns illustrate, in that order, the five main steps of the message processing. : Gate...
Routing detail
The detail of the routing allows you to edit all the rules to choose the next element to process. Routing detail The first part of the screen just summarizes when this routing will be used, by clearly showing which preceding steps are shared by all the channels involved in this routing.The second p...
Editing routings from channels section
It is also possible to edit the routing rules directly from the channel detail screen.The edition is done exactly like in the routing detail screen. There are only a few differences, that will be explained here. Edit routing in channel detail The main difference is that this screen is channel-cent...
Test cases
Testing allows you to easily test channel operations to validate it before deployment. Ideally, all channels should include a few basic test cases to confirm that their configuration covers the basic use cases.After configuring a channel, its operations should be tested. This is done by creating and...
Test case detail
Describes all the fields and actions of all tabs. Name A name that you can set and/or modify to easily retrieve and manage your element. Type Either to be Transformation type OR channel type Description A free text field that you can set and/or modify used in addition to the element n...
Certificates
The keystore is the page where you can modify the keystore specific to your account. Each Babelway account environment has its own keystore and is able to add or remove certificates without affecting other users.A key is private information that is only known by your account environment and may not ...
Certificate`s Details
The certificate's details page regroups and displays all the useful information about a certificate, and gives access to several actions such as revoking the certificate, or downloading it. Alias An alias to easily identify the certificate. Distinguished Name A set of information about t...
Trust new certificate
To trust the new certificate in your environment follow the below steps.1-From "Certificate" page click on the "Trust new certificate" button, as shown below. Certificate page 2-Provide the Alias for your certificate then you can select to Trust the URL or upload the certificate file, as shown bel...
Add a certificate
1-From "Certificate" page click on the "Add key certificate" button, as shown below. Add key certificate 2-Provide the Alias for your certificate then upload the Pkcs12 file and provide its corresponding password, as shown below. Add certificate page Now the certificate will be displayed in the ...
Certificate Update
This page allows you to replace one certificate by another existing certificate on selected gateway(s) or message definition(s). Note that it only updates the properties of the gateways/message definitions that reference the certificate and it requires a deploy to be effective.First, choose the cert...
Extra processings
An extra processing is an additional operation that must be applied on all messages.Some examples are: extract a message from a zip file, sign a message, reject a message if it is a duplicate, ...The extra processings can take place before of after each of the 5 main operations applied to messages i...
Extra processings on message definition IN
Save input file Allows you to save your input file as a metadata, for future use as explained in the next steps. The parameters are : Metadata The metadata in which you want to be saved in the input file. Duplicate incoming message Allows to duplicate the incoming message, and inject it ...
Extra processings on Transformation
Automatically retry transformation on error This extra-processing allows to define criteria to automatically retry a transformation if an error occurs. The parameters are : Error message patterns The patterns that will be tested against the error message. Retry strategy Allows you to deter...
Extra processings on message definition OUT
How to reach Extra Processing Click on "More details" in the Message OUT as shown: Properties of Message Out Now you can reach the Extra Processing as shown: Extra Processing Xslt transformer Applies an xslt to correct your message. It is applied on the internal xml representation of the messag...
Extra processings on gateway OUT
Delay execution Allows to pause the execution for some minutes before delivering the message. The parameters are : Minutes to wait The number of minutes that the system must wait before delivering the message. Note: This extra processing is not executed while running a test case. Automat...
Metadata
Metadata are data that are associated with the processing of the message, on top of the processed input and output files.For example, metadata can be the date and time when the message was received, the channel that processed the message, information about the sender of the message, ... The complete...
Metadata usage
This page shows you some examples of locations in the application where metadata can be used.Changing value assigned to a system metadata in drag and drop transformationSee details in Using or changing metadata. Using metadata to customize messages and file names You can use system or user defined m...
System Metadata
System metadata is metadata that is defined in the system and contains useful information relating to the message being processed. See the Metadata chapter for reference and examples of use. Table 4.1. List of System Metadata Code Name Description Example {com_babelway_messaging_context_m...
Change Log
Each time you click on the "save" button in a component, a revision is created, that keeps track of all the changes done. This allows to know the state of your components at any given point in time. The Revert function uses those revisions in order to restore the version of a component at a given po...
Environment change Log
Each time you click on the "save" button in a component, a revision is created. This allows you to know the state of your components at any given point in time. The Revert function uses those revisions in order to go back in time and put your components at a given revision. List of revisionsTo view ...
Elements change Log
Each time you click on the "save" button in a component, a revision is created. This allows you to know the sate of your components at any given point in time. The revert function allows you to restore the configuration of an element at a given point in time. List of revisions A change log is availa...
Reuse and save time
The reuse and save time zone allows you, when you need to configure some element, to fully configure it in just one click, by reusing elements that have been previously defined.In this zone, the system will always try to make the suggestions that are the most relevant to your usage and to the contex...
Search and Reuse
To filter the elements, you simply need to type your criteria in the search bar, at the top of the zone. In the following example, only entries that match "Colruyt" will be returned. Reuse search. If you use multiple words, like 'Colruyt Order', all the word will be searched separately. Only entri...
Using or duplicating elements that you already defined
In the results section " You already defined ", you will find elements that you have already defined in your current environment, and be able to use them again. Reuse - already defined elements. If you are creating a new item ( in gateway creation screen, in MessageDefinition creation screen, i...
Using the Babelway catalogue
The catalogue is a large repository of elements predefined by Babelway. These elements are ready to use, and you can just copy them into your environment and use them.The catalogue contains many message definitions or gateways used by main retailers, ... Before thinking to define the message definit...
Accessing elements from other environments.
You can also access and reuse elements from other environments you are allowed to access.These elements are not returned by default by the pertinence algorithm. To use them, you will always have to use the advanced search (click on Reuse and save time then More ). Use element from another env - C...
Using examples or suggestions
When you are making your first steps with the application, you will have access to some examples. These examples are ideal to be able to setup a first channel in a few seconds, and being able to test the application. Use element from another env - Click on More The application can also make sugges...