Ensemble

Syndicate content 69 

Hi,
We recover a large amount of data from an external database (SQLServer, about 1 million rows in JDBC).
However, we have treatment time issue.
This process takes more than 30 minutes whereas on a "classic" SQL Server Management Studio type request takes less than a minute.

While searching on the internet, I came across this article: http://makejavafaster.blogspot.com/2015/06/jdbc-fetch-size-performance.html
It explains how in Java, we can tweak the FetchSize parameter of the JDBC driver to optimize this kind of process.

Is there a way to access this JDBC parameter through the EnsLib.SQL.OutboundAdapter adapter?

If not, how do you deal with this kind of situation of large volumetry

Last answer 20 September 2018 Last comment 2 hours 21 min ago
0   1 5
151

views

0

rating

I have an above error when purging record map batches and was wondering if anyone  out there has ever experienced this and if they have please any advice

Failed to purge body for header 9747192, BodyClassname='******.Batch':ERROR #5823: Cannot delete object, referenced by '*****.Record.%ParentBatch'
Last comment 5 hours 19 min ago
0   0 1
0

answers

17

views

0

rating

We use a lot of external MS SQL calls to look up numerous things when it comes to HL7. I am running into an issue where the outbound calls are queued but the message is sent onto the next process before it gets a response. How do I get it to wait till the response gets back from the MS SQL call before sending it onto the next process?

 

Below is a screen shot of what I am trying to explain...Select Research Study executes at 8:33 the message is sent to the next process at 8:34, but the response of the MSSQL call doesn't come till 9:31.

 

Last answer 5 days ago Last comment 1 days ago
+ 1   0 4
75

views

+ 1

rating

Hello gentlemen,

 

I have to create a objectscript program that will simulate a mainframe (because it's going to be removed). For my program, I receive data from another program that is written in Delphy by TCP on a preset socket.  Here is my problem, how can I handle this? 
Which class shoud my program  extend?
Which Adapter should I use?
My program must be able to read what the delphy one is sending and i don't really know what structure it is in what it is in. So is there a class that can allow me to read it? Thanks for your future anwers.
Here is a sample of what I have thought but doesn't work.

Last comment 2 days ago
0   0 3
0

answers

134

views

0

rating

Hi Dev Community,

My team is currently working on a project where we need to post pdf documents to a 3rd party REST API.

The API specifies a field in the JSON request message to contain the 'physical content' of the file as an array of bytes, example of the JSON request as follows - data truncated for readability purposes:

{
    "CaptureSource":2,
    "RecipientID":"ID34",
    "Document": {
        "Guid":"5D847A4E9CC1485382DC4A5F5DC80D6C",
        "EventDate":"2019-01-14T13:23:46",
        "FileExtension":"pdf",
        "FileContent":"JVBERi0xLjQNCiXi48/TDQoxIDAgb2JqDQogIDw8DQogICA......"

      },
    "ActionRequired":false,

Last answer 5 days ago
0   1 2
0

comments

122

views

0

rating

I'm looking for the most straightforward way to trigger a custom Ensemble message when a patient logs into the Personal Community patient portal. The use case is that when the patient logs in, we want to query an external email database for any new messages the patient has and import them. Does anybody know if there's any built-in functionality I can use, or if not, what the best trigger point would be?

0   0 1
0

answers

0

comments

15

views

0

rating

Hello,

When i click on the menu to  run the  Data import wizard  from MP, i receive following CSP error

<UNDEFINED>zOnPageHEAD+229^%cspapp.exp.utilsqleximwizardcontent.1 *schemaname : CSP Error

 

It is happening for all the namespaces. Looks like some permission issue.  Same issue with Data Export wizard. Help to resolve this will be appreciated.

I am using

Cache for Windows (x86-64) 2017.2.2 (Build 865_0_18763U)

Thanks,

Jimmy Christian.

 

Last answer 6 days ago Last comment 6 days ago
0   0 1
25

views

0

rating

In a Business Process (BPL) I noticed that if I 'm using a "scope" to handle errors  then inside the "scope" when a "call" is used, the "request" and "response" action (i.e set for callrequest.prop = request.prop & response.prop = callrespones.prop does NOT work !
The result is that the values of those properties in the callrequest  are nulls (I do see the properties names in the content of the callrequest message)

What is the best way to solve this issue ?
As it seems that there are new instances of the request/response objects inside the scope, whats the best way to pass them into the scope ?
Is there a better custom error handling than using scope ?

regards.

yaron

Last comment 6 days ago
0   0 2
0

answers

21

views

0

rating

Hi, I have used CSP to exec SQL selects from  any own NAMESPACE. But in our servers we have many SQL GATEWAY CONNECTIONS.

I'd like to create a CSP page that could use these gateway to exec SQL using these gateway connections, only Administrators will use that page to launch many select at many dsn. I'm not sure if we must deploy that CSP on %SYS namespace and how to use DSN(SQL Gateway connections) that are defined on server.

Anoyone has made that?

For example:

DSN CLIENT ONE

DSN CLIENT ONE

 

CSP Webpage:

TEXTBOX: Introduce your select:

select count(*) from product where stock<100 

OPTION BUTTON:

*CLIENT ONE

*CLIENT TWO

 

Result:

Product One.

Product Two.

Product Five...

 

 

 

 

0   0 1
0

answers

0

comments

19

views

0

rating

From time to time we develop an Ensemble Production with simple SQL Inbound data from external databases, we need to develop a few new classes. There are at least

Last answer 7 days ago Last comment 7 days ago
0   0 2
58

views

0

rating

Hello, 

Till the end of this summer, I have few hours per day that I can spare. I am keen to invest those hours by being part of a good project as a Technical Consultant  where I can extend my expertise and connect with fellow colleagues of the community.

I have been associated with Intersytems technologies including Cache, Ensemble, Zen, DeepSee for almost a decade and have a good understanding of the same.  It was by chance that I ventured into these technologies. Initially I had been working with Sun Microsystems as an Integration Consultant for few years and that's why switching to Ensemble / Cache wasn't tough as they are an integration tool too. Training sessions at Boston also have definitely helped me make the switch

0   0 1
0

comments

42

views

0

rating

Hello,

currently we have a problem in development with the character set of the response message.

We are transmitting an HL7 message with an operation based on the EnsLib.HL7.Operation.HTTPOperation class.
We have changed this as follows.

Set pMsgIn=$$$NULLOREF, tHttpRequest=##class(%Net.HttpRequest).%New(), tHttpRequest.WriteRawMode=1, tHttpRequest.ContentType="APPLICATION/HL7-V2; charset=UTF-8"

Unfortunately, the ContentType character set is not read correctly in the response.

 

This is the response

Last comment 7 days ago
0   0 2
0

answers

40

views

0

rating

Hello experts,

I'm new to InterSystems software and still not so familiar with it. Therefore I do apologize in front if this question is irrelevant, not making sense or answer is commonly known.
 

I've did my best in search for answer, but unfortunately i haven't found anything helpfull. So I decided to ask for help here.

 

My problem is repetitive error which occure in CSP Gateway event log : 

Error Condition: Failed to read posted content from the client (Content-Length: 1404; Data Actually Read: 0; Read Error: 70007)

It occure approximately 40 times a day. Customers do not report any specific problems, but it's still in my concern to solve errors.

 

I was looking for explanation of error in various documentations : 
https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCGI_oper_config

0   0 1
0

answers

0

comments

21

views

0

rating

This article is translation of one from Habrahabr InterSystems blog (Russian).
The original post can be found here: https://habrahabr.ru/company/intersystems/blog/251611/
 

Everyone familiar with InterSystems Ensemble, an integration and application development platform, knows what the Ensemble Workflow subsystem is and how useful it can be for automating human interaction. For those who don’t know Ensemble (and/or Workflow), I will briefly describe its capabilities (others may skip this part and learn how they can use the Workflow interface in Angular.js)

Last comment 8 days ago
+ 5   0 2
1566

views

+ 5

rating

Hi There ,

     We are trying to do a small POC trying to integrate NHS Careconnect with Ensemble/Healthconnect. Does anyone have implemented this before. It would be good that you provide some suggestions  or any sample implementation. It would be good to get suggestions any  interesting use cases 

within NHS England for the POC.

0   0 1
0

answers

0

comments

23

views

0

rating

Hi,
I am facing issue during LDAP lookup like whenever I used product group parameter in AD explorer to search data from application I am getting empty result. If I set product group parameter as null then based on distinguished name result is generated in application. So if anyone knows about how LDAP works and how parameters are set in AD explorer then please let me know.

Thanks in advance.

0   0 0
0

answers

0

comments

12

views

0

rating

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.

Benchmark

Benchmarks released on Postgres 11.2 with 1 000 000 rows fetched and 100 000 rows inserted on 2 columns.

alt text

Prerequisites

Can be used on IRIS or Ensemble 2017.2+.

Installing

Clone this repositor

0   0 1
0

comments

35

views

0

rating

 For Data Synchronization inside Caché you have a range of ways to synchronize objects and tables.
At DB level you can use Shadowing  or Mirroring 

This works excellent and if you need just a part of your data to be synchronized you may split your
data into smaller pieces using Global mapping 
Or if you need bi-directional synchronization on Class/Table level you can use the Object Synchronization Feature 


The limit of all these excellent features:
They just work from Caché/IRIS to Caché/IRIS.

Last comment 9 days ago
+ 7   1 2
81

views

+ 7

rating

I trying to get ACK back from the destination to the sending system.

I configured the Business Services to Ack Mode Application but sending system is getting Ensemble generated ACK [7] not destination ACK [9].

This is Ensemble 2018.1.1.312.0.

Ultimately I would like a NACK back when I have a Business Rule that blocks a messages from sending to Business Operations but currently [5] is an ACK |AA

|.

Last answer 12 days ago Last comment 9 days ago
0   0 2
47

views

0

rating

Hello everyone!
I need to have a ResultSet of type % SQL.Statement show its contents when it is trafficked in a message property by Business Process.
I tried to use the % XML.DataSet type that inherits properties of type % XML.Adaptor, but did not work.
Is there any other way to traffic as an object, other than within a Stream?

Note: I can not traffic Streams and I will not be able to use Correlate in this case.

Last answer 3 April 2019 Last comment 13 days ago
0   0 2
35

views

0

rating

Hey everyone, 

I stumbled across a comment in this post that mentioned that the %SYS.GlobalQuery is a potentially faster alternative to %GSIZE. I tested it out and while I like the %SYS.GlobalQuery I noticed that it has some size discrepancies against a %GSIZE with details.  Can anyone tell me which is more accurate for estimating the size of globals?

 

Here is an example of one of the differences I saw. From this it looks like the size is estimated to about 70gb from %GSIZE and about 67gb from %SYS.GlobalQuery.

%GSIZE Output:

Ens.MessageBodyD
                   8830691   70,452,447,461     98 %   8,194,352
%SYS.GlobalQuery Output:

                  Ens.MessageBodyD, 68990, 67189

Last answer 13 days ago Last comment 13 days ago
0   0 2
57

views

0

rating

Does anyone have experience in creating a Business Routing Rule using Exists function?

 

I've used the comma delimited 'In' function, but I would like more manageability. Entering and remove items from a look up table would be much easier to manage then changing the comma delimited string.

Messages go to error state.

Any help would be appreciated.

This is my first post, so if I am doing anything wrong please let me know.

0   0 1
0

comments

42

views

0

rating

Dear Colleagues and Friends,

is there any indication that the .NET object representation of Cache objects (i.e. InterSystems.Data.CacheClient.dll) complies with .NET Standard? I'm planning to extend our existing .NET client/server solution with a mobile option by Xamarin Forms and can't find any significant hints in the internet.

I'm just fooling around a bit and made some expreiments with a REST API and a generic object-to-JSON tier

Last comment 1 April 2019
0   0 2
0

answers

49

views

0

rating

When a X12 message comes into Ensemble as a Whole Batch how do you search on a segment within the body of the message? For example, a REF segment. It appears the only way is to set the Service to a single session batch, but this doesn't allow you to send the message as a Whole Batch to the Operation.

0   0 1
0

answers

0

comments

22

views

0

rating

We have been storing raw messages in a MySQL database for DR and ad hoc purposes. We are thinking of using an Ensemble instance as our data lake instead. We could segregate the source data by namespace or by global. But either way we'll want a custom global to index the data for data retrieval performance purposes.

Anyone else taking this approach? Any feedback?

Last answer 29 March 2019 Last comment 29 March 2019
0   0 2
53

views

0

rating