DreamFactory 2.0 Auto-Generates 100 REST APIs To Instantly Connect with SQL, NoSQL, Other Data Sources

DreamFactory is shipping the first major upgrade to a rich enterprise-grade API platform to make it faster and easier to build mobile, web and IoT apps.  DreamFactory 2.0 offers secure, reusable, scalable and customizable REST APIs that simplify access to popular backend data sources, including SQL, NoSQL, even file storage.

Tags: API, apps, backend, databases, integration, IoT, mobile, NoSQL, REST, services, scale, SQL, web apps,

Bill Appleton

"DreamFactory doesn’t start with the app, but with data sources, The result is a platform of general purpose reuseable APIs."

Integration & APIs
Enterprise-Grade Integration Across Cloud and On-Premise
December 10
Online Conference

DreamFactory has released the first major upgrade to a rich enterprise-grade API platform to make it faster and easier to build mobile, web and IoT apps.  DreamFactory 2.0 offers secure, reusable, customizable REST APIs that simplify access to popular backend data sources, including SQL, NoSQL, even file storage.


Out of the box, DreamFactory 2.0 has the ability to do deep introspection on popular databases and data sources -- and in turn, auto-generate some 100 REST APIs to let developers easily connect with and consume them. Further, the DreamFactory 2.0 backend platform adds higher enterprise-grade security, performance, scalability – and even capacity for custom API support, DreamFactory CEO Bill Appleton told IDN. 


“The DreamFactory approach doesn’t start with the app, but with the data sources you want to mobilize or provide to web or IoT apps. The result is a platform of general purpose reuseable APIs. That platform is flexible, can scale and be secure,” Appleton explained. 


DreamFactory 2.0 is the latest iteration of an API-First platform, and comes to market as developers continue to embrace APIs to simplify how they publish and consume data and services.  Further promoting speed and reuse, DreamFactory takes a very granular and detailed approach to APIs, which Appleton said helps promote easy API access and reuse by developers.


“When you go to the DreamForce admin panel and hook up an SQL database, we automatically generate almost 50 different services. These cover everything you could do with that SQL database – CRUD, metadata, stored procedures, SQL views, pagination, rollback and commit and intelligent filter stream. We can return arrays of objects, arrays of objects with embedded sub-objects and such. So, you can architect any type of data pattern you want out of that database.  We do also offer server side scripting and customized services,” Appleton told IDN.   


Aside from the 50 APIs DreamFactory generates for SQL, it also generates about 40 for NoSQL and another 25 for S3.  For even faster start-up, DreamFactory 2.0 bundles three MongoDB, MySQL and several file storage options. It also includes SQLite, so users can instantly create SQLite databases, as needed, Appleton added.


The Benefits of DreamFactory’s Approach To API-Centric Middleware

DreamFactory has already shown it can cut down on complexity – even conflict – between front-end developers (looking for an API to use) and backend developers (who often must create that API or define how it’s used), Appleton noted.

“One of the best benefits we’ve seen is that your front-end [app developer] team is decoupled from your backend team.  So, those developers don’t have to sit down and engage in a long, drawn-out negotiation over the interfaces,” he said.


Beyond pre-built APIs, DreamFactory 2.0 sports other features to help cut down front-end/backend negotiations, including scripting and customization, client SDKs, interactive API docs and Swagger-driven documentation. For the runtime, it also offers a “coherent end-to-end engine,” as well as a host of features to promote high-performance, scale and security (such as single sign-on, user management, record-level access control), he added.  


Notable DreamFactory 2.0 Upgrades

DreamFactory 2.0 also boasts some improvement for IT operations, particularly to provide better security, better scale and more performance – especially at high transaction volumes. Here’s a quick look at each:


For security, DreamFactory 2.0 tackles some of the trickier security elements that can arise with an MBaaS (mobile backend as a service) option, Appleton said.


“Using an MBaaS can be very difficult when it comes to providing secure access to multiple data sources, such as legacy SQL. Mainly this is because you have to trust master credentials or user management for your SQL database to another cloud – and that cloud may be run by a start-up [company]. So, right from the get-go, we knew that’s a non-starter for enterprise customers. They want control.” DreamFactory 2.0’s open source package can be installed on-premises or in the cloud, and gives IT complete control over management, he added.     


Beyond the flexibility to run DreamFactory on-premises, IT also wanted more role-based access controls, Appleton added. “Users have always been able to host any number of applications on the DreamFactory platform. But in [DreamFactory 1.0], users had the same role-based access rights regardless of which application they were running. With DreamFactory 2.0, users can have different access rights for each application. This feature allows an administrator to fine tune the access rights for each user and app.


DreamFactory 2.0 security features also include:  

  • Easy integration with Active Directory and LDAP to use existing user directories for secure app login.
  • Support for OAuth-based authentication. This lets developers build apps that allow users to login with credentials from Facebook, Google, GitHub, and Twitter, among others.
  • Authentication with JSON Web Tokens to allow for stateless session management, and increased platform scalability.  Use of JWT for API Keys increases security at the application level.

Scale and Performance

In DreamFactory, vertical scaling can be achieved with additional processors. Horizontal scaling works behind a load balancer. 

“DreamFactory 2.0 is highly-scalable in a predictable manner,” Appleton said, “For example, if you’ve got 1,000 mobile users on a project on one server and you go to 2,000, you might notice your performance starts getting slow. Now, you should be able to just put another server on behind a load balancer and be right back [at performance levels] where you started. And that’s hard to do actually.” This was made possible in part by DreamFactory’s adoption of JWT, he added. 


DreamFactory 2.0 also sports a stateless runtime model for Docker containers and PaaS and boosts scalability. To run, DreamFactory can use either the Apache or NGINX web server. It also supports “API customization,” with multiple server-side scripting languages, including V8 JavaScript, Node.js, and PHP scripting engine.


Rewrite in Laravel PHP Framework
Speaking of PHP, one of DreamFactory’s biggest ‘under the covers’ improvement is its complete rewrite using the Laravel http://laravel.com/ framework.” This brings PHP more powerful reuse properties, allowing devs to avoid the need to write special scripts because they can use a wide range of third-party libraries, Appleton noted.


He detailed the reasons for the Laravel rewrite in a technical blog post:

First, a major reason for the rewrite of DreamFactory was that we wanted to move to the Laravel PHP framework. This is the most popular framework for the most popular scripting language. The routing engine in Laravel is world class. The eventing system and other system libraries are extremely well done. There are also mature drivers available for every type of SQL or NoSQL database in the PHP language.

Laravel includes a great package management capability. This allowed us to move to a much more modular architecture. You can install just the parts of DreamFactory that you need. For example, even user management is a module. Each of the database services can be installed separately. And now, users can build their own modules and install them as first-class DreamFactory services.


DreamFactory Uses REST APIs to Integrate New-Gen Mobile, Web, IoT Apps  

At its inception, DreamFactory was born of a need to simplify mobile app development, Appleton explained. But the platform continues to gain broader appeal as RESTful services (and other APIs and services-based architectures) are being used to power integration for a wide array of apps.


“A lot of interesting things are happening [in app development] these days, “Appleton said. “If you look across desktop apps, browser apps, mobile apps and IoT, they are all are getting smarter and atomistic and simpler at every step.  But, at the same time, that means integration needs go up, as does the ability to scale to many, many endpoints.


“So, these trends really open up new opportunities so long as you have an easier way to connect any data source to any device. What Dreamfactory offers are these integration capabilities in a pre-packaged way, that’s also highly flexible and also consistent,” Appleton noted.


Increasingly, analysts are embracing an API-centric approach to middleware and integration. Al Hilwa of IDC, noted:  To enable modern mobile, cloud, and IoT applications, organizations are seeking to have a cleaner separation between backend data sources and front-end development. Organizations are increasingly looking for an enterprise-grade REST API backend that connects to any data source and gives front-end developers the RESTful services they need at the start of projects.”


A Gartner report from this past summer also noted that middleware should get more attention from those focused on delivering successful mobile apps. In part, the report, IT Organizations Should Focus on Middleware to Enable Mobile App Development by Van Baker and Richard Marshall. stated, “Back-end architecture and front-end tools are evolving at very different rates, so they need to be decoupled and integrated in middleware.”


A related Gartner report from May 2015 even recommended companies “adopt a bimodal IT approach to create an agile API layer. This will optimize mobile integration and simplify the process of connecting mobile apps to many different types of data sources. "

DreamFactory 2.0 open source platform is available for download here


A separate commercial product offering, dubbed DreamFactory Enterprise, is slated to ship in December. This product will serve as a management platform for governing multiple instances of the free DreamFactory platform. Among number additions, DreamFactory Enterprise comes with the popular ELK stack (Elasticsearch, Logstash, Kibana) for API logging and reporting. All API calls are automatically logged and searchable with Elasticsearch. Kibana provides powerful reporting features and pre-built dashboards to view API traffic by cluster, instance, application, end user, API endpoint and other dimensions.