GithubHelp home page GithubHelp logo

codecentric / reedelk-runtime Goto Github PK

View Code? Open in Web Editor NEW
28.0 7.0 7.0 11.45 MB

Reedelk Runtime Platform Community Edition

Home Page: https://www.reedelk.com

License: Apache License 2.0

Java 98.72% CSS 0.17% HTML 0.27% JavaScript 0.83% Groovy 0.01%
api api-client api-rest api-server integration intellij integration-flow integrated-development-environment integrations intellij-plugin

reedelk-runtime's Introduction

License Twitter

Reedelk Runtime Platform (Community Edition)

Reedelk is a lightweight data integration platform which allows to design, build and execute integration flows connecting data and applications using pre-built components. Reedelk Integration Flow Designer helps companies building API-led integrations using an easy to use and integrated development plugin for IntelliJ IDE.

Getting Started | Documentation | Components | Releases | Slack Developers Community

Summary

Features

  • Low Footprint Runtime: Reedelk Runtime has been specifically designed to be lightweight in terms of memory and deployment size.

  • Fast Bootstrap Time: Reedelk Runtime bootstrap time is fast, around 3/4 seconds even with hundreds of components installed. This characteristic makes it the perfect choice to be used within Docker containers and cloud deployments where the ability of scaling fast is foundamental.

  • Runtime Administration Console: The modules deployed on Reedelk Data Integration Platform can be managed from an Administration console. It provides for each installed module info about their deployment state, integration flows packaged in the module and errors information. The Administration console can be used to manage the lifecycle of modules as well including installation, update and removal of modules.

  • OpenAPI Support: Reedelk supports Open API initiative. Open API definitions are automatically generated and published for all REST based integration flows. The Open API definition can be customized with user defined metadata including JSON/XML schemas for HTTP responses, path parameters, query parameters and headers. OpenAPI definitions can also be imported from the Reedelk IntelliJ plugin to generate blueprints of the REST flows defined in the API specification.

  • Docker Support: You can use pre-built Reedelk Docker images to easily deploy and run your integration modules in seconds. Docker images are available for each version of Reedelk Data Integration Platform. Check out this 5 minutes video tutorial explaining how to develop and deploy a simple Microservice using a Reedelk Docker image.

  • Reedelk IntelliJ Flow Designer: The Reedelk IntelliJ flow designer plugin allows developers to quickly design, create and deploy integration flows from IntelliJ IDE with an easy to use visual flow designer. The IntelliJ plugin has been designed to significantly decrease the time needed to develop, test and validate changes in the flows by providing hot-swap capabilities and component aware suggestions. The plugin provides also a set of features to easily develop custom Reedelk components to be used inside integration flows.

  • Custom Components Development: Extendable architecture for adding functionality with custom developed data integration components.

  • Data Streaming Support: Reedelk is based on Project Reactor and it can handle streaming of data using data streams.

Development

Installation

Clone the Reedelk Runtime, module-rest and module-core repositories.

$ git clone https://github.com/reedelk/reedelk-openapi.git
$ git clone https://github.com/reedelk/reedelk-runtime.git
$ git clone https://github.com/reedelk/module-core.git
$ git clone https://github.com/reedelk/module-rest.git

Compile Reedelk Runtime project and the Module REST and Module Core.

$ cd reedelk-openapi
$ mvn install
$ cd ..

$ cd reedelk-runtime
$ mvn install
$ cd ..

$ cd ../module-core
$ mvn install
$ cd ..

$ cd ../module-rest
$ mvn install
$ cd ..

If you are looking to work on a specific module, after following the instruction above checkout your module and install it:

$ git clone https://github.com/reedelk/module-XYZ.git
$ cd module-XYZ
$ mvn install
$ cd ..

Importing the project in IntelliJ

  1. Select File -> Open -> Select {sources_directory}/reedelk-runtime/pom.xml -> When prompted select "Open as a project"
  2. Select File -> Project Structure -> Select 'Modules' under Project Settings -> Click on '+' -> Import Module -> Select {sources_directory}/module-rest/pom.xml
  3. Select File -> Project Structure -> Select 'Modules' under Project Settings -> Click on '+' -> Import Module -> Select {sources_directory}/module-core/pom.xml

Running the runtime on Java 11

Add to IntelliJ a new 'Application' Template Run configuration with the following VM options (only if you are running on JDK 11):

  • --add-opens java.base/java.net=ALL-UNNAMED
  • -Dio.netty.allocator.type=unpooled

Main class to be used for 'Application' Run Configuration config:

  • com.reedelk.runtime.Launcher

Use classpath of module:

  • runtime-launcher

See the picture below for the 'Application' configuration settings in IntelliJ.

Build Tools

  • JDK 8 / JDK 11
  • Apache Maven 3.6.0
  • Python 3.7.2

License

Copyright (c) 2019-2020 Apiable Oy - Reedelk is an Apiable product.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

reedelk-runtime's People

Contributors

danielkocot avatar lorenzo85 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

reedelk-runtime's Issues

Integrate CI-Server

Hey there, great to have to project at the codecentric orga ๐Ÿ‘ But it seems that there isn't any CI configured, that regularly builds the code and runs the tests... So what about using GitHub Actions?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.