Magician Holding Magic Wand Over Illuminated Hat

ソフトウェア用アクティベーションウィザードの実装例

ソフトウェアライセンシングにおいて、ライセンスはシンプルかつセキュアに提供されるべきです。それは、セントラルライセンスサーバーに新規ライセンスを作成したいソフトウェア開発者、自分のデバイス上でライセンスを取得する必要があるエンドユーザー、双方に当てはまります。システムがネットに接続されている場合、少なくとも一時的には、ソフトウェアアクティベーションウィザード(SAW)を用いて、非常に簡単かつスマートにライセンシングを行うことができます。SAWは、独立したアプリケーション、またはエンドユーザーが所有するアプリケーションに付随する機能として以下の役割を担います。

  • CodeMeter License Centralからローカルシステムへ初期ライセンスを転送
  • 必要に応じて、ローカルシステム上にCmContainerを作成
  • CodeMeter License Centralにて、チケットまたはCmContainerに変更がないことを定期的に確認

ゲートウェイ

Wibu-SystemsのCodeMeter License Central Internet Extensionsで提供されるゲートウェイにより、アプリケーション内からライセンスチェックを行うことができます。ゲートウェイは、PHPスクリプトであり、適切なパラメーターで呼び出したり、必要なデータをJSONフォーマットで返したりすることが可能です。従って、アプリケーションでのライセンスチェックには、主に2つの要件が生じます。

  • httpsを介した通信
  • JSONオブジェクトの解析

ゲートウェイへのアクセスに限らず、アプリケーションは、システム上のライセンスデータを提供するため、ローカルのCodeMeter Runtimeと通信できる必要があります。

ソフトウェアアクティベーションウィザードの実装例

SAWの機能をできるだけ簡単に統合できるよう、Wibu-Systemsではウェブサイトの開発者向けページに、サンプルの実装例を複数のプログラミング言語で用意しています。様々なユースケースに対応したサンプルを参照することができます。

ゲートウェイとの通信やCodeMeter Runtimeとの連携を行う中心的なモジュールがある点は、すべての実装例に共通しています。このモジュールは、ライブラリまたはスタンドアロンファイルであり、そのまま統合、もしくは各ソフトウェアのニーズに沿った変更が可能です。

C#

すべてのサンプルで使用されている中心的なモジュールは、WibuLcGatewaysAPIライブラリです。

  • SimpleWizard:ライセンスをアクティベートするために呼び出す必要がある関数を端的に示す基本的な例
  • Wizard:チケットまたはCmContainerをベースに、大部分のライセンス管理オペレーションを担当するスタンドアローンアプリケーション
  • AutoUpdate:すべてのローカルCmContainerのライセンスを自動更新するためのチェックを実行する方法を示す例
  • SingleTicket:ライセンスに保存されているチケット番号を使用し、新規ライセンスの取得有無を確認する方法
  • Renew:サービスエンジニア向けのライセンス更新の仕組みを説明する簡単な例
  • Cloud:ライセンスポータルで新規ユーザーおよびCmCloud-Containerを作成する方法、またはローカルシステム上の既存ユーザーにCmCloudコンテナを提供する方法
  • LicensePortalUserTickets:ユーザーが利用可能なすべてのチケットにアクセスし、新しいライセンスをチェックする方法
  • ActivationInformation:アクティベーション固有のパラメーターを使用して、ライセンスに追加情報を書き込む方法を説明する簡単な例

Java

すべてのサンプルで使用されている中心的なモジュールは、jaw-core-x.xx.xxx.xxx.jarというライブラリです。

  • ActivateFromTicket :セントラルサーバーからローカルシステムへライセンスを転送する方法を示すシンプルなアプリケーション
  • DeactivateFromTicket :ローカルシステムでアクティベートされたライセンスをセントラルサーバーに返却する方法

C++

コマンドラインアプリケーションが提供され、適切なパラメーターを介してさまざまな操作を行うことができます。中心的なモジュールは、WibuLCGatewayAPI.cppというファイルです。https通信のためのライブラリとしてlibcurl、JSONオブジェクトを扱うためのjsmn.hが利用されています。

サマリー

基本的な要件を満たすシステムであれば、SAWへのアプリケーション統合は容易に行うことができます。上記で挙げたプログラミング言語やサンプルだけでは不十分な場合は、Wibu-Systemsのプロフェッショナルサービスコンサルタントまでお気軽にご相談ください。

 

貴社の課題をCodeMeterで解決しませんか?
お気軽にお問合せください。製品説明および最適な使い方をご提案します。

お問合せ

KEYnote 45 – Edition Spring/Summer 2023

To top