モジュールのライセンス

SDK で作成されたモジュールは、3 種類のライセンスのいずれかを持ち、ライセンスによってアプリケーションの実行要件が異なります。

Community Module

すべてのモジュールのデフォルトであり、Community Module を使用するアプリケーションは、すべての Mule Runtime で特に要件なしで実行できます。

Enterprise Module

Enterprise Module を使用しているアプリケーションは、Mule EE Runtimes でしか実行できないため、モジュールのユーザーは MuleSoft Enterprise ライセンスが必要です。モジュールを EE 専用として宣言するのは非常に簡単です。単に ​@RequiresEnterpriseLicense​ アノテーションを付加するだけです。

@Extension(name = "enterprise")
@RequiresEnterpriseLicense
public class EnterpriseConnector {

}

デフォルトでは、​RequiresEnterpriseLicense​ はユーザーに完全な MuleSoft Enterprise ライセンスを求めますが、Runtime の評価ライセンスでも実行できるように宣言することもできます。これは、​RequiresEnterpriseLicense​ アノテーションで ​allowEvaluationLicense​ フラグを使用して設定します。

@Extension(name = "enterprise")
@RequiresEnterpriseLicense(allowEvaluationLicense = true)
public class EnterpriseConnector {

}

カスタムモジュールライセンス

MuleSoft Certified Connector は、専用のカスタムライセンスを作成するための​認定ライセンス生成キー​を MuleSoft に要求できます。これにより、Certified Connector を使用するユーザーは、モジュールを開発したパートナーからカスタムライセンスを入手できます。

MuleSoft Certified Connector を構築したパートナーは、顧客がコネクタを使用して Mule アプリケーションを構築し、デザイン時にテストできる機会を提供できます。顧客がコネクタを使用して Mule アプリケーションをデプロイしようとすると、パートナーのカスタムライセンスが求められます。

コネクタ用のライセンス生成キーの取得

開発したコネクタの認定を MuleSoft に申請する前に、Certified Connector パートナー候補は次の手順を実行する必要があります。

  1. MuleSoft がパートナー用のキーとキーストアを生成するために必要な以下の情報を用意します。

    • 会社名 (ベンダー名)

    • 連絡先メール

    • 連絡メッセージ

    • Connector Name (コネクタ名)

  2. MuleSoft にキーとキーストアを要求します。

    1. 公開 ​.key​ は、コネクタに保存してあるファイルです。

    2. ライセンスを生成するパートナーとしての自分用の ​.jks​ キーストア。

コネクタコードの調整と公開キーの保存

キーとキーストアを取得したら、次の操作を実行します。

  1. パートナーは、要求されたすべての属性に ​@RequiresEntitlement​ アノテーションを適用して値を入力することで、コネクタのプロジェクトコードを調整します。

    • name​ はコネクタ名でなければなりません。

    • vendor​ 属性は、​.key​ サフィックスの前の部分でなければなりません。たとえば、MuleSoft が ​prov-name.key​ というベンダーキーを生成した場合、パートナーは ​prov-name​ をベンダーとして入力します。

      @Extension(name="connector-name", vendor="prov-name")
      @RequiresEntitlement(name="connector-name")
      public class LicensedConnector {
        ...
      }
    • MuleSoft が提供した ​.key​ ファイルをコネクタのプロジェクトディレクトリの ​src/main/resources​ または ​src/main/resources/license​ 内に置きます。

サンプルパートナーコネクタ

サンプルコネクタをダウンロードして Studio にインポートすることで、ライセンス管理アノテーションがコネクタコードでどのように設定されるかを確認できます。顧客の ​.key​ ライセンスファイルは ​src/main/resources​ に格納されている必要があります。

ライセンスファイルの生成

MuleSoft のパートナーは、​.jks​ ファイルとライセンス生成プラグインを使用して、コネクタの顧客に送信するライセンスを生成します。

コマンドラインから、​.jks​ ファイルが格納されているディレクトリで、​vendor.keystore​ に自分の ​.jks​ ファイルへのパスを指定して、次のコマンドを実行します。

mvn org.mule.tools.devkit:mule-devkit-license:license  -Dvendor.keystore=betaprovider-license-demo.jks
必要に応じて、上のコマンドに ​-Ddays.to.expire=<days-until-this-license-expires>​ を付加することで、ライセンスの有効期限を指定することもできます。顧客の名前をライセンスに追加するには、​-Dclient=<client-name>​ を追加します。

ライセンスが正常に作成されると、出力は次のように表示されます。

[INFO] Scanning for projects...
[NOTE]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[NOTE]
[INFO] --- mule-devkit-license:license (default-cli) @ standalone-pom ---
* Enter the name of the client whom will receive this license: Bob
* Enter the name of the provider of the Entitlement as it appears in the @RequiresEntitlement annotation: betaprovider
* Enter the name of the Entitlement as it appears in the @RequiresEntitlement annotation: lic-demo
* Enter the name of the Connector as it appears in the @Connector "name" attribute: license-demo
* Enter keystore password:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18.151s
[INFO] Finished at: Thu Dec 10 09:34:41 ART 2015
[INFO] Final Memory: 6M/287M
[NOTE]

ライセンス付きコネクタを含む Mule アプリケーションの開発

コネクタライセンスが正常に機能しているかどうかを確認するには、ライセンス (​.lic​ ファイル) が Mule アプリケーションや Mule サーバーからアクセスできる必要があります。

Mule アプリケーション内のライセンスファイル

コネクタのライセンスを購入した顧客は、パートナーまたはベンダーから提供された ​.lic​ ファイルを以下のディレクトリに格納できます。

  • (Studio で開発した) アプリケーションの ​src/main/resources​。

  • アプリケーションがすでに展開されてサーバーにデプロイされている場合は ​app/classes​。

Mule サーバー内のライセンスファイル

ライセンスをアプリケーションに格納する代わりに、Mule サーバーの ​conf/​ フォルダーに格納することができます。

複数のアプリケーションで同じライセンスが必要な場合は、Mule サーバーにライセンスを保存することをお勧めします。