---
schema_version: "1"
id: 6512c6cff916b80f8697514ed5741e87af305163763940802999cbf07fa10c46
title: モジュールモデルの学習
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-sdk/1.1/module-structure.md
canonical_url: https://docs.mulesoft.com/jp/mule-sdk/1.1/module-structure
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 5140fb5338a22abca49fe81fe77416d303a86f1e83dca64a86f69e78dc763e14
description: MuleSoft Documentation Site
release: "1.1"
latest: false
---
# モジュールモデルの学習

Mule モジュールの構築は、​`@Extension`​ アノテーション付きのクラスから開始します。このクラスは、すべてのモジュール機能と、機能に関連するすべての要素をエクスポートするために使用します。

<table><tbody><tr><td class="icon"><i class="fa icon-warning" title="Warning"></i></td><td class="content">このクラスは、公開された非抽象クラスである​<strong>必要があります</strong>​。​<code>@Extension</code>​ アノテーションは、インターフェース、抽象クラス、公開/保護クラス、または型付きクラス (汎用型) では使用できません。</td></tr></tbody></table>

```java
@Extension(name = "basic")
public class BasicModule {
}
```

`@Extension`​ アノテーションを使用する場合は、モジュールにわかりやすく簡潔な名前を付ける必要があります。モジュール名に、​`extension`​、​`module`​、または ​`connector`​ は使用できません。これらの文字列を含めても、SDK によって削除されます。必要に応じて、属性 ​`vendor`​ と属性 ​`category`​ を指定できます (​[「ライセンス」](https://docs.mulesoft.com/jp/mule-sdk/1.1/license)​を参照)。

空のモジュールを作成したら、モジュールに要素を追加できます。

![モジュールの基本モデル図](/mulesoft/current/ja-jp/mule-sdk/1.1/_images/model.png)

Figure 1. 基本のモジュール構造

概要レベルでは以下の要素があります。

- [コンポーネント](#コンポーネント)​
    
    - [操作](https://docs.mulesoft.com/jp/mule-sdk/1.1/operations)​
    - [ソース](https://docs.mulesoft.com/jp/mule-sdk/1.1/sources)​
    - [関数](https://docs.mulesoft.com/jp/mule-sdk/1.1/functions)​
    - [ルーター](https://docs.mulesoft.com/jp/mule-sdk/1.1/routers)​
    - [スコープ](https://docs.mulesoft.com/jp/mule-sdk/1.1/scopes)​
- [接続プロバイダー](https://docs.mulesoft.com/jp/mule-sdk/1.1/connections)​
- [設定](https://docs.mulesoft.com/jp/mule-sdk/1.1/configs)​
- [パラメーター](https://docs.mulesoft.com/jp/mule-sdk/1.1/parameters)

## [](#コンポーネント)コンポーネント

コンポーネントは、モジュール機能の鍵となります。モジュールは、与えられたパラメーターセットに基づいて実行され、フローでメッセージを生成または変更します。

モジュールの最も一般的なコンポーネントはソースと操作です。

- [操作](https://docs.mulesoft.com/jp/mule-sdk/1.1/operations)​は、受信したメッセージを処理して結果を生成するコンポーネントです。
- [ソース](https://docs.mulesoft.com/jp/mule-sdk/1.1/sources)​は、Mule Runtime が処理するメッセージを受信するか、新しいメッセージを生成するコンポーネントです。

## [](#設定)設定

設定は、モジュールの動作に影響する設定可能なパラメーターのセットです。 通常、​[ソース](https://docs.mulesoft.com/jp/mule-sdk/1.1/sources)​と​[操作](https://docs.mulesoft.com/jp/mule-sdk/1.1/operations)​は、動作を決定する設定のパラメーターに依存します。ただし、一部は設定なしでも機能します。

モジュールの設定を宣言するための要件はなく、いくつでも必要なだけ宣言できます。設定が異なればパラメーターセットも異なり、その設定を使用した場合にしか使用できない​[操作](https://docs.mulesoft.com/jp/mule-sdk/1.1/operations)​や ​[ソース](https://docs.mulesoft.com/jp/mule-sdk/1.1/sources)​を指定する場合もあります。

## [](#接続プロバイダー)接続プロバイダー

[接続プロバイダー](https://docs.mulesoft.com/jp/mule-sdk/1.1/connections)​は、​[設定](https://docs.mulesoft.com/jp/mule-sdk/1.1/configs)​から作成される接続の処理を担当する Module 要素です。ロジックとパラメーター化処理を一元管理して、特定種別の接続のプロビジョニングおよびリリースを行います。

[設定](https://docs.mulesoft.com/jp/mule-sdk/1.1/configs)​、​[ソース](https://docs.mulesoft.com/jp/mule-sdk/1.1/sources)​、および​[操作](https://docs.mulesoft.com/jp/mule-sdk/1.1/operations)​と同じように、接続プロバイダーを実行するためには、通常は接続に依存します。接続は必須ではありませんが、普通は使用されます。​[操作](https://docs.mulesoft.com/jp/mule-sdk/1.1/operations)​と​[ソース](https://docs.mulesoft.com/jp/mule-sdk/1.1/sources)​で使用する接続は、​[接続プロバイダー](https://docs.mulesoft.com/jp/mule-sdk/1.1/connections)​が提供します。

[接続プロバイダー](https://docs.mulesoft.com/jp/mule-sdk/1.1/connections)​は​[設定](https://docs.mulesoft.com/jp/mule-sdk/1.1/configs)​にバインドされています。​[設定](https://docs.mulesoft.com/jp/mule-sdk/1.1/configs)​には、​[接続プロバイダー](https://docs.mulesoft.com/jp/mule-sdk/1.1/connections)​が 1 つも定義されないか、1 つだけ定義されるか、あるいは異なる種別の接続を作成する複数の接続プロバイダーが定義される場合があります。たとえば、HTTPS 接続と (非セキュア) HTTP 接続用に別々の ​`ConnectionProvider`​ が定義されます。

## [](#パラメーター)パラメーター

`Parameters`​ は、モジュールモデルの最も細かい要素であり、​[操作](https://docs.mulesoft.com/jp/mule-sdk/1.1/operations)​、​[ソース](https://docs.mulesoft.com/jp/mule-sdk/1.1/sources)​、​[設定](https://docs.mulesoft.com/jp/mule-sdk/1.1/configs)​、および​[接続プロバイダー](https://docs.mulesoft.com/jp/mule-sdk/1.1/connections)​のすべての要素で使用されます。

パラメーターは、実行する要素の値を受け入れる設定可能な要素を表すか、または設定された値を保持します。

## [](#他の要素)他の要素

モジュールには、その他にも ​[ルーター](https://docs.mulesoft.com/jp/mule-sdk/1.1/routers)​、​[スコープ](https://docs.mulesoft.com/jp/mule-sdk/1.1/scopes)​、​[関数](https://docs.mulesoft.com/jp/mule-sdk/1.1/functions)​、​[エラー](https://docs.mulesoft.com/jp/mule-sdk/1.1/errors)​などの要素があります。ここで説明した要素は、ほとんどのモジュールで使用する可能性があるコア要素です。