Wednesday, February 15, 2023

#953 OIC 23.02 Release --> New Features II

Part two covers -

  • Improved Monitoring
  • File Server
  • B2B
Connectivity and adapters have been covered by my colleague here

Improved Monitoring

The previous post detailed the Project specific Observability in OIC 3. Here's a quick recap - 

Clicking the Observe button in your Project shows you the monitoring data for integrations in that project. Note the doughnut graphic, giving you a succinct breakdown of the status of those flows.

So now to Observability per se - 

Before looking at the dashboard in more detail, let's check out the Integrations

Note, the default view above shows all integrations, including those from projects. 
I can also just view integration flows of a specific project, via the new Project filter -


Now to the Errors screen - 

Note, the project errors are included by default. I can also add a Project filter here - 

Now back to the Dashboard - I'm using an OIC 3 instance with a bit more throughput here - Check out the new Connections with Errors widget

I also see the list of integrations using this connection, in this case, I only have 1 using this Zendesk connection  -


File Server

File Server now supports additional algorithms. These algorithms are available in the Signature Algorithms field on the File Server Settings page. Previously, only the ssa-rsa algorithm was available previously.


B2B is now a part of OIC 3 - it is essentially the same functionality as in OIC Gen2.
Here is a simple example - 

Here I have a Trading Partner sending me X12 P850 documents (Purchase Orders).
So what are the steps?

Step 1 - Define the Host - 

Some of these identifiers will be used in the documents sent from the Trading Partner.

Step 2 - Define Trading Partners -

Commiskey_Inc is my trading partner - let's look at the configuration - 

Some of these identifiers will be used in the documents sent from the Trading Partner.

Step 3 - Define Transports -

In other words how will these P850 docs be transported. In my case, via FTP. 

Here I specify which FTP connection I will be using. I also enter the inbound ftp server directory I will use - in my case /b2b/in. So that's all I need for receiving docs.

The Transport definition continues with the sending information - note the ftp directory I will use is /b2b/out. I also set a format for the output files written.

The next section contains the auto-generated FTP Receive and Send integrations. Here you just enter a prefix and OIC does the rest. We will look at these integrations later. 

The Transport then needs to be deployed - 

I see the following menu options, as this transport has already been deployed - 

Step 4 Define Agreements - 

Transport sorted, but what will we be transporting? Yes, you got it -  X12 P850 PurchaseOrder docs. This is inbound, i.e. from Trading Partner to us (Host).


Note this refers to a document NC-PurchaseOrder - this I have already created via the B2B -> Documents menu option -

That's it - now to the integrations generated and the backend integration specified in the Agreements definition.

I begin with the auto-generated Receive integration - AA-B2B-CommiskeyInc FTP Receive

Here is the top level flow - 

First action is to list the files in the /b2b/in directory on my FTP server. Remember, I specified this directory, when creating the transport.

I expand the For each File loop - First step here is to download the file - 

Next Steps are as follows - 

B2B Translate - validates the incoming message and, if ok, invoke the backend integration for further message processing - we will look at that integration soon.

Here's the mapping - 

Now to the backend integration, which I knocked up in a couple of minutes - 

Here's the request payload I used - 

  "type" : "PO",
  "id" : "12345",
  "direction" : "INBOUND",
  "trading-partner" : "Acme",
  "document-definition" : "PO_850",
  "message" : [ {
    "b2b-message-reference" : "0AC400D117503A8246000000347849EB"
  }, {
    "b2b-message-reference" : "0AC400D117503A8246000000347849EA"
  } ]

Each Message is fetched and converted to XML -

Note the For Loop, iterating over the messages received. The only action I add here is a Logger action - 

This simply logs one of the P850 segment values - 

Now to testing - here is my ftp directory structure - 

Here is my test P850 document - 
ISA*00*          *00*          *ZZ*Commiskey_Inc  *ZZ*My Company     *230214*1204*U*00401*000000027*0*P*:~
GS*PO*My Company*Commiskey_Inc*20230214*1204*1027*X*004010~
BEG*00*NE*MyOrder-1**20210614~CUR*2L*US *0001~

The value in bold is BEG03 - i.e. 3rd field in the BEG segment.

Let's test!

I run the Receive integration - 

I click on the link to view the activity stream of the backend integration - 

B2B Message Monitoring -

Now let's look at the raw messages -

No comments: