多様な Forge サンプル のブログ記事では、デベロッパ ポータルに説明付きで記載されたサンプルについてご案内しました。ここでご紹介した https://autodesk-forge.github.io/ のタイトル キャプションには、「SDKs」 の言葉が挿入されている点にお気づきの方もいらっしゃると思います。

SDK とは、Software Development Kit の略で、オートデスクでは、デスクトップ製品のアドインを開発するための ライブラリやユーティリティ、サンプル、ドキュメントを 1 つにまとめたパッケージを指しています。具体的には、AutoCAD の ObjectARX SDK や Revit の Revit SDK などを、製品とは別に独立した SDK として提供しています。
一方、Forge の場合には、Authentication API(OAuth API)や Data Management API、Model Derivative API など、RESTful API が主体であるため、Web サービス API や Web サービス といった表現を使って説明しているため、「SDK」という言葉には馴染まない印象があります。
実は、この https://autodesk-forge.github.io/ ページには、Forge サンプルのほかに、Forge の開発する SDK と呼ぶ Node.js 用のミドルウェア をパッケージ化して記載しています。このため、「Forge Samples and SDKs」のような表記をしています。
現時点では、次のドルウェア パッケージが用意されています。

Authentication API(OAuth API)の RESTFul API をまとめた Node.js パッケージです 。npm サイト上の https://www.npmjs.com/package/forge-oauth2 からも参照することが出来ます。
2-legged 認証で得たアクセス トークンを使って OSS(Object Storage Service)を利用する Data Management API 部分のNode.js パッケージです。npm サイト上の https://www.npmjs.com/package/forge-oss からも参照することが出来ます。
3-legged 認証で得たアクセス トークンを使って A360 などのオートデスク ストレージのユーザ領域を利用する Data Management API 部分の Node.js パッケージ です。npm サイト上の https://www.npmjs.com/package/forge-data-management からも参照することが出来ます。
デザインデータを変換する Model Derivative API をまとめた Node.js パッケージです。npm サイト上の https://www.npmjs.com/package/forge-model-derivative からも参照することが出来ます。
Authentication API(OAuth API)、Data Management API、Model Derivative API、Design Automation API をまとめて 1 つにまとめた Node.js パッケージです。npm サイト上の https://www.npmjs.com/package/forge-apis からも参照することが出来ます。
これら SDK を Node.js で使うことで得られる利点ですが、現時点は次のようなものになるはずです。
- Forge Platform API が提供する RESTful API の endpoint を直接呼び出すコードを実装する必要がなく、実装コードを簡素化することが出来る。
- ある程度、コーディング スタイルを統一し易くなる。
- 今後、予想される endpoint やパラメータの変更、基本的なセキュリティ対策を SDK 側が吸収してくれるため(してくれるはず)、既存のコードをなるべく維持して、変更等に対する細かい対応が不要になる。
- npm コマンドでインターネット上からパッケージをインストールすることで出来るため、比較的容易に開発環境を構築することが出来る。
上記 Node.js 用ミドルウェア パッケージ の場合には、パッケージ自体が更に別のパッケージを数多く参照しているため、ご自身ですべて実装するよりも、かなりコードが簡素化されていくはずです。
一方、参照しているミドルウェア パッケージにも細かいバージョンが存在し、一定のタイミングでバージョンアップされています。これら、ミドルウェア パッケージのバージョンアップで SDK の互換性が崩れないよう、メンテナンスし続ける必要があるのは言うまでもありません。Forge SDK に限らず、Node.js のミドルウェア パッケージの利用には、その点に注意を払う必要があります。幸い、オートデスクが提供する Forge SDK は、Forge の開発チームが直接メインテナンスに携わっているため、この点は安心です。
Forge SDK を利用するか否かは、Forge をお使いになる開発者の一存に依ります。これら Forge SDK は、前述の ObjectARX SDK のように、利用しなければ開発が出来ない、といった類のものではありませんのご注意ください。
なお、Node.js ではなく、Java 環境用に Authentication API(OAuth API)、Data Management API、Model Derivative API、Design Automation API をまとめた forge-api-java-client も用意されています。
By Toshiaki Isezaki

You must be logged in to post a comment.