--- title: "概要" url: https://docs.catalyst.zoho.com/ja/sdk/java/v1/overview/ description: "このページでは、Javaプログラミング要素を使用してマイクロサービスやインタラクティブなWebおよびモバイルアプリケーションを作成できるCatalyst Java SDKパッケージの概要を説明します。" last_updated: 2026-08-17T12:16:04Z service: All Services type: general related_links: - name: "Catalyst Node.js SDK" url: /ja/sdk/nodejs/v2/overview/ - name: "Catalyst Web SDK" url: /ja/sdk/web/v4/overview/ - name: "API Code Reference" url: /ja/api/code-reference/cloud-scale/authentication/add-new-user/#AddNewUser - name: "Catalyst Functions" url: /ja/serverless/help/functions/introduction --- # Java SDK - 概要 Catalyst向けJava SDKは、Javaプログラミング要素を使用してマイクロサービスやインタラクティブなWebおよびモバイルアプリケーションを作成し、それらをCatalystコンポーネントと連携させるための基盤を提供します。SDKはCatalyst APIに簡単にアクセスするために必要な構造を提供します。REST APIのラッパーとして機能し、Catalystサービスを効果的に利用するのに役立ちます。 Catalystは現在、以下のJavaバージョンをサポートしています: * **Java 25** * **Java 21** * **Java 17** * **Java 11** * **Java 8** ### プロジェクトの初期化 Catalystプロジェクトを初期化するには、ビジネスロジックを記述する前に、Javaソースコードの最初のステートメントとして以下のコードスニペットを追加してください。 ```java ZCProject.initProject(); ``` > **Note:** Java SDKでは、この初期化コマンドをインクルードすることは必須ではありません。関数内で自動的に初期化されます。 #### 特定のSDKスコープでCatalystプロジェクトを初期化する Catalystでは、以下のスコープを使用してプロジェクトを初期化できます: * **Admin**: すべてのコンポーネントとそれぞれの機能に無制限にアクセスできます。たとえば、Data Storeに完全にアクセスし、読み取り、書き込み、削除などのすべての操作を実行できます。 * **User**: コンポーネントや特定の機能へのアクセスを制限できます。たとえば、[Data Store](https://docs.catalyst.zoho.com/ja/cloud-scale/help/data-store/introduction/)に*読み取り*アクセスのみを提供できます。 > **Note:** * スコープを指定してプロジェクトを初期化することは必須ではありません。デフォルトでは、初期化されたプロジェクトには*Admin*権限が付与されます。 * ビジネスロジックを構築する際には、適切なスコープでCatalyst SDKを初期化してください。スコープに定義した権限がエンドユーザーの操作を制御します。 * スコープは、[Data Store](https://docs.catalyst.zoho.com/ja/cloud-scale/help/data-store/introduction/)、および[ZCQL](https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/introduction/)に関連する操作にのみ適用されます。 * ビジネスロジックの構築方法に応じて、エンドユーザーが*Admin*操作または*User*操作を実行できるかどうかを決定できます。これは、エンドユーザーがCatalyst Authenticationでアプリケーションにサインアップする際に割り当てられる[ロール](https://docs.catalyst.zoho.com/ja/cloud-scale/help/authentication/user-management/roles/introduction/)に基づいて決定されます。ロールの権限は、[Data Store](https://docs.catalyst.zoho.com/ja/cloud-scale/help/data-store/scopes-and-permissions/)の*Scopes & Permissions*セクションで設定できます。 以下のSDKスニペットを使用すると、*Admin*または*User*スコープでプロジェクトを初期化し、Data Storeで**SELECT**クエリを実行できます: * **Adminスコープでのプロジェクト初期化** ```java ZCProject adminProject = ZCProject.initProject("admin", ZCUserScope.ADMIN); ZCQL.getInstance(adminProject).executeQuery("select * from test"); ``` * **Userスコープでのプロジェクト初期化** ```java ZCProject userProject = ZCProject.initProject("user", ZCUserScope.USER); ZCQL.getInstance().executeQuery("select * from test"); ``` ### クラス階層 すべてのCatalystコンポーネントは、メンバーとメソッドでコンポーネントの動作を定義するJavaクラスとしてモデル化されています。 * `ZCProject`はSDKパッケージの基本ベースクラスです。Catalystプロジェクトの設定を初期化し、プロジェクトのコンポーネントを関連付けるメソッドを持っています。 * SDKのクラス関係と階層は、Catalystのプロジェクト階層に従います。 * 各クラスには、そのプロパティを取得する関数と、API呼び出しを通じて直接の子エンティティのデータを取得する関数があります。たとえば、Catalyst Data Storeクラスの`ZCDataStore`には、テーブルにアクセスするメンバー関数があり、テーブル名やIDなどを設定するために直接の子クラス`ZCTable`の関数を使用できます。 Catalystの各コンポーネントのクラス階層は以下のように表されます: ![flow_diagram](https://catalyst-docs-development.zohostratus.in/images/sdk/java/v1/flow_diagram.webp) ### インスタンスオブジェクト 下位レベルのコンポーネントのデータを取得するために、クラス階層を最上位からすべてたどることは、各レベルでAPI呼び出しが必要になるため、常に効率的ではありません。これを回避するために、すべてのコンポーネントクラスにはダミーオブジェクトを取得するための`getInstance()`メソッドと、子エンティティのダミーオブジェクトを取得するメソッドがあります。 > **Note:** `getInstance()`メソッドは、API呼び出しが行われないため、プロパティが設定されていない状態で返されます。これはクラスの非静的メソッドにアクセスするためにのみ使用されるダミーオブジェクトを返します。 Catalystコンポーネントのプロパティを取得するには、コンポーネントのオブジェクトを`getInstance()`メソッドで呼び出し、その同じオブジェクトを使用してコンポーネントが定義する他のメソッドを呼び出します。これにより、不要なAPI呼び出しを回避できます。 ### 例外処理 予期しない不正な動作は例外と呼ばれます。すべてのエラーと例外は、Java SDKで定義された`ZCException`というクラスによって処理されます。クライアントコードとサーバーコードによってスローされる特定の例外をキャッチするために、`ZCServerException`クラスと`ZCClientException`クラスがあります。