デジタル トランスフォーメーション(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 )」になっています。
使用規約上の具体的な記述は次の項目が該当することになります。
18.定義
…
「使用許諾対象ユーザー」または「お客様の使用許諾対象ユーザー」とは、(a) お客様 (お客様が個人の場合)、および (b) お客様が提供物のサブスクリプションを取得した特定個人 (お客様の個々の従業員、コンサルタント、および請負業者、ならびに提供物にアクセスし使用するその他の個人など) を意味します。提供物により、お客様が当該提供物の使用許諾対象ユーザーを指定することができる場合、お客様は、当該使用許諾対象ユーザーがかかる提供物にアクセスし使用する前に、当該使用許諾対象ユーザーに本規約の適用について通知を行い、当該使用許諾対象ユーザーから同意を得る責任を負うものとします。
…
シングルユーザー
シングルユーザーは、オートデスク製品を個人で使用しようとするユーザーをサポートします。
シングルユーザー向け提供物では、各使用許諾対象ユーザーに固有の Autodesk ID を割り当てる必要があります。使用許諾対象ユーザーが各シングルユーザー向け提供物のインストールやアクセスを行うときは自身の Autodesk ID を使用してログインする必要があり、他のいかなる者も、同一の Autodesk ID を使用して、当該提供物にアクセスまたはこれを使用することはできません。
お客様の使用許諾対象ユーザーは、ソフトウェアを最大 3 台の電子デバイスにインストールすることができますが、当該ソフトウェアにアクセスするために一度に使用できる電子デバイスは 1 台に限られます。いかなるコレクションにおいても、お客様の使用許諾対象ユーザーは、コレクション内の各提供物タイトルのソフトウェアを最大 3 台の電子デバイスにインストールすることができます。お客様の使用許諾対象ユーザーは、コレクション内の任意のソフトウェアタイトルを同時に使用できますが、コレクション内の任意のソフトウェアタイトルにアクセスするために一度に使用できる電子デバイスは 1 台に限られます。
…
具体的な例を考えてみます。
コンピュータにインストールされた製品の指名ユーザーが「A さん」の場合、自動化によって得られる結果は「A さん」が機能を享受することになるため、その自動化使用に問題はありません。

ただ、社内ネットワークやインターネットを介したリクエストで自動化を実行する場合、指名ユーザーの「A さん」以外は、直接的であれ、間接的であれ、その機能を享受することは出来ない、ということになります。

結果を享受する人員が指名ユーザー以外の場合、また、不特定多数になる場合には、クラウドを使った Autodesk Platform Services(旧 Forge )の Design Automation API による自動化が推奨されています。

(2023年9月14日更新)
By Toshiaki Isezaki

You must be logged in to post a comment.