DreamFactory: Next Chapter in ‘Cool APIs’ May Come with API Automation for App Building

A new dimension of ‘Cool APIs’ in 2017 may be driven by app-centric API automation.  IDN spoke with DreamFactory CEO Bill Appleton about the company’s API automation platform that lets developers assemble apps from a ‘palette’ of reliable, reusable and secure APIs. 

Tags: APIs, apps, automation, databases, design, DreamFactory, ERP, integration, JSON, MariaDB, MongoDB, NoSQL, REST, runtime, security, SOAP,

Bill Appleton, DreamFactory
Bill Appleton

"DreamFactory starts with the data sources you want for your app. The result is a platform of general-purpose, reusable APIs."

Cool APIs

A new dimension of ‘Cool APIs’ will likely come into focus in 2017 driven by the power of app-centric API automation.


DreamFactory offers what the company calls an ‘API automation platform’ designed to simplify the tasks of working with APIs.  Rather than map, design and build APIs, DreamFactory’s platform let developers get right to work assembling apps using a pre-set and customizable ‘palette’ of reliable, reusable and secure APIs, CEO Bill Appleton told IDN.


“We come from the app-building world, and so that drives a different perspective on APIs. We aim to provide a portal that a developer can go to and build an app -- soup to nuts, rather than code APIs” Appleton said.


This different perspective on APIs is reflected in menu of core features and capabilities of DreamFactory’s API automation platform. Here are some notable hightlights:


Instant access to a palette of API and data services. Upon install, DreamFactory out of the box provides a rich palette of more than 100 pre-created APIs, as well as API access to pre-packaged databases MariaDB and NoSQL MongoDB. “Those are available when you open the console,” Appleton told IDN.  It also provides deep introspection into these databases. “DreamFactory starts with the data sources you want for your app. The result is a platform of general-purpose, reusable APIs. That platform is flexible, can scale, and is secure,” Appleton said.


Ease-of Use.  With all these capabilities, Appleton and his team have also designed DreamFactory to be easy to use.  “DreamFactory comes with an admin console that is just a single page app, written in Angular,” Appleton said. “When logged in as an administrator, users will have instant access to an entire palette of services that provides all the infrastructural core competencies required to build an app,” he said. As a result, to get at whatever data sources and configurations a developer wants, they just load them into DreamFactory. “No APIs to write, they are just provided in an automated way,” he added.


Support for custom configuration. “We also have packaging – you can take any implementation of DreamFactory, package it and move it to another implementation. The packages are JSON documents, so when you create a package and push in onto a DreamFactory instance – Whammmo! The whole thing is automatically configured,” he added. 


Support for fine-grained flexibility. “If you are at the client, you can call all of these different services and combine them at the client if you need to. We also have server-side scripting, so users can also call the same services from the server side in one of our scripts (PHP, Python, JavaScript),” Appleton said. “We’ve seen some customers use the services from their client or server and they get what they want the way they want it.”


Support for runtime operations & security. DreamFactory handles user management, role based access control, and data and metadata automatically. “We’ve built it so that any user can hook up any SQL or NoSQL database, file storage system, or external service, and DreamFactory’s platform will generate an easy-to-use REST API that developers can instantly use,”

To promote easy access and reuse, the APIs are fully documented.

Enterprise Integration Summit
Powering Digital Transformation with APIs, Cloud, IoT, Mobile & SOA
An Online Conference


API Automation Powers AI-Driven, Drag-and-Drop Cloud-Based ERP

DreamFactory’s ‘app-first’ perspective helped one customer in SaaS and ERP (Enterprise Resource Planning) to create an innovative user-customizable cloud-based app.   


TECHeGO, a provider of workflow and process automation client systems, built a new front end to DreamFactory, to drive its solution -- a single page app to create an ERP marketplace in the cloud. The combo of TECHeGO and DreamFactory resulted in a simple drag-and-drop UI where users can create their own customer ERP solution, called Hoist.


“With our app-focused API platform, TECHeGO did some really innovative things. Most notably, they came up with a drag-and-drop environment to work with our platform,” Appleton said.  This will reinvent how people use and buy ERP because it lets users simply select what they want from a pre-set family of services with simple drag-and-drop, he said.


Working with the DreamFactory platform, the TECHeGO ERP solution automatically creates the backend integration script and will even save that for a user,” Appleton said.


This DreamFactory capability lets any user save their work, and also includes a script that can do custom orchestration for working with custom data field, he noted. “This feature is really very powerful because it lets you combine these 3 [data] fields from over here, 4 fields over there – and then provide a composite object of both of those,” he said.  “Users can even apply rules; such as if an account value is greater than 10,000 send you an email to someone, or whatever workflow you want.”


DreamFactory’s API automation approach greatly simplified both the design and implementation of the project. DreamFactory enabled TECHeGO to eliminate a costly 10-month development cycle and build modular flexibility into Hoist.  Under the covers, the Hoist UI experience relies on DreamFactory’s automatically generated APIs, which does the work to integrate disparate systems and data sources.


Hoist also leveraged DreamFactory to create an artificial intelligence agent called AVA that allows the ERP app to learn how customers are using it. AVA also works with the DreamFactory platform to automatically establish new connections, handles fixes and upgrades, and update and generate new APIs system-wide as required. In fact, through AVA’s automation engine, users can leverage these connections to automate connectivity and processes between platforms – without the need for complex coding.


Now in operation, TECHeGO’s Hoist offering uses DreamFactory to automatically generate all the essential APIs that connect various business extensions, data sources, applications, and endpoints – all without the need to move data. Because the API endpoints are standardized, they can be easily combined with strong security and user management, important to any cloud-based service, Appleton added.


A top TECHeGO exec said DreamFactory’s API automation approach – and its combination of ease-of-use and flexibility – has already benefitted developer and IT, as well as business users.  “DreamFactory not only allowed us to expand on our functionality quite significantly through API automation, but to also deliver our solutions to clients in the cloud in a completely new business model,” TECHeGO CEO Seth Helgeson said in a statement.


DreamFactory’s Appleton:  Build Apps with APIs – Not APIs.

From the start, the DreamFactory API automation platform was conceived to provide a better way to connect front-end applications to back-end datasources. DreamFactory also wanted to automate access and generation of key APIs – and eliminate unnecessary coding while accelerating the development and operation of modern applications.


In doing so, DreamFactory streamlined access to data sources and removed barriers between diverse dataset and formats. It also provided related functionality key to app deliver, such as orchestration and security.


As time has gone on, Appleton has made it a mission to make the DreamFactory platform so complete that developers won’t need design or build APIs at all.


DreamFactory Admin

“Building new REST APIs for every new project is a bad idea,” Appleton said. “Developers shouldn’t focus on hand-coding new or updated APIs. They should use the power of APIs and automation to let them focus on building apps,” Appleton said.


There are just too many challenges and complexities in building new APIs, including:


  • lots of time and budget for backend integration,
  • increased complexity of backends – which can play havoc with security, reliability and portability
  • tackle hard-to-navigate interface negotiation between client-side and server-side teams, which if not done right, can cause big-time friction. “Too often client side and server side guys play ‘API ping-pong,’ going back and forth with each other over getting the API built and delivered,” Appleton said.


DreamFactory’s attention to fine-tuning its app-centric API automation vision to deliver its ‘soup-to-nuts’ platform that developers could use to build apps – not APIs – required bringing together some key features.


They have also optimized other automation capabilities to power the company’s app-centric view of APIs. Among them:


* One API call lets developers create, read, update, or delete objects and related objects. To promote flexible and customizable data access, DreamFactory lets users create virtual foreign key relationships between tables (within the same database or between different databases) – all without altering schemas or writing new code. 


* Convert any WSDL into a live, fully documented REST API. Under the covers, DreamFactory automatically converts the JSON request into SOAP, calls the legacy SOAP service, and then the SOAP response is converted back to JSON for the client application. DreamFactory also generates Live API Docs from the WSDL for testing.


* Secure APIs with multiple approaches. DreamFactory’s platform includes user management, SSO authentication, JSON web tokens (JWT), CORS, and role-based access control on each API endpoint. It also imposes record-level permissions on data and authenticates access through integration with OAuth, LDAP and Active Directory.


* Ensure apps don’t crash – but operate correctly at runtime.  DreamFactory provides process and business rules to serve as safety valves against app failure.  “We have a lot of experience in building rich client apps, and you have to be careful that when you make a query that it not cause a huge data explosion,” Appleton said. As an example, an overly vague query, such as ‘show me all current open opportunities’ could cause a data flood of 100,000 to 200,00 results. To prevent this, DreamFactory has pagination for all queries (so responses don’t crash the browser), Appleton said. 


* Extra speed.  DreamFactory has souped up performance with database caching and by moving to PHP7. “We have a lot of tricks we do at the back-end to make the front-end viable,” he added.


“Today’s API managers are almost never trying to do any of that,” Appleton said. Even as APIs are becoming a go-to tool for modern developers, allowing them to cut down on the hand-coding they need to do for an app, there is a difference. Often with many API managers, a developer still needs to build out a server to use many of the services they are providing.  “Much of the focus of API managers is individual services you need to call. It’s great for individual services, but not for composing or orchestrating an actual app,” he said.  


DreamFactory is available as open source under the Apache License. DreamFactory source code is free to download, use, and share here.. DreamFactory also offers enterprise-class commercial versions.