📜 ⬆️ ⬇️

Orienteer: overview of the platform and the latest release updates

After our first article on how to make BaaS from Orienteer and docker , we promised to tell you what Orienteer is, to whom and how it can be useful. And then there is a good reason: we have released version 1.2 of our platform .

Version 1.2 fully supports installation using docker images, there is integration with the Camunda BPM process engine, the Apache Camel integration framework is built in, using remote error logging made it easier to obtain diagnostic information about the state of the system and much more.


')
So, about all this briefly and in order under the cut. But brevity is not always useful, so, dear reader, there is one request. If we were too brief, and you want to know about something in more detail - write in the comments!

Oh yes, in the article you will find a small gift to Habrahabr readers.

A brief introduction to the Orienteer


Orienteer is an open source platform for quickly creating business applications.

Need something from the list below? Or are you thinking about something specific to your business? Are you a startup founder and need quick prototyping? Then Orienteer may be useful to you.



Decryption
AMS - Association Management System
ATS - Applicant Tracking System
BPM - Business Process Management
BaaS - Backend as a Service
CMS - Content Management System
CRM - Customer Relationship Management
DW - Data Warehouse
EAI - Enterprise Application Integration
ERP - Enterprise Resource Planning
IoT - Internet of Things
LMS - Learning Management System
MAP - Marketing Automation Platform
PIM - Product information Management
RAD - Rapid Application Development
TMS - Training Management System

The main feature of Orienteer is the balance between the configurability of the required functionality through the UI and through the code. In most cases, the user interface is sufficient to do what you want. But if something specific is needed, it can always be done through code: server or client (Angular JS, React, JQuery, etc.)

Architecture





Read more in our documentation .

Configuring the subject area


At the core of any information system is a certain subject area, and on top is a functional that allows you to work effectively with the objects of this subject area: create, manage, analyze, predict, etc.

In most information systems, the subject area is embedded in the code, and its modification requires coding and database skills. But for systems claiming BaaS or RAD this is unacceptable. Orienteer has a built-in domain configurator, which immediately allows you to change all aspects of the underlying OrientDB database.

The choice of OrientDB as a database helped us a lot. The path to the choice of this multi-paradigm database was thorny and long: through MySQL, PostgreSQL, Oracle, and even attempts to write your own database. About OrientDB I want to somehow tell in a separate article.
The functionality of the configurator of the domain schema is fairly obvious:

  1. Creating new classes with support for multiple inheritance.
  2. Creating attributes of classes of the desired type and setting the visualization method for them.
  3. Defining Class Relationships
  4. Setting validation rules.
  5. Setting up triggers and related business logic.
  6. Access control.



Business Process Management: BPM


Orienteer would not be a platform for business applications if it were only able to conveniently store, search and analyze data. We wanted him to help organize business processes for the relevant subject areas. That is why the main task in the development of version 1.2 was integration with Camunda - an advanced open source business process management solution (in the figure below, the interface for working with Camunda via Orienteer).



Camunda is built into Orienteer in such a way that the entire necessary subject area, the entire user interface is all done on Orienteer / OrientDB. All you need to do is plug in the required Orienteer-BPM module.

Integration Management


For a long time, systems that are “themselves in themselves” and do not have integration with external systems have become extinct. The world is becoming more complex, connections in it are becoming more cunning. Therefore, the possibility of integration is an integral part of any business application platform.



As a basis for managing integrations, we took the well-proven Apache Camel framework. Orienteer allows you to create configurations for Camel, launch and monitor integration sessions. In the future, we plan to focus on the convenience of configuration, so that analysts do not have to learn the bird language XML and its use to configure Apache Camel.

Remote logging


Without application monitoring, it is very difficult to detect when something goes wrong somewhere. The orienteer-logger module allows you to centrally monitor emerging problems, find correlations and manage incidents. Analogue Google Developer Console or Localytics .



By the way, our client code for reporting incidents is written in pure Java and can be used in any java-application, for example, under Android.

Data analysis, visualization and pivoting


Nowadays, no data analysis is possible anywhere, and we understand this perfectly. The orienteer-pivot module allows you to quickly analyze and display data and, if necessary, save the created visualization as a graph or pivot table.



Also since version 1.1 we have an HTML / JS widget, which, like the JSFiddle , allows us to specify HTML, external libraries and JavaScript - for the visualization you need. Access to the data itself is provided through the Orienteer / OrientDB REST interface.

Visualization example


Docker support


Docker is an amazing technology for delivering and deploying virtually any application. You can always find a docker image for Orienteer deployment here .

To run Orienteer locally, just run the command:

docker run -p 8080:8080 orienteer/orienteer 

Do you want, without installing a docker, to get your copy of the Orienteer in the cloud in seconds, but only for 4 hours? :)

  1. Open http://play-with-docker.com/ in a new window.
  2. Confirm that you are not a robot.
  3. In the left pane, click Add new instance.
  4. When the new instance rises, execute the command:

     docker run -p 80:8080 orienteer/orienteer 

  5. To the right of the IP address you will see a link to the launched Orienteer.



Want your Orienteer in the cloud forever? Then this is a gift promised by us: write in a personal, for what you would like to use Orienteer. And if you are among the first 10, you will get it for free in our cloud.

PS Not only the Landmark itself supports Docker containerization, but also any derived application based on our maven archetype.

Generating a maven project based on Orienteer
 mvn archetype:generate -DarchetypeGroupId=org.orienteer -DarchetypeArtifactId=orienteer-archetype-war -DarchetypeVersion=1.3-SNAPSHOT -DgroupId=com.mycompany -DartifactId=myproject -DarchetypeRepository=https://oss.sonatype.org/content/repositories/snapshots/ -DinteractiveMode=false 

Data Access via Telegrams


The telegram grew out of just a messenger. For many, this is already a source of news, information and good mood. It has a lot of useful bots. So we created a module for Orienteer, which, acting as a bot factory, allows you to organize user access to your data through Telegrams. Try chatting with @otelebot : through it you get access to the IMDB movies database, which, by the way, were downloaded using our Orienteer module for Apache Camel.

Screenshot of the conversation with the bot


Plans for the next versions


The most interesting thing that will appear in version 1.3 is the ability to connect new modules (plug-ins for Orienteer) without recompiling and without restarting the application server at all. This will allow adding modules as they are needed “on the fly”: from small to very powerful (> 50Mb).

In version 1.3 we also integrate with the Eclipse BIRT (Business Intelligence Reporting Tool). This will allow you to create beautiful reports in the BIRT editor, and then embed them as widgets on the desired pages of business applications.

And with the last idea for 1.3, we need your help. Web designers must have noticed that we use the boring SP Admin design for everyone. We want to find our unique face. If you are ready to work on an open source project, then welcome to PM.

PS And if we talk about a more distant future, the plans are even more ambitious:

  1. Orienteer SaaS is a platform for deploying sales of your docker-packaged application on your infrastructure or on the infrastructure of any cloud provider.
  2. Open Source Orienteer CRM - CRM, which uses the wide possibilities of the configuration of the subject area, to solve the important question for many: “Should a business be pulled over CRM or should it be CRM on business?”
  3. R language integration: for easier data analysis and visualization creation.
  4. You can create your own modules for Orienteer now, but we want to make the process even more simple and accessible to a wide range, including analysts. We are also considering the possibility of migrating Odoo (and other BAP) modules to Orienteer.

Source: https://habr.com/ru/post/324758/


All Articles