What is iPaaS? Definition and Benefits

These days organizations commonly rely upon dozens of databases, applications, and third-party services for powering critical business infrastructure such as web and mobile applications, business analytics, and customer outreach initiatives. Examples of such indispensable technologies include Microsoft SQL Server, Salesforce, and Intercom. Because this operational infrastructure can’t operate effectively in a silo, companies increasingly require ways to interweave the data managed therein, creating software-based bridges known as *integrations*.

Continue reading “What is iPaaS? Definition and Benefits”

Convert Excel to JSON Using DreamFactory

Excel to JSON Conversion with DreamFactory

If Benjamin Franklin were alive today, some of his his famous words would have instead read, “Nothing is certain but death and taxes and Excel“. Microsoft’s ubiquitous spreadsheet application is as firmly embedded within the corporate world as TPS reports and the reek of a poorly chosen microwavable lunch (I swear it wasn’t fish). Given their prominence, it’s no surprise developers often spend a great deal of time wrangling spreadsheets, and among other questions wonder how to convert Excel to JSON format. Doing so is incredibly useful for a variety of reasons. Among other uses the JSON format would allow you to:

  • Render the spreadsheet within a web page using a JavaScript tabular library such as Tabulator or DataTables.
  • Periodically import the spreadsheet data into a database.
  • Manipulate the spreadsheet data before importing it into any number of other systems or services.
  • Parse the spreadsheet and deliver e-mail or text notifications based on values or thresholds.

The initial use case is particularly critical, because departments often use Excel as a group-based metric reporting tool. Frustration often sets in due to numerous duplicate and outdated versions eventually entering circulation. Of course there are more sophisticated solutions for workbook sharing, SharePoint being chief among them, however adoption of such technologies isn’t as widespread as Excel itself. So how can one go about sanely converting Excel workbooks to JSON?

Continue reading “Convert Excel to JSON Using DreamFactory”

Managing Your DreamFactory Instance Using the System APIs

DreamFactory includes a web-based administration console used for performing tasks such as managing APIs, administrators, and business logic. However many users prefer to instead automate administrative tasks through scripting. This is useful for several reasons. First, automation reduces the amount of work required to manage multiple DreamFactory environments. Second, it opens up the possibility of integrating DreamFactory features into third-party applications such as an API monetization SaaS. In this post we’ll demonstrate just how easy managing your DreamFactory instance using the system APIs can really be.

Continue reading “Managing Your DreamFactory Instance Using the System APIs”

Synchronizing Database Data Using an API

Synchronizing database data using an API is a topic that comes up repeatedly in conversations with DreamFactory users. The reasons for doing so are many, but perhaps the most commonplace is the need to fill in data gaps found in a new database. For instance, you might wish to periodically consult a customer database and synchronize relevant data with a marketing campaign database. So how might this be accomplished?

Continue reading “Synchronizing Database Data Using an API”

Extending Git with a Custom Command

The DreamFactory development team leans heavily upon Git and GitHub for repository management. Whether it’s DreamFactory Genie, the DreamFactory website, the Getting Started with DreamFactory guide, or the platform itself, you can guarantee the code is managed within a repository. Apparently my own Git usage is such that it dominates my terminal command history, accounting for 32.689% of all commands executed (per the command zsh_stats )! Yet no matter how deep your Git expertise may be, eventually you’ll have to combine commands with shell syntax in order to achieve more complicated tasks. One such example is deleting all locally merged branches. In this tutorial you’ll learn how to do so by extending Git with a custom command.

Continue reading “Extending Git with a Custom Command”

Integrate Salesforce Data Using DreamFactory

The DreamFactory platform supports thousands of data sources, but did you know the platform’s very first offering was to integrate Salesforce data? This is perhaps not a surprise, given the enormously important role Salesforce plays within enterprises large and small. IT teams often need to migrate Salesforce data into and out of databases such as MySQL and SQL Server, not to mention create customized Salesforce dashboards. These sorts of tasks are easy to do using DreamFactory’s native Salesforce connector.

We’ve just published a new chapter within our Getting Started with DreamFactory guide titled “Integrate Salesforce Data Using DreamFactory”. In this chapter you’ll learn how to configure the Salesforce connector, retrieve accounts, retrieve a specific account, and update an account. We’ll be dramatically expanding this chapter in the coming weeks to include additional features, but wanted to make this initial set of examples available as early as possible!

Introducing DreamFactory 3

After months of work, countless user conversations, and a great team effort we’re happy to announce the release of DreamFactory 3! This is undoubtedly the most exciting release in several years, addressing a great number of customer requests and addressing numerous important enhancements.

This release is ready to be cloned via GitHub. Docker users can spin up the 3.0 release made available via our Docker repository. You can also take the new release for a test drive via our new hosted service! Head on over to https://genie.dreamfactory.com to start your free 14-day trial.

So what can you expect to find in this release? Let’s break it down!

Continue reading “Introducing DreamFactory 3”

Creating an SFTP REST API with DreamFactory

SFTP REST API

Our team regularly holds detailed technical discussions with some of the largest companies in the world. From these many discussions it’s become quite apparent that lying somewhere beneath the fancy logo and glitzy commercials you’ll find IT departments relying on tried-and-true technologies and protocols to get the job done.

One particularly prominent workhorse is SFTP. The Secure File Transfer Protocol is a secure version of FTP, and it transfers data over SSH. Because developers often desire to build features capable of securely transferring files to some server, DreamFactory offers an SFTP connector capable of generating a full-featured REST API for transferring and retrieving files and directories.

Learn more about this feature in our newly published section of the Getting Started with DreamFactory guide.

Learn About DreamFactory and NoSQL – NoSQL Database Podcast Interview

DreamFactory CTO Jason Gilmore recently sat down with NoSQL Database Podcast host Matt Groves to talk about DreamFactory, NoSQL database solutions, and advanced API devops topics such as performance, profiling, and logging. Here’s a chronological breakdown of the conversation:

  • 00:48 – Introduction to Jason
  • 02:51 – Introduction to DreamFactory
  • 12:52 – NoSQL with DreamFactory
  • 16:10 – Use Case Discussion
  • 22:42 – Addition non-database integrations/transformations
  • 30:27 – Business logic in DreamFactory
  • 35:04 – Customer 360 Use Case
  • 43:03 – “Lightning Round” of technical topics: performance, indexing, logging/monitoring, profiling
If you’d like to learn more about the DreamFactory Platform while commuting or working out at the gym, download the 53 minute podcast now!

Creating an Almost No Code Database-backed Web Interface with DreamFactory and Tabulator

No matter the size or industry, companies everywhere grapple with solving a deceptively simple problem: displaying database data on the web in a table. This problem seems to be universal in the sense that all teams have experienced the inconvenience of passing around Excel spreadsheets, and want to instead move this data to the web. Yet these same teams often lack the programming experience required to securely retrieve the data and present it within a paginated, filterable and often searchable web interface. Fortunately, using DreamFactory and off-the-shelf software such as Tabulator or DataTables, it’s possible to create a powerful database-backed web interface such as the one presented in the following screenshot:

Example dashboard interface

If you’d like to interact with a live example head over to http://tabulator.demo.dreamfactory.com/ and get your hands dirty! In this blog post I’ll show you how easy it is to create your own database-backed web interface using DreamFactory and Tabulator with almost no code required.

Creating the Database API

DreamFactory is an API generation and management platform used by thousands of organizations around the globe. You can download our open source version from DreamFactory.com or contact us to start an on premise or hosted trial of our commercial version. The open source edition includes support for several popular database, including MySQL and PostgreSQL, whereas the commercial edition additionally supports Microsoft SQL Server and Oracle. Once installed, you can generate a database-backed API in literally minutes, secured by (at minimum) an API and role-based access controls. If you’re not familiar with this process head over to DreamFactory Academy and watch the following video, “Creating Your First Database API with DreamFactory”:
You’ll also find dozens of other videos on our Youtube channel. Once the API created, you can query the database using a standardized API URL structure such as:
https://example.com/api/v2/corporate/_table/employees
Of course, for security reasons you’ll need to additionally pass along an API key. This process is described in the aforementioned video.

Integrating the API with Tabulator

Tabulator is an open source JavaScript library used for creating interactive HTML tables. It supports data loading via a JavaScript array, JSON formatted data, or an AJAX data source. We’ll use the latter approach to load data from the DreamFactory-powered database API. To begin though, you’ll first need to install the library. If you’re looking for the easiest solution, we recommend cloning our dreamfactory-tabulator repository, located on GitHub. Alternatively a number of other installation solutions are supported (Bower, NPM, Yarn, etc); check out the Tabulator documentation for more information. Once installed, you only need to add a few lines of boilerplate code to load the database data into the Tabulator table. The following example contains just 35 lines of JavaScript code and will recreate a basic version of the interface presented in the earlier screenshot:
<!DOCTYPE html>
<html>
    <head>
        <title>Tabulator example</title>
    </head>
    <body>
        <div id="example-table"></div>

        <script>

            var table = new Tabulator("#example-table", {
                    layout:"fitData",
                    height:"100%",
                    layout:"fitColumns",
                    pagination:"local",
                    paginationSize:20,
                    paginationSizeSelector:[20, 40, 60, 80],
                    placeholder:"No Data Set",
                    columns:[
                            {title:"Employee Number", field:"emp_no"},
                            {title:"First Name", field:"first_name"},
                            {title:"Last Name", field:"last_name"},
                            {title:"Birth Date", field:"birth_date"},
                            {title:"Hire Date", field:"hire_date"},
                    ],
            });

            $(document).ready(function(){
                    var ajaxConfig = {
                            dataType: 'json',
                            headers: {
                                    "X-DreamFactory-Api-Key": '123456qwerttasdf' 
                            },
                    };

                    table.setData(
                        'https://example.com/api/v2/corporate/_table/employees', 
                        {}, 
                        ajaxConfig
                    );
            });

        </script>
</body>
</html>
Let’s breakdown some of the key syntax found in this example:
  • The div identified by the example-table id will serve as the location where Tabulator will inject the table. When the Tabulator object is created, you’ll see this div ID (#example-table) is passed in as the first argument so Tabulator knows what div to use.
  • The columns defined in the columns array should match the fields returned within the DreamFactory JSON response. In this example, each record includes five fields: emp_no, first_name, last_name, birth_date, and hire_date.
  • The ajaxConfig object defines the X-DreamFactory-Api-Key header. You’ll assign the API key generated within DreamFactory to this header.
  • The setData method identifies the URL that will be contacted to retrieve the JSON data.
Check out a more involved example in our GitHub repository to learn how to add other features!

In Summary

If you’d like to learn more about DreamFactory, and how our platform can be used to quickly generate powerful web interfaces with almost no code required, contact us at DreamFactory.com!