Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • A api
  • Project information
    • Project information
    • Activity
    • Members
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Wiki
    • Wiki
  • Activity
Collapse sidebar
  • ironapi
  • api
  • Wiki
  • Introduction

Last edited by Andrea Pavlovic May 25, 2021
Page history

Introduction

IronAPI - Concentrate your Business Logic

WHO

ironapi GmbH was founded in late 2016 by Babak Houman and Günther Helbok to publicise an idea and the resulting product they developed as a answer to the reduction of development budgets in Bank Austria. Andrea Pavlovic, a mathematician is the CEO of ironapi.

WHAT

The original idea was to reduce the amount of time and code to create an online workflow system with special focus on state based access control. A patent was granted in April 2017. https://patents.google.com/patent/EP2706489A1/en

The implementation resulted in a relational data state machine based on relational algebra and access control in PostgreSQL combined with an auto generated Restful API to publicise all possible actions.

WHEN

The development of the ironOre® began in 2008 and it has been in steady use and development since then.

WHERE

Bank Austria has implemented multiple projects for system critical applications in the financial sector with the ironAPI Engine. Outside of that, there are smaller projects using the ironAPI Engine, like a hotel booking platform, a network data analysis tool and a cloud platform for creating and administering IronAPI Engine projects.

WHY

The classic approach when developing software to implement business logic is to have at least two layers of software:

  • Data Layer - e.g. a Database
  • Middleware - a custom written software implementing who has access to which data under which conditions

The IronAPI Engine combines those two layers into one by reducing it to the most basic one (the Data Layer).

The resulting system has some major advantages:

Minimized Redundancy

By concentrating data, business logic (workflows) and access control in the lowest level, the redundancy often found while implementing software projects is minimized.

Instead of defining (and redefining) the data, business logic and access control in multiple layers of the implementation, the IronAPI Engine has only one place to define and edit them. This way, the system is always coherent.

Easy Setup

The IronAPI Engine is initialized in one document (written in XML). This document will automatically build and publicise the resulting definitions and constraints.

This allows rapid prototyping while also guaranteeing the integrity of both data, business logic and access control.

High Flexibility

While setup is fast, easy and reliable, the centralized nature of the IronAPI Engine also allows for very complex problems (inheritance, pre-aggregation, big data and machine learning) to be solved.

At the same time, a running system can be changed at any point to adapt to new business logic. This means that when a project is started, it is not strictly necessary to have its complete specifications, as changes can be implemented faster and therefore more cheaply in one layer rather than multiple ones.

Security

The IronAPI Engine offers one point of contact for any applications wanting to interact with it. This ensures that they will all have to abide to the exact same definitions which were set up for the project.

Projects

  • alexandra => CMS API for alexa
  • bianca => analytic database for metrics based on customer transactions and actions
  • smartStore => analytic database and API for retail stores
  • booking => hotel pricing database and API
  • quarks => employee work time management system and API according to Austrian regulation

HOW

The technology behind the IronAPI Engine consists of two parts: an enhanced PostgreSQL Database and the fully stateless, auto-generated Restful API. The Database The Database is the heart of the system. Using the abilities of the PostgreSQL database to its maximum, it is enriched with functions which represent the business logic and access control definitions.

These function are generated fully automatically from the definitions in the database itself. This means, that changing a part of the business logic can be done by simply manipulating a certain date in the database. The IronAPI Engine will take care of implementing it as a database function. The API To provide secure access to the database, users and other applications send their requests to the API.

The API is a web server which builds itself fully automatically from the definitions in the database.

CONCLUSION

The main benefits of using our development approach are

  • Harmonization: we are able to consolidate diverse data sources into one single valid model.
  • Migration: We are able to migrate legacy systems and generate restful API accordingly.
  • Mutation: Using our core engine we are able to react on change requests by reshaping a workflow model and the API incl. access control and role definitions within a single transaction.
Clone repository
  • API
    • Available Endpoints
    • Changing Passwords
    • Form Input Types
    • Introduction
    • Logout
    • Plugins
    • Queries
    • Queries
      • Attributes
      • Context
      • Query Examples
      • Query Search Options
      • Referenced Instances
      • Saved Queries
    • Schema_Changes
    • Storing Files
View All Pages