アプリケーション開発の最良事例 > ThingWorx Platform 上に構築されたアプリケーションのパッケージ化および展開
ThingWorx Platform 上に構築されたアプリケーションのパッケージ化および展開
ThingWorx Platform は完全なエンドツーエンドのテクノロジプラットフォームです。これを使用して IoT アプリケーションを開発、展開、拡張できます。
IoT アプリケーションは以下の 2 つの方法で展開できます。
拡張機能として - アプリケーションを拡張機能として ZIP ファイル内にパッケージ化できます。拡張機能はエンティティ、リソース、ウィジェットのコレクションです。ユーザーは拡張機能を ThingWorx Platform 内にインポートして IoT ソリューションを管理できます。
アプリケーションを拡張機能として展開することをお勧めします。拡張機能を使用することで、ThingWorx 成果物のコレクションをさらに簡単に管理できます。顧客に配布されるアプリケーションを構築している場合、アプリケーションを拡張機能として展開することをお勧めします。
拡張機能を作成する場合、十分に前もって設計要件を定義しておきます。たとえば、開発の初期段階で、モデリング要件として Thing Shape と Thing Template のどちらを使用するか、必要な組織およびユーザーグループ、ユーザーに付与するアクセス許可などを決定する必要があります。
エンティティのコレクションとして - アプリケーションが社内用の軽量ソリューションである場合、アプリケーションをエンティティのコレクションとしてパッケージ化でき、これを XML またはバイナリファイルとしてエクスポートできます。
* 
アプリケーションを拡張機能としてバンドルすることが推奨されます。
拡張機能とは
拡張機能はエンティティ、リソース、ウィジェットのコレクションであり、ThingWorx Platform の機能を拡張するときに使用します。このコレクションは ZIP ファイルとしてパッケージ化され、すべての ThingWorx Platform にインポートできます。これは新機能を追加するために使用します。
エンティティは ThingWorx Composer を使用して作成します。Eclipse などの外部ツールを使用してウィジェット、リソース、Java コードを作成できます。
ThingWorx Platform の新規サービスまたはアプリケーションを配信するための構成要素として拡張機能を使用できます。これらの構成要素拡張機能を個別に配信することも、ZIP にまとめて簡単に展開することもできます。
拡張機能を PTC Marketplace 上に展開することで、PTC カスタマーコミュニティがこれにアクセス可能になります。
拡張機能を構築する理由
拡張機能を構築する理由には以下のようなものがあります。
機能的に相互に依存する複数のエンティティがソリューションに含まれている。
ThingWorx Platform 内からアクセスできない Java ライブラリにソリューションが依存している。
拡張機能のユーザーにソースコードが見えないようにする必要がある。
ThingWorx Platform 上に存在しないカスタムウィジェットを使用する必要がある。
エンティティのリソースに関連付けられていないグローバルサービスが必要である。
組織がカスタムディレクトリサービスまたはユーザー認証スキームを使用する必要がある。