Open Source Subnet An independent Open Source community View more

DreamFactory: Building a better backend for your apps

A free, open source solution for connecting mobile, IoT, or Web apps to backend server data and services

wikipedia 1024px steel iron construction worker   8378
Credit: Wikipedia

Let’s say you’re building a browser-based HTML5 Web application that’s going to display data from a database on your server. The usual development process involves lots of heavy lifting at both the client front end and the server backend.

Now, the front end is what you really care about - delivering the services and functionality to meet the user needs - but the backend work required to make the front end possible can be a huge time sink. You'll not only need database access and management you'll also need user registration, authentication, logging, and management services along with server-side computations, and to connect everything together, you need application programming interfaces (APIs).

While building all of that infrastructure in the long term it’s the APIs that can really cause you grief. Once your logic becomes rich and therefore complex, documenting how your client side apps interact with the server and keeping that information up to date often become a major source of errors, problems, and development and deployment delays.

The problem of how to create not only functional but also maintainable backend services is what the free, open source DreamFactory Services Platform (DSP), published by DreamFactory Software Inc., solves. DSP acts as middleware, automatically creating and documenting REST APIs that connect any client including mobile, Web, and IoT apps to SQL, NoSQL, and server-based files as well as scripting and services external to the server via authentication and security controls all wrapped up in enterprise-grade security.

DreamFactory architecture

DreamFactory architecture

APIs generated by DSP can also be customized with pre- and post-process logic using the built-in V8 JavaScript engine and DSP “integrates with Active Directory, LDAP, and OAuth, and takes care of user management, authentication, single sign-on, role-based permissions, and record-level access controls.”

DreamFactory API flow

DreamFactory API flow

The generated APIs and associated documentation is based on Swagger, a free, open source API framework used in production by the likes of Apigee, Getty Images, Intuit, LivingSocial, McKesson, Microsoft, Morningstar, and PayPal. Where this feature becomes even more powerful is in the generation of client SDKs:

As each new backend service is hooked up, DreamFactory automatically produces written documentation on the service interface, creates an interactive API browser for exploring the service manually, and generates a dynamic software development kit (SDK) for calling the service.

DreamFactory generated API documentation

DreamFactory generated API documentation

DSP is written in PHP and can be installed on premises or in the cloud with one-click installers available for Amazon, Azure, Google, VMware, Digital Ocean, and Bitnami, or you can run DSP locally (which makes it really easy to get development started) under Linux, Windows, or OS X.

If you want to start your evaluation as quickly as possible, I’d recommend the free Bitnami DreamFactory installer, Docker image, or virtual machine. I used the installer and had DSP running on OS X in under five minutes. As Bitnami points out, with their packaged solutions you can:

  • Experiment with an unlimited number of demos or plugins
  • Deploy it quickly, easily and consistently
  • Develop proof-of-concepts for your clients
  • Save money and improve reliability
  • Host DreamFactory in the cloud

DreamFactory Software offers paid product support packages and commercial licenses. If you want to jump in with serious training and support, DreamFactory Software offers their Jumpstart program starting at $2,000 to get you from newbie to expert really quickly.

This is an amazing piece of engineering and if you’re doing any kind of even vaguely serious app development this DreamFactory Services Platform should absolutely be on your shortlist of service solutions.

To comment on this article and other Network World content, visit our Facebook page or our Twitter stream.
Must read: Hidden Cause of Slow Internet and how to fix it
Notice to our Readers
We're now using social media to take your comments and feedback. Learn more about this here.