#InterSystems IRIS

19 Followers · 5.6K Posts

InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.

Announcement Laurel James (GJS) · Jun 16, 2022

Only a few days to go until the Global Summit! George James Software will be on hand to talk about any projects you may have on the horizon, such as application development, data and platform migration, system integration, training, and support – we can work with you to find practical and maintainable solutions that support the growing needs of your organization. 

We're also running a User Group Session on Wednesday, July 22nd at 12pm. It's a great opportunity to find out more about our tools and ask us (and current users!) any questions. 

Look out for us in the Partner Pavilion, or email me at 

0
0 230
Announcement Raj Singh · Jun 15, 2022

InterSystems and the developer community around ZPM have been working together to take ZPM to the next level, building it into IRIS and making it a tool that can not only manage 3rd-party code, but key parts of InterSystems' products. You can hear a lot more on this topic at Global Summit 2022, and attend an experience lab to get hands-on. 

As a developer, you can also join the ongoing discussion about some final key design issues we are exploring with the community.

0
1 250
Question Tom Bruce · Jun 13, 2022

Hi, is there a method that can retrieve both the filename and archive path?

I can get the path to the file ok i.e. set sPath = pInput.Filename and I can get the archive path i.e. set tArchivePath = ..Adapter.ArchivePath

1
0 513
Announcement Laurel James (GJS) · Jun 13, 2022

We're looking forward to seeing everyone at the InterSystems Global Summit next week!
George James Software will be there offering demos of our Deltanji source control. It has been proven to improve efficiencies within for individual developers, larger organizations, and everyone in between by bringing clarity to the development of your system. It encourages configuration management, versioning, and process control to improve the quality of your code.
If you would like to find out more, look out for us in the Partner Pavilion or book in for our User Group session during lunch on Wednesday, June 22nd. Email laurelj@georgejames.com to let us know you'll be there.

 

0
0 291
Question Raouf Besbes · Jun 13, 2022

Hello,

I'm using a ComplexBatchFileService to retrieve and process a 425 Mo File ( lines ) 

At some point the Business Service is in failure , and displays this error : 

ERREUR #5002: Erreur Cache: <FILEFULL>%SaveData+18 ^CFAO.EOS.MasterFilePR.PMP.RM.ART1.Record.1 ^CFAO.EOS.MasterFileE50F.RecordD(535405931),e:\eos\
+
ERREUR #5002: Erreur Cache: <ROLLFAIL>%TRollBack+10 ^%occTransaction

Do you have any idea about the cause of this error ? ( i have checked the iris databases disk space and it's not full )

Thank you in advance. 

1
0 493
Question Matthew Cummings · Jun 6, 2022

Hello all,

I was looking at some code of a business service of which the author is unknown. It's very simple in what it does; it extends from Ens.BusinessService and has a method that performs SendRequestSync() to a business process. However, I noticed that the business service lacks an OnProcessInput() method. Rather, it uses a method called General() which has the same sort of signature/structure that OnProcess input does--pInput as [Custom Message Class], Output pOutput as [Custom Response Class]. 

The method works as observed in a message trace but I am not sure why.

7
0 739
Article José Pereira · Apr 5, 2022 4m read

Motivation

This project was thought of when I was thinking of how to let Python code deal naturally with the scalable storage and efficient retrieving mechanism given by IRIS globals, through Embedded Python.

My initial idea was to create a kind of Python dictionary implementation using globals, but soon I realized that I should deal with object abstraction first.

So, I started creating some Python classes that could wrap Python objects, storing and retrieving their data in globals, i.e., serializing and deserializing Python objects in IRIS globals.

How does it work?

Like ObjectScript%DispatchGetP

1
1 2371
Article Tani Frankel · May 6, 2020 2m read

While reviewing our documentation for our ^pButtons (in IRIS renamed as ^SystemPerformance) performance monitoring utility, a customer told me: "I understand all of this, but I wish it could be simpler… easier to define profiles, manage them etc.".

After this session I thought it would be a nice exercise to try and provide some easier human interface for this.

The first step in this was to wrap a class-based API to the existing pButtons routine.

I was also able to add some more "features" like showing what profiles are currently running, their time remaining to run, previously running processes and more.

The next step was to add on top of this API, a REST API class.

With this artifact (a pButtons REST API) in hand, one can go ahead and build a modern UI on top of that.

For example -

15
4 1349
Question Hari Tanguturi · Jun 9, 2022

Good Morning SMEs,

I am a .NET developer and new to using this IRIS Component. We are using InterSystems.Data.Clients ADO.NET component to connection to IRIS, I am able to open the connection but when i called Close, ADO.NET code showing connection is closed state in .NET code but in IRIS side it showing as connection is still open. The will close only after recycling apppool or closing IISExpress/calling application

Here are the steps I used to open the IRIS connection.

IRISADOConnection conn = new IRISADOConnection(connString);
IRISReference pError = new IRISReference("");
conn.Open();

//

1
0 385
Article Eduard Lebedyuk · Dec 2, 2020 2m read

In the good old days (tm) determining the size of the data, streams, and indices for a class/table was easy - you just ran %GSIZE and check D, S, and I globals respectively.

However, nowadays sharding, optimized global names, and indices in separate globals produce %GSIZE output looking like this:

            Global Size Display of /irissys/data/IRIS/mgr/irisshard/
                              1:35 PM  Dec 02 2020

          IRIS.Msg       1     IRIS.MsgNames       1     IRIS.SM.Shard       1
       IS.DGoWeK.1   24359       IS.DGoWeK.2       3       IS.DGoWeK.3    2810
       IS.DGoWeK.4
6
5 1462
Question Peter Monteiro · Feb 9, 2022

For our WSDL the portType value is being suffixed with "Soap" at the end.

When i update the the SERVICENAME parameter. in the Service I can update the start of the portType value. Is there a way to prevent the suffix being added?

WSDL segment

<portType name="BillingDocumentRequestConfirmation_OutSoap">
<operation name="BillingDocumentRequestConfirmationOut">
<input message="s0:BillingDocumentRequestConfirmationOutSoapIn"/>
<output message="s0:BillingDocumentRequestConfirmationOutSoapOut"/>
</operation>
</portType>
<binding name="BillingDocumentRequestConfirmation_OutSoap"
3
0 438
Announcement Laurel James (GJS) · Jun 7, 2022

Come and say hi to us in the Partner Pavilion at the Global Summit! 
We’ll be showcasing our Serenji on-the-spot debugger which has undergone some big changes in the last year—users can now enjoy a seamless debugging experience with zero configuration, along with taking advantage of the latest features in VS Code itself, enabling users to smoothly identify and quickly fix errors in your code, contributing to the production of quality, maintainable code.
If you want to see Serenji in action look for us in the Partner Pavilion, we'll be on hand to show you a demo.  Prospective users are also welcome to join our User Group Session during the lunchtime session on Wednesday, June 22nd. Email laurelj@georgejames.com to let us know you'll be there.
 

 

0
0 265
Question Michael Davidovich · Jun 6, 2022

Hi there,

I'm passing a JSON object to the server as such:

{"key":"value","key":"value","key":"value"}

From the client:

- Build object

object=JSON.stringify(object)

-pass to server side method as %String

On the server:

s object={}.FromJSON(object)

Instead of getting something like

object=<OBJECT REFERENCE>[2@%Library.DynamicObject]

I get

object="991@%Library.DynamicObject"

I can't access that object using %Get as if says invalid OREF.

I've set the object passed a string to a global and debugged a bit on command line and was successfully able to convert to a dynamic object and use the %Get method to get the

5
0 488
InterSystems Official Bob Kuszewski · Jun 2, 2022

InterSystems is pleased to announce the 2022.1 releases of InterSystems IRIS Data Platform, InterSystems IRIS for Health, and HealthShare Health Connect are now Generally Available (GA).

2022.1 is an extended maintenance release, which means that maintenance builds will be available for two years, followed by an additional two years of security-specific builds.

Release Highlights 

Platform Updates

InterSystems IRIS Data Platform 2022.1 expands support to include the following new & updated operating systems for production workloads:

  • Windows Server 2022
  • Windows 11
  • AIX 7.3
  • Oracle
13
1 854
Article José Pereira · Jun 5, 2022 6m read

IRIS Megazord

In the first article about IRIS Megazord, Henrique explains what drove us to create such an application. It basic is a composition of these previous project which we did:

But we also started the development of a new feature, called Flow Editor. In this article we are going to know more about it.

IRIS Flow Editor

The aim of this feature is to test a new way to create IRIS Interoperability productions, as Henrique explained in the previous article.

In this way, users are presented to a graphical editor in which they can express information

0
0 411
Article Evgeniy Potapov · Jun 3, 2022 3m read

It is very interesting to compare different BI technologies. It is curious to me what the differences are in functionality, development tools, speed and usability.

For this application, I chose a dataset with water conditions in various European countries. This is an open source dataset containing observational data from 1991 to 2017.

The team and I decided to make a model based on this BI dataset using IRIS BI, Tableau, PowerBI and InterSystems Reports (powered by Logi Reports).

For the frontend, we made a web interface in PythonFlask via Embedded Python.

The result, by the way, can be seen on

0
0 344
Job Yann de Cambourg · Jun 3, 2022

About the job

The ideal candidate will be responsible for conceptualizing and executing clear, quality code to develop the best software. You will test your code, identify errors, and iterate to ensure quality code. You will also support our customers and partners by troubleshooting any of their software issues.

Responsibilities

  • Detect and troubleshoot software issues
  • Write clear quality code for software and applications and perform test reviews
  • Develop, implement, and test APIs
  • Provide input on software development projects

Application at yann.decambourg@synodis.fr  - www.synodis.fr

Qual

0
0 195
Article Robert Cemper · Jan 2, 2022 3m read

Thanks to @Yuri Marx we have seen a very nice example for DB migration from Postgres to IRIS.
My personal problem is the use of DBeaver as a migration tool.
Especially as one of the strengths of IRIS ( and also Caché) before is the availability of the
SQLgateways that allow access to any external Db as long as for them an access usinig 
JDBC or ODBC is available. So I extended the package to demonstrate this.

3
2 901