Skip to main content

Pure Python Interoperability Productions using InterSystems IRIS

Project description

intersystems_pyprod

intersystems_pyprod, short for InterSystems Python Productions, is a library that allows you to build components for the InterSystems Productions framework entirely in Python. Productions provide the integration engine to connect systems that use different communication protocols and different message formats.

You can read this introductory article to learn how to use pyprod.

The following image shows all the production components that pyprod enables you to create:

SystemDiagramOfProductions

Example Workflow

Using pyprod is essentially a 3 step process. The following example shows a Production that uses a Business Process written using intersystems_pyprod. This Business Process simply returns the request it receives back to the sender.

Note: Before running the example, make sure you have configured the required environment variables to connect to a running IRIS instance.

Step 1: Create your production components

# save this as HelloWorld.py
from intersystems_pyprod import (BusinessProcess,Status)

class HelloWorldBP(BusinessProcess):
    def OnRequest(self, request):
        return Status.OK(), request

Step 2: Load your components to IRIS

From a command line session where you configured the environment variables, run the intersystems_pyprod command and provide the path to your script as an argument.

$ intersystems_pyprod /full/path/to/HelloWorld.py

    Loading HelloWorldBP to IRIS...
    ...
    ...
    Load finished successfully.

Step 3: Create a production using the UI

Create the production using the Production Configuration page, which you can access in the IRIS UI by navigating to Interoperability > Configure > Productions

HelloWorldProductionSetup

This production reads in a file from a defined path and then forwards it to a target Business Process.

We use a pre-existing Business Service called Enslib.File.PassthroughService. Configure the service by setting the file path from which it should read. Then select the Business Process you created as its target.

Note: The Business Process name includes the script name (HelloWorld) appended to it. Read more about package names here


Test your Production

Start the Production, then place a text file in the configured file path for the Business Service. After refreshing the Production page, you should see the messages that were delivered.

HelloWorldResults

Note: EnsLib.File.PassthroughService is an existing Business Service bundled with IRIS Productions. It loads a file from a specified location and forwards it to the configured target component.


Reporting Issues

Please report issues via GitHub Issues.

Contributing

See Contributing guidelines

Useful links

Installing

Quick Start

Debugging

API Reference

Changelog

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

intersystems_pyprod-0.1.2.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

intersystems_pyprod-0.1.2-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file intersystems_pyprod-0.1.2.tar.gz.

File metadata

  • Download URL: intersystems_pyprod-0.1.2.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for intersystems_pyprod-0.1.2.tar.gz
Algorithm Hash digest
SHA256 995376c137bb9596d5e27d71f65beb9c75a01692afc6ee68c6c04482bbe10321
MD5 6d7b3288ccc8746bf68899ab28424d0f
BLAKE2b-256 1a3714014d5963ae47db7dbd0508ea1f325595425fed421165ac98f55d5896cc

See more details on using hashes here.

File details

Details for the file intersystems_pyprod-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for intersystems_pyprod-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 adb9e7886b0d71cc4d5a03aafcbee4fae367a354432c4e7558f9d0d53b5a20e4
MD5 cad2d3b9d0dc9ae9b9d48d6413ed8f68
BLAKE2b-256 3d21d5f7cac62784e4d9ef15e75b5a4135d5e5d01b1a0b616bfe9bffefe47920

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page