Force.com
Force.com — это платформа как услуга (PaaS), предоставляемая компанией Salesforce. Она предназначена для разработки, развертывания и хостинга корпоративных бизнес-приложений, интегрированных с облачной CRM-системой Salesforce. Платформа позволяет создавать приложения без необходимости управления серверной инфраструктурой, используя встроенные инструменты для работы с базами данных, бизнес-логикой, пользовательским интерфейсом и безопасностью.
История
Платформа Force.com была запущена компанией Salesforce в 2007 году как расширение её основной CRM-системы. Изначально она называлась Apex Platform, но в январе 2008 года на конференции Dreamforce была переименована в Force.com. Основной целью создания платформы было предоставление клиентам и партнёрам возможности разрабатывать собственные приложения, работающие в той же облачной среде, что и Salesforce CRM. Это позволило компаниям кастомизировать и расширять функциональность Salesforce без необходимости покидать экосистему.
В 2014 году Salesforce представила бренд Salesforce1 Platform, который объединил Force.com с мобильными и социальными возможностями. Однако название Force.com продолжает использоваться для обозначения базовой PaaS-платформы. В 2020-х годах платформа остаётся ключевым компонентом экосистемы Salesforce, поддерживая как классические, так и современные подходы к разработке, включая использование низкокодовых инструментов.
Архитектура и компоненты
Мультитенантная архитектура
Force.com построена на мультитенантной архитектуре, где одно и то же программное обеспечение и инфраструктура обслуживают множество организаций (клиентов). Данные каждого клиента логически изолированы, но физически хранятся в общей базе данных. Это позволяет Salesforce эффективно обновлять платформу и снижать затраты на обслуживание. Платформа автоматически балансирует нагрузку между серверами и обеспечивает высокую доступность.
Модель данных
В Force.com используется реляционная база данных, доступная через объекты (аналоги таблиц). Каждый объект имеет стандартные поля (например, имя, дата создания) и может быть расширен пользовательскими полями. Платформа поддерживает:
- Стандартные объекты — предустановленные таблицы, такие как Account, Contact, Opportunity.
- Пользовательские объекты — создаваемые разработчиками для хранения специфических данных.
- Отношения — связи между объектами (один-ко-многим, многие-ко-многим).
Языки программирования и инструменты
- Apex — объектно-ориентированный язык программирования, синтаксически похожий на Java. Используется для реализации бизнес-логики, триггеров и веб-сервисов. Код выполняется на серверах Salesforce.
- Visualforce — фреймворк для создания пользовательских интерфейсов на основе XML-тегов и HTML. Позволяет строить страницы, интегрированные с данными платформы.
- Lightning Web Components (LWC) — современная модель компонентов на основе веб-стандартов (JavaScript, HTML, CSS). Предназначена для создания адаптивных интерфейсов.
- SOQL (Salesforce Object Query Language) — язык запросов, похожий на SQL, для извлечения данных из объектов.
- SOSL (Salesforce Object Search Language) — язык для полнотекстового поиска по нескольким объектам.
Безопасность и управление доступом
Force.com предоставляет многоуровневую модель безопасности:
- Профили — определяют разрешения для групп пользователей (доступ к объектам, полям, функциям).
- Наборы разрешений — расширяют права отдельных пользователей без изменения профиля.
- Правила совместного доступа — настраивают видимость записей на основе ролей, групп или критериев.
- Шифрование данных — поддерживается шифрование на уровне полей и на уровне платформы (Shield Platform Encryption).
Разработка и развертывание
Среда разработки
Разработка приложений на Force.com ведётся в браузере через интерфейс Salesforce (Setup) или с помощью интегрированных сред:
- Salesforce CLI — командная строка для управления метаданными и развёртыванием.
- Visual Studio Code — с расширением Salesforce Extension Pack для работы с Apex, LWC и другими компонентами.
- Sandbox — изолированные копии производственной среды для тестирования.
Процесс развертывания
Код и конфигурация упаковываются в наборы метаданных (Metadata API). Развёртывание может выполняться:
- Через интерфейс Change Sets (для перемещения между организациями).
- С помощью Salesforce CLI или Jenkins для автоматизации CI/CD.
- Через AppExchange — маркетплейс Salesforce, где публикуются готовые приложения.
Применение
Бизнес-приложения
Force.com используется для создания широкого спектра корпоративных приложений:
- CRM-расширения — кастомизация стандартных модулей Salesforce (управление продажами, сервисом, маркетингом).
- HR и управление персоналом — системы учёта сотрудников, отпусков, найма.
- Финансы и бухгалтерия — приложения для управления бюджетами, счетами, отчётностью.
- Логистика и цепочки поставок — отслеживание заказов, складских остатков, поставок.
Интеграции
Платформа поддерживает интеграции с внешними системами через:
- REST и SOAP API — для обмена данными с любыми веб-сервисами.
- Heroku Connect — синхронизация с базами данных на платформе Heroku.
- MuleSoft Anypoint Platform — для построения сложных интеграционных решений.
- Outbound Messaging — отправка данных во внешние системы по протоколу SOAP.
Преимущества и ограничения
Преимущества
- Отсутствие управления инфраструктурой — все серверы, базы данных и обновления обслуживаются Salesforce.
- Быстрая разработка — низкокодовые инструменты (Process Builder, Flow) позволяют создавать приложения без программирования.
- Встроенная безопасность — соответствие стандартам ISO 27001, SOC 2, GDPR и другим.
- Масштабируемость — платформа автоматически обрабатывает рост нагрузки.
Ограничения
- Зависимость от вендора — полная привязка к экосистеме Salesforce, миграция на другие платформы затруднена.
- Ограничения Apex — существуют лимиты на количество запросов к базе данных, объём кода и время выполнения (Governor Limits).
- Стоимость — лицензии на Force.com могут быть дорогими для малого бизнеса.
- Сложность кастомизации — глубокие изменения требуют знания Apex и Visualforce, что повышает порог входа.
Критика
Основные критические замечания в адрес Force.com связаны с её проприетарным характером. Разработчики вынуждены изучать специфичные языки (Apex) и инструменты, которые не используются за пределами экосистемы Salesforce. Это создаёт риск «vendor lock-in» — зависимости от одного поставщика. Кроме того, платформа имеет жёсткие лимиты на выполнение кода (Governor Limits), что может затруднять реализацию сложных алгоритмов или обработку больших объёмов данных. Некоторые пользователи отмечают, что стоимость лицензий растёт с каждым годом, а процесс обновления платформы (трижды в год) иногда приводит к несовместимости с ранее созданными приложениями.
Источники
- Salesforce. «Force.com Platform Overview». Salesforce Documentation.
- Salesforce. «Apex Developer Guide». Salesforce Developers.
- Salesforce. «Security Guide». Salesforce Trust.
- Gartner. «Magic Quadrant for Enterprise Low-Code Application Platforms». 2023.
- Forrester Research. «The Forrester Wave™: Low-Code Development Platforms». 2022.
- TechCrunch. «Salesforce Launches Force.com Platform». 2008.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →