- Cenit IO (https://cenit.io)
- Join our Slack (cenitio.slack.com)
- Shared Collections
- Cenit IO - 101 Intro
Cenit IO is an open platform for data and business integration. It has been designed to integrate solutions by orchestrating data flows that may involve several APIs. It makes possible the automation of all operational processes, connecting legacy apps and internet services.
It allows the creation of custom data pipelines for process, storage and data movement between APIs –either public or on premises-. The flows could be trigger by data events or be scheduled by our platform Cenit IO.
Run your own Cenit
- 100% Open source platform and community friendly.
- Router Logic for redirecting documents to different endpoints.
- Powerful design with simple abstractions: Data Types, Webhooks, Flows, Events, Connections, Transforms and Validators.
- Exchange support for multiple formats XML, JSON, CSV, EDI(X12, EDIFACT, ..), etc.
- Dynamic load validators: XML Schema, JSON Schema and EDI grammars.
- Powerful transformation tools to translate and convert several formats into others.
- Social networking features to share integration settings, we call them Shared Collections.
- Export and import shared collections as a repo on Github and a gem in Rubygems.
- Schemas & Validators
- Data Types
- Connection Roles
- Data Events
- OAuth Clients
- OAuth 2.0 Scopes
Load Schemas & Data Types on the fly
- XSD, JSON Schemas and EDI grammars
- Allows adding new Document types to the Database
- CRUD any data with ease
- Search and filter
- Export data to CSV/JSON/XML
- User action history
Manage multiple Authentication Protocols
- Basic Auth
- Digest Auth
- OAuth 1.0a
- OAuth 2.0
There are now over 200 pre-built integration collections shared out the box to connect with online internet services, fulfilment solutions, accounting, communications, ERP, multi-channels, etc.
Frameworks and Tools
- Ruby on Rails
- Mongoid and Mongoff as Object Document Mapper (ODM)
- rails_admin, for build admin panel.
- RabbitMQ for internal pipeline messages.
Create Cenit IO local server.
Clone the GitHub cenit-io/cenit repo and move to the cenit folder.
$ git clone https://github.com/cenit-io/cenit.git $ cd cenit
Checkout the development branch.
$ git checkout -b develop origin/develop
If you have previously cloned it ensure that you are in the develop branch…
$ git branch > *develop
…and that it is updated.
$ git pull origin develop > Already up-to-date.
bundle install command to set up the required gems on your computer:
$ bundle install
Since Cenit IO uses Mongodb you don’t need run any migrations, simply start the hub on port 3000, or any other of your own choosing, just be mindful of that.
$ rails s -p 3000
If you have some trouble with secret_key_base running
rails s, you can generate a random secret key value:
$ rake secret
Then copy this value and paste it in config/initializers/secret_token.rb:
Cenit::Application.config.secret_key_base = 'bla' # replace this
Browse http://localhost:3000. If you have any troublea please check that mongodb server is running. You should also have a working installation of RabbitMQ, see below the guide to install RabbitMQ.
If RabbitMQ is correctly installed when you run the rails server you should see:
[*] Waiting for messages. To exit press CTRL+C
Before generating your application, you will need:
- The Ruby language
- The Rails gem
- A working installation of MongoDB
- A working installation of RabbitMQ
If you don’t have MongoDB installed on your computer, you’ll need to install it and set it up to be always running on your computer (run at launch).
On Mac OS X, the easiest way to install MongoDB is to install Homebrew and then run:
brew install mongodb
Homebrew will provide post-installation instructions to get MongoDB running. The last line of the installation output shows you the MongoDB install location (for example, /usr/local/Cellar/mongodb/1.8.0-x86_64). You’ll find the MongoDB configuration file there. After an installation using Homebrew, the default data directory will be /usr/local/var/mongodb.
On the Debian GNU/Linux operating system, as of March 2013, the latest stable version is MongoDB 2.0.0. With MongoDB
2.0.0, the Mongoid gem must be version 3.0.x. See the
Mongoid installation instructions. Change your
Gemfile to use an earlier Mongoid version:
gem 'mongoid', github: 'mongoid/mongoid' gem 'bson_ext', '~> 1.8.6'
brew install rabbitmq
then run it:
For RPM-based distributions like RedHat or CentOS, the RabbitMQ team provides an RPM package.
Note: The RabbitMQ packages that ship with Ubuntu versions earlier than 11.10 are outdated and will not work with Bunny 0.9.0 and later versions (you will need at least RabbitMQ v2.0 to use with this guide).
Cenit IO is an open source project and we encourage contributions.
In the spirit of free software, everyone is encouraged to help improve this project.
Here are some ways you can contribute:
- by using prerelease master branch
- by reporting bugs
- by writing or editing documentation
- by writing needed code or finishing code
- by refactoring code
- by reviewing pull requests
Thank you for your contributions: