📜 ⬆️ ⬇️

Databoom: create applications - we will support

Developing your own Web and mobile applications has become not only the modern way of making start-ups and lone programmers, but also the objective need of many companies that have not thought about creating their own software before. Web and mobile applications are created by various companies: media, advertising agencies, shops, developers of classic corporate software in addition to the main software, etc. This situation has arisen due to the wide spread of the Internet - now, to win your client, you need to be with him at any time you want time for it.

The development of a high-quality application requires serious efforts, a significant proportion of which falls on the design and constant modification of the database, the organization of the interaction of the backend with the database, the development of intermediate layers, etc. Working with the backend and the database does not forgive mistakes - there is nothing worse than problems arising on the side of the database when the application has already entered the market.

image
')
Before you create an application, a lot of preparation is done. In particular, this applies to the database: a scheme is built and the structure of the database. But this is still half the battle; in the process of developing and developing an application, the database scheme almost always undergoes significant changes. For example, the developers put all the goods in one table, but over time there was a requirement to post different products on different tables. In addition to modifying the scheme, constant modification of the intermediate layers is also required. For all this, a number of knowledge and skills are needed, which are not formed in a month or even a year, and even with such skills, the development time is shifting all the time.

Backend in the cloud


It would be at least surprising if during the ubiquitous boom of cloud technologies, databases were left aside. Intense competition in the segment of creating web applications and custom mobile applications gave a strong impetus to the market. Many companies have seen how important the programmers are to the tools that allow them to multiply the speed of development. One of the solutions is the creation of BaaS (backend as a service, there is also a variation of MBaaS - mobile) - a package of services, which is a server infrastructure in the cloud and a layer for working with it. BaaS is aimed at reducing the complexity of developing applications, normalizing server code, increasing the speed of creating the final product up to 70%. It turns the entire backend into almost zero lines of code - the service supplied by the provider provides for a database, server access, and, for example, integration with third-party services or social networks. BaaS provides the developer with access to the database in the cloud, plus the software layer and the API for working with the database, which is much more scalable and universal in comparison with the database on local resources.

The BaaS market is rated by experts as dynamic and fast-growing. So, the experts of the research company Technavio in their report predict an average annual growth rate of the market BaaS and MBaaS (mobile BaaS) 101.88%, which in absolute terms amounts to growth from $ 1.76 billion in 2015 to $ 29.16 billion in 2019. The graph is impressive:

image

There are many players in the BaaS market that provide similar services: Appery.io, Parse, Firebase, etc. They all offer various databases as storage: relational, document-oriented, hierarchical, etc. In this post we will talk about the solution, based on the interaction with the graph database NitrosBase.

Graph base and flexible layout


Graphic database compared with the classical relational or document-oriented provides much more flexibility in developing applications. Data schema can change on the fly; each object can contain an arbitrary set of fields; many-to-many connections are maintained; requests to such a database (especially complex join requests) are much easier to build than to other databases; etc. Graph databases are suitable for solving any task, but especially they help those whose programs involve building deep connections, when data can be linked through several relationships (corporate structures, social networks, applications requiring user preferences, medical systems, production management systems). project management, document management and knowledge bases, news systems, etc.).

In short, the Databoom allows the front end of mobile and web applications to directly access the database, create objects and structures, without worrying about how this database is organized.

Databoom: one step from the database to the finished application


Databoom offers a solution that saves the developer from many of the problems and difficulties associated with organizing the backend of the application. Databoom is currently working with the NitrosBase graph database. However, in the future plans of the development of interfaces and other databases. The only point that should be taken into account is a significant drop in the response speed of the database when working with the application in the case of using classic relational databases. Also, when using document-oriented databases, problems may arise with the model, for example, with the construction of many-to-many relationships, execution of join queries, complex sparql queries. In fact, Databoom is a software layer between the application and the database, which allows you to perform a number of important functions for the developer and eliminates the need to write the server infrastructure for the application.


In our service we use technologies that make life easier for users. We will tell about some of them.

Using the OData protocol. We have written about him more than once ( here and here ) and are ready to write more.

OData is an open REST protocol for receiving and updating data. The protocol allows you to perform operations with resources (identified by a URI) using HTTP commands (GET, PUT, POST, PATCH, DELETE) as requests and exchange data in JSON format. OData is one of the best standards for creating a RESTful API.
The OData protocol initially incorporated the ability to work with strongly related data. But most importantly, the OData protocol is finding increasing support from the developers of libraries, frameworks, and controls.
Thanks to this, Databoom works perfectly with arbitrarily complex data, and also automatically (at the binding level) works with leading JavaScript libraries and controls. That is why databoom can be used for rapid development and prototyping of applications.

Support for various protocols, frameworks, libraries. Thanks to the OData protocol, many different libraries and controls are automatically tuned to the databoom storage. In addition, the databoom supports (or plans to support) other libraries and protocols, for example, controls under Angular.js, jQgrid, DataTables, Webix, etc. This allows you to work with Databoom to the widest range of developers who are used to using a certain set of tools.

Using graph databases. They provide tremendous opportunities for working with data: they store and retrieve related data of any complexity, use the attitude of many to many, save the data "as is", even if it is difficult to organize data. The advantage of graph databases is informational flexibility - with such an organization of the database, absolutely any links between data are permissible, there are no limits on the number of links between records.

SPARQL query language support. OData is a very convenient query language for most tasks. But for solving certain tasks and building complex queries, it is not powerful enough. Therefore, Databoom also supports the SPARQL query language (SPARQL Protocol and RDF Query Language), the most suitable for creating queries to graph databases. The main part of the SPARQL query is a template that describes the subgraph that you want to find in the main graph. It is a more powerful and flexible query language than SQL, its use allows you to build the most complex database queries. You can combine OData and SPARQL queries to the same data.

Using JS controls, which allow using common JavaScript technology in application development, minimizing the use of HTML and CSS, and also easily work with the database. A special case of using JS controls is grid controls, which allow grouping records in several columns and thus creating interesting nested structures for the convenience of users.

Rapid prototyping and use of JS controls. Today, there are many services on the market that allow you to create frontend applications in a few lines of code. These are services that offer numerous prototypes, templates and forms for developing applications, for example, Webix , Kendo UI , DevExtreme Web , Syncfusion HTML5 controls , Infragistics HTML5 controls , OpenUI5 , Wijmo , jQgrid , and so on. Using these libraries with databoom gives a cumulative effect and allows you to quickly create full-fledged applications.

Additional services and development. Databoom provides many additional features and services demanded by users:


All of the above makes Databoom powerful tools in the hands of the developer. He gets a service for working with graph databases, which give a serious advantage in designing complex applications. Today Databoom is available to absolutely everyone, regardless of the needs and load of the application.

Databoom can be hosted on its own Databoom servers (for free users) and on any server the customer chooses, including his own server (for paid users). Databoom is managed through the special control panel, which allows you to create groups, users with rights, login and password, fill in with JSON files and clear the database, upload files to the database, write and send requests.

Using the Databoom service, the developer can distract from the tedious work on “finishing” the backend and focus on the front end and the graphical user interface, outpacing potential competitors when entering the market. No wonder the motto Databoom: "The shortest path from idea to market." We know how to go through it.

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


All Articles