From DreamFactory
Jump to: navigation, search
    1. Introduction

DreamFactory is an open source REST API backend that provides RESTful services for building mobile, web, and IoT applications.

DreamFactory automatically generates a comprehensive, customizable, and secure REST API for any backend data resource, including SQL, NoSQL, file storage, email, and push notifications.

Other important features include server-side scripting with V8 Javascript, Node.js, and PHP, single sign-on, user management, role-based access control on tables and records, interactive API docs, and sample applications to quickly learn by example.

DreamFactory is “runtime” software. Your application makes API calls to DreamFactory and DreamFactory returns JSON (or XML) at runtime back to your application over SSL.

The software is a L/W/MAMP that runs on Ubuntu, Red Hat, CentOS, and Debian Linux, Windows, and Mac OS X. Like any LAMP stack system, DreamFactory scales horizontally and vertically based on the number and size of servers. Learn more about installation options [here](Usage-Options).


    1. Features


      1. Automatically Generated REST APIs

DreamFactory automatically generates a comprehensive REST API for SQL databases, NoSQL databases, file storage, email, and push notifications. You can also use DreamFactory to securely call any remote web service, including your own custom-built REST APIs and SOAP services. DreamFactory securely stores the credentials of backend data sources and exposes these data sources as a standard REST interface. The REST API includes [live API documentation](REST-API) and [sample applications](Example_Apps) for iOS, Android, .NET, Titanium, Javascript, and AngularJS.

      1. Server-Side Scripting & Customization

Any non-trivial application requires server-side logic. To handle server-side logic, DreamFactory provides [server-side scripting](Server-Side-Scripting) with the V8 Javascript Engine, Node.js, and PHP. DreamFactory makes it easy to write server-side scripts with Javascript or PHP and attach your scripts to any API request and response event. DreamFactory also provides the flexibility to use server-side scripts to implement your own custom API endpoints.

      1. Security Controls

DreamFactory’s user management system provides runtime security on all API calls and server-side scripts. The user management system includes an administrative application to manage end users, user roles, OAuth, LDAP, and Active Directory integration.

Under the hood, DreamFactory handles secure password hashing, authentication, and session handling for you. You can easily configure explicit role-based access control to every backend resource, for both the REST API and server-side scripts, including configurable access control to SQL tables, NoSQL collections, SQL and NoSQL record sets, BLOB storage, email, and push notifications.

The security system also governs access to any remote REST service you add. For example, you can easily connect to a custom REST API with DreamFactory and use the role system to control end user access to your custom-built API.

    1. Benefits

DreamFactory helps development teams in a number of ways, depending on your role on the team.

      1. Front-end Developers
  • Focus on front-end development rather than working on (or waiting on) server-side software
  • Connect to new data sources in minutes with just a few clicks
  • Access multiple data sources with RESTful ease and automatic security
  • Faster, less costly projects via instant, robust RESTful services
      1. Back-end / API Developers
  • Automatically generate and document secure, reliable, and reusable RESTful APIs
  • Customize auto-generated APIs with pre- and post-processing scripting logic
  • Integrated with existing security controls so you don’t have to re-implement and test for each API
  • Move applications between clouds or between your cloud and data center
      1. Enterprise Architects
  • Govern security with your own data access platform running in the cloud or on premises
  • Accelerate innovation with secure, scalable, reusable REST APIs to enterprise data sources
  • Enable standardized services abstraction layer for modern apps
  • Improve application reliability and security enterprise-wide with managed RESTful services
    1. Try DreamFactory Out

To install the DreamFactory open source package on a server or laptop, head on over to [installation](Installation) for instructions.

To try out DreamFactory without installing it, sign up for a free hosted developer environment at [DreamFactory Website](http://www.dreamfactory.com).