Bill Appleton, CEO of DreamFactory, was kind enough to answer some questions for us:
1. Tell us a little about DreamFactory and how you got started with service platforms.
I wrote
some of the very first service-based applications back in 1999 with XML-RPC and
services from XMethods. After that, in 2002 we built client applications with
SOAP on the Hailstorm platform from Microsoft. The Salesforce.com API was
available by 2004, and I wrote some of the first AppExchange applications, many
of which are still popular today. When AWS and Azure came out our engineering
team started to write custom service platforms for various customers.
The use of
REST APIs was clearly a critical technology for mobile, and so about three or
four years ago we decided to take all of this experience and build the world’s
best cloud service platform as an open source project. We launched earlier this
summer and are really encouraged by the large number of developers who have
adopted DreamFactory.
2. Will you please tell us about the
DreamFactory Services Platform and how it enables mobile application
development?
The
DreamFactory Services Platform is an open source software package that provides
everything an enterprise developer needs on the backend to develop HTML5 or
native mobile applications, and to deploy those apps into production. We
provide a complete set of services for SQL data, NoSQL data, and file storage. There
are comprehensive user management capabilities, including roles and
permissions, single sign-on, password management, OAuth, and LDAP support.
DreamFactory also allows
you to quickly and securely connect to external services like MongoDB,
DynamoDB, S3, Azure Tables, Box and Salesforce.
We have an HTML5 Admin Console that makes it
easy to set up the backend server. All of the various services are exposed
through a comprehensive REST API that delivers JSON or XML documents. These
services can be called directly from HTML5 or a native mobile application. Developers can focus on building
great mobile experiences instead of writing a bunch of server-side code to expose data and files,
handle security, authenticate users, and so forth. We’re super excited about
this new development paradigm for mobile, where the backend consists of easily
configurable services that are automatically exposed to mobile apps with REST.
3. What are some of your favorite
features of DreamFactory?
Whenever
you hook up a new service on the backend some pretty amazing things happen.
First, the new service automatically appears on the Live API interface. This
lets you see the various URL parameters and interact with the request and
response. Next, the service is added to the SDK Documentation, which provides a
hard copy for reference. Lastly, the service shows up in a dynamically
generated JavaScript object at runtime. An HTML5 developer can just use this
object to write an application, the REST interface is handled automatically. You
can literally hook up a new service like MongoDB and start making calls to the
database moments later.
Another
thing people like is that this is an open source software package. You can
manage your own applications with your own cloud server or on premises. You can
use the management, deployment, and security practices that you are already
using. We make it easy to move from our Free Hosting to your own cloud, or from
dev to test to production. You don’t have to trust us to host your application,
or worry about how we manage our data center, etc. And if a developer needs to
do something extraordinary on the backend, they can customize our open source
package as a starting point.
4. Which projects or organizations are
using DreamFactory currently? What kind
of projects do they use it for?
The great
thing about services is that you can use them in so many different ways. The
rapid shift to mobile apps in the enterprise is the biggest driver of a
services approach to app development. We believe that backend services exposed
with REST and JSON is really the only good way to develop world-class mobile applications.
And services are like building blocks -- highly configurable and easy to
selectively expose to different applications and users. This reusability is key
because it lets developers spend their time building apps, not dealing with
complex backend development.
So we have
a diverse group of customers using DreamFactory. For example, we have a large
enterprise customer that uses DreamFactory to communicate between headquarters
and retail. This is a global implementation in different data centers where
DreamFactory is installed in their regional data centers.
We have
seen some successful engagements using Sencha that work on desktop, tablet, and
phone. That really demonstrates the “any device” promise of HTML5.
We also
work great for native applications. One customer built a really nice bug
tracking application for use on iOS devices. For that app, DreamFactory
provides user management and a collaborative database for bug tracking.
You can
use services in unique ways beyond mobile applications too. One of our
customers is using DreamFactory as a backend for industrial process control
devices for cloud storage, control, and monitoring.
Lastly, we
work very nicely just for plain old website building. We have seen some nice
desktop apps that also use services.
5. What do you expect will be the main
benefits of having BitNami packages available for DreamFactory?
We started
out trying to build all the various packages for different marketplaces. Some
of our best engineers were spending lots of time on this work. Ultimately we
decided that we didn’t want to be in the business of managing marketplaces and
creating installers. We wanted to focus on our platform.
So working
with BitNami makes perfect sense. You can go to the AWS, Azure, or VMware
marketplaces and find our BitNami package, or you can just go to the BitNami
website and see everything. They make the install easy for desktop or cloud.
BitNami is a trusted source for these IaaS packages.
6. Can you share any of the DreamFactory
roadmap? Which features can users look forward to over the coming year?
On the open source platform, we have some nice capabilities
in the works. You will see the ability to add custom business logic with
server-side scripting for situations that are not covered by the standard
services. We are packaging our HTML5 client for use with PhoneGap. This will
allow an enterprise to brand the wrapped client and instantly deploy
applications right there. The applications will share platform data, and
everything is controlled with user roles and permissions.
Our Enterprise Version will be available early next year.
This will include the ability to run and manage multiple instances of
DreamFactory on a single VM. We will have some important features like Active
Directory support. The Enterprise Version will provide reporting on usage
statistics by device as well as uptime monitoring and alerts.
Thanks to Bill for sharing his vision and plans for the DreamFactory Services Platform!