#InterSystems IRIS

19 Followers · 5.5K 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.

Article Mihoko Iijima · Mar 5, 2021 10m read

This article is a continuation of this post.

In the previous article, we reviewed how to create and define messages used to send and receive data between components.

In this article, I will explain how to create a business operation from the component creation methods.

We will quickly check the code by referring to the sample.。

Component NameRole
Start.FileBSA business service that uses file inbound adapter to read files placed in a specified directory at regular intervals.

0
0 1081
Article Mihoko Iijima · Mar 5, 2021 7m read

This article is a continuation of this post.

In the previous article, we discussed business operations' creation from the components required for system integration.

In this article, you will learn how to create a business process that calls the two business operations you have defined in the sequence order.

The business process acts as the coordinator (command center) of the process.

The processing adjustments you may want to implement in the sample include the following:

Step 1: Provi





0
0 621
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!”

The business service provides a window of input for information sent from outside IRIS, with o








0
0 786
Article Yuri Marx · Mar 2, 2021 4m read

I finished my participation in the Developing with InterSystems Objects and SQL with Joel Solon. The course is very nice and I will share with you some tips I got during this the training final day. Tips presented in the day 5:

  1. %SYSTEM package has general utiliy classes. Use $system.class.Help() to list the utilities. The main %SYSTEM classes are Encryption (industry encryption methods), OBJ to manage classes and objects, Security for security methods and SQL to use SQL language.
  2. IRIS allows validation to the properties and arguments using MINVAL and MAXVAL to integer, FORMAT to date and t
8
1 679
Discussion Rob Tweed · Dec 16, 2020

There's been quite a bit of discussion lately in this forum on the tools available in IRIS for using both XML and JSON, and debate on cross-conversion between the two formats.

A week or so ago I posted details of a set of tutorials I'd put together on integrating the Node.js-based QEWD technology with IRIS, working over a network.  As part of that set of tutorials, I've been detailing how to use the various multi-model capabilities of the build-in QEWD-JSdb abstraction of IRIS.  QEWD-JSdb is a key part of QEWD, and understanding it is key to understanding how to develop applications (REST and

1
0 412
Article Tony Pepper · May 25, 2016 5m read

New Tool Available

Please see PerfTools IO Test Suite for a later version of the Random Read IO tool.

Purpose

This tool is used to generate random read Input/Output (IO) from within the database. The goal of this tool is to drive as many jobs as possible to achieve target IOPS and ensure acceptable disk response times are sustained. Results gathered from the IO tests will vary from configuration to configuration based on the IO sub-system. Before running these tests ensure corresponding operating system and storage level monitoring are configured to capture IO performance metrics for later analysis.

17
3 3974
Article Sergey Mikhailenko · Mar 3, 2021 2m read

Good day, developers!

The "apptools-admin" project is not only a set of tools for the administrator, but a platform for the rapid creation of a prototype of any solution. For example, Photo Album, Music Player, and Personal Library all come together in a user-friendly treasure chest design.

Load http:// your-host:your-port/apptoolsrest/a/infochest

Change the path to your treasure files and start viewing, listening or reading from any convenient device: desktop, tablet or smartphone.

The example will be located at ${CSPdir}/apptools/files

After saving and updating the panel, you can select a

0
0 301
Article Evgeny Shvarov · Mar 3, 2021 2m read

Hi folks!

Sometimes when we develop a mockup or PoC there is a need for a simple interface that will provide data in IRIS in JSON against SQL queries.

And recently I contributed a simple module that does exactly that:

accepts SQL string and returns the JSON.

How to install? Just call:

zpm "install sql-rest"

If you install it in a namespace X it will setup a /sql endpoint to your system that will accept POST requests with SQL string and will return the result for you for the data available in the namespace X.

0
2 535
Article Tianyu wu · Mar 2, 2021 1m read
Hotel Overbooking in hospitality industry
 

This is the first InterStstems  programming contest that we participated in! Come check out and vote for us!

The overbooking management system combines the unique conditions of the hotel, such as room prices, order channels, customer needs (etc...). System uses machine learning algorithms (such as: KNN/ES-RNN...) to accurately predict the daily no-show and occupancy rate of the hotel, and further combines with the revenue equation to find the best largest room sales volume, which can significantly increase the hotel marginal revenue.

Chec

1
0 212
Article Udo Leimberger · Nov 22, 2019 1m read

If you want to start IRIS as a service on CentOS7 you can use systemd.

Login as root and create a new file iris.service in /etc/systemd/system.

# vi /etc/systemd/system/iris.service
[Unit]
Description=Intersystem IRIS Service
After=network.target
[Service]
Type=forking
WorkingDirectory=<iris-install-dir>
User=root
ExecStart=<iris-inst-dir>/bin/iris start "<instance>"
ExecStop=<iris-inst-dir>/bin/iris stop "<instance>" quietly
Restart=on-abort
[Install]
WantedBy=default.target

<iris-install-dir> = Directory where you installed IRIS on Centos7 i.e. /iris

<instance> = The IRIS ins

10
5 2444
Article Yuri Marx · Feb 25, 2021 3m read

I'm participating in the Developing with InterSystems Objects and SQL with Joel Solon. The course is very nice and I will share with you some tips I got during the training. Tips presented in the day 3:

  1. You can see your class catalog using %Dictionary classes and see your sql objects into INFORMATION_SCHEMA table.
  2. Is possible use SQL inside your ObjectScript methods using Dynamic SQL or Embedded SQL.
  3. You can pass parameters into Dynamic SQL string using ? (eg.: where country = ?) and pass parameters to Embedded SQL using colon (ed.: where country = :variable).
  4. Dynamic SQL Sample (from In
2
3 733
Article Yuri Marx · Feb 24, 2021 3m read

I'm participating in the Developing with InterSystems Objects and SQL with Joel Solon. The course is very nice and I will share with you some tips I got during the training. Tips presented in the day 2:

  1. You can create persistent classes (classes with a correspondent table in the database to persist class properties).
  2. An Persistent class example:
    Class dc.Person extends (%Persistent)
    {
        Property Name As %String;
        Property BirthDate As %Date;
    }
  3. When you extends %Persistent, you get %New() to create a new instance in the memory, %Save() to save in the database and %Id() to get
4
3 809
Question Wenqing Wu · Feb 24, 2021

hello, I had build a DocDB referring the code from here: https://community.intersystems.com/post/how-can-i-create-properties-doc…

Here are the structure of the json Documents I have added in my database called 'Orders'.

Doc1 = {'Client': 'Stanford health center', 'Country': 'US', 'orderID': 'a0001', 'Date': '2020-01-01',
        'OrderContent': [{'productID': '001', 'ProductName': 'flu test', 'Qty': 100, 'cost': 500},
                         {'productID': '002', 'ProductName': 'EV test', 'Qty': 500, 'cost': 1000}]}

Doc2 = {'Client': 'watson clinic', 'Country': 'US', 'orderID': 
1
0 443
Article Eduard Lebedyuk · Oct 21, 2019 4m read

InterSystems API Management (IAM) - a new feature of the InterSystems IRIS Data Platform, enables you to monitor, control and govern traffic to and from web-based APIs within your IT infrastructure. In case you missed it, here is the link to the announcement. And here's an article explaining how to start working with IAM.

In this article, we would use InterSystems API Management to Load Balance an API.

In our case, we have 2 InterSystems IRIS instances with /api/atelier REST API that we want to publish for our clients.

There are many different reasons why we might want to do that, such as:

  • Load balancing to spread the workload across servers
  • Blue-green deployment: we have two servers, one "prod", other "dev" and we might want to switch between them
  • Canary deployment: we might publish the new version only on one server and move 1% of clients there
  • High availability configuration
  • etc.
3
4 1006
Article Alberto Fuentes · Feb 24, 2021 1m read

Hi Community!  Today I'd like to share with you a link to some exercises from a workshop about developing REST APIs and how to manage them using InterSystems API Manager.

It includes step by step exercises to:

  • Developing REST APIs from OpenAPI specifications.
  • Adding the created API in an interoperability production (optional).
  • Basic API management in InterSystems API Manager (service, route, auth, consumers, rate limiting, etc.).
  • Some other more complex scenarios in InterSystems API Manager like load balancing, or routing by header.

You will find it all here: https://openexchange.intersystem

0
0 350
Article Iryna Mykhailova · Feb 24, 2021 13m read

In the first installment of this article series, we discussed how to read a “big” chunk of data from the raw body of an HTTP POST method and save it to a database as a stream property of a  class. Now let’s look at how to save such data and metadata in JSON format.

Unfortunately, Advanced REST Client doesn’t let you compose JSON objects with binary data as a value of a key (or maybe I simply haven’t figured out how to do it), so I decided to write a simple client in ObjectScript to send data to the server.

I created a new class called RestTransfer.Client and added to it parameters Server = "

0
0 641
InterSystems Official Pete Greskoff · Dec 8, 2020

InterSystems has identified an issue with product distributions containing Certificate Authority certificates that expire at the end of 2020. This issue does not affect system operation or system security in any way, although it does generate alerts about expiring certificates in the cconsole.log or messages.log files. The messages may be ignored and there are instructions below to eliminate them.

The issue affects the following versions:

  • Caché and Ensemble 2017.1, 2017.2, and 2018.1
  • All released versions of InterSystems IRIS and InterSystems IRIS for Health
  • HealthShare products based o
2
3 887
Article Benjamin De Boe · Feb 23, 2021 1m read

Hi, 

I just published isc-mem-config on OpenExchange and ZPM. It's a prototype to test whether this kind of user experience (UX) is a good fit for novice and / or more seasoned users. The settings it generates are already fairly-good-practice :-), but also being reviewed by experts within InterSystems in parallel.

Happy to hear your feedback on the applicability to your and/or your customers' day-to-day business, where this would fit best in the broad spectrum ranging from documentation, over installation to standalone tools. Of course, feel free to weigh in on the specific memory recommenda

2
1 259
Article Iryna Mykhailova · Feb 22, 2021 6m read

A question came up in the InterSystems developer community concerning the possibility of creating a TWAIN interface to a Caché application. There were several great suggestions on how to get data from an imaging device on a web client to a server, then store this data in a database. 

However, in order to implement any of these suggestions, you need to be able to transfer data from a web client to a database server and store the received data in a class property (or a table cell, as was the case in the question). This technique can be useful not only for transferring imaging data received fr

1
1 966
Question Jairton Junior · Feb 19, 2021

When using "IDENTITY" as my primary key, I can select the last inserted ID with 

SELECT LAST_IDENTITY() FROM %TSQL_sys.snf;

Actually this is how Hibernate + Iris' Driver acquires the inserted ID when mapping with

@GeneratedValue(strategy = GenerationType.IDENTITY)

 

Now, considering that I am using the type "SERIAL" as my primary key instead, how can I get the last inserted ID?

Note that with "SERIAL" I can forcefully insert any value for this ID, from which Iris will continue generating values...

CREATE TABLE test (
    test_id serial NOT NULL,
    name varchar(100) NULL,
    CONSTRAI



1
0 352
Question Mufsi Hamza · Feb 18, 2021

When I create a TASK on the Primary mirror member and Try to create the same TASK in the backup mirror member,  It Gives me CSP Application error.

The TASK gets created in the Primary node without any errors and When creating in the Backup node it prompts the error.

It happens is IRIS and I didn't face this in CACHE.

Finally what I did is export the TASK in Primary and Imported in Backup.

Is this a feature of IRIS?

6
0 332