Skip to main content

Expose your databases as REST web services in minutes

Ever wondered how complicated it would be to expose data to your customers as ready to be consumed REST web services? To allow them to connect to your data sources without knowing anything about how these data sources are organizes or without caring about different SQL dialects? What if they could discover on the fly all they need to know about your data sources? All this becomes easy with restifydb. The fact that is has been entirely written in PHP means that the software and hardware requirements are minimal. Here are some features which make restifydb unique:

Databases as REST services

restifydb allows your clients to consume your data. The proven best way to do this is via RESTful web services. This will allow them to easily create awesome applications without struggling to gather, organize and store data.

No coding required

In order to use restifydb's features, no coding whatsoever is required. The framework does all the magic automatically. This means you can concentrate on what's really important: providing high-quality data to your consumers.

Automatic data discovery

There is no need for clients to know anything about how your data structures look like. The service will help them understand how data is organised and how to navigate and access it. Use the service browser to see how easy it is.

Out of the box CRUD operations

Create, read, update and delete operations are available out-of-the-box. They are represented by their counterpart HTTP verbs: GET, POST, PUT and DELETE. A client connecting to your service will be able to perform these operations on the data.

Support for all major databases

Currently, restifydb supports the following major database engines: MySQL, MS-SQL, Oracle, SQLite, PostgreSQL. Also, restifydb will work with other databases, if a suitable PHP Data Objects (PDO) driver exists.

XML or JSON, your choice

restifydb was conceived with versatility in mind. Thus, it is able to serialize the output as XML or JSON. Data can be easily consumed by Javascript, PHP, Java and any other programming language with support for one of the two standards.

Automatic query expansion

Whenever your data spans through multiple tables connected by foreign-key relationships, restifydb will know this and will merge these tables into one view for convenience. This query expansion mechanism can be.

Inward references detection

restifydb can also detect incoming pointers to data. Thus, when foreign-key connected data points to the data currently being read, restifydb will automatically generate links which will allow easy discovery of inwards pointing data.

Advanced logging features

The advanced logging features of restifydb will allow you to easily detect errors and provide guidance for your customers. This is especially important when dealing with malformed requests (clients misusing parameters, etc.).

Very easy to set up

The application is written entirely in PHP and it will run on basically any software / hardware configuration supporting an AMP software stack. Just follow the simple step-by-step installation guide and you are ready to go in minutes.

Easy to read documentation

The documentation is easy to read and provides all the information you need to install and configure restifydb. It also provides a comprehensive guide for clients connecting to the exposed web services.

Powerful demo applications

I have created three very powerful demo applications which consume the restifydb web services and present data in a human-readable format. Data is organized into data-sources, tables and rows. Data is paged, sortable and filterable.

Out of the box CRUD operations via REST web services, automatic data discovery, query expansion, inward references - all part of restifydb

Let's recap:
  • restifydb is able to automatically map databases (from all major database engine providers) to REST web services.
  • The web services can output XML or JSON.
  • It leverages data discovery by means of data linkage.
  • It has advanced capabilities such as automatic query expansion (joining based on foreign keys), automatic inward references, automatic data discovery, filtering, sorting and out of the box CRUD operations (create, read, update and delete data). Most of these features are used by the demo applications built using restifydb.
  • It also features an administrator panel which makes configuring it a breeze.

See restifydb in action

I have built three demo applications which demonstrate how easy it is to consume data exposed by restifydb. All these application are available in the download package. Please note that all these applications consume JSON data from restifydb.com/api.

restifydb features

Data Source Browser

This application connects to restifydb and presents the data in a human-readable way. It follows the usual data structuring supported in the framework: data sources, tables, individual rows. Data is paged, can be filtered and sorted. The debug info allows the user to understand how the REST services are structured.

Data source browser

restifydb features

Country Info Application

This demo application explains how to consume data which is exposed by the restifydb. It is built using the AngularJS framework and there is no backend component whatsoever. Data is retrieved as JSON and consumed on the client-side. The facts needed to write this application were provided by countrylicious.com.

Country information

restifydb features

API Browser

The API browser helps users understand how restifydb exposes data. It is basically a thin layer on top of the RESTful web services generated by the framework which presents the JSON data in a human-readable fashion. The same result can be obtained by browsing the API with the JSONView Firefox extension.

API Browser

Dual licensing mechanism

I have released restifydb under a dual licensing mechanism: open source and commercial licenses. I thus support most of the users' needs. Please see below which licensing mechanism best suits you

Open source license - Always free

I love open source software and support its community. That's why I released restifydb under GNU Affero General Public License version 3. This means that you must publish your source code to the open source community so it can freely modify your application/website. This includes applications and websites that consume data exposed using the restifydb framework with no exception. If you consider you are in a special situation, don't hesitate to contact me so we can look for an alternative.

As an example, if you decide to create an Android application that consumes data from a restifydb web service, you must publish the source code of this application under a compatible license.

Commercial license - Paid

If you would like to use restifydb to create websites or applications for which you want to keep the source code proprietary, you should consider buying a commercial license. For more details, check our commercial software license.

  • Unlimited websites and applications.
  • Includes one year of premium support.

Support packages

By default, I am only publishing major versions of restifydb - note: 1.x is a major version, 1.x.y is not. The development cycle can be sometimes, a bit long altough I am doing my best to keep it at an optimum level. During such a development cycle I am fixing a lot of bugs and doing a lot of improvements on the existing code. All these will be available for download in the next major release. However, if you would like to gain access to the latest patch releases, you should purchase a paid support subscription. You will also receive priority updates when it comes to fixing bugs and developing new features. There is also a dedicated forum section for premium support which is given higher priority.

Here's a comparison between the existing support plans:

Support Plans Basic Premium
Free 399 € / year
Access to all major releases (eg.: 1.x)
Free upgrades to next major release (eg.: 2.0)
Access to patch releases (eg.: 1.x.y)
This includes emergency code-fixes and sneak preview of new features being developed.
Early access to next releases (eg.: 1.x)
Sneak preview into the next major version - before the official release..
Priority support and code-fixes
Your support requests will be given high priority. I will try to answer each of them in 48 business hours.
Premium forum access
Priority when developing new features
Your request for new features will be given higher priority when setting up the road-map for the next release.
Please contact me

Download restifydb

Latest major release

The latest major version of restifydb is 1.1.0, released on the 2015-03-23. The release notes for this version are available on the dedicated forum topic. If you would like access to patch releases, please get a premium support package. Please also check the licensing policy of restifydb.

About

The framework

The whole idea behind this framework is to make people's lives easier. I have initially built it to serve the personal projects I was working on, but later on decided to publish it. I am developing and maintaining this it in my spare time, all by myself. There is no endorsing entity behind it.

The author

My name is Daniel Chirita, I am a Romanian software-engineer with over 14 years hands-on experience. I am passionate about technology, especially web applications. I like photography and travelling. If you want to learn more about me, you can browse my CV here. You can also follow me on Twitter .

Get in touch

If you would like to ask a question or just say hello, please use the below form. I will try to answer your inquiry as soon as possible.

For bug reports, feature requests and support, please use the forum.

I care about personal data protection. Thus, I will never publish, sell or in any way redistribute your personal data.