Wednesday, November 20, 2013

Meet DreamFactory CEO Bill Appleton and Learn About the First Mobile Development Platform on BitNami

Last week, we added the first mobile development platform to BitNami, DreamFactory. As with all BitNami apps, you can now download free, ready to run native installers for OS X and Linux, virtual machines and Azure and Amazon EC2 images for DreamFactory. You can also now launch a free cloud demo server with the BitNami Cloud Launchpad by clicking the launch button below.




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!