Smart IoT Integrations With Akenza and Python

The Akenza IoT platform, on its own, excels in collecting and managing data from a myriad of IoT devices. However, it is integrations with other systems, such as enterprise resource planning (ERP), customer relationship management (CRM) platforms, workflow management or environmental monitoring tools that enable a complete view of the entire organizational landscape.

Complementing Akenza's capabilities, and enabling smooth integrations, is the versatility of Python programming. Given how flexible Python is, the language is a natural choice when looking for a bridge between Akenza and the unique requirements of an organization looking to connect its intelligent infrastructure.

Using OAuth in API Integrations With Python, REST, and HL7 FHIR

OAuth is often employed in processes requiring permissions to be granted to front-end applications and end users. Yet what we typically need in API systems integrations is a way to secure connections between the integration middleware and backend systems without a need for any ongoing human interactions.

OAuth can be a good choice for that scenario. This article shows how it can be achieved in Python with backend systems using REST and HL7 FHIR.

Integrating With Jira APIs in Python

Overview

Continuing in the series of articles about newest cloud connections in Zato 3.2, this episode covers Atlassian Jira from the perspective of invoking its APIs to build integrations between Jira and other systems.

There are essentially two use modes of integrations with Jira:

Web Scraping as an API Service

Overview

In systems-to-systems integrations, there comes an inevitable time when we have to employ some kind of web scraping tool to integrate with a particular application. Despite its not being our first choice, it is good to know what to use at such a time - in this article, I provide a gentle introduction to my favourite tool of this kind, called Playwright, followed by sample Python code that integrates it with an API service.

Naturally, in the context of backend integrations, web scraping should be avoided and, generally, it should be considered the last resort. The basic issue here is that while the UI term contains the “interface” part, it is not really the “Application Programming” Interface that we would like to have.

API Development Workflow With Python and Zato

Zato is an integration platform and backend application server which means that, during most of their projects, developers using Zato are interested in a few specific matters.

The platform concentrates on answering these key, everyday questions that Python backend developers routinely ask:

Scalable AI and API Architectures in Python

Architectural Tenets

The architecture of Zato reflects several key foundational concepts underlying the design of the platform. Each component of the architecture takes each of the concepts into account.

The tenets are what drives the design of Zato, this is what directly leads to what its architecture looks like.

Setting Advanced Options of SQL Connection Pools

In this article, we will cover the details of how Zato SQL connection pools can be configured to take advantage of features and options specific to a particular driver or to the SQLAlchemy library.

SQL Connection Pools

First, let’s review the basic Zato Dashboard form that creates a new SQL connection pool.

API Publish/Subscribe Between Zato Services

One of the additions in the upcoming Zato 3.2 release is an extension to its publish/subscribe mechanism that lets services publish messages directly to other services. Let’s check how to use it and how it compares to other means of invoking one’s API services. 

How Does It Work?

In your Zato service, you can publish a message to any other services as below. Simply point self.pubsub.publish to the target service by the latter’s name and it will receive your message.

What Is an API Gateway?

In this article, we are going to use Zato in its capacity as a multi-protocol Python API gateway - we will integrate a few popular technologies, accepting requests sent over protocols commonly used in frontend systems, enriching and passing them to backend systems, and returning responses to the API clients using their preferred data formats. But first, let's define what an API gateway is.

Clearing up the Terminology

Although we will be focusing on complex API integrations later, to understand the term API gateway we first need to give proper consideration to the very term gateway.

Multi-Protocol File Transfer API Integrations in Python Using Zato

In many domains, the transfer of static and batch files is an important part of systems integrations and a large number of applications produce and expect data in the form of files rather than network-based APIs. In this article, we shall see how Zato makes multi-protocol integrations of this kind possible in a way that is secure, scalable and easy to extend in Python.

File transfer is often found in scenarios such as:

Service-oriented API Task Scheduling

An integral part of Zato, its scalable, service-oriented scheduler makes it is possible to execute high-level API integration processes as background tasks. The scheduler runs periodic jobs, which, in turn, trigger services, and services are what are used to integrate systems.

Integration Process

In this article, we will check how to use the scheduler with three kinds of jobs, one-time, interval-based, and Cron-style ones.

Understanding API Rate-Limiting Techniques in Zato

Enabling rate-limiting in Zato means that access to Zato-based APIs can be throttled per endpoint, user, or service — including options to make limits apply to specific IP addresses only — and if limits are exceeded within a selected period of time, the invocation will fail. Let's check how to use it all.

Where and When Limits Apply

Rate-limiting aware objects in Zato

Complex Cloud API Integrations Made Easy

Cloud-based connections are a staple of modern API integrations — this article shows how, in just a few Python code lines, Zato makes their usage easy, convenient, and extremely effective.

Overview

As per the diagram, in this article, we will integrate REST and FTP based resources with Dropbox, but it needs to be emphasized that the same code would work with other protocols.

Generating API Documentation for Both External and Internal Users

A recurring need in larger integration projects is the generation of API documentation for users belonging to different, yet related, target groups. Read on to learn how to generate Zato-based API specifications for more than one group from a single source of information.

A typical scenario is granting access to the same APIs to external and internal users - what they have in common is that all of them may want to access the same APIs yet not all of them should have access to documentation on the same level of details.

Accessing Cache APIs From Command Line

In addition to a GUI, Python and REST APIs, it is now possible to access your Zato caches from command line. Learn from this article how to quickly check, set, and delete keys in this way. It's particularly useful for remote SSH connections to Zato environments.

Prerequisites

This functionality will be released in Zato 3.2 (June 2020). Right now, if you would like to use it, Zato needs to be installed from the source.