デジタル トランスフォーメーション(DX)をきっかけに、最近、「デスクトップ製品を使った API による自動化は、何が OK で何が NG なのか?」 といった質問をよく聞かれます。
ネットワークやインターネット、クラウドの使用が一般的になった現在、議論には、デスクトップ製品を使った自動化に至る方法が含まれることになります。もちろん、こういった方法論は多くの具体的な手法に枝分かれしてしまうので、1つ1つのパターンについて精査するのは困難です。
そこで、ここでは視点を変えてデスクトップ製品を使った自動化を考えてみたいと思います。まず、オートデスク製品の自動化についてまとめてみましょう。
永久ライセンスやサブスクリプション ライセンスにかかわらず、オートデスクのデスクトップ製品には、作図やモデリングを支援する機能を作成したり、特定のタスクを自動化したりする目的で、API(Application Programming Interface)が提供されています。
これら API は、主に製品にロードして使用するアドイン(別名、アドオン、プラグイン)アプリを開発するために使用されます。このとき、アドインの実行には製品の実行が必須ということになります。
また、オートデスクが提供する API 以外にも API が存在します。自動化を考えると、ユーザーが毎回、手動で製品を起動してアドインをロード、実装機能を実行するよりも、外部からのリクエストに応じて製品を自動的に起動、アドインの自動ロードさせて機能を実行した場合が効果的です。一部 ActiveX オートメーション(COM API)を持つ AutoCAD や Inventor も自動起動の実装が可能ですが、汎用的に Windows が提供する API で製品を起動させることも可能です。
アドインの自動ロード機能は各製品側の機能で実現可能なので、Windows API+デスクトップ製品 API を併用することで、製品の起動 >> アドインのロード >> アドイン実装機能の実行、といった一連の動作を一気通貫に自動化出来ることになります。
ここで重要なのは、アドインの実行には製品が必須という点です。言い換えるなら、API で実装した機能はデスクトップ製品が持つ標準機能と同様に製品が提供する能力の1つである、と考えることが出来ます。
次に考え及ぶのが、製品の使用権は誰にあるのか?という点です。
アドインによる自動化で得られる機能を享受出来るのは、サブスクリプションで提供される製品の場合、使用規約の「指名ユーザー提供方法」に則してライセンスを割り当てられた個人になります。
- AutoCAD や Revit、Inventor といったオートデスクのデスクトップ製品は、2016年1月31日で永久ライセンスの販売を終了し、サブスクリプション販売へ移行しています。移行にともなって、製品使用時に適用される規程も変化しています。過去、永久ライセンス時にデスクトップ製品インストール時で表示されていた「使用許諾契約書(EULA)」は、現在、サブスクリプション モデルで「使用規約(Terms Of Use )」になっています。
使用規約上の具体的な記述は次の項目が該当することになります。
22.定義
使用許諾対象ユーザー とは、(i)お客様(お客様が個人の場合)並びに(ii)お客様による提供物のサブスクリプション取得の対象者である識別される個人(お客様の個別の従業員、コンサルタント、及び契約社員、及びお客様の利益のために提供物のアクセス及び利用を行うその他の個人等)をいいます。提供物によりお客様が当該提供物の使用許諾対象ユーザーを指定することを許可された場合、お客様は、当該使用許諾対象ユーザーが当該提供物のアクセス及び利用を行う前に、当該ユーザーによるアクセス及び利用に対する本規約の適用に関して、当該ユーザーへ通知を行い、かつ当該ユーザーから同意を得ることについて責任を負います。
指名ユーザー提供方法
「シングルユーザー」、「個人」、または「指名ユーザー」として記載されている提供方法については、使用許諾対象ユーザーは、(i) 固有のユーザー ID(「Autodesk ID」)によって識別されなければならず、かつ、(ii) 個人である必要があります。 使用許諾対象ユーザーが各提供物のインストールやアクセスを行うときは自身の Autodesk ID を使用してログインする必要があり、同じ Autodesk ID を他人が使用して当該提供物へのアクセスや使用を行うことはできません。
シングルユーザー サブスクリプション
サブスクリプションに「シングルユーザー」、「個人」、「指名ユーザー」と記載されている場合、お客様は、当該サブスクリプションを 1 名の使用許諾対象ユーザーに対してのみ割り当てることができます。
お客様の使用許諾対象ユーザーは、最大で 3 台の電子デバイス上にソフトウェアをインストールできますが、一度に使用できるのは 1 台の電子デバイス上のソフトウェアに限られます。
具体的な例を考えてみます。
コンピュータにインストールされた製品の指名ユーザーが「A さん」の場合、自動化によって得られる結果は「A さん」が機能を享受することになるため、その自動化使用に問題はありません。
ただ、社内ネットワークやインターネットを介したリクエストで自動化を実行する場合、指名ユーザーの「A さん」以外は、直接的であれ、間接的であれ、その機能を享受することは出来ない、ということになります。
結果を享受する人員が指名ユーザー以外の場合、また、不特定多数になる場合には、クラウドを使った Forge 開発プラットフォームの Design Automation API による自動化が推奨されています。
By Toshiaki Isezaki
コメント