Webサービスについて

  • 当サイトの「アプリケーション認証支援サービス」を支えている根幹の技術は、ASP.NET XML Webサービスです。
  • Webサービス(ウェブサービス)とは、HTTPなどのインターネット関連技術を応用して、SOAPと呼ばれるXML形式のプロトコルを用いてメッセージの送受信を行う技術を利用した、情報交換サービスです。
  • もっと分り易く言えば、Webサーバーに対して決められた方法で必要な情報を送り付けると、それによって要求している情報(答え)を送り返してくれるサービスです。但し、検索結果を返してくれることとは少し意味合いが違います。
  • Windowsアプリケーション・プログラムから見ると、「Web上に置いてあるサブルーチンみたいなもの」と言えます。
 

CS_Activation.DLL を利用しない場合は、3種類の関数で実現

「アプリケーション認証支援サービス」では、主に以下の3つのWebサービス関数で情報のやりとりをします。

(アクティベーションの実施状態をPC内に保存することによって、検証は省略できます。)

下図では、PCのプロダクトIDを Activation Key としています。

SetActivationKey() このシェアウェアを利用するユーザー○○さんは、このプロダクトIDを持つPCで使うことを、記録しておいてください。
ResetActivationKey() このシェアウェアを利用しているユーザー○○さんの、このPCのプロダクトIDを、初期化(空白化)してください。
GetTimelimitDate() このシェアウェアを利用しているユーザー○○さんの、ご利用可能な有効期限はいつですか?
  • これら3つの関数のコメントは、アプリケーションからWebサービスに対して要求する動作や、問い合わせを示しています。
  • これらの関数はWebサービスに対して、すべて同じ並び順で4つ、または3つのパラメータを渡します。
  • これらの関数はWebサービスに対して、アプリケーション側から情報を一方的に送り付けるだけで、Webサービス側からは、有効期限以外の重要な情報(固有の私的な情報)を返さない(ネットワーク上に流さない)仕様です。保安上、Activation KeyはWebサービスに送り付けてサーバー側で比較してもらいます。そのため、他人のユーザーIDとPasswordを使って(ナリスマシ)、他人のActivation Keyを入手することはできません。
 

非常に重要な要素

  • ① は、Activation Keyが空っぽの状態に対してのみ可能です。[設定]
    ユーザーIDとユーザーPasswordは、作者による利用者の登録で既に記録されていますが、Activation Keyは空っぽです。
    最初は空っぽのため無条件に記録できますが、既に埋まっている場合は上書きできません。
    たとえユーザーIDとPasswordが正しくても、上書きされてしまっては認証の意味がなくなるからです。
     
  • ② は、Activation Keyが埋まっており、しかも受け取ったActivation Keyと一致する場合だけ可能です。[解除]
    ユーザーIDとPasswordが正しくても、初期化されてしまっては別のPCで ① が可能になってしまうからです。
     
  • PCが故障して使えなくなった場合、そのPCで ② [解除]を実行できないため、他のPCで ① [設定]を実行することもきません。
    このような場合、利用者は作者に状況を伝え、Activation Keyの消去[解除]を依頼する必要があります。
    この作業は、作者専用の「アプリケーション利用者情報編集ページ」で行うことができます。
     
  •  ③ は、① [設定]と同時に行ってPC内に記録しておく必要があります。[有効期限の取得]
    PC内に記録することで、アプリケーションを起動する度に現在日時と比較できます。
 

Webサービスについての解説サイト

Microsoft のサイトを参照してください。

  1. 10 行でズバリ !! ASP.NET による Web サービスの開発 (C#)
  2. 10 行でズバリ !! Web サービス クライアント アプリケーションの開発 (C#)
  3. 10 行でズバリ !! ASP.NET による Web サービスの開発 (VB)
  4. 10 行でズバリ !! Web サービス クライアント アプリケーションの開発 (VB)
 

Webサービスの利用方法(.NET Framework 2.0)

画面の見本はC#

  1.  Visual Studio 2005 等でアプリケーションのプロジェクトを開きます。
     
  2.  ソリューションエクスプローラの[参照設定]を右クリックして、「Web 参照の追加(E)...」を選択します。
    「Web 参照の追加(E)...」を選択する様子
     
  3.  URLの欄に、
    https://www.cosmosoft.org/Activation/OnePC.asmx?wsdl
    または、
    http://www.cosmosoft.org/Activation/OnePC.asmx?wsdl
    いずれかを記入し、その右側の[移動]ボタンを押します。
    Webサービスへの参照を追加する様子
     
  4.  Web参照名の欄は、COSMOSOFT に書き換えます。
    関数の一覧が表示され、Web参照名を COSMOSOFT に書き換えた様子
     
  5.  ソリューションエクスプローラには、[Web References]フォルダと、Webサービス名 COSMOSOFT が追加されます。
    ソリューションエクスプローラに[Web Reference]フォルダと、Webサービス名 COSMOSOFT が追加された様子
     
 
 

Webサービスの利用方法(.NET Framework 3.0,3.5)

Visual Studio 2008 による C#

  1.  アプリケーションのプロジェクトを開きます。
     
  2.  ソリューションエクスプローラの[参照設定]を右クリックして、「サービス参照の追加(S)...」を選択します。
    「サービス参照の追加(S)...」を選択する様子
     
  3. 「サービス参照の追加」で、[詳細設定(V)...]を選択します。
    「サービス参照の追加」で、[詳細設定(V)...]を選択
     
  4. 「サービス参照設定」で、[Web 参照の追加(W)...]を選択します。
    「サービス参照設定」で、[Web 参照の追加(W)...]を選択
     
  5. 「Web 参照の追加」が表示されたら、.NET Framework 2.0 の場合と 同様(左側の解説 3. 以降)に設定してください。
     
  6.  ソリューションエクスプローラには、[Web References]フォルダと、Webサービス名 COSMOSOFT が追加されます。

     
 

ソースコードの見本

関数を利用するためのソースコード

  • 前項でご紹介している Microsoft のサイトと、"CS_Activation.zip" の「DLL不要版」サンプルを参考に、
    SetActivationKey() , ResetActivationKey() , GetTimelimitDate() をご利用ください。