Open source mobile backend
Install DreamFactory on any server, in the cloud, or on premises! Our open source software package is available on GitHub under the Apache License. We provide installation instructions for servers running Red Hat Enterprise Linux. DreamFactory works with both the OpenShift Online public cloud platform and the OpenShift Enterprise private cloud platform.
Connect to any database, file storage system, or external service in minutes! We support all SQL databases including MySQL, SQL Server, and PostgreSQL. We support most NoSQL databases including MongoDB, and many file storage systems.
Develop modern applications for the phone, tablet, or desktop without writing server software! We generate a Client SDK for HTML5 frameworks like jQuery, AngularJS, and Sencha, and a code library for native clients like iOS, Windows 8, and Android.
DreamFactory can be installed on premises or in the cloud, so enterprise users can deploy, manage, and monitor their own applications. All of the source code is available under the open source Apache License. We provide a software package available for download and installation from GitHub, and also BitNami packages for the AWS, Azure, and VMware marketplaces. Use familiar tools and best practices to develop, test, and deploy applications on your own infrastructure.
Every new DSP comes with a built-in Admin Console written in HTML5 that helps system administrators build applications for end users, manage users and roles, create SQL schema, and provision external services. The Admin Console is available for the first user who creates the DSP or for any user who has the "System Administrator" box checked in their user settings. You can bring up the Admin Console at any time by clicking the gear symbol at the top right of the DSP online interface.
Your DSP can host any number of applications that share access to the service architecture and various data objects. Each application is a mini web site where you can quickly upload and manage various files and folders. So for example you might have an "Index.html" file as the starting point of the application, along with any number of other HTML, CSS, or PNG files. Applications can also be imported or exported as a single archive file through the Admin Console. This enables easy migration between development and testing or between any two existing DSP installations. The Admin Console also provides an easy to use file manager and editor for all the files in the application tree. You can also use your favorite development environment to create the files and drag and drop into the Admin Console as needed.
The DSP takes care of user management, single sign-on, password hashing, and user roles. You can control which users get which applications, and which applications have access to various data objects and services. Users can be active or inactive. This is extremely useful for managing situations where a mobile device is lost or users enter or leave a company. When a user is deactivated their session is immediately terminated and all access through the API is halted.
The DSP provides a comprehensive and secure connection to any SQL database. You have services for Create, Read, Update and Delete, as well as complex filtering and a complete suite of metadata services. The SQL service can also deliver an array of objects along with related objects in a sub-array. This is a very powerful feature for HTML5 applications because large database documents can be downloaded and used immediately without any additional processing as a native JSON object. Any changes made to the array can be committed back to the database with a single transaction. All parent-child relationships and many-to-many junction relationships are automatically updated.
The DSP provides a comprehensive and secure connection to most NoSQL databases, including Amazon DynamoDB, Amazon SimpleDB, Azure Tables, MongoDB, MongoHQ, and CouchDB. The NoSQL database could be on the same server as DreamFactory, on a remote server, or a PaaS service. You have services for Create, Read, Update and Delete, as well as complex filtering. Large database documents can be downloaded and used immediately without any additional processing as a native JSON object.
Your DSP provides interfaces to all of the major BLOB storage systems including Amazon S3, Azure BLOB, Rackspace CloudFiles, and OpenStack. The master credentials for each service are hidden securely on the server side. This allows access to the storage system based on the users single sign-on credentials. Each BLOB service also allows the administrator to choose the root access point for the storage tree. In this manner individual users by role can be granted secure access to different BLOB services or even different parts of the same service.
Your DSP can provision any number of integration points for external services such as email, NoSQL data, and BLOB storage. These services hide master credentials on the platform and can be administered by user role. There are two types of services, local and remote. The local services are things built into the DSP platform, for example the local SQL database and local file system for document storage. The external services are things that are available outside the DSP platform, for example remote web services, databases or BLOB storage systems like S3.