DreamFactory creates easy access to databases through ReST. By simply adding a datasource you are immediately presented with a complete ReST API enabling you shape your data exchange.
The fine-grained access right structure you can create within DSP is clear and easy to implement.
DSP is a perfect solution for app builders that require a simple backend fast to be able to send data to and from an app.
It is also an excellent way to create database to database connections.
I got into DSP because of a use case, where an already existing application, needed to be unlocked with an API to another system. With this system I have models that I want to access for the other system.
After research we chose to create a generic as possible ReST adapter for the following reasons:
DSP accesses the database through ReST. Erasing data on database level means in our situation that:
- the validation of PHP models cannot be executed directly
- the business logic can only be addressed indirectly based on a trigger to the client on the API
- Security lies on two spots (model role, url and controller action) and again duplicated in DSP for an API user
- triggers for new data should then be added per model and with polling (not an effective method) share their state
A possible solution would be to build an abstraction layer that allows frameworks to deliver a reflection of their - to be shared database (read models) - and that the exchange of data could be arranged on a model / repository level solving all above mentioned problems.
Support for frameworks that function on a basis of database abstraction should be do-able that way.
is this something that could have a place on a future roadmap.
Support for doctrine driven frameworks like Symfony, Zend Framework, CodeIgniter, TYPO3 Flow, Lithium