"That's the great thing about the Force.com community: everybody is willing to help. If you ask a question on the development forum, you usually get a response within 24 hours."


—Maxim

Mike Simonds - Building a Career with PHP and Force.com

As a former Army infantryman, Mike Simonds knows a thing or two about fighting when the chips are down. In 1997, Simonds had embarked on his civilian career by teaching himself COBOL, which led to a contract with AT&T. But when the dot-com bust and job outsourcing threatened his job security a few years later, Simonds plunged into Web technologies: HTML, MySQL, and, most significantly, PHP, the open source scripting language. As it would turn out, PHP together with the Force.com platform would help transform his career.

Simonds is now a developer/analyst with semiconductor company Maxim Integrated Products, a salesforce.com customer, where he has written PHP scripts to convert data from a legacy CRM system to Salesforce—eliminating the need to buy $100,000 worth of proprietary utilities. Along the way, Simonds has become a visible authority in using PHP with the Force.com Web Services API, filling his personal Web site with code samples and advice. An active member of the developer.force.com community, Simonds has gained recognition for his knowledge and community spirit and gave a presentation at the 2007 Dreamforce conference.

"The more you work with PHP and Force.com, the better you get," Simonds says. "As a scripting language, PHP is very forgiving. If something doesn't work one way, you can try it another and immediately see the results. And salesforce.com is continuously improving the Force.com Web Services API in response to developer feedback via Force.com Ideas, which means that the possibilities for PHP keep improving."

 

PHP Scripts for Data Replication, Backup and More

Simonds’ first PHP project with the Force.com Web Services API came after Maxim moved from a legacy CRM system to Salesforce. A consulting firm brought in by the company helped with the initial transition, but its solution to a longer-term challenge was costly. Maxim was in search of a utility to replicate the data maintained on Salesforce to Oracle, which resided on its own servers. The consulting firm’s proprietary solution approached six figures. Simonds persuaded his employer he could save the cost by developing his own utility in PHP.

"When I first started experimenting with the API, I found it a struggle because I wasn't familiar with the calls. But the more I worked with it, the better I got,” he recalls. In early 2007, Simonds succeeded, building a utility that makes calls to the Force.com Web Services API to replicate in Oracle all objects and data stored on Salesforce. “The utility runs twice a day via the cron scheduler, ensuring that every piece of data residing on Salesforce is also in our local Oracle copy.”

Simonds followed that with a script to do data backup and another to do weekly updates of the account data and daily updates of products and the price books. Yet another script works in conjunction with an internal quoting utility to help move data between Maxim’s intranet site and Salesforce. The processed quote is then pushed back to Salesforce where it is viewable by the entire sales team.

"I wrote the first script over the course of a month, but from there, the work has gone much faster and the results are built exactly to our specifications. And while my employer had to pay my time, of course, we haven’t invested anything in the tools or operating environment: PHP, Apache, and Linux are all free. Best of all, none of the scripts has ever failed."

 

Help from the Force.com PHP Toolkit

Simonds credits part of his success to Nick Tran, the Force.com developer program manager who created the PHP toolkit. “It’s made a huge difference, allowing me to take full advantage of the Web Service API method calls,” Simonds says. “The Force.com PHP toolkit is very easy to use, with great examples and directions on how to implement the classes. Nick’s work has helped the entire PHP development community.” Simonds also uses PHP code samples from the developer.force.com wiki and has received considerable assistance from the site, as well. "That’s the great thing about the Force.com community: everybody is willing to help. If you ask a question on the development forum, you usually get a response within 24 hours.”

Simonds has returned the favor by posting some of his own scripts, both on the Force.com discussion boards and on his Web site, which he started in May 2007. He has written a tutorial on pushing data from Oracle to Salesforce, which can be found on the developer.force.com wiki. Simonds has also contributed a server-based tool, available on his Web site, that uses the Force.com Web Services API to loop through all of the objects and their respective fields to create a comparable schema in Oracle or MySQL. A second software-as-a-service (SaaS) tool allows Force.com developers to download a complete MySQL scheme of their own instance of Salesforce.

How do I get started?

The best way to get started is to sign up for the Force.com Free Edition.

 

Back to top