O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Development with the Force.com Platform: Building Business Applications in the Cloud, Third Edition

Book Description

Master Force.com, Today’s Fastest, Most Flexible Cloud Development Platform

With Salesforce.com’s Force.com platform, you can build and deploy powerful cloud-based enterprise applications faster than ever before. Now, Jason Ouellette gives you all the practical, technical guidance you need to make the most of the newest Force.com releases in your own custom cloud applications.

Throughout, he adds new code and updated best practices for rapidly prototyping, building, and testing production-quality Force.com solutions. This edition’s extensive new coverage includes Developer Console, JSON, Streaming and Tooling APIs, Bulk API, Force.com Canvas, REST integration, support for Web MVC frameworks, Dynamic Apex and Visualforce, and an all-new chapter on mobile user interfaces.

Ouellette covers the entire platform: UIs, database design, analytics, security, and many other topics. His code examples emphasize maintainability, flexibility, and seamless integration—and you can run and adapt all of them with a free Force.com Developer Edition account. Coverage includes:

  • Leveraging Force.com’s customizable infrastructure to deliver advanced Platform-as-a-Service (PaaS) solutions

  • Understanding Force.com’s unique processes, tools, and architecture

  • Developing a complete application, from requirements and use cases through deployment

  • Using the Force.com database as a framework for highly flexible, maintainable applications

  • Applying Force.com’s baked-in security, including user identity, data ownership, and fine-grained access control

  • Constructing powerful business logic with Apex, SOQL, and SOSL

  • Adopting asynchronous actions, Single Page Applications, and other advanced features in Web user interfaces

  • Building intuitive user interfaces with Visualforce, and extending them to public-facing websites and mobile devices

  • Creating smartphone/tablet-friendly apps with HTML5 and Visualforce

  • Performing massive data-intensive tasks offline with Batch Apex

  • Using Force.com integration options, including REST, SOAP, Canvas, and the Streaming, Bulk, Tooling, and Metadata APIs

  • Developing internal social applications with Force.com’s Chatter collaboration tools

  • If you’re already building Web or mobile applications, take your next giant step into enterprise cloud development—with Development with the Force.com Platform, Third Edition.

    All code examples in this book are available on Github at http://goo.gl/fjRqMX, and as a Force.com IDE project on Github at https://github.com/jmouel/dev-with-force-3e.

    Table of Contents

    1. About This eBook
    2. Title Page
    3. Copyright Page
    4. Praise for Development with the Force.com Platform, Third Edition
    5. Dedication Page
    6. Contents at a Glance
    7. Table of Contents
    8. Acknowledgments
    9. About the Author
    10. Preface
      1. Key Features of This Book
      2. Target Audience for This Book
      3. Code Examples for This Book
    11. Editor’s Note: We Want to Hear from You!
    12. 1. Introducing Force.com
      1. Force.com in the Cloud Computing Landscape
        1. Platform as a Service (PaaS)
        2. Force.com as a Platform
        3. Force.com Services
      2. Inside a Force.com Project
        1. Project Selection
        2. Team Selection
        3. Lifecycle
        4. Tools and Resources
      3. Sample Application: Services Manager
        1. Background
        2. User Roles
        3. Development Plan
      4. Summary
    13. 2. Database Essentials
      1. Overview of Force.com’s Database
        1. Objects
        2. Fields
        3. Relationships
        4. Query Language
        5. Data Integration
      2. Working with Custom Objects
        1. Force.com Developer Edition
        2. Tools for Custom Objects
        3. Object Creation
        4. Field Creation
        5. Entering and Browsing Data
        6. Additional Database Features
      3. Sample Application: Data Model
        1. Data Model Design Goals
        2. Data Model Specification
        3. Implementing the Data Model
        4. Importing Data
      4. Summary
    14. 3. Database Security
      1. Overview of Database Security
      2. Object-Level Security
        1. Profiles
        2. Permission Sets
        3. Field-Level Security
      3. Record-Level Security
        1. Record Ownership
        2. User Groups
        3. Sharing Model
      4. Sample Application: Securing Data
        1. Designing the Security Model
        2. Implementing the Security Model
        3. Testing the Security Model
      5. Summary
    15. 4. Business Logic
      1. Introduction to Apex
      2. Introducing the Force.com IDE
        1. Installation
        2. Force.com Perspective
        3. Force.com Projects
        4. Problems View
        5. Schema Explorer
        6. Apex Test Runner View
        7. Execute Anonymous View
      3. Apex Language Basics
        1. Variables
        2. Operators
        3. Arrays and Collections
        4. Control Logic
        5. Object-Oriented Apex
        6. Understanding Governor Limits
      4. Database Integration in Apex
        1. Database Records as Objects
        2. Database Queries
        3. Persisting Database Records
        4. Database Triggers
        5. Database Security in Apex
      5. Debugging Apex Using Developer Console
        1. Checkpoints
        2. Execution Logs
      6. Unit Tests in Apex
        1. Test Methods
        2. Test Data
        3. Running Tests
      7. Sample Application: Validating Timecards
        1. Force.com IDE Setup
        2. Creating the Trigger
        3. Unit Testing
      8. Summary
    16. 5. Advanced Business Logic
      1. Aggregate SOQL Queries
        1. Aggregate Functions
        2. Grouping Records
        3. Grouping Records with Subtotals
      2. Additional SOQL Features
        1. Inner Join and Outer Join
        2. Semi-Join and Anti-Join
        3. Multi-Select Picklists
      3. Salesforce Object Search Language (SOSL)
        1. SOSL Basics
        2. SOSL in Apex
      4. Transaction Processing
        1. Data Manipulation Language (DML) Database Methods
        2. Savepoints
        3. Record Locking
      5. Apex Managed Sharing
        1. Sharing Objects
        2. Creating Sharing Rules in Apex
      6. Sending and Receiving Email
        1. Sending Email
        2. Receiving Email
      7. Dynamic Apex
        1. Dynamic Database Queries
        2. Schema Metadata
        3. Dynamic Instance Creation
      8. Custom Settings in Apex
      9. Sample Application: Adding Email Notifications
      10. Summary
    17. 6. User Interfaces
      1. Introduction to Visualforce
        1. Overview of Visualforce
        2. Getting Started with Visualforce
      2. Visualforce Controllers
        1. Standard Controllers
        2. Custom Controllers
        3. Controller Extensions
      3. View Components
        1. View Component Basics
        2. Data Components
        3. Action Components
        4. Primitive Components
        5. Force.com-Styled Components
        6. Force.com User Interface Components
      4. Visualforce and the Native User Interface
        1. Standard Pages
        2. Standard Buttons
        3. Page Layouts
        4. Custom Buttons and Links
        5. Custom Tabs
      5. Visualforce in Production
        1. Debugging and Tuning
        2. Security
        3. Error Handling
        4. Governor Limits
        5. Unit Tests
      6. Sample Application: Skills Matrix
        1. Basic Implementation
        2. Full Implementation
        3. Implementation Walk-Through
      7. Summary
    18. 7. Advanced User Interfaces
      1. Asynchronous Actions
        1. Partial Page Refresh
        2. Action as JavaScript Function
        3. Action as Timed Event
        4. Action as JavaScript Event
        5. Indicating Action Status
      2. Modular Visualforce
        1. Static Resources
        2. Inclusion
        3. Composition
        4. Custom Visualforce Components
      3. Dynamic Visualforce
        1. Dynamic Field References
        2. Component Generation
      4. Single-Page Applications in Force.com
        1. JavaScript Remoting
        2. Force.com with AngularJS
      5. Introduction to Force.com Sites
        1. Enabling and Creating a Site
        2. Security Configuration
        3. Adding Pages to a Site
        4. Authenticating Users
      6. Sample Application: Enhanced Skills Matrix
      7. Summary
    19. 8. Mobile User Interfaces
      1. Overview of Salesforce Mobile Technology
        1. Salesforce Applications
        2. Custom Applications
      2. Getting Started with Mobile Web Applications
        1. Frameworks
        2. Data Access
        3. Deployment
      3. Sample Application: Mobile Timecard Entry
      4. Summary
    20. 9. Batch Processing
      1. Introduction to Batch Apex
        1. Batch Apex Concepts
        2. Understanding the Batchable Interface
        3. Applications of Batch Apex
      2. Getting Started with Batch Apex
        1. Developing a Batch Apex Class
        2. Working with Batch Apex Jobs
        3. Using Stateful Batch Apex
        4. Using an Iterable Batch Scope
        5. Limits of Batch Apex
      3. Testing Batch Apex
      4. Scheduling Batch Apex
        1. Developing Schedulable Code
        2. Scheduling Batch Apex Jobs
      5. Sample Application: Missing Timecard Report
        1. Creating the Custom Object
        2. Developing the Batch Apex Class
        3. Testing the Missing Timecard Feature
      6. Summary
    21. 10. Integration with Force.com
      1. Apex Callouts
        1. Calling RESTful Services from Apex
        2. Calling SOAP Services from Apex
      2. Calling into Force.com Using REST
        1. Getting Started with Force.com REST API
        2. Force.com REST API Walk-Through
        3. Creating Custom Apex REST Web Services
      3. Calling into Force.com Using SOAP
        1. Understanding Force.com SOAP API
        2. Using the Enterprise API
        3. Creating Custom Apex SOAP Web Services
      4. Sample Application: Anonymous Benchmarking
        1. Visualforce Page Design
        2. Visualforce Controller Design
        3. Integrating the SOAP Web Service
        4. Sample Implementation
      5. Summary
    22. 11. Advanced Integration
      1. Introduction to the Force.com Streaming API
        1. Overview
        2. Getting Started with Force.com Streaming API
      2. Working with the Force.com Bulk API
        1. Overview
        2. Importing Records
        3. Exporting Records
      3. Getting Started with Force.com Canvas
        1. Overview
        2. Getting Started with Force.com Canvas
      4. Introduction to the Force.com Tooling API
        1. Overview
        2. Getting Started with Force.com Tooling API
      5. Understanding the Force.com Metadata API
        1. Overview
        2. Getting Started with the Metadata API
      6. Sample Application: Database Integration
        1. Integration Scenario
        2. Implementation Strategy
        3. Sample Implementation
      7. Summary
    23. 12. Social Applications
      1. Overview of the Chatter Data Model
        1. Chatter Posts
        2. Chatter Comments
        3. Feed-Tracked Changes
        4. Followed Records
      2. Using Chatter in Apex
      3. Introduction to the Chatter REST API
      4. Working with Chatter Visualforce Components
      5. Sample Application: Follow Project Team
      6. Summary
    24. Index