New website taking shape

Butterfly Object Space

Low-code middleware solution to apify your datasets and monitor their life-cycle

Apify the datasets

Butterfly Object Space is placed on top of your datasets to offer a uniform Object-Oriented API and establish a data lake

Monitor the datasets life-cycle

Butterfly Object Space automatically updates event streams (push notifications) and maintains audit logs for tracking all datasets changes

Use Cases

For Enterprises and data-centric Organizations

Use the Butterfly Object Space to realize your data lake solution

For Software Vendors

Incorporate the Butterfly Object Space into your microservices, enterprise, or custom software solution to cut-down costs and reduce Time-To-Market

For any organizations

Use the Butterfly Object Space as a low-code dataset apification solution

Key concepts

Butterfly objects

Well-typed, runtime manifestations of data items, addressable through their store name and identifier

Butterfly type libraries

Definitions of butterfly object models organized in namespaces

Butterfly record & asset stores

The low-level mechanisms that map underlying records and payloads to Butterfly objects (and vice versa)

Supported record & asset stores

Relational databases

All major relational databases are supported, including but not limited to MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, and Oracle database

NoSQL datastores

Currently Elasticsearch and MongoDB are supported

Other local or cloud-based datastores

Local filesystems, JSON and Excel files as record stores, S3-compatible cloud object storage, and more

Butterfly Object Space API

An overview of the operations supported by the middleware

List available stores

Retrieve available object types

CRUD operations

Asset operations

Bulk operations

Search operations

Data Export

Additional operations

Monitor the datasets life-cycle

Event streams & Audit logs

An overview of the datasets monitoring capabilities of the Butterfly Object Space

Event streams

Audit logs

Smooth, low-code development experience

  • Write your Butterfly object typelibs

    Define your Butterfly object types using a simple XML or JSON notation. You can build upon existing typelibs to define your new ones (through inheritance). Butterfly provides the niovity.butterfly.core typelib which defines a set of core Object types (like Node, File, Dictionary, etc). You can reuse your typelibs across your projects.

  • Connect your datastores using Butterfly extension packs

    If your datastore is supported, you connect it to the Butterfly Object Space by configuring the respective Butterfly extension pack

  • Use the Butterfly SDK

    If your datastore is not supported, you need to implement the respective RecordStore or AssetStore mechanism of the Object Space (in Java) using the Butterfly SDK

  • Rapid Java application development

    Butterfly automatically generates Java code to speed up Java application development. It generates (a) Java bindings for your typelibs, (b) Java clients for the middleware API

  • Rapid Typescript application development

    As above, but for Typescript

Contact Us:

info@niovity.com