

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Indonesia.
Deliver impressive enterprise-grade applications using the Salesforce Platform with the help of established architectural patterns and best developer practices. Key Features Use the latest capabilities of the Salesforce Platform to code robust apps and web experiences, with an extended focus on Lightning Web Components Branch out to Java, Node.js, and other languages with a new chapter exploring app development capabilities using Heroku and Functions Extend your application with access to external services following new coverage of OpenAPI enabled API services Book Description Salesforce makes architecting enterprise grade applications easy and secure โ but you'll need guidance to leverage its full capabilities and deliver top-notch products for your customers. This fourth edition brings practical guidance to the table, taking you on a journey through building and shipping enterprise-grade apps. This guide will teach you advanced application architectural design patterns such as separation of concerns, unit testing, and dependency injection. You'll also get to grips with Apex and fflib, create scalable services with Java, Node.js, and other languages using Salesforce Functions and Heroku, and find new ways to test Lightning UIs. These key topics, alongside a new chapter on exploring asynchronous processing features, are unique to this edition. You'll also benefit from an extensive case study based on how the Salesforce Platform delivers solutions. By the end of this Salesforce book, whether you are looking to publish the next amazing application on AppExchange or build packaged applications for your organization, you will be prepared with the latest innovations on the platform. What you will learn Create and deploy packaged apps for your own business or for AppExchange Understand Enterprise Application Architecture patterns Customize the mobile and desktop user experience with Lightning Web Components Manage large data volumes with asynchronous processing and big data strategies Learn how to go beyond the Apex language, and utilize Java and Node.js to scale your skills and code with Heroku and Salesforce Functions Test and optimize Salesforce Lightning UIs Use Connected Apps, External Services, and Objects along with AWS integration tools to access off platform code and data with your application Who this book is for If you are a Salesforce developer who wants to unlock the true potential of the Salesforce platform and deliver complex, scalable applications within your company or for use in large enterprises you target through AppExchange, then you have come to the right place. You will need a solid foundation of Salesforce development to dive into this book โ it is here to elevate your skills, not teach you the basics. Table of Contents Building and Publishing Your Application Leveraging Platform Features Application Storage Apex Execution and Separation of Concerns Application Service Layer Application Domain Layer Application Selector Layer Additional Languages, Compute, and Data Services Building User Interfaces User Interfaces and the Lightning Component Framework Providing Integration and Extensibility Asynchronous Processing and Big Data Volumes Unit Testing Source Control and Continuous Integration Integrating with External Services Adding AI with Einstein Review: Good book for senior devs & dev leads - The plot of the book is extremely promising. Indeed, it contains valuable information, and I personally appreciate authorโs efforts he put into this artefact. I also appreciate that the majority of topics are explained with sample codebase available on Github. Nevertheless, I managed to collect a list of pitfalls/typos I would like author to review (if possible). Because, some of the items caused issues with regards to perception of the information/statements outlined throughout the book. Thatโs my own opinion solely. Chapter 1 - Page 16-17 โ in Dev Hub org the one should enable โEnable Unlocked Packages and Second-Generation Managed Packagesโ setting prior to running sfdx force:package:create command - The path parameter should be โsource/formulaforceโ instead of โforce-appโ (code snippet typo) - Page 18-19 โ invalid sfdx command โinstallationkeybypassโ should not have space sign - Hard-to-follow section dedicated to package creation, version creation and managing ancestries โ the samples should be aligned with codebase provided (actually, everything got broken after missteps on pages 16-17) - Statement on page 26 (right at top) โ seems to be misleading (based on the context section) - Page 29 โ too little information about Environment Hub & TSO and its capabilities (Iโm frustrated) - Page 34 โ typo in SFX word - Page 42 โ non-deterministic statement with regards to Connected App packaging Overall, a lot of packaging-related topics were covered, but those are too high-level. Chapter 2 - Page 53 โ misleading statement about non-deterministic encryption (encrypted value is NOT the same each time) - Page 69 โ typo in โinherit sharingโ Chapter 3 - Page 90 โ hands-on challenge โ not clear what packaging org is? - Page 96-98 โ The pictures in this chapter provide screenshots from the org (known as packaging org, probably a scratch org) where component names do not contain namespace prefix โ at the very beginning it was asked to update โsfdx-project.jsonโ file by appending unique NS (composed separately and uniquely for each reader) โ therefore there are differences between pictures in book and the real pseudo-implementation of steps provided in the book (app creation). - Page 102 โ it was a real surprise to see that provided apps (Race Management and Race Analytics) are classic ones โ not Lightning Apps - Page 110 โ sfdx import command does not function and errors out with โThe requested resource does not existโ code (the issue is related to NS prepended to all components in the org when โsfdx-project.jsonโ file was updated according to instructions in the book) - Page 113 โ typo in โHeroku Kafaโ (should be Kafka) Chapter 4 - Page 127 โ typo in โinherit sharingโ - Page 131 โ calling synchronous context as โinteractiveโ context is confusing, better to keep consistent naming (same as in SF docs) โ IMHO - Page 148 โ typo in โandapโ Chapter 5 - Page 165-166 โ typo in snippets - Page 167 โ โkeywordโ instead of โkeyboardโ - The provided repo is NOT prepared for ongoing merges (chapter by chapter branch) โ the file content within repo mismatches with content from the book Chapter 6 - Page 206 โ typo Chapter 7 - Page 261 โ misleading statement at the bottom with code snippet typo Chapter 8 - Page 287-288 โ failed to set up local postgreSQL server with snippets provided โ had to to comment out [ssl: { rejectUnauthorized: false }] in 2 files to make it work - Page 295 โ SOQL query is invalid since the development was conducted in namespaced scratch org โ hence NS prefixes should be added to referenced custom fields - Page 314 โ typo (at the bottom) Chapter 9 - โCustom Report UI and Analytics APIโ โ expect more content with samples (especially using reports to drive an alternative approach for records selection in Apex) - โManaging performance and response timesโ โ expected more content on this crucial topic (would be interested in optimisation techniques that improve page load + getDescriptor calls issues by SF when page loads) Chapter 10 - Page 377 โ no sample data for Races Data object provided - Would be appreciated if there were more content with emphasis on salesforce mobile experience Chapter 11 - Page 451 โ invalid Apex REST api base endpoint (it should be prefixed with โservices/apexrestโ ) - Page 466 โ misleading CMT screenshot โ โInterface Typeโ field should be disabled as it was marked as โUpgradeableโ (DeveloperControlled) Chapter 12 - Page 504 โ ProcessRaceDataJob batch does NOT update Driver Name field (along with Contestant lookup) Chapter 13 - Page 536 โ โRaceControllerTestMockitoDemoโ class is not present int sample code - Page 543 โ it would be appreciated if there were more samples/explanations on how fflib matchers work Chapter 14 โ None Chapter 15 - It would be ideal if you could provide an examples of using common OAuth flows in conjunctions with custom Auth Providers (for example โ use custom auth provider plugin for server-server Client Credential Flow) Chapter 16 โ None Review: Must Have Salesforce Developer/Architect Guide! - Must have! Very comprehensive and easy to follow.







| Best Sellers Rank | #1,500,617 in Books ( See Top 100 in Books ) #655 in Software Testing #957 in Enterprise Applications #2,215 in Internet & Telecommunications |
| Customer Reviews | 4.3 out of 5 stars 43 Reviews |
A**H
Good book for senior devs & dev leads
The plot of the book is extremely promising. Indeed, it contains valuable information, and I personally appreciate authorโs efforts he put into this artefact. I also appreciate that the majority of topics are explained with sample codebase available on Github. Nevertheless, I managed to collect a list of pitfalls/typos I would like author to review (if possible). Because, some of the items caused issues with regards to perception of the information/statements outlined throughout the book. Thatโs my own opinion solely. Chapter 1 - Page 16-17 โ in Dev Hub org the one should enable โEnable Unlocked Packages and Second-Generation Managed Packagesโ setting prior to running sfdx force:package:create command - The path parameter should be โsource/formulaforceโ instead of โforce-appโ (code snippet typo) - Page 18-19 โ invalid sfdx command โinstallationkeybypassโ should not have space sign - Hard-to-follow section dedicated to package creation, version creation and managing ancestries โ the samples should be aligned with codebase provided (actually, everything got broken after missteps on pages 16-17) - Statement on page 26 (right at top) โ seems to be misleading (based on the context section) - Page 29 โ too little information about Environment Hub & TSO and its capabilities (Iโm frustrated) - Page 34 โ typo in SFX word - Page 42 โ non-deterministic statement with regards to Connected App packaging Overall, a lot of packaging-related topics were covered, but those are too high-level. Chapter 2 - Page 53 โ misleading statement about non-deterministic encryption (encrypted value is NOT the same each time) - Page 69 โ typo in โinherit sharingโ Chapter 3 - Page 90 โ hands-on challenge โ not clear what packaging org is? - Page 96-98 โ The pictures in this chapter provide screenshots from the org (known as packaging org, probably a scratch org) where component names do not contain namespace prefix โ at the very beginning it was asked to update โsfdx-project.jsonโ file by appending unique NS (composed separately and uniquely for each reader) โ therefore there are differences between pictures in book and the real pseudo-implementation of steps provided in the book (app creation). - Page 102 โ it was a real surprise to see that provided apps (Race Management and Race Analytics) are classic ones โ not Lightning Apps - Page 110 โ sfdx import command does not function and errors out with โThe requested resource does not existโ code (the issue is related to NS prepended to all components in the org when โsfdx-project.jsonโ file was updated according to instructions in the book) - Page 113 โ typo in โHeroku Kafaโ (should be Kafka) Chapter 4 - Page 127 โ typo in โinherit sharingโ - Page 131 โ calling synchronous context as โinteractiveโ context is confusing, better to keep consistent naming (same as in SF docs) โ IMHO - Page 148 โ typo in โandapโ Chapter 5 - Page 165-166 โ typo in snippets - Page 167 โ โkeywordโ instead of โkeyboardโ - The provided repo is NOT prepared for ongoing merges (chapter by chapter branch) โ the file content within repo mismatches with content from the book Chapter 6 - Page 206 โ typo Chapter 7 - Page 261 โ misleading statement at the bottom with code snippet typo Chapter 8 - Page 287-288 โ failed to set up local postgreSQL server with snippets provided โ had to to comment out [ssl: { rejectUnauthorized: false }] in 2 files to make it work - Page 295 โ SOQL query is invalid since the development was conducted in namespaced scratch org โ hence NS prefixes should be added to referenced custom fields - Page 314 โ typo (at the bottom) Chapter 9 - โCustom Report UI and Analytics APIโ โ expect more content with samples (especially using reports to drive an alternative approach for records selection in Apex) - โManaging performance and response timesโ โ expected more content on this crucial topic (would be interested in optimisation techniques that improve page load + getDescriptor calls issues by SF when page loads) Chapter 10 - Page 377 โ no sample data for Races Data object provided - Would be appreciated if there were more content with emphasis on salesforce mobile experience Chapter 11 - Page 451 โ invalid Apex REST api base endpoint (it should be prefixed with โservices/apexrestโ ) - Page 466 โ misleading CMT screenshot โ โInterface Typeโ field should be disabled as it was marked as โUpgradeableโ (DeveloperControlled) Chapter 12 - Page 504 โ ProcessRaceDataJob batch does NOT update Driver Name field (along with Contestant lookup) Chapter 13 - Page 536 โ โRaceControllerTestMockitoDemoโ class is not present int sample code - Page 543 โ it would be appreciated if there were more samples/explanations on how fflib matchers work Chapter 14 โ None Chapter 15 - It would be ideal if you could provide an examples of using common OAuth flows in conjunctions with custom Auth Providers (for example โ use custom auth provider plugin for server-server Client Credential Flow) Chapter 16 โ None
D**G
Must Have Salesforce Developer/Architect Guide!
Must have! Very comprehensive and easy to follow.
T**Y
Detailed knowledge for the Salesforce Platform
Developing successfully for the modern digital world requires using a platform. Finding the right platform can vary depending on the business sector, but โSalesforce Platform Enterprise Architecture, 4th Edโ (Packt, 2023) by Andrew Fawcett shares some useful approaches to this unique platform. Previewing an early copy, the book had not yet been divided into sections. The first three chapters cover the introduction to the platform, the next four deal with the separation of concerns, including various layers, the four deal with production concerns, and the last five deal with advanced topics. If currently developing in the Salesforce environments, this book could provide an excellent reference. The first section jumps in to set the developer up for success with multiple tools. One of the strong points of this text is using a continuous model to display tools. The sample chosen is called โFormulaForceโ and deals with managing data associated with Formula 1 racing. The key learning points are setting up the initial UI, configuring the development environment, and storing data for later access. Those areas build directly into the next section on separating concerns for development environments through domains, selectors, and services. Each section has a dedicated chapter which uses a standard format to cover all the pieces. This area also introduces the concept of SOQL (Salesforce Object Query Language), the unique aspect of finding oneโs data within Salesforce environments. Also introduced is Apex, the unique coding within the Salesforce platform as well as the various Lightning apps, the proprietary services associated with the same platform. The last truly relevant section deals with moving new development to production through additional languages, user interfaces, and integration. Again, this section strongly relies on the Lightning components to reach success. One chapter explicitly deals with what Lightning offers and the ways to make it successful through integration. It was interesting that the book only touches briefly on MuleSoft, as I recently reviewed a book using the MuleSoft platform as a primary dev environment for SalesFroce. The final section adds some advanced concepts. Unit testing shows up here even though the process of testing appears throughout the entire work. Source control appears briefly, primarily through using GitHub as an external repository and then working through Lightning. Some mention appears of connecting to other external or internal applications, one of the primary needs if one is developing in a third-party approach like Salesforce. The last chapter mentions some of the nice things the included machine-learning algorithms, labeled as the Einstein AI, can help with if one is moving big data options through Salesforce. My biggest complaint about the book is I never felt as if I received a reason to use the Salesforce platform as opposed to my local environment or another application like Mulesoft. The training on all the various pieces and making them work was great, but even with the FormulaForce sample, the connections just were not there. I work with platforms on a regular basis, and my company offers a platform-first approach but I couldnโt find a reason why this enterprise platform would be a better approach than any other. It is an add-on to the basic SalesForce package so requires additional expense, the support community did not appear to be present, and at the end of the day, I still have to call out to other APIs or applications to create success. Overall, โSalesforce Platform Enterprise Architecture, 4th Edโ (Packt, 2023) provides an excellent reference for anyone developing in the Salesforce enterprise. The details are exquisite, the code references are thorough and provide an opportunity to expand for oneโs own development needs. The biggest problem is no comparison occurs between this platform and others that one might choose for development. Again, if one needs a strong reference for this area, the book is for you.
M**E
Extremely In-Depth for Development
This book is highly detailed and in-depth guide for building large successful apps/projects within Salesforce. Really great resource for someone looking to go from SF Admin to something more technical. Covers some SF basics like configurations and apex to API/integrations/source control/data processing.
D**S
Expert guidance on the Salesforce platform from someone who truly knows...
As a technical instructor and application developer, Iโve found that not too many people read thick technical books anymore. But for Salesforce developers and architects, especially those new to the platform, reading the right book from the right author with the right perspective and experience, on the right concepts and topics can mean the difference between success or failure of a project. For those focused on enterprise class business applications or ISV product development, such is Andy Fawcett's fourth edition of his book on Salesforce Platform Enterprise Architecture, current to the Summer 23 latest release. What makes Andyโs book different is his extremely deep dive into architecting and implementing applications at enterprise scale utilizing current platform features with the most recent developer tooling, all the while utilizing enterprise class traditional software development patterns and best practices. He targets architects and developers who need to understand the platform at a deeper level to support their development effort. He presents his technical knowledge, wisdom and perspective gained during his many years as CTO of FinancialForce an AppExchange ISV, where he and his dev team pushed the envelope on what was possible with Apex and Force.com. That was well before he joined Salesforce, where he now helps build out platform capabilities as a VP of Product Management for the Platform Team. The depth and breadth of his content is far too detailed to outline here, however I think the following sections stand out. He begins with an introduction and walk-through of the Salesforce Developer Experience (SFDX) showing how it supports enterprise class application development, whether for a business application or ISV product. He introduces the tools, packaging mechanisms, and the use of the Salesforce Command Line Interface (CLI) and shows how it provides everything needed for development, packaging and deployment across the platform landscape. You also get a sample application to work with for hands-on learning as you explore the development process and the coding patterns he will introduce later in the book. He walks through an inventory of the many current key platform features, including the component based UI framework Lightning Web Components, and many supporting declarative low code automation and customization tools. He describes the purpose and key usage of each, and provides context and perspective on the dependency relationships between various aspects of the platform. His valuable guidance points out some of the common pitfalls inherent in the nature of the platform, and I love how he inserts page notes containing tips relevant to a particular topic of discussion with curated links back to relevant product documentation. His adoption and adaptation of Martin Fowler's traditional software development patterns around Separation of Concerns (SOC) and related best practices evolved from his companyโs earliest product architecture designed to tame APEX execution. The SOC coding framework they built (fflib) allowed the company's product to push the limits of the platform. While still CTO at FinancialForce, deeply involved as a Salesforce MVP, Andy open sourced fflib as a contribution to the developer community making it available to all. He provides his current thinking and perspective on each of the layers - Service, Domain and Selector - along with a sample application to explore and demonstrate scalability and maintainability patterns for any Apex code base. He includes a detailed discussion of governor limits and strategies to leverage Heroku and Salesforce Functions to scale out complex operations beyond platform limits. His DevOps, Continuous Integration (CI) and testing chapters include Apex unit testing as well as the web component testing frameworks JEST and UTAM, and additional chapters on ancillary critical areas include data storage, transactions, caching, security, scaling, integrating external systems and much more. In summary, Andy's book embodies the wisdom of one who has truly been over the mountain and is still pushing the limits of the platform. It's a must read, whether you're an application developer, architect, or business analyst. Expect to come away with a deep understanding of the depth and breadth of the Salesforce platform, along with a tried and true architectural approach that can seriously impact your success, and help you architect and build your systems with scalability, sustainability, and maintainability.
J**I
Not enterprise architecture
This is not an enterprise architecture book. It is more of a developer handbook
K**M
Screenshots don't match wording
I am following along creating the FormulaForce app, The instructions and the screenshots don't much up. The author would mention something of a topic that he mention on previous section but would not reference which sections he mentioned it in. Very hard to read.
K**S
This excellent book goes beyond the WHAT - digs into the HOW - and the WHY
This book is not just focused on Enterprise Architecture. It covers concerns/considerations that are appropriate for both delivery teams and architecture roles - across an organization. A well written book that should be owned by teams involved in designing and developing Salesforce Platform solutions (e.g., Managers, Developers, Solution Architects, Enterprise Architects, Security Architects, Integration Architects, Data Architects, AI & ML specialists). Andrew Fawcett's book is well organized and well written. At 600+ pages, the book does a good job at being holistic and comprehensive - covering the essential details to provide a well-rounded hands-on experience for the reader. I particularly appreciated the coverage of the Salesforce DX, CLI, and the Microsoft Visual Studio Code (VSCode) IDE. I also very much appreciated the author's efforts to include useful links to Salesforce documentation & resources - as well a references to useful 3rd party resources. As a contrast with other Salesforce architecture focused books on the market - this book provides plenty of hands-on exercises for the reader to develop practical experience. Some topics covered that will be of particular interests to architects...architecture considerations related to: - Security - Encryption - Authentication/Authorization - Data Security - Data Architecture/Storage - Change Data Capture (CDC) strategies - Deployment - Platform APIs (REST, SOAP, GraphQL) - and API versioning - OpenAPI v3, Swagger - Localization - Flow (for business process automation) - Salesforce Limits - Execution context, and transaction management - and platform governors - Separation of Concerns - Apex Commons library - that supports patterns - Naming Conventions, Checklists & Guidelines - Contract Driven development - Testing (Constructor Dependency Injection, Apex Stub API, Dependency Injections, ApexMocks, UI Test Automation Model, ...) - Citations of Martin Fowlerโs Patterns of Enterprise Application Architecture woven into the narrative - Salesforce Functions SDK - Lightning architecture - and the new LWC framework (re: UIs) - Integration capabilities (touching on Salesforce's Mulesoft integration platform, and the new DataWeave transformation language) - as well as integrating with external services (inbound, outbound, Connected App type - leveraging OAuth, Named Credentials for outbound calls, External Objects - leveraging OData standard, extended features for integration with AWS Services) - Pub/Sub messaging via Platform Events feature (leveraging industry standard gRPC API) - Standard Platform APIs for integration - Apex application APIs - Exposing platform events - Asynchronous processing - Big data processing strategies (e.g., billions of records) - Batch Apex - Source Control and Continuous Integration (touching on Jenkins usage - which I also recommend) - Touching on AI with Salesforce's Einstein capabilities Some readers might quibble with the title - since this book is not solely (or mostly) focused on Enterprise Architecture - but I appreciated the level of hands-on examples - as it deepened my knowledge and understanding.
A**U
Great book!
Every Salesforce developer needs to have read this book at least five times in their life. It helps building a coherent technology and concept and set of ideas that everyone can follow and easily discuss without having to define every single minor term.
A**E
Application Architecture 100%
Another review declared the book as developer handbook and gave it a bad score. BUT: This book shows one good way to structure your SF code. And the book - thanks god - everytime presents implementation examples. Which is incredible valuable. You can feel the experience of all authors through the clear and little explaining steps. And thats much better than thousand whiteboards, cool models and some sky scraping, high abstract "architecture talk". And if you read and think about it, not focusing only on the code examples it gives a rock solid application design recommendation. It is exactly what I was looking for. The many sources in the internet regarding fflib aren't that detailed and with that many facettes explained. If you understand the details you can abstract the picture. Really like and recommend it. Am waiting for a new edition in two years ๐
Trustpilot
3 weeks ago
5 days ago