Play Frameworkのバックエンドを構築する方法は?
このチュートリアルでは、Back4Appを使用してPlay Frameworkの完全なバックエンドを構築する方法を学びます。
設定、データベース管理、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、ファイルストレージ、リアルタイムクエリなど、サーバーバックエンドのための重要な機能を通じて説明します。
Back4Appがウェブアプリケーションのバックエンドの設定、スケーリング、維持のプロセスをどのように簡素化し、Play Frameworkのコードに集中できるようにするかを見ていきます。
Back4Appを使用してPlay Frameworkのバックエンドを構築する方法を学ぶことで、開発時間を短縮し、開発運用の頭痛を最小限に抑えることができます。
ソーシャルログイン、タスクのスケジューリング(Cloud Jobs)、Webhookなどの堅牢な機能も追加します。これを完了すると、必要に応じてより高度な機能を統合し、プロダクショングレードのソリューションにシステムを拡張できます。
完了すると、次のスケーラブルで安全なPlay Frameworkウェブアプリケーションを作成するための確固たる設計図が得られます。
実際の要求に対応するために、パフォーマンスの向上、統合、または開発モードの最適化にさらに深く取り組む準備が整います。
このチュートリアルを完了するには、次のものが必要です:
- 動作するPlay Framework環境
- RESTまたはGraphQLに関する知識 これにより、Back4Appとやり取りするのが容易になります。特に、Parse SDKを直接使用しないことを決定した場合や、使用できない場合に役立ちます。
始める前に、これらの前提条件が整っていることを確認してください。Back4Appプロジェクトが設定され、Play Framework環境が準備されていると、スムーズに進めることができます。
新しいBack4Appプロジェクトは、アプリケーションのデータ、認証、クラウドロジックを管理するため、バックエンドの基盤となります。小さなプロトタイプを構築する場合でも、大規模なWebアプリケーションを構築する場合でも、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アプリがParse Java SDKを介してBack4Appとやり取りする予定がある場合は、必要に応じてbuild.sbtに追加できます。そうでない場合は、RESTまたはGraphQLエンドポイントを使用できます。
Parseキーを取得:
- Back4Appダッシュボードで、アプリ設定またはセキュリティとキーを開いて、アプリケーションID, 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)
Play FrameworkアプリにParse Java SDKを含めることを選択した場合、データを保存およびクエリできます:
Play FrameworkのコントローラーやサービスからHTTPリクエストを送信できます:
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は個々のオブジェクトを保護します。たとえば、特定のユーザーだけが特定のレコードを読み書きできるようにすることができます。ScalaコードからParse SDKを使用している場合:
クラウドコードを使用すると、Back4Appのサーバー上でカスタムロジックを実行でき、データトランザクションの前後にビジネスルールやバリデーションを追加できます。このような関数を実装するために、自分自身でサーバーのプロビジョニングや開発モードの再起動を処理する必要はありません。
これを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)
データが変更されるたびに外部サービスに通知したい場合は、Back4AppでWebhookを設定してください。
- More > WebHooksに移動します あなたのBack4Appダッシュボードで。
- エンドポイントを持つWebhookを追加します(例:SlackやStripe)。
- 「Todoクラスに新しいレコード」などのトリガーを選択します。
![Webhookの追加 Webhookの追加](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/morUMdwsAbVQ1EmBfUfAA_image.png?format=webp)
Cloud CodeトリガーでWebhookを作成することもでき、サードパーティサービスに直接HTTPリクエストを送信できます。
![BeforeSave WebHook BeforeSave WebHook](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/fXvy4eRzabyWmN80OMyqW_image.png?format=webp)
この Back4App Admin App は、データとレコード管理のためのユーザーフレンドリーなインターフェースです。非技術的なユーザーでも、コードに深入りすることなくCRUD操作を行うことができます。
- 次に進む アプリダッシュボード > その他 > 管理アプリ です。
- 有効にする そして管理ユーザーを作成します。
- 便利なアクセスのために サブドメインを選択します。
![管理アプリを有効にする 管理アプリを有効にする](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 のサービスを使用して学びました。このチュートリアルを通じて、あなたは:
- Back4App 上での Play Framework アプリのために 安全なバックエンド を作成しました。
- スキーマ設計、リレーションシップ、リアルタイムクエリを含む データベース を設定しました。
- 安全なデータアクセスのために ACL と CLP を適用しました。
- カスタムロジック、トリガー、外部統合のために Cloud Code を記述しました。
- ユーザー認証を設定し、ソーシャルログイン とパスワードリセットを行いました。
- ファイルアップロードを処理し、オプションのファイルセキュリティ を追加しました。
- Cloud Jobs を使用してバックグラウンドタスクをスケジュールしました。
- Webhooks を通じてサードパーティサービスと統合しました。
- データ管理を効率化するために Back4App 管理パネル を探求しました。
これらのツールを使用することで、開発モードを最適化し、必要に応じてスケールし、Play Framework 上で堅牢なウェブアプリケーションを構築できます。
さらなる統合、パフォーマンスチューニング、そして高度なセキュリティ対策を取り入れて、サーバーバックエンドを次のレベルに引き上げましょう。
- 強化 キャッシング、ロギング、またはモニタリングツールを使用して、あなたの生産セットアップを。
- 高度なセキュリティを探求 ロールベースのアクセス制御やゼロトラスト設定を使用して。
- 決済ゲートウェイを統合 または商取引や分析のための他のサードパーティAPI。
- チェックアウト Back4Appの公式ドキュメントを参照して、パフォーマンスやトラブルシューティングについての深い洞察を得てください。
- レビュー リアルタイムチャットアプリ、IoTソリューション、または位置情報ベースのサービスに関するチュートリアルをさらに確認してください — これらの多くはこのガイドの技術に基づいています。
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)