Article
· Apr 9, 2019 3m read
IRIS/Ensemble as an ETL

IRIS and Ensemble are designed to act as an ESB/EAI. This mean they are build to process lots of small messages.

But some times, in real life we have to use them as ETL. The down side is not that they can't do so, but it can take a long time to process millions of row at once.

To improve performance, I have created a new SQLOutboundAdaptor who only works with JDBC.

BatchSqlOutboundAdapter

Extend EnsLib.SQL.OutboundAdapter to add batch batch and fetch support on JDBC connection.

3 7
2 1.4K

Hi,

I'm getting mad trying to get data from an external REST service that uses Basic Authentication from Ensemble. The BO worked fine when I was using a test server without authentification, but as soon as we need to go to production I cannot have it working.

So far, I've created the username/password at the credentials page (Ensemble-Configure-Credentials). I've setup the BO to use this credentials. But nothing happens.

I've tried with the Rest Client (addon for Mozilla), and using the same address, port and user/pwd works just fine.

0 8
0 1.6K

Hi All,

I have a line of mumps code that creates a folder on a network shared drive.

Example:

d ##class($Library.File).CreateDirectory("\\share\folder\newfolder")

If I run this line of code from a cache terminal window it works fine and creates the folder without problems.

However If I create a very simple business operation in a production in the same namespace that simply runs this one line of code then the code fails.

0 4
0 1.6K

How suitable is Docker for standalone deployment of an Ensemble version and Ensemble application together?

The context is deployment by an application partner of an integration application and the supporting Ensemble version as a single package (single file ideally), to multiple environments and to multiple customer sites.

I don't have experience with Ensemble on Docker so I'm wondering what gaps and pitfalls may exist.

3 8
0 1.5K

Hi ,

I'm using standard business service not(Customized business service). I'm not able to process the Hl7 data file which contains CRLF characters.It shows warning "Discarding Received non HL7 data". Actually it discards some segment after CRLF character. Is there any settings to overcome this problem?

Also i tried UTF-8, Ascii,Unicode.. characterset . But it won't work. Please help me .

Urgent!!!

0 11
0 1.5K

Preface: our small, but very ambitious company called “Black Mushroom Studio” came up with an idea for an e-commerce project and a mobile app that would let users pay for certain goods/services via a payment aggregator.

What we had initially: an Android app skeleton that, of course, liked communicating via HTTP and JSON, and a payment system with an API – web services with SOAP content.

Goal: make it all work together.

16 2
0 1.5K

I am looking for a way to deploy production changes (code and/or production configs) via script or some other systematic way other than the Ensemble/Deploy page in the Management Portal. My goal is to store these configurations in Subversion, then have a piece that can pull the XML from source control and deploy it to a given server. Is there some kind of script that I can run on a given server to perform this deployment? If so, I can tie it up with Subversion using another tool that I have access to.

0 6
0 1.5K
Question
· Jan 27, 2021
How to force service shutdown

When the started service component cannot be shut down correctly in the foreground, can you terminate the service by ending the task manager process? Will it affect the correct operation of the system

0 3
0 1.5K

I wanted to share a little tidbit which is in the Studio documentation (http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?...) but many people who have been using the InterSystems Studio for a long time missed the addition of this *very* useful feature, and every time I mention this to an audience I see at least one face light up because of how excited they are to learn about it!

Within Studio, the Output pane (View -> Output) is actually misnamed. It is actually an Input/Output window which can be used to run Caché ObjectScript commands!

10 7
0 1.3K

In this posting I want to raise the profile of a feature that arrived in 2009.1 but is perhaps not very well known.

It is sometimes useful to make certain packages, globals or routines available to all of your namespaces. Of course you can add the necessary mappings whenever you create a new namespace, but here's a simpler way.

6 6
0 1.4K

Hi everybody,

I created my own REST service class by extending EnsLib.REST.Service.

In some particular conditions of the parameters of the request, the REST service should respond to the client with an HTTP status response code 400 "Bad request".

I read the article "RESTful Exception Handling " and I try to use the suggested:

do ..ReportHttpStatusCode(400)

But the server seems ignore it and get back to client the 500 http response code.

Any suggestions?

0 3
0 1.5K

I have a process which is passed a .rtf within a GlobalBinaryStream. I am trying to then output just the .rtf to a folder on a server, but not even sure where to start.

Is there a Built in Operation that I can pass the GlobalBinaryStream to which will then write the file to a folder, or do I need to use a custom class for the operation?

Thanks

0 2
1 1.4K

Hello Everyone,

I have a healthshare web application with production, I try to make a field in basic setting of business service, and I would like to set a string to DISPLAYLIST and VALUELIST of that Property (string maked by query to sql table). I code the same here but it's syntax incorrect in DISPLAYLIST = GetTypeDisplay(), VALUELIST = GetTypeValue(). Someone know a best way to solved my problem? Thanks so much!

0 8
0 1.4K
Question
· Jul 21, 2017
Ens.StreamContainer

Hi All,

I am fairly new to Ensemble and I wanted to know I have inbound business service (EnsLib.File.PassthroughService) which is looking for pdf files once it finds a pdf file (within the business process) it needs to find the associated xml file which would be in the same directory. Once both of these files are found they need to be sent to the business operation and deleted from the source (EnsLib.File.PassthroughOperation).

0 9
0 1.4K

One of the topics that comes up often when managing Ensemble productions is disk space:

The database (the CACHE.DAT file) grows in a rate that was unexpected; or the Journal files build up at a fast pace; or the database grows continuously though the system has a scheduled purge of the Ensemble runtime data.

It would have been better if these kind of phenomena would have been observed and accounted for yet at the development and testing stage rather than on a live system.

For this purpose I created a basic framework that could aid in this task.

4 7
2 1.3K

Cross-origin Resource Sharing (CORS) is one of the basic security features built into browsers. CORS controls accessing resources from a HTML page in domains other than the original domain. It is particularly important for AJAX calls. Since RESTful services can be used as data provider to any AJAX call, you have to be able to control cross-origin access. By default services are not allowed to do CORS. You are going to learn how to enable it for Ensemble RESTful services.

3 0
0 1.4K
Question
· Feb 21, 2018
HL7 segment query using SQL

I'm trying to get a count of specific message type with a specific entry and thought I could build the query in Message Viewer but this does not provide counts (as far as I am aware). So when I take the SQL from 'Show Query' it omits the segment criteria as the code shows below.

I have attached the criteria that has been excluded. Is this possible?

Thank you

0 2
0 1.4K
Question
· May 18, 2016
Ensemble HTTP OnProcessInput

I am just trying to make a quick hand off HTTP production. I have the class built and compiled onto the server and the production is running as a service. When the production is called (by an inbound job) I can see that the HTTP.InboundAdapter is being used successfully and the stack continues all the up to ProcessInput where OnProcessInput is called in Ens.BusinessService.

0 15
0 1.4K
Question
· Aug 1, 2017
PDFs and Reading them

I know there are numerous Java libraries available to scan a PDF meta data, but is there a way to scan a PDF using native cache object script? We are looking to take a PDF from an external vendor, scan for meta data, create the HL7 message, and embed the PDF within the HL7 message.

Thanks

Scott Roth

The Ohio State University Wexner Medical Center

0 2
0 1.4K

The select query here "select Settings from Ens_Config.Item" in the SQL Query of management portal returns this:

ValidationHost 7ActOnTransformErrorHost1 ReplyCodeActionsHostE=D AlertOnErrorHost1 9 AlertGroupsHost$LabAlertGroup,1-CriticalAlertGroup BusinessPartnerHost

How do I isolate just one of the settings e.g. ReplyCodeActions or LocalInterface

For example, i want to search for all entries that have a value for ReplyCodeActions

I realize i can open the production in studio and search for those setting values.

0 5
0 1.4K