This blog outlines the steps required to build your SEEBURGER First process from scratch.

First Steps.

In my last blog I described the steps to create a simple mapping. The next step is adding this mapping to a process. This blog will provide a step by step scenario where you can use that mapping.

The scenario which we are preparing is a file transfer from directory X to directory Y. Within this file transfer you could add multiple features such as the mapping, encryption or routing. One of the main advantages of SEEBURGER is the modularity within these file transfers. During this tutorial we are using BIS6 to create the interface, known as Entity in BIS6. Alternative options to handle files are building a process template or channel in the SEEBURGER ProcessDesigner which can be deployed on the BIS Instance.

In this blog I will focus on the BIS6 entities using a File Adapter, after creating this entity you should be able to modify the process and add different adapters such as SFTP, JMS etcetera.

Create Hotfolder Listener.

Let’s start with the preparations, to create the Entity smoothly it is recommended to configure all needed adapters before creating the Entity. In this example we need a Hotfolder which listens the specified directory, picks up the file and offer the file to the BIS. Go to Folder engines:

Now, create a new Hotfolder

 
Fill in the following fields:

With these Hotfolder Setting you can modify the handling of files from the directory. The name of the Hotfolder should always start with mft: followed with a logical name. In this example the Hotfolder is the incoming message from directory Demo_X, therefor the Hotfolder name is mft:INBOUND_DEMO_X. By default the folder engine is Local which refers to the following settings:

These settings can be changed if files with special characters should be excluded.

The field Path is your polling directory, you can specify any path on your server. In this example we are using a BIS Data directory which is reference via a system variable ${bisas.data} followed by the subdirectory.

The field Filter can be used to filter the file which will be polled. Files which not match the filter are not processed. Within the entity there is also a possibility to filter files, if the file is polled by the Hotfolder but does not match the filter within the Entity, then the file is polled but not picked up by any Entity. This can be used to use a Hotfolder in multiple Entities.

In this simple example we are only using a Hotfolder to trigger our process. Let’s quickly discover some extra possibilities. Within the Configuration – Adapters you should notice there are many options. We are able to configure a JMS client, (S)FTP(S), MAIL, Web service etcetera. All these option can be used instead of the created Hotfolder.

Create BIS Entity.

Assuming this is the first process in your BIS6 environment we need to start creating a certain structure. To create an Entity go to, Configuration -> Entity explorer -> All entities -> new record. We are creating the following structure:


Within the bis_Demo_processgroup we will create our example Entity. Create a new record, the following popup will open:


Within a process group we have the possibility to create a MFT-PROCESS or a MFT_PROCESS Fault. In this example we will create a MFT-PROCESS which is selected by default. Name your Entity with a logical name, for example: “mft:INBOUND_FileX_TO_OUTBOUND_FileY “

The criteria, which is shown, is the input of the process. Select File event (Hotfolder) in the dropdown list, then select the created Hotfolder (mft:INBOUND_DEMO_X). The other Criteria parameters are available to include files. For instance, a file should start with “Rojo_” then we can add Rojo_* into From path. Only Rojo files will be picked up by this process.

Note:  In case a process can be triggered by multiple adapters you can add as many Criteria’s as needed. Or, the From adapter can be switched back to ANY and From Path is used to include the files to be processed from all adapters.
The next step is to add a new property to drop the file in a directory:


An Activity should be added to handle the file. Many types of activities are available. In this example mdStoreFile is needed which provide the following fields:


The Path starts at the root of the system. I have created a directory /tmp/Inbox/Demo_Y/ to receive files. In the demo we want the original file name as our output file name. This is possible by referring to the FROM PATH variable using $[FROM_PATH]. The appendmode can be selected to overwrite filenames if already available in the pointed directory.

By default the process is active. Any file from our input directory will be picked up by the BIS. All “Rojo_*” files will be directed to our output directory.

Let’s Test and Monitor.

Create 2 test files. One file should be save as Rojo_xxxx and one file as Demo_xxxx. Drop the files into the input directory.
As you can see, the file have been picked up directly. Now, in the process monitor we should see one failed and one completed process instance. Go to the monitoring view, Process Monitor and select All Processes. Your view should show these processes:

Note: you can easily show/hide columns by right clicking the column name and add columns.

Let’s, Get into this monitoring. Open the failed process and notice the following error:

This error shows that no Entity can be found, or too many Entities are found. This is the result of filtering files in the Entity while the Hotfolder is polling all available files. Changing the name of the file or including this prefix is enough to solve this error.

Now, right click on the finished process and open attachments.

This view will show all attachments in the process. Opening the attachment info of the newFile will provide the payload. The attachment info of the mftRegisterEventReply is an overview of the logging printed during the process.

Finally open the process from the All Process view. After expanding the common variables all process variables are shown. This will provide insight in the properties which can be used to filter and route files during the process.

We have seen one of many adapters, a simple Entity and the Process Monitoring. Understanding the building blocks will create opportunities to adapt this process to any interface required. This file to file scenario can be changed to an apliation2aplication or business2business scenario using SFTP or JMS adapters.


Thanks again for following the steps in this blog. I hope you have noticed the opportunities in BIS6 to expand this process and adapt it to your specifications. In my next blog we will explore the ProcessDesigner. 

Written by Geert van den Reek