W. Jason Gilmore is DreamFactory's CTO. Prior to joining DreamFactory, he spent almost 15 years as a consultant and developer for a wide variety of organizations around the globe.
Jason is the author of almost a dozen books on web development, including most recently Easy Laravel 5, and Beginning PHP and MySQL, 4th Edition. He's the co-founder of the CodeMash Conference, one of the largest software conferences in the Midwestern United States.
Jason serves as a technical advisor to the boards of several United States-based technology startups. His off hours are spent playing with his kids and reading.
There’s no doubt about it, micro apps are on the rise. In the approximately two years since joining the DreamFactory team, I’d estimate I’ve conversed with more than one thousand companies about their API-based projects. These conversations provide a great opportunity to peer inside the IT operations of organizations large and small, not to mention pick up on emerging technology trends. Regarding the latter, over the course of the past year or so two trends have become strikingly clear: the first is that companies of all sizes are gravitating to identity and access management service provider Okta. Second, a titanic migration to Microsoft Azure is under way.
Speculative reasoning behind both of these trends is probably worth a blog post unto itself, however there is a third and arguably far more profound trend that could have major reverberations across the enterprise software industry: growing interest in micro apps.
Every MySQL database server includes a database called information_schema which aggregates metadata about the other databases managed on that server. Among other things you can query the information_schema database’s tables table to learn when a MySQL database was created. This timestamp is found in the tables create_time field. For instance if you wanted to know when a database named dreamfactory was created, you’d query the information_schema database like this:
What is Loose Coupling- Its Importance in REST API Design?
One of the most important ideas in the world of software engineering is the concept of loose coupling. In a loosely coupled design, components are independent, and changes in one will not affect the operation of others. This approach offers optimal flexibility and re-usability when components are added, replaced, or modified.
Loosely Coupled vs Tightly Coupled
Conversely, a tightly coupled design means that components tend to be interdependent. Changes in a single component can have a system wide impact, with unanticipated and undesirable effects.
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*.
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:
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?
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.
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?
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.
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!
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!