クイックスターターズ

Play Frameworkのバックエンドを構築する方法は?

33min

はじめに

このチュートリアルでは、Back4Appを使用してPlay Frameworkの完全なバックエンドを構築する方法を学びます。

設定、データベース管理、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、ファイルストレージ、リアルタイムクエリなど、サーバーバックエンドのための重要な機能を通じて説明します。

Back4Appがウェブアプリケーションのバックエンドの設定、スケーリング、維持のプロセスをどのように簡素化し、Play Frameworkのコードに集中できるようにするかを見ていきます。

Back4Appを使用してPlay Frameworkのバックエンドを構築する方法を学ぶことで、開発時間を短縮し、開発運用の頭痛を最小限に抑えることができます。

ソーシャルログイン、タスクのスケジューリング(Cloud Jobs)、Webhookなどの堅牢な機能も追加します。これを完了すると、必要に応じてより高度な機能を統合し、プロダクショングレードのソリューションにシステムを拡張できます。

完了すると、次のスケーラブルで安全なPlay Frameworkウェブアプリケーションを作成するための確固たる設計図が得られます。

実際の要求に対応するために、パフォーマンスの向上、統合、または開発モードの最適化にさらに深く取り組む準備が整います。

前提条件

このチュートリアルを完了するには、次のものが必要です:

  • Back4Appアカウントと新しいBack4Appプロジェクト Back4Appの始め方。 アカウントをお持ちでない場合は、無料で作成できます。上記のガイドに従ってプロジェクトを準備してください。
  • 動作するPlay Framework環境
  • Play Frameworkの基本的な知識 基礎を復習する必要がある場合は、Playドキュメントを参照してください。
  • RESTまたはGraphQLに関する知識 これにより、Back4Appとやり取りするのが容易になります。特に、Parse SDKを直接使用しないことを決定した場合や、使用できない場合に役立ちます。

始める前に、これらの前提条件が整っていることを確認してください。Back4Appプロジェクトが設定され、Play Framework環境が準備されていると、スムーズに進めることができます。

ステップ1 – Back4Appで新しいプロジェクトを作成し、接続する

新しいBack4Appプロジェクトが必要な理由

新しいBack4Appプロジェクトは、アプリケーションのデータ、認証、クラウドロジックを管理するため、バックエンドの基盤となります。小さなプロトタイプを構築する場合でも、大規模なWebアプリケーションを構築する場合でも、Play Frameworkアプリを新しいBack4Appプロジェクトに簡単に接続できます。

Back4Appプロジェクトの作成

  1. Back4Appアカウントにログイン.
  2. 「新しいアプリ」をクリック Back4Appダッシュボードで。
  3. アプリの名前を付ける, 例えば、「Play-Framework-Backend」。
Document image


作成が完了すると、新しいプロジェクトがダッシュボードに表示されます。

Back4Appとの接続

Back4AppはParse Serverを活用しています。Play FrameworkアプリがParse Java SDKを介してBack4Appとやり取りする予定がある場合は、必要に応じてbuild.sbtに追加できます。そうでない場合は、RESTまたはGraphQLエンドポイントを使用できます。

Parseキーを取得:

  • Back4Appダッシュボードで、アプリ設定またはセキュリティとキーを開いて、アプリケーションID, REST APIキー, JavaScriptキー(フロントエンド呼び出しを使用する場合)、またはクライアントキー, さらにサーバーURL(通常はhttps://parseapi.back4app.com)。
Document image


Java/Parse SDKの使用(オプション):

Parse SDKを使用して直接サーバーサイド統合を行いたい場合は、あなたの build.sbt:

Text


次に、Play Frameworkのコード内でParseを初期化できます:

Text


これをあなたの Global.scala に配置するか、適切な初期化ポイントから呼び出すことができます。これにより、Back4Appプロジェクトとの直接的なインタラクションが可能になります。 もし好ましい場合は、データ操作のためにRESTまたはGraphQLエンドポイントを使用してください。特にHTTPリクエストをより制御したい場合や、マイクロサービスを構築している場合に便利です。

ステップ2 – データベースの設定

Back4Appのデータストレージサービスは、幅広いデータタイプと動的スキーマの作成をサポートしています。これにより、Playアプリのデータを最小限の手間で保存できます。

データモデルの作成

  1. 「データベース」セクションを Back4Appダッシュボードで開きます。
  2. 新しいクラスを作成します(例:「Todo」)およびカラムを追加します(例、titleをStringとして、isCompletedをBooleanとして)。
  3. 保存してデータベーススキーマを確定します。
新しいクラスを作成
新しいクラスを作成


AIエージェントを使ったデータモデルの作成

データ構造を迅速に定義したい場合:

  1. アプリダッシュボードで AIエージェントを開きます。
  2. 希望するデータモデルを平易な言葉で説明します(例:「シンプルなToDoモデルを作成します。」)。
  3. エージェントが自動的にスキーマを生成します。
Document image


Parse SDKを使用したデータの読み取りと書き込み(オプション)

Play FrameworkアプリにParse Java SDKを含めることを選択した場合、データを保存およびクエリできます:

Text


RESTを使用したデータの読み取りと書き込み

Play FrameworkのコントローラーやサービスからHTTPリクエストを送信できます:

Bash


GraphQLを使用したデータの読み取りと書き込み

Back4AppはGraphQL APIも提供しています:

GraphQL


これは、マイクロサービスを構築している場合や、フロントエンドクライアント用の柔軟なAPIが必要な場合に便利です。

ライブクエリの使用

あなたの ウェブアプリケーション がリアルタイムデータを必要とする場合は、 ライブクエリ を有効にしてください:

  1. ライブクエリを有効にする はBack4Appダッシュボードの サーバー設定 の下にあります。
  2. コードで サブスクリプションを設定します。Parse SDKまたはカスタムコードを使用している場合は、 liveQueryServerURL を構成してください。
  3. “Todo”のようなクラスの変更に サブスクライブします。

ステップ3 – ACLとCLPによるセキュリティの適用

ACLとCLPの概要

Back4Appは、オブジェクトレベルのセキュリティのための アクセス制御リスト (ACL) と、広範な制限のための クラスレベルの権限 (CLP) を提供します。これにより、サーバーのバックエンドを安全に保ち、認可された操作のみが行われることを保証します。

Document image


クラスレベルの権限

Back4Appダッシュボードの データベース セクションで:

  1. クラスを選択する (例: “Todo”)。
  2. CLPを開く 認証されたユーザー、ロール、または一般公開に対して読み書きを制限します。
  3. 必要に応じて構成します (例: 書き込みには“認証が必要”)。

ACL

ACLは個々のオブジェクトを保護します。たとえば、特定のユーザーだけが特定のレコードを読み書きできるようにすることができます。ScalaコードからParse SDKを使用している場合:

Text


ステップ4 – クラウドコード関数の作成

なぜクラウドコードなのか

クラウドコードを使用すると、Back4Appのサーバー上でカスタムロジックを実行でき、データトランザクションの前後にビジネスルールやバリデーションを追加できます。このような関数を実装するために、自分自身でサーバーのプロビジョニングや開発モードの再起動を処理する必要はありません。

例の関数

JS


これをREST、GraphQL経由で、またはParse SDKを使用している場合は直接呼び出すことができます。

デプロイメント

次のいずれかを使用してください Back4App CLI またはダッシュボード:

  1. CLIをインストールする (Linux/MacOSの例):
  2. アカウントキーを設定する:
  3. デプロイする:

または ダッシュボード経由でデプロイする に関数を貼り付けて Cloud Code > Functions を選択し、「デプロイ」をクリックします。

NPMモジュールの使用

クラウドコードはNPMモジュールをサポートしています。たとえば、次のようなHTTPクライアントが必要な場合 axios:

JS


ステップ 5 – 認証の設定

ユーザー認証の有効化

Back4Appは、Parse.Userクラスを使用して、サインアップ、ログイン、およびセッション管理を行います。あなたの設定で、「メール確認を有効にする」と「パスワードリセットを有効にする」を必要に応じて確認してください。

サンプルコード (Parse SDK)

Text


ソーシャルログイン

Google、Apple、またはFacebookのソーシャルログインが必要な場合は、Back4Appダッシュボードで設定してください。Parseはユーティリティメソッドを提供するか、ニーズとアプローチに応じて標準のOAuthフローに依存できます。

ステップ 6 – ファイルストレージの取り扱い

Back4Appはファイルを Parse.File を介して保存します。Play Frameworkからは、RESTまたはParse SDKを使用してアップロードできます。

Text


セキュリティの考慮事項: Back4Appのサーバー設定でファイルアップロードの権限(公開、匿名、または認証済みのために有効にする)を構成できます。

ステップ 7 – メール確認とパスワードリセット

  1. Back4Appダッシュボードで メール設定に移動します。
  2. メール確認を有効にする とパスワードリセット用のメールテンプレートを設定します。
  3. Playアプリで、次のように呼び出すことができます:
Bash


これにより、Back4Appがユーザーのメールにパスワードリセットの指示を送信します。

ステップ8 – クラウドジョブによるタスクのスケジューリング

クラウドジョブ

バックグラウンド作業(例:データのクリーンアップやレポートの生成)のために、スタートタスクを必要とする場合、Back4Appでクラウドジョブをスケジュールできます。

JS


スケジューリング:

  1. クラウドコードをデプロイします。
  2. アプリ設定 > サーバー設定 > バックグラウンドジョブで、ジョブを毎日、毎週、または必要に応じて実行するようにスケジュールします。
クラウドジョブのスケジューリング
クラウドジョブのスケジューリング


ステップ 9 – Webhookの統合

データが変更されるたびに外部サービスに通知したい場合は、Back4AppでWebhookを設定してください。

  1. More > WebHooksに移動します あなたのBack4Appダッシュボードで。
  2. エンドポイントを持つWebhookを追加します(例:SlackやStripe)。
  3. 「Todoクラスに新しいレコード」などのトリガーを選択します。
Webhookの追加
Webhookの追加


Cloud CodeトリガーでWebhookを作成することもでき、サードパーティサービスに直接HTTPリクエストを送信できます。

BeforeSave WebHook
BeforeSave WebHook


ステップ 10 – Back4App管理パネルの探索

この Back4App Admin App は、データとレコード管理のためのユーザーフレンドリーなインターフェースです。非技術的なユーザーでも、コードに深入りすることなくCRUD操作を行うことができます。

管理アプリの有効化

  1. 次に進む アプリダッシュボード > その他 > 管理アプリ です。
  2. 有効にする そして管理ユーザーを作成します。
  3. 便利なアクセスのために サブドメインを選択します。
管理アプリを有効にする
管理アプリを有効にする


ログインすると、下位のダッシュボードやCLIツールに手を出すことなくデータエントリを管理できます。

Document image


結論

おめでとうございます!あなたは Play Framework のバックエンドを構築する方法 を Back4App のサービスを使用して学びました。このチュートリアルを通じて、あなたは:

  • Back4App 上での Play Framework アプリのために 安全なバックエンド を作成しました。
  • スキーマ設計、リレーションシップ、リアルタイムクエリを含む データベース を設定しました。
  • 安全なデータアクセスのために ACL と CLP を適用しました。
  • カスタムロジック、トリガー、外部統合のために Cloud Code を記述しました。
  • ユーザー認証を設定し、ソーシャルログイン とパスワードリセットを行いました。
  • ファイルアップロードを処理し、オプションのファイルセキュリティ を追加しました。
  • Cloud Jobs を使用してバックグラウンドタスクをスケジュールしました。
  • Webhooks を通じてサードパーティサービスと統合しました。
  • データ管理を効率化するために Back4App 管理パネル を探求しました。

これらのツールを使用することで、開発モードを最適化し、必要に応じてスケールし、Play Framework 上で堅牢なウェブアプリケーションを構築できます。

さらなる統合、パフォーマンスチューニング、そして高度なセキュリティ対策を取り入れて、サーバーバックエンドを次のレベルに引き上げましょう。

次のステップ

  • 強化 キャッシング、ロギング、またはモニタリングツールを使用して、あなたの生産セットアップを。
  • 高度なセキュリティを探求 ロールベースのアクセス制御やゼロトラスト設定を使用して。
  • 決済ゲートウェイを統合 または商取引や分析のための他のサードパーティAPI。
  • チェックアウト Back4Appの公式ドキュメントを参照して、パフォーマンスやトラブルシューティングについての深い洞察を得てください。
  • レビュー リアルタイムチャットアプリ、IoTソリューション、または位置情報ベースのサービスに関するチュートリアルをさらに確認してください — これらの多くはこのガイドの技術に基づいています。