Free Sample
+ Collection Enterprise Architecture

Andrew Fawcett

Blend industry best practices to architect and deliver packaged applications that cater to enterprise business needs
RRP $35.99
RRP $59.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781782172994
Paperback402 pages

About This Book

  • Build your own application from start to finish, making use of unique tools and platform features
  • Learn how to use the platform to build a truly integrated, scalable, and robustly engineered application to design, develop, package, and support an application focusing on enterprise-level customer demands
  • Build the first iteration of your own ready-to-install packaged application with the help of a mix of step-by-step, worked examples and tips and tricks that discuss and answer key architectural questions

Who This Book Is For

This book is for advanced developers and architects who need to understand the Salesforce platform from the perspective of enterprise-level requirements. You should have an existing understanding of Apex and Visualforce. Those familiar with other enterprise software ecosystems will also find this book ideal as they adopt

Table of Contents

Chapter 1: Building, Publishing, and Supporting Your Application
Required organizations
Introducing the book's sample application
Package types and benefits
Creating your first managed package
Package dependencies and uploading
Introduction to AppExchange and listings
Installing and testing your package
Becoming a Salesforce partner and benefits
Providing support
Customer metrics
Trialforce and Test Drive
Chapter 2: Leveraging Platform Features
Packaging and upgradable components
Understanding the custom field features
Understanding the available security features
Platform APIs
Localization and translation
Building customizable user interfaces
E-mail customization with e-mail templates
Workflow and Flow
Social features and mobile
Chapter 3: Application Storage
Mapping out end user storage requirements
Understanding the different storage types
Reusing the existing Standard Objects
Importing and exporting data
Options for replicating and archiving data
External data sources
Chapter 4: Apex Execution and Separation of Concerns
Execution contexts
Apex governors and namespaces
Where is Apex used?
Separation of Concerns
Patterns of Enterprise Application Architecture
Unit testing versus system testing
The packaging code
Chapter 5: Application Service Layer
Introducing the Service layer pattern
Implementation of design guidelines
Handling DML with the Unit Of Work pattern
Services calling services
Contract Driven Development
Testing the Service layer
Calling the Service layer
Chapter 6: Application Domain Layer
Introducing the Domain layer pattern
Implementation design guidelines
Domain class template
Implementing Domain Trigger logic
Implementing custom Domain logic
Object-oriented programming
Testing the Domain layer
Calling the Domain layer
Updating the FormulaForce package
Chapter 7: Application Selector Layer
Introducing the Selector layer pattern
Implementing design guidelines
The Selector class template
Implementing the standard query logic
Implementing the custom query logic
Introducing the Selector factory
Updating the FormulaForce package
Chapter 8: User Interface
What devices should you target?
Leveraging the Salesforce standard UI
Translation and localization
Client communication layers
Custom Publisher Actions
Creating websites
Mobile strategy
Custom Reporting and the Analytics API
Updating the FormulaForce package
Chapter 9: Providing Integration and Extensibility
Reviewing your integration and extensibility needs platform APIs for integration
Application integration APIs
Alignment with extensibility features
Extending the application logic with Apex Interfaces
Chapter 10: Asynchronous Processing and Big Data Volumes
Creating test data for volume testing
Indexes, being selective, and query optimization
Asynchronous execution contexts
Volume testing
Chapter 11: Source Control and Continuous Integration
Development workflow and infrastructure
Developing with Source Control
Hooking up Continuous Integration
Releasing from Source Control
Automated regression testing

What You Will Learn

  • Learn how to package, install, test, and upgrade an application, and understand how best to license and support an application
  • Define architecture-aligning data storage and functional requirements with the platform for a consistent and integrated user experience using the platform’s declarative features
  • Develop Apex code that is easy to navigate, self-documenting, testable, robust, and organic leveraging the Separation of Concerns principle
  • Leverage your application's client-agnostic Service layer backbone to support numerous platform areas such as Batch, Scheduler, Visualforce, and the latest Salesforce1 client
  • Apply querying, indexing and asynchronous best practices, guidelines, and patterns for large data volumes and complex processes covering custom indexes and Batch Apex
  • Explore approaches and tips on how to develop advanced application life cycle processes around Source Control, Continuous Integration, and testing, utilizing the Metadata and Tooling APIs from Salesforce

In Detail

Successful enterprise applications require planning, commitment, and investment in understanding the best practices, processes, tools, and features available.

This book will teach you how to architect and support enduring applications for enterprise clients with Salesforce by exploring how to identify architecture needs and design solutions based on industry standard patterns. As your development team grows, managing the development cycle with more robust application life cycle tools and using approaches such as Continuous Integration becomes increasingly important. There are many ways to build solutions on—this book cuts a logical path through the steps and considerations for building packaged solutions from start to finish, covering all aspects from engineering to getting your application into the hands of your customers, and ensuring that they get the best value possible from your application.


Read More