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

Introduction · Changes

Page history
Edited online authored Feb 11, 2019 by Andrea Pavlovic's avatar Andrea Pavlovic
Hide whitespace changes
Inline Side-by-side
Introduction.md
View page @ 7d21d2c2
...@@ -20,37 +20,40 @@ Bank Austria has implemented multiple projects for system critical applications ...@@ -20,37 +20,40 @@ Bank Austria has implemented multiple projects for system critical applications
## WHY ## WHY
The classic approach when developing software to implement business logic is to have at least two layers of software: 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 * Data Layer - e.g. a Database
Middleware - a custom written software implementing who has access to which data under which conditions * 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 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: The resulting system has some major advantages:
Minimized Redundancy
### 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. 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. 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
### 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. 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. This allows rapid prototyping while also guaranteeing the integrity of both data, business logic and access control.
High Flexibility
### 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. 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. 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 ### 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. 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 ### Projects
alexandra => CMS API for alexa * alexandra => CMS API for alexa
bianca => analytic database for metrics based on customer transactions and actions * bianca => analytic database for metrics based on customer transactions and actions
smartStore => analytic database and API for retail stores * smartStore => analytic database and API for retail stores
booking => hotel pricing database and API * booking => hotel pricing database and API
quarks => employee work time management system and API according to Austrian regulation * quarks => employee work time management system and API according to Austrian regulation
HOW ## HOW
The technology behind the IronAPI Engine consists of two parts: an enhanced PostgreSQL Database and the fully stateless, auto-generated Restful API. 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
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. 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.
...@@ -61,8 +64,9 @@ To provide secure access to the database, users and other applications send thei ...@@ -61,8 +64,9 @@ To provide secure access to the database, users and other applications send thei
The API is a web server which builds itself fully automatically from the definitions in the database. The API is a web server which builds itself fully automatically from the definitions in the database.
CONCLUSION ## CONCLUSION
The main benefits of using our development approach are 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. * **Harmonization**: we are able to consolidate diverse data sources into one single valid model.
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. * **Migration**: We are able to migrate legacy systems and generate restful API accordingly.
\ No newline at end of file * **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.
\ No newline at end of file
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