Book Image

Mastering Application Development with Force.com

By : Kevin J. Poorman
Book Image

Mastering Application Development with Force.com

By: Kevin J. Poorman

Overview of this book

Force.com is an extremely powerful, scalable, and secure cloud platform, delivering a complete technology stack, ranging from databases and security to workflow and the user interface. With salesforce.com's Force.com cloud platform, you can build any business application and run it on your servers. The book will help you enhance your skillset and develop complex applications using Force.com. It gets you started with a quick refresher of Force.com's development tools and methodologies, and moves to an in-depth discussion of triggers, bulkification, DML order of operations, and trigger frameworks. Next, you will learn to use batchable and schedulable interfaces to process massive amounts of information asynchronously. You will also be introduced to Salesforce Lightning and cover components—including backend (apex) controllers, frontend (JavaScript) controllers, events, and attributes—in detail. Moving on, the book will focus on testing various apex components: what to test, when to write the tests, and—most importantly—how to test. Next, you will develop a changeset and use it to migrate your code from one org to another, and learn what other tools are out there for deploying metadata. You will also use command-line tools to authenticate and access the Force.com Rest sObject API and the Bulk sObject API; additionally, you will write a custom Rest endpoint, and learn how to structure a project so that multiple developers can work independently of each other without causing metadata conflicts. Finally, you will take an in-depth look at the overarching best practices for architecture (structure) and engineering (code) applications on the Force.com platform.
Table of Contents (16 chapters)
Mastering Application Development with Force.com
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using batchable classes


Collectively referred to as asynchronous code batchable, queueable, and the @future methods contract a tradeoff with the Salesforce1 platform. In exchange for running the code asynchronously, meaning we have no control over when it's actually executed, the platform relaxes certain governor limitations. For instance, during normal, synchronous Apex execution, you are limited to modifying 10,000 records per DML call. Attempting to access more than 10,000 records throws a SOQL error. However, during the execution of a batchable class, those governor limits are reset every time the execute method is called.

Conceptually, asynchronous code executes in two steps. First, the code is queued. As system resources allow, the system pulls jobs off the queue and executes them. As usual, the devil is in the details. Batchable, Queueable, and the @future annotation all have various tradeoffs that distinguish them from each other. Knowing when to use which one is crucial. As we work...