#Business Service

4 Followers · 214 Posts

A business service is part of InterSystems Ensemble interoperability production which is responsible for accepting requests from external applications.

Question Omar Ali Ateen · Nov 9, 2021

Dear All

I am trying to interface LAB instruments with LAB System using ASTM over TCP. I read the documentation here . But I can't understand how to connect instrument and LAB system in same port, please see the screenshot of interface below. Please help.

Details:

  • For Servece I use "EnsLib.EDI.ASTM.Service.TCPService" class.
  • For Proccess I use "EnsLib.MsgRouter.VDocRoutingEngine" class.
  • For Operation I use "EnsLib.EDI.ASTM.Operation.TCPOperation" class.

 

4
0 400
Question Anthony Breen · Nov 19, 2020

Hi,

I'm processing POP3 emails using the standard EnsLib.EMail.InboundAdapter adapter and %Net.MailMessage. I'm basically processing documents that are attached to received emails. This works fine if the document is simply attached to the email itself. But some systems are sending documents that are attached to an attached email which has content-type = message/rfc822.

How do I get the attached file from the attached email?

3
0 878
Article Eduard Lebedyuk · Aug 12, 2020 3m read

Productions often need to receive REST requests.

Here's how to do that.

1. Create proxy Service:

/// Empty BS we would use to send Produciton requests
Class production.ProxyService Extends Ens.BusinessService
{
}

2. Add it to production as RESTService (or any other name).

3. Write your rest broker (docs, more docs)

4. In your handler method create the message and call target BP/BO like this

8
1 1158
Article Eduard Lebedyuk · Aug 7, 2020 5m read

In this article, I will show how you can easily containerize  .Net/Java Gateways.

For our example, we will develop an Integration with Apache Kafka.

And to interoperate with Java/.Net code we will use PEX .

Architecture

Our solution will run completely in docker and look like this:

Java Gateway

First of all, let's develop Java Operation to send messages into Kafka. The code can be written in your IDE of choice and it can look like this.

In short:

7
1 1460
Question Purushothaman Thirugnanasambandam · May 11, 2021

I have a requirement to update the Ensemble Host Settings Programmatically.  Mainly the "AlertOnError,QueueCountAlert,QueueWaitAlert,InactivityTimeout" settings.
I used Ens_Config.Item (persistent) class to get the settings (list object) and then update it. But for some of the Business Host's, I dont see the above settings in the table, but present in Settings of that particular Host in Ensemble Management Portal. So my logic is not working.

Why is that and how to write a code to update the above settings for all the hosts ?

Please let me know the way to achieve my requirement.

My code.

11
0 774
Article Mihoko Iijima · Mar 5, 2021 9m read

This article is a continuation of this post.

In the previous article, we discussed the development of business processes, which are part of the components required for system integration and serve as a production coordinator.

This article will discuss creating a business service, which is the information input window for production.

And finally, the last component of “Let's Use Interoperability!”

0
0 785
Question Scott Roth · Feb 4, 2021

We are getting more and more request wondering if we could send/receive data via HTTPS to the outside world from within our Hospital Network. As you can imagine our Ensemble/Cache productions are not exposed to the DMZ or has access outside of the network. We only communicate with external vendors through a VPN, so communicating not using a VPN is rather new to us.

Currently there is a project to get rid of using Proxy, and instead of through a Load Balancer that can use rules to filter out traffic, which adds another layer of complexity.

3
0 324
Question Scott Roth · Jan 14, 2021

In the Inbound SQL Adapter settings, is it possible to specify more than 1 field as the Key Field Name? 

Because of the way the Query is being index in Ensemble by the Key Field Name, sometimes transactions get missed and I would like to see if we can add an additional key to the mix to ensure all the transactions are picked up. In this case the InterfaceTrigger is an ID that is auto generated by the table, and I would like to use that as well to ensure we don't miss transactions, and it does not throw any warning messages when it executes the Delete Query.

Thanks

Scott

1
0 376
Question Purushothaman T · Dec 30, 2020

We have a custom FTP Service , and custom FTP adapter . Customization is just to find a duplicate file and for giving specific dynamic file spec pattern.
While running and polling for files, we are getting this error. Could you please help ? What's the issue and how to resolve it ?
ERROR <Ens>ErrFTPListFailed: FTP: Failed List for <FileName> (msg='Cache error in 'readResponse': <READ>zreadResponse+4^%Net.FtpSession.1',code=426)    

1
0 486
Announcement Evgeny Shvarov · Dec 27, 2020

Good day, Developer Community!
 

As you know we have Company listings on Open Exchange. It lets publishing Open Exchange applications on behalf of companies so one can check which solutions in certain industries are being provided by companies.

Sometimes people are also looking for qualitative and proven implementation or consulting services on InterSystems products: IRIS, Caché, Ensemble, or HealthShare.

And recently we introduced a new option on Open Exchange to list the services your company provides related to InterSystems technology: implementation, consulting etc.

How to do that?

Open your company profile in the Services tab and create a service. Choose the type of service and give a description of what the service is about and why it is worth ordering it. Instructions.

Then publish the service by sending it for approval.

Screenshot 2020-09-21 at 16 24 36

0
0 248
Question Mark Sharman · Sep 19, 2019

Hi,

I've a Service utilising the Adapter EnsLib.SQL.InboundAdapter, which uses a Credentials item set with the details of a local SQL account. This currently works, however, we're looking to use the credentials of an AD domain account.

The domain account is a member of an AD security group, which has the required permissions on the source SQL database. I've checked that access is possible with this account via SQL studio.

I've tested setting the Credential username as domain\username and username@FQDN, but neither create a successful connection.

2
0 372
Question Oliver Wilms · Dec 7, 2020

Hello,

I like to know if we need to have the message in a file to process a Record Map?

I am working with Interoperability Production that processes files /messages using Record Maps. My team was asked to redesign the solution for deployment in AWS. We use containers. We had problems with having multiple containers processing files from the same directory. We are considering Amazon Simple Queue Service instead of having files on a shared file system.

Has anybody migrated a Record Map to a Schema Definition to validate a message as a Virtual Document as I have seen with X12 messages?

1
0 317
Question Mary George · Dec 3, 2020

What is the best way to create an HL7 message from JSON input file?

We have JSON file available with data required for building the HL7 message . I am trying to use a standard file/FTP Business service to pick up the file and convert the input %FileCharacterStream into a dynamic Object and use the stand JSON features to read /process the data and build the HL7 message. 

Is there any other better way to do this? or any standard built-in functionality available in HealthShare? 

Thanks you for your help

Mary

2
0 956
Article Oliver Wilms · Nov 16, 2020 2m read

My team is working on redesigning an Interoperability solution that currently runs on a HealthShare server that is part of a mirror. Most of the messages are delimited records processed using Complex Record Mapping. We were told to utilize cloud services available in AWS, use containers, autoscaling…

0
0 341
Question Mikael Toivonen · Oct 12, 2020

I have a file passthrough service that should check for new new files every 10 minutes, process them and then wait again for 10 minutes, even if there are new files waiting in the source directory. The "CallInterval" value feels like a wrong tool for this need since it would keep the service "locked" for a maximun of 10 minutes before releasin resources.  Is there a better way than CallInterval to schedule the service to poll for files every 10 minutes?

2
0 362
Question Mikael Toivonen · Sep 29, 2020

I'm not sure how to go about building this scenario:

  1. I FTP PUT a file "data.txt" to external directory
  2. 3rd party processes that file
  3. 3rd party creates a log file "errors.txt" into the same directory
  4. My integration build should now 
    1. notice that there is a "errors.txt" file
    2. FTP GET that log file, delete it from server and process it 
    3. but we should also delete the "data.txt" from the server as it is "used" and should no longer be there. It is essential that "data.txt" must only be deleted if there is an "errors.txt" file and we have downloaded it
2
0 460
Discussion Neerav Verma · Jul 29, 2020

Hello All,

I have been using IRIS / Ensemble for over a decade and appreciate lot of it's functionalities and features, however besides having a UI of 80's era (which doesn't bother me), what I believe where IRIS is lacking is lack of out of the box connectors (services/operations).
If we look at IRIS's competitors for eg Mulesoft, Talend, Boomi they all have hundreds of pre-built connectors for major applications like Salesforce, SAP etc and cloud services like Azure, AWS etc to store and retrieve information and data.

Just to give an idea here is a link of Dell Boomi connectors

1
0 630
Question Scott Roth · Aug 12, 2020

We have a vendor that every couple of days will just stop transmitting messages, but still hold the TCP/IP connection open. No matter how many times we troubleshoot and talk with them, they don't seem to think its an issue with system.  Normally if I just restart the service it will get the data flowing again.

I know ideal is for them to fix the issue, but in the meantime I have setup an Inactivity time out alert.  I was wondering with the correct filtering if there was a way to say if the Inactivity Alert is triggered during the business day, to have the Alert trigger a restart of the service?

3
0 326