--- title: "はじめに" url: https://docs.catalyst.zoho.com/ja/tutorials/museum-finder/introduction/ description: "Catalyst Functionsを使用して、評価や旅行者タイプの条件に基づいて博物館を検索するMuseum Finderウェブアプリケーションをビルドし、Catalyst Circuitsを使用してワークフローを自動化します。" last_updated: 2026-08-17T12:16:04Z service: All Services type: tutorial related_links: - name: "プロジェクトディレクトリ構造" url: /ja/cli/v1/project-directory-structure/introduction/ --- # Museum Finder ### はじめに このチュートリアルでは、ユーザーが入力した条件に基づいてアメリカ合衆国の博物館を一覧表示する、Museum Finderアプリケーションのビルド方法を説明します。 このアプリケーションは、Catalystがホストする公開データセットから博物館の評価や旅行者タイプの適合性に関する情報を取得し、それらを並列処理して結果をユーザーにメールで送信します。 アプリケーションのワークフローは[Catalyst Circuit](https://docs.catalyst.zoho.com/ja/serverless/help/circuits/introduction/)を使用して自動化されており、各タスクのオーケストレーションと自動実行を行います。Circuitsの詳細については、[Circuitsヘルプページ](https://docs.catalyst.zoho.com/ja/serverless/help/circuits/introduction)を参照してください。 クライアントアプリケーションは以下のような外観になります: ![catalyst_museumfinder_client](https://catalyst-docs-development.zohostratus.in/images/tutorials/museum-finder/catalyst_museumfinder_client.webp) 動作するアプリケーションにアクセスして機能をテストできます:[アプリを試す!](https://museumfinder.catalystserverlessapp.com/app/) Museum Finderアプリケーションは、以下のCatalystサービスのコンポーネントを利用します: 1. [**Catalyst Serverless**](https://docs.catalyst.zoho.com/ja/serverless/): - **[Circuit:](https://docs.catalyst.zoho.com/ja/serverless/help/circuits/introduction)** ワークフロー全体を自動化します。 > **Note:** Circuitsは現在、EU、AU、IN、JP、SA、またはCAデータセンターからアクセスするCatalystユーザーには利用できません。Catalyst CircuitでCron、Event、またはAdvanced I/O Functionsを実行することはできません。 - **[Basic I/O Functions](https://docs.catalyst.zoho.com/ja/serverless/help/functions/basic-io/)**: **Java**ランタイムで以下のBasic I/O Functionsを含みます: - `RatingProcessor`: ユーザーが提供した評価入力を処理し、条件を満たす博物館を選択します - `TravellerTypeRatingProcessor`: ユーザーが提供した旅行者タイプ入力を処理し、条件を満たす博物館を選択します - `MergeDataSet`: `RatingProcessor`と`TravellerTypeRatingProcessor`から取得した結果をマージします - `Mailer`: 結果をユーザーにメール送信します - **[Advanced I/O Function](https://docs.catalyst.zoho.com/ja/serverless/help/functions/advanced-io/)**: **Node.js**ランタイムのAdvanced I/O Functionで、ユーザーが入力フォームを送信した際にCircuitの実行を自動的にトリガーします 2. [**Catalyst Cloud Scale**](https://docs.catalyst.zoho.com/ja/cloud-scale/): - **Web Client Hosting** アプリケーションのフロントエンドは、[Web Client Hosting](https://docs.catalyst.zoho.com/ja/cloud-scale/help/web-client-hosting/introduction)コンポーネントを使用してCatalyst上にホストされます。クライアントはBasic web appとして初期化します。 #### アプリケーションアーキテクチャ * ユーザーが博物館の評価と旅行者タイプの適合性を選択して入力すると、`RatingProcessor`と`TravellerTypeRatingProcessor` Functionsが、博物館の評価と旅行者タイプのレコードを含む2つの独立した公開データセットを取得します。 * 両方のFunctionsは並列で処理され、ユーザーがリクエストした条件に一致する結果が両方のデータセットから選択されます。 * `RatingProcessor`と`TravellerTypeRatingProcessor` Functionsの結果は`MergeDataSet` Functionに送信され、両方のFunctionsの結果に含まれる博物館を選択して1つの結果にマージします。 * この結果は`Mailer` Functionに渡され、最終的な博物館リストを含むメールをユーザーに送信します。 * このワークフロー全体は、このアプリケーションで設定するCircuitによって自動化されます。ユーザーが入力を送信した後、Circuitは自動的にFunctionsを実行し、条件を処理し、以下に示すように結果を生成します: ![catalyst_museumfinder_architecture](https://catalyst-docs-development.zohostratus.in/images/tutorials/museum-finder/catalyst_museumfinder_architecture.webp)