# Java -------------------------------------------------------------------------------- title: "はじめに" description: "Catalyst Basic I/O Functionsを使用してシンプルなマイクロサービスを構築し、Zoho CRMと連携して、特定の数以上のリードが作成された際にカウンターベースの自動メールアラートを送信します。" last_updated: "2026-10-08T06:48:14.588Z" source: "https://docs.catalyst.zoho.com/ja/tutorials/microservice/java/introduction/" service: "All Services" related: - プロジェクトディレクトリ構造 (/ja/cli/v1/project-directory-structure/introduction/) - Java SDK (/ja/sdk/java/v1/overview/) - Node.js SDK (/ja/sdk/nodejs/v2/overview/) - Zoho CRM (https://www.zoho.com/crm/login.html) -------------------------------------------------------------------------------- # マイクロサービス ### はじめに このチュートリアルでは、Catalyst Functionsを使用してJavaでシンプルなマイクロサービスを構築する方法を説明します。このマイクロサービスは、関数内のカウンターがユーザーが定義したしきい値を超えた際に、自動メールアラートを送信します。 このチュートリアルでは、この関数をZoho CRMと連携し、Leadsで指定された数以上のリードが作成された場合に自動メールアラートが送信されるようにします。必要に応じて、この関数をZoho Deskと連携することも可能です。 このマイクロサービスはCatalyst Basic I/O関数のみを使用して構築されており、クライアントコンポーネントは含まれていません。以下のCatalystコンポーネントとその機能を使用します: 1. **Catalyst Cloud Scale**: - **Mail** : メールアラートの送信元となるメールアドレスをCatalyst Mailで設定する必要があります。 - **Cache** : Java関数は、Catalyst Cacheのデフォルトセグメントに現在のカウンター値を書き込み、読み取ります。 このアプリケーションの構築には、CatalystウェブコンソールとCatalystコマンドラインインターフェース(CLI)を使用します。このチュートリアルでは、関数ファイルに記述するコードを提供しています。コードをコピーして適切なファイルに貼り付けるだけで構築できます。 ### アプリケーションロジック マイクロサービスのロジックは以下のとおりです: 1. 関数内の機能に対してカウンターが作成されます。機能はZoho CRM、Zoho Desk、またはお好みのZohoサービスを指定できます。 2. 関数が呼び出されるたびに、関数内のカウンター値が1増加します。たとえば、Zoho CRMでリードが作成されるたびに関数が呼び出され、カウンター値が1増加します。これは、キャッシュのデフォルトセグメントから前回のカウンター値を取得した後に行われます。 3. 現在のカウント値は、更新されるたびにキャッシュのデフォルトセグメントに書き込まれます。 4. カウンターのしきい値はユーザーによって定義され、機能名とともにZoho CRMまたはZoho DeskからAPIを通じて渡されます。 5. カウンターを増加させるたびに、関数は現在のカウンター値が指定されたしきい値を超えたかどうかを確認します。 6. 関数の呼び出し回数がしきい値を超えると、カウンターが上限を超えたことをユーザーに通知する自動メールが送信されます。 -------------------------------------------------------------------------------- title: "前提条件" description: "Catalyst Basic I/O Functionsを使用してシンプルなマイクロサービスを構築し、Zoho CRMと連携して、特定の数以上のリードが作成された際にカウンターベースの自動メールアラートを送信します。" last_updated: "2026-10-08T06:48:14.588Z" source: "https://docs.catalyst.zoho.com/ja/tutorials/microservice/java/prerequisites/" service: "All Services" related: - CLIコマンドリファレンス (/ja/cli/v1/cli-command-reference/) - Catalyst CLIのインストール (/ja/getting-started/installing-catalyst-cli/) - CLIログイン (/ja/cli/v1/login/login-from-cli/) -------------------------------------------------------------------------------- # 前提条件 アプリケーションの構築を開始する前に、以下の前提条件をシステムにインストールしておく必要があります: 1. **Catalyst CLI** \ \ Catalyst CLIには、ローカルマシンからアプリケーションのコンポーネントを初期化、開発、テスト、デプロイするためのツール群が含まれています。このチュートリアルでは、Catalyst CLIを使用して作業を進めます。 \ \ 以下の操作を実行する必要があります: 1. **Catalyst CLIのインストール:** Catalyst CLIはNPMを通じてインストールされます。そのため、CLIをインストールする前にNPMとNode.jsをシステムにインストールしておく必要があります。前提条件とインストール手順の詳細については、**Catalyst CLIインストールのヘルプページ**を参照してください。 2. **Catalyst CLIへのログイン:** Catalyst CLIをインストールした後、使用する前にCatalystアカウントでCLIを認証する必要があります。Catalyst CLIからのログイン手順と利用可能なオプションについては、**CLIログインのヘルプページ**を参照してください。 <br> <br> 2. **Java関数のコード開発用IDE** \ \ Basic I/O関数の開発には任意のIDEを使用できます。一般的な選択肢として、Visual Studio Code、IntelliJ IDEA、Eclipse、Sublime Textなどがあります。お好みのIDEをダウンロードしてシステムにインストールしてください。 Visual Studio Code IDEをお使いの場合は、Catalyst Tools拡張機能をインストールすることで、CLIの代わりにIDE自体を使用できます。Catalyst VS Code拡張機能の詳細については、こちらのヘルプセクションを参照してください。 3. **Zoho CRM ProfessionalまたはEnterpriseエディション** \ \ 関数をZoho CRMと連携するために、Webhooksを使用し、ワークフロールールに関連付けます。WebhooksはZoho CRMのFreeエディションでは利用できません。各Zoho CRMエディションの比較と購入については、こちらのページを参照してください。 -------------------------------------------------------------------------------- title: "プロジェクトの作成" description: "Catalyst Basic I/O Functionsを使用してシンプルなマイクロサービスを構築し、Zoho CRMと連携して、特定の数以上のリードが作成された際にカウンターベースの自動メールアラートを送信します。" last_updated: "2026-10-08T06:48:14.588Z" source: "https://docs.catalyst.zoho.com/ja/tutorials/microservice/java/create-project/" service: "All Services" related: - プロジェクトディレクトリ (/ja/cli/v1/project-directory-structure/introduction) - コンソールのナビゲーション (/ja/getting-started/navigating-in-the-console) -------------------------------------------------------------------------------- # プロジェクトの作成 CatalystコンソールからCatalystプロジェクトを作成しましょう。 1. Catalystコンソールにログインし、**Create New Project**をクリックします。 <br /> 2. ポップアップウィンドウでプロジェクト名に「**CounterBasedAlert**」と入力し、**Create**をクリックします。 <br /> プロジェクトが作成され、開かれます。 -------------------------------------------------------------------------------- title: "メールアドレスの設定" description: "Catalyst Basic I/O Functionsを使用してシンプルなマイクロサービスを構築し、Zoho CRMと連携して、特定の数以上のリードが作成された際にカウンターベースの自動メールアラートを送信します。" last_updated: "2026-10-08T06:48:14.588Z" source: "https://docs.catalyst.zoho.com/ja/tutorials/microservice/java/configure-mail/" service: "All Services" related: - Catalyst Mail (/ja/cloud-scale/help/mail/introduction) -------------------------------------------------------------------------------- # メールアドレスの設定 カウンターがしきい値を超えた際にアラートメールを送信する送信元メールアドレスを設定しましょう。Catalyst Cloud ScaleのコンポーネントであるMailの詳細については、Mailのヘルプページを参照してください。 Catalystで新しいメールアドレスを追加するには: 1. コンソールの*Cloud Scale*セクションに移動し、**Start Exploring**をクリックします。 <br /> 2. コンソールのNotifyセクションにある**Mail**に移動し、Email Configurationセクションで**Add Email**をクリックします。 3. ポップアップボックスに表示名とメールアドレスを入力します。 <br /> Note: メールアドレスは、Gmail、Yahoo、Hotmailなどのパブリックドメインのメールアドレス、または組織独自のドメインでホストされたメールアドレスを使用できます。 4. **Add Email**をクリックします。 これでメールアドレスがCatalystアカウントに追加されます。Email Configurationページで確認できます。 <br /> メールアドレスを追加したら、使用する前に確認する必要があります。Confirmation Status列にメールアドレスの確認状況が表示されます。 メールアドレスを確認するには、**Click to confirm**をクリックします。確認コードを含むメールがそのメールアドレスに自動的に送信されます。 ポップアップボックスに確認コードを入力し、**Confirm**をクリックします。 <br /> 確認コードが記載されたメールが届かない場合は、**Resend Code**をクリックしてください。確認コードが検証されると、そのアドレスを使用してCatalystからメールを送信できるようになります。 -------------------------------------------------------------------------------- title: "プロジェクトの初期化" description: "Catalyst Basic I/O Functionsを使用してシンプルなマイクロサービスを構築し、Zoho CRMと連携して、特定の数以上のリードが作成された際にカウンターベースの自動メールアラートを送信します。" last_updated: "2026-10-08T06:48:14.589Z" source: "https://docs.catalyst.zoho.com/ja/tutorials/microservice/java/initialize-project/" service: "All Services" related: - リソースの初期化 (/ja/cli/v1/initialize-resources/introduction/) - プロジェクトディレクトリ構造 (/ja/cli/v1/project-directory-structure/introduction/) -------------------------------------------------------------------------------- # CLIからのプロジェクト初期化 これで、CLIからCatalystプロジェクトの作業を開始できます。最初のステップは、空のディレクトリでプロジェクトを初期化することです。このディレクトリがプロジェクトのホームディレクトリとなり、すべてのプロジェクトファイルが保存されます。 プロジェクトの初期化の詳細については、プロジェクトディレクトリ構造のヘルプページを参照してください。 このマイクロサービスでは、関数コンポーネントを初期化します。 1. ローカルマシンにプロジェクト用のフォルダを作成し、ターミナルからそのフォルダに移動します。 2. そのディレクトリから以下のコマンドを実行してプロジェクトを初期化します: catalyst init 3. 矢印キーを使用してポータルを選択し、**Enter**を押して確定します。 <br /> 4. CLIがCatalystプロジェクトをディレクトリに関連付けるよう求めます。先ほどコンソールから作成したプロジェクトに関連付けます。リストから**CounterBasedAlert**を選択し、**Enter**を押します。 <br /> 5. スペースバーを使用して**Functions**を選択します。**Enter**キーを押して初期化を開始します。 <br /> 6. CLIが関数のセットアップを開始します。リストから**BasicIO**タイプを選択し、**Enter**を押します。関数タイプの詳細については、Functionsのヘルプページを参照してください。 <br /> 7. スタックとしてJavaの最新ランタイムを選択し、**Enter**を押します。 <br /> 8. Java関数の名前とフォルダ名に「**countfunction**」と入力します。これが参照名にもなります。メインクラス名に「**CountAlert**」と入力し、それぞれ**Enter**を押します。 Note: アプリケーションのコードに同じ名前が含まれているため、メインクラス名と関数名は必ず指示どおりに正確に入力してください。 Catalyst Java SDKがシステムにダウンロードされます。これでCatalystの初期化が完了です。 <br /> プロジェクトディレクトリに、設定ファイルと依存関係を含むfunctionsディレクトリが作成されます。また、catalyst.jsonと隠しファイル.catalystrcも作成されます。 -------------------------------------------------------------------------------- title: "Basic I/O関数の設定" description: "Catalyst Basic I/O Functionsを使用してシンプルなマイクロサービスを構築し、Zoho CRMと連携して、特定の数以上のリードが作成された際にカウンターベースの自動メールアラートを送信します。" last_updated: "2026-10-08T06:48:14.589Z" source: "https://docs.catalyst.zoho.com/ja/tutorials/microservice/java/configure-function/" service: "All Services" related: - Functions (/ja/serverless/help/functions/introduction) - Functionsディレクトリ (/ja/cli/v1/project-directory-structure/functions-directory) -------------------------------------------------------------------------------- # 関数の設定 マイクロサービスのコーディングを始めましょう。 functionsディレクトリ(この場合はfunctions/countfunction)には、以下が含まれています: * CountAlert.javaメイン関数ファイル * catalyst-config.json設定ファイル * JARライブラリファイル * その他の依存関係 CountAlert.javaファイルにコードを追加します。関数の設定には、お好みのIDEを使用できます。 Note: 理解を深めるため、このセクションのコードに目を通してください。 以下のコードをコピーしてCountAlert.javaに貼り付け、ファイルを保存してください。 import com.catalyst.Context; import com.catalyst.basic.BasicIO; import com.catalyst.basic.ZCFunction; import com.zc.component.cache.ZCCache; import com.zc.component.mail.ZCMail; import com.zc.component.mail.ZCMailContent; import java.util.logging.Logger; import java.util.logging.Level; public class CountAlert implements ZCFunction { private static final Logger LOGGER = Logger.getLogger(CountAlert.class.getName()); private static final String FROM_EMAIL="emma@zylker.com"; // 送信者のメールアドレス。Mailで設定したメールアドレスに置き換えてください。 private static final String TO_EMAIL="brandon.cooper@zylker.com"; // アラートメールの送信先メールアドレスに置き換えてください。 @Override public void runner(Context context, BasicIO basicIO) throws Exception { try { // 入力から取得した機能名をパラメータとして渡します。機能名は「CRM」または「Desk」です。 String featureName = (String) basicIO.getParameter("feature_name"); // 入力から取得したしきい値カウントをパラメータとして渡します String mailCountThreshold = (String) basicIO.getParameter("mail_count_threshold"); // Catalyst Cacheのデフォルトセグメントから機能の現在のカウントを取得します String value = ZCCache.getInstance() .getCacheValue("COUNTER_" + featureName) .getValue(); // 値がnullの場合、カウントを1に設定します。これは機能の初回実行時に行われます。 if (value == null) { ZCCache.getInstance() .putCacheValue("COUNTER_" + featureName, String.valueOf(1), 1l); } else { Integer count = Integer.valueOf(value); // 値がnullでない場合、カウントを1増加させます。 count++; // カウント値をCatalyst Cacheのデフォルトセグメントに書き込みます ZCCache.getInstance().putCacheValue("COUNTER_"+featureName,count.toString(),1l); // 現在のカウントがしきい値を超えた場合、上記で設定した受信者にメールアラートを送信します if (count > Integer.valueOf(mailCountThreshold)) { ZCMailContent content = ZCMailContent.getInstance(); content.setFromEmail(FROM_EMAIL); content.setSubject("Alert!"); content.setContent("Count exceeded the threshold limit for the feature:" +featureName); content.setToEmail(TO_EMAIL); ZCMail.getInstance() .sendMail(content); LOGGER.log(Level.INFO, "Email alert sent");// ログに記録されます。コンソールのMonitorセクションのLogsから確認できます } } // ステータスコード200を処理します basicIO.setStatus(200); basicIO.write("The function executed successfully"); }catch(Exception e) { LOGGER.log(Level.SEVERE,"Exception occurred while processing",e); // ログに記録されます。コンソールのMonitorセクションのLogsから確認できます // 例外発生時にステータスコード500を処理します basicIO.setStatus(500); basicIO.write("Error in the function execution"); } } } Note: 次のステップに進む前に、コードの14行目の**FROM_EMAIL**と16行目の**TO_EMAIL**の値を、指示に従って必ず置き換えてください。 <br /> ### Basic I/O関数の動作 はじめにで説明したとおり、関数は呼び出し時にAPIを通じてユーザーからfeature_nameとmail_count_threshold変数の入力を取得します。キャッシュから現在のカウンター値を取得し、呼び出しごとにカウンターを1増加させます。その後、新しいカウンター値をキャッシュに書き込みます。 Note: Catalyst Cacheのデフォルトセグメントを使用するため、設定は不要です。詳細については、Cacheのヘルプページを参照してください。 現在のカウンター値がユーザーが指定したしきい値を超えた場合、コードで定義されたアドレスにメールアラートが送信されます。この情報は適切なメッセージとともにCatalyst Logsにも記録されます。CatalystコンソールのMonitorセクションにあるLogsから確認できます。 これでfunctionsディレクトリの設定が完了しました。 -------------------------------------------------------------------------------- title: "関数のテスト" description: "Catalyst Basic I/O Functionsを使用してシンプルなマイクロサービスを構築し、Zoho CRMと連携して、特定の数以上のリードが作成された際にカウンターベースの自動メールアラートを送信します。" last_updated: "2026-10-08T06:48:14.589Z" source: "https://docs.catalyst.zoho.com/ja/tutorials/microservice/java/test-function/" service: "All Services" related: - リソースの提供 (/ja/cli/v1/serve-resources/introduction) -------------------------------------------------------------------------------- # 関数のテスト 関数をリモートコンソールにデプロイしてZoho CRMと連携する前に、ローカルでテストしてすべてが正しく動作するか確認できます。 Catalyst CLIからNodeシェルを起動して、関数のテストとデバッグを行うことができます。関数シェルの詳細については、Working with Functionsのヘルプページを参照してください。CLIで関数シェルを起動してテストしましょう。 ターミナルでプロジェクトディレクトリに移動し、CLIから以下のコマンドを実行します: catalyst functions:shell Nodeシェルが開きます。入力値の受け渡し、関数の実行、その他のNodeシェル操作を実行できます。 Note: IDEのデバッガーをアタッチした状態で関数シェルを起動できます。これにより、IDE上で関数を1行ずつデバッグできます。次のコマンドを実行してください:catalyst functions:shell --debug [port] 。 <br /> feature_nameとmail_count_thresholdの入力値を渡して、countfunctionをテストしましょう。関数シェルで以下のコマンドを実行します: countfunction({"feature_name":"CRM","mail_count_threshold":"1"}) これにより、機能「CRM」のしきい値が「1」に設定されます。そのため、この機能に対して関数が2回以上呼び出されると、カウンターがしきい値を超えます。 <br /> CLIが関数を呼び出し、入力値をCatalyst Cacheのデフォルトセグメントに渡します。最初の呼び出しではカウンターはしきい値を超えません。そのため、CLIはステータスコード200に設定した出力メッセージを表示するだけです。 <br /> カウンター値がキャッシュに追加されたことを確認するには、Catalystコンソールの**Cloud Scale**セクションにあるStorageの**Cache**に移動します。 <br /> **Default**をクリックしてSegmentsページのデフォルトセグメントを開きます。キー名「**COUNTER_CRM**」、値「**1**」のキー・バリューペアがセグメントに追加されており、関数が1回呼び出されたことを示しています。 <br /> 次に、しきい値を超えるために関数を2回目に呼び出しましょう。countfunction({"feature_name":"CRM","mail_count_threshold":"1"})コマンドを再度実行します。 これにより関数が再び呼び出され、カウンター値が増加します。しきい値の1を超えたため、定義された受信者のメールアドレスにメールアラートが自動的に送信されます。CLIは、ログに記録されたメッセージを表示します。 <br /> 受信者のメールを確認して検証できます。 <br /> キャッシュ内のカウンター値も更新されます。 このセットアップが正しく動作していれば、アプリケーションを本番環境にデプロイできます。 関数シェルでのテストが完了したら、.exitと入力してシェルを終了します。 -------------------------------------------------------------------------------- title: "関数のデプロイ" description: "Catalyst Basic I/O Functionsを使用してシンプルなマイクロサービスを構築し、Zoho CRMと連携して、特定の数以上のリードが作成された際にカウンターベースの自動メールアラートを送信します。" last_updated: "2026-10-08T06:48:14.590Z" source: "https://docs.catalyst.zoho.com/ja/tutorials/microservice/java/deploy-project/" service: "All Services" related: - リソースのデプロイ (/ja/cli/v1/deploy-resources/introduction) -------------------------------------------------------------------------------- # 関数のデプロイ CLIからCatalystプロジェクトをデプロイするには、プロジェクトディレクトリからターミナルで以下のコマンドを実行します: catalyst deploy <br /> 関数がデプロイされ、関数の本番URLが表示されます。 <br /> この関数がCatalystコンソールで利用可能になります。CatalystコンソールのServerlessセクションにあるFAASの**Functions**に移動します。 <br /> Functionsページから**countfunction**をクリックすると、当日の統計情報を確認できます。 Note: コンソールからJava関数を編集することはできません。この機能は近日中に提供される予定です。 -------------------------------------------------------------------------------- title: "関数とZoho CRMの連携" description: "Catalyst Basic I/O Functionsを使用してシンプルなマイクロサービスを構築し、Zoho CRMと連携して、特定の数以上のリードが作成された際にカウンターベースの自動メールアラートを送信します。" last_updated: "2026-10-08T06:48:14.590Z" source: "https://docs.catalyst.zoho.com/ja/tutorials/microservice/java/intergrate-crm/" service: "All Services" related: - Functions (/ja/serverless/help/functions/introduction) -------------------------------------------------------------------------------- # 関数とZoho CRMの連携 この関数をZoho CRMと連携するために、Webhookを関連付けたワークフロールールを作成しましょう。 Zoho CRMをより深く理解するには、Zoho CRMのヘルプリソースを参照してください。ワークフロー管理についてはこちらのヘルプページを、Webhooksについてはこちらのヘルプページを参照してください。 関数をZoho CRMと連携するには: 1. **Setup**に移動し、Automationセクションの**Workflow Rules**をクリックします。 <br /> 2. Workflow Rulesページで**Create Rule**をクリックします。 <br /> 3. **Leads**モジュールを選択し、以下のようにポップアップボックスにルール名と説明を入力します。**Next**をクリックします。 <br /> 4. **Create**を選択し、**Next**をクリックします。 <br /> 5. **All Leads**を選択し、**Next**をクリックします。 <br /> 6. **Instant Actions**をクリックし、**Webhooks**を選択します。 <br /> 7. ポップアップボックスに以下のとおり詳細を入力します。 Function URLは、前のステップで説明したとおり、CatalystコンソールまたはCLIから取得できます。画像に示すように、Function URLの末尾に「**?feature_name=CRM&mail_count_threshold=5**」を追加する必要があります。 HTTPメソッドとして**GET**を選択します。**Save and Associate**をクリックします。 ワークフロールールが保存され、Webhookが関連付けられます。しきい値を「5」に設定しました。そのため、Leadsモジュールで5件以上のリードが作成されると、メールアラートが自動的に送信されます。 これでマイクロサービスが機能し、エラーなく動作します。