Как создать бэкэнд для Play Framework?
В этом учебном пособии вы узнаете, как создать полный бэкенд для Play Framework с использованием Back4App.
Мы рассмотрим основные функции для серверных бэкендов, включая настройку конфигурации, управление базами данных, функции Cloud Code, REST и GraphQL API, аутентификацию пользователей, хранение файлов и запросы в реальном времени.
Вы увидите, как Back4App упрощает процесс настройки, масштабирования и поддержки бэкенда веб-приложения, позволяя вам сосредоточиться на вашем коде Play Framework.
Изучив, как построить бэкенд для Play Framework с помощью Back4App, вы сократите время разработки и минимизируете проблемы с dev ops.
Вы также добавите надежные функции, такие как социальный вход, планирование задач (Cloud Jobs) и вебхуки. После завершения вы сможете расширить систему до решения уровня производства, интегрируя более сложные функции по мере необходимости.
Когда вы закончите, у вас будет надежный план для создания вашего следующего масштабируемого и безопасного веб-приложения на Play Framework.
Вы будете готовы углубиться в улучшение производительности, интеграции или оптимизации режима разработки для удовлетворения реальных требований.
Чтобы завершить этот учебник, вам понадобятся:
- Учетная запись Back4App и новый проект Back4App Начало работы с Back4App. Если у вас нет учетной записи, вы можете создать ее бесплатно. Следуйте приведенному выше руководству, чтобы подготовить ваш проект.
- Рабочая среда Play Framework
- Знание REST или GraphQL Это поможет вам взаимодействовать с Back4App, особенно если вы решите не использовать или не сможете использовать Parse SDK напрямую.
Убедитесь, что у вас есть все эти предварительные требования перед началом. Наличие настроенного проекта Back4App и готовой среды Play Framework поможет вам легко следовать инструкциям.
Новый проект Back4App является основой для вашего бэкенда, так как он управляет данными вашего приложения, аутентификацией и облачной логикой. Независимо от того, создаете ли вы небольшой прототип или крупномасштабное веб-приложение, легко подключить ваше приложение Play Framework к новому проекту Back4App.
- Войдите в свою учетную запись Back4App.
- Нажмите “Новое приложение” в вашей панели управления Back4App.
- Назовите ваше приложение, например, “Play-Framework-Backend”.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/drXO0UqsgxhFvRDiVmsMb_image.png?format=webp)
После создания ваш новый проект появится в панели управления.
Back4App использует Parse Server. Если ваше приложение на Play Framework планирует взаимодействовать с Back4App через Parse Java SDK, вы можете добавить его в ваш build.sbt при необходимости. В противном случае вы можете использовать REST или GraphQL конечные точки.
Получите ваши ключи Parse:
- В вашей панели управления Back4App откройте Настройки приложения или Безопасность и ключи чтобы найти ваш Идентификатор приложения, Ключ REST API, Ключ JavaScript (если используете фронтенд вызовы), или Ключ клиента, плюс URL сервера (обычно https://parseapi.back4app.com).
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/F9teHXd_M8ERn1OPGirbi_image.png?format=webp)
Использование Java/Parse SDK (необязательно):
Если вы хотите прямую серверную интеграцию с использованием Parse SDK, добавьте зависимость в ваш build.sbt:
Затем, в вашем коде Play Framework, вы можете инициализировать Parse:
Вы можете разместить это в вашем Global.scala или вызвать это из подходящей точки инициализации. Это подготавливает вас к прямому взаимодействию с вашим проектом Back4App. Если вы предпочитаете, используйте REST или GraphQL конечные точки для операций с данными, особенно если вы хотите больше контроля над вашими HTTP-запросами или если вы строите микросервисы.
Сервис хранения данных Back4App поддерживает широкий спектр типов данных и динамическое создание схемы. Это позволяет вам хранить данные вашего приложения Play с минимальными усилиями.
- Откройте раздел “База данных” в вашей панели управления Back4App.
- Создайте новый класс (например, “Todo”) и добавьте столбцы (например, title как String, isCompleted как Boolean).
- Сохраните для завершения вашей схемы базы данных.
![Создать новый класс Создать новый класс](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/iaZ_P-7epc_LSMFIPlaZV_image.png?format=webp)
Если вы хотите быстро определить структуру данных:
- Откройте AI-агента в вашей панели управления приложением.
- Опишите вашу желаемую модель данных простым языком (например, “Создайте простую модель ToDo.”).
- Агент автоматически генерирует схему для вас.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
Если вы решили включить Parse Java SDK в ваше приложение Play Framework, вы можете сохранять и запрашивать данные:
Вы можете отправлять HTTP-запросы из ваших контроллеров или сервисов Play Framework:
Back4App также предоставляет GraphQL API:
Это удобно, если вы создаете микросервисы или хотите гибкий API для ваших клиентских приложений.
Если ваше веб-приложение требует данных в реальном времени, включите живые запросы:
- Включите живые запросы в панели управления Back4App в разделе Настройки сервера.
- Настройте вашу подписку в коде. Если вы используете Parse SDK или собственный код, убедитесь, что вы настроили liveQueryServerURL.
- Подпишитесь на изменения для классов, таких как “Todo.”
Back4App предоставляет Списки контроля доступа (ACL) для безопасности на уровне объектов и Разрешения на уровне классов (CLP) для широких ограничений. Это помогает поддерживать безопасность ваших серверных бэкендов и гарантирует, что происходят только авторизованные операции.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
В разделе База данных вашей панели управления Back4App:
- Выберите класс (например, “Todo”).
- Откройте CLP для ограничения чтения/записи для аутентифицированных пользователей, ролей или для общественности.
- Настройте по мере необходимости (например, “Требуется аутентификация” для любых записей).
ACL защищает отдельные объекты. Например, вы можете гарантировать, что только определенный пользователь может читать или записывать конкретную запись. Если вы используете Parse SDK из кода Scala:
Облачный код позволяет вам выполнять пользовательскую логику на серверах Back4App, добавляя бизнес-правила или валидации до или после транзакций данных. Вам не нужно будет заниматься настройкой собственного сервера или перезапуском в режиме разработки для реализации таких функций.
Вы можете вызвать это из вашего приложения Play через REST, GraphQL или, если используете Parse SDK, напрямую.
Используйте Back4App CLI или панель управления:
- Установите CLI (пример для Linux/MacOS):
- Настройте ключ учетной записи:
- Развернуть:
Или развернуть через панель управления вставив вашу функцию в Cloud Code > Functions и нажав “Развернуть”.
Облачный код поддерживает модули NPM. Например, если вам нужен HTTP-клиент, такой как axios:
Back4App использует класс Parse.User для регистрации, входа и управления сессиями. В ваших настройках конфигурации, убедитесь, что включены «Включить проверку электронной почты» и «Включить сброс пароля», если это необходимо.
Если вам нужны социальные входы (Google, Apple или Facebook), настройте их в вашей панели управления Back4App. Parse предоставляет утилиты или вы можете полагаться на стандартные потоки OAuth, в зависимости от ваших потребностей и подхода.
Back4App хранит файлы через Parse.File. Из Play Framework вы можете загружать с помощью REST или Parse SDK.
Соображения безопасности: Вы можете настроить разрешения на загрузку файлов (включить для публичных, анонимных или аутентифицированных пользователей) в настройках сервера Back4App.
- Перейдите в настройки электронной почты в панели управления Back4App.
- Включите подтверждение электронной почты и настройте шаблоны электронной почты для сброса паролей.
- В вашем приложении Play вы можете вызвать:
Это вызовет Back4App для отправки инструкций по сбросу пароля на электронную почту пользователя.
Если вам нужно начальное задание для фоновой работы (например, очистка данных или генерация отчетов), вы можете запланировать облачные задания на Back4App.
Планирование:
- Разверните ваш облачный код.
- В Настройки приложения > Настройки сервера > Фоновые задания, запланируйте выполнение задания ежедневно, еженедельно или по мере необходимости.
![Планирование облачного задания Планирование облачного задания](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5wG60YnWIST74erryTb-u_image.png?format=webp)
Если вы хотите уведомлять внешние сервисы всякий раз, когда данные изменяются, настройте Webhooks в Back4App.
- Перейдите в Разное > WebHooks в вашей панели управления Back4App.
- Добавить Webhook с конечной точкой (например, Slack или Stripe).
- Выберите триггеры, такие как “Новая запись в классе Todo.”
![Добавление Webhook Добавление Webhook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Вы также можете создавать Webhooks в триггерах Cloud Code, выполняя прямые HTTP-запросы к сторонним сервисам.
![WebHook BeforeSave WebHook BeforeSave](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/fXvy4eRzabyWmN80OMyqW_image.png?format=webp)
Административное приложение Back4App Admin App является удобным интерфейсом для управления данными и записями. Нетехнические пользователи могут выполнять операции CRUD, не углубляясь в код.
- Перейдите в App Dashboard > More > Admin App.
- Включите его и создайте администратора.
- Выберите поддомен для удобного доступа.
![Включите административное приложение Включите административное приложение](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
После входа в систему вы можете управлять записями данных, не беспокоясь о низкоуровневых панелях управления или инструментах CLI.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/jOFU8C0qiFm6wiVZXS9l0_image.png?format=webp)
Поздравляем! Вы научились создавать бэкенд для Play Framework с использованием услуг Back4App. На протяжении этого учебника вы:
- Создали безопасный бэкенд для приложения Play Framework на Back4App.
- Настроили базу данных, включая проектирование схемы, отношения и запросы в реальном времени.
- Применили ACL и CLP для безопасного доступа к данным.
- Написали Cloud Code для пользовательской логики, триггеров и внешних интеграций.
- Настроили аутентификацию пользователей, социальный вход и сброс паролей.
- Обработали загрузку файлов и добавили дополнительную безопасность файлов.
- Запланировали фоновые задачи с помощью Cloud Jobs.
- Интегрировались с сторонними сервисами через Webhooks.
- Изучили панель администратора Back4App для упрощенного управления данными.
С этими инструментами вы можете оптимизировать режим разработки, масштабироваться по мере необходимости и создавать надежные веб-приложения на Play Framework.
Используйте дальнейшие интеграции, настройку производительности и расширенные меры безопасности, чтобы вывести ваши серверные бэкенды на новый уровень.
- Улучшите вашу производственную настройку с помощью кэширования, ведения журналов или инструментов мониторинга.
- Изучите расширенную безопасность с контролем доступа на основе ролей или настройками нулевого доверия.
- Интегрируйте платежные шлюзы или другие сторонние API для коммерции или аналитики.
- Посмотрите официальную документацию Back4App для более глубокого понимания производительности и устранения неполадок.
- Просмотрите больше учебников по приложениям для чата в реальном времени, IoT-решениям или услугам на основе местоположения — многие из которых основаны на методах, описанных в этом руководстве.
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)