現在地: カスタムライセンスジェネレータの追加

Sentinel EMS へのサードパーティエンフォースメントプロダクトの追加

現在のバージョンの Sentinel EMS はデフォルトのライセンスジェネレータとして Sentinel RMS をサポートしています。ただし、別のライセンスジェネレータをプラグインとして追加することもできます。その場合、アプリケーションバイナリに変更を加える必要はありません。

自社製/サードパーティのライセンスジェネレータは、Java コードから呼び出し可能な API を備えていれば、Sentinel EMS に組み込むことができます。API としてC、C++、C#、VB その他のプログラミング言語がサポートされています。

SafeNet プロフェッショナルサービスは、カスタムライセンスジェネレータを EMS に安全にプラグインするための支援サービスを提供しています。

ステップ 1 - データベースへの変更

EMSデータベースにライセンスジェネレータ名、属性、ライセンスモデルなどを入力する必要があります。ここに記載された手順に従ってライセンスジェネレータのシードスクリプトを作成して実行し、EMSデータベースを更新してください。シードスクリプトには以下に記載されているオペレーションを含める必要があります。

シードスクリプトのサンプルは、 <EMS_Install_Dir>\samples\DEMOLicenseGenerator ディレクトリにあります。

ステップ 2 - カスタムライセンスジェネレータの作成

Sentinel EMS には、<EMS_Install_Dir>\samples\DemoLicenseGenerator ディレクトリに、汎用的なライセンスジェネレータのサンプルが用意されています。このサンプルに変更を加えて独自のライセンスジェネレータを作成できます。

ライセンスジェネレータのインプリメンテーションの記述

LicenseGenerator インターフェースのインプリメンテーション(DEMOLicenseGenerator など)を記述します。LicenseGenerator インターフェースには次のメソッドが含まれます。

 public interface LicenseGenerator {
        /**
        * Gets the license generator vendor name.
        *
        * @return the vendor name
        */
        String getVendorName();
        /**
        * Gets the license generator version.
        *
        * @return the version
        */
        String getVersion();
        /**
        * Gets the license generator name.
        *
        * @return the generator name
        */
        String getGeneratorName();
        /**
        * List all supported actions.
        *
        * @return the list< string> of all the supported actions of the generator
        */
        List<String> listActions();
        /**
        * Initialize the license generator.
        *
        * @throws EMSException
        *             the EMS exception
        */
        void init() throws EMSException;
        /**
        * perform the generator supported actions, such as generate license, get
        * meter key information and so on.
        *
        * @param request
        *            the request
        * @param response
        *            the response
        *
        * @return the result
        *
        * @throws EMSException
        *             the EMS exception
        */
        String service(LicenseGeneratorRequest request,
        LicenseGeneratorResponse response) throws EMSException; //
        /**
        * Destroy the license generator.
        */
        void destroy();
        }

LicenseGenerator インターフェースをインプリメントする際の重要なポイントは次のとおりです。

リボケーションハンドラのインプリメンテーションの記述

RevocationHandler インターフェースのインプリメンテーション(例: RevocationHandlerImpl)を記述します。このインターフェースには次のメソッドが含まれます。

package com.sfnt.ems.service;
import java.util.Map;

import com.sfnt.ems.domain.License;
import com.sfnt.ems.util.EMSException;
public interface RevocationHandler {
public boolean validateToken(
Map<String,String> revocationAttribs)throws EMSException;
}

RevocationHandler インターフェースのサンプルインプリメンテーション RevocationHandlerImpl は、『Sentinel EMS 2.8 Web Services Guide』に記載されています。

RevocationHandler インターフェースをインプリメントする際の重要なポイントは次のとおりです。

JAR ファイルへのインプリメンテーションのパッケージ化

サードパーティライセンスジェネレータは JAR ファイルの形式でパッケージ化する必要があります。

ステップ 3 - サードパーティエンフォースメントプロダクトのための Sentinel EMSポータルの変更

独自の JSP ファイルを提供することにより、Sentinel EMSポータルの一部の画面の外観を変更したり、特定のフィールド/パラメータを表示/非表示にしたりできます。独自の JSP ファイルを作成するには、以下に記載された JSP ファイルをコピーし、ファイル名の TP_ の部分を独自のライセンスジェネレータ(例: DEMO_)に置き換えることにより、ファイル名を変更します。既存のファイルは削除しないでください。新しい JSP ファイルは同じ場所に置いてください。

例: TP_productKeyAttributeNewUI.jsp のコピーの名前は、DEMO_productKeyAttributeNewUI.jsp に変更する必要があります。

JSP ファイルは次の場所にあります。

%EMSSERVER_HOME%\web\WEB-INF\jsp\

TP_ActivationDetails.jsp TP_addEntitlementItemFeatureListNewUI.jsp
TP_AddLineItem.jsp TP_EditLineItem.jsp
TP_editProductKeyAttributeNewUI.jsp TP_entitlementItemFeatureListNewUI.jsp
TP_LineItemFeatures.jsp TP_productKeyAttribute.jsp
TP_productKeyAttributeNewUI.jsp TP_RMSLineItemActivation.jsp
TP_ViewLineItem.jsp TP_viewProductKeyAttributeNewUI.jsp

JSP の構成 - 範囲と制限

ラインアイテム情報の追加のための JSP

アクティベーションのための JSP

ステップ 4 - XML ファイルの変更

カスタムライセンスジェネレータの統合を完了するために、次の 2 つの XML ファイルを変更する必要があります。

ems-servlet.xml

パス:%EMSSERVER_HOME%\webapps\ems\WEB-INF

ProductKeyMasterAttributes.xml

パス:%EMSSERVER_HOME%\webapps\ems\WEB-INF\classes

Sentinel EMS を WebLogic 上にデプロイしている場合、カスタマイズを行うためには ems.war ファイルを生成してデプロイしなければなりません。 WebLogic の場合の .war ファイルの生成を参照してください。

ステップ 5 - \temp および \work ディレクトリの削除(Apache Tomcat の場合)

%EMSSERVER_HOME% にある \work および \temp ディレクトリを削除して、Apache Tomcat を再起動します。

サードパーティエンフォースメントプロダクトを用いるエンタイトルメントの既知の制限事項

 

  http://www.safenet-inc.com/Support
  © Copyright 2013, SafeNet, Inc. All rights reserved.