Skip to main content

 

拡張および連携

 

 

OutSystems

拡張機能をコーディングする

Integration Studio内で拡張機能を定義した後、使用しているアプリケーションサーバーに応じて.Net/Java IDEを使用し、拡張機能をコーディングして開発する必要があります。使用するIDEは、[Options]ウィンドウで指定できます。詳細については、「Integration Studioを構成する」をご覧ください.。

Integration Studioで定義したすべての拡張機能要素は、以下のようにマッピングされます。

.NETアプリケーションサーバー内

アクションは.NETクラスメソッドの<ExtensionName>.csファイルにマッピングされます。

エンティティとストラクチャは、Entities.csStructures.csファイル内の.NETクラスとストラクチャにマッピングされます。

J2EEアプリケーションサーバー内

アクションはJavaクラスメソッドの<ActActionName>.javaファイルに、アクションごとにマッピングされます。

エンティティとストラクチャは、JavaクラスとストラクチャのEN<ActionName>EntityRecord.javaST<StructureName>.javaファイルにそれぞれマッピングされます。

(Both)アプリケーションサーバー内
拡張機能要素は、上記で説明しているように.NETやJ2EEのクラス、メソッド、ストラクチャごとにマッピングされます。Integration Studioで定義されているように、すべての拡張機能要素は常に両方のプラットフォームで同期されています。

拡張機能のコーディング方法

  1. .NET/Java IDEでソリューションを開き、必要に応じてサードパーティのメソッドをコーディングします。Edit Source Code操作を使用することもできます。

  2. 拡張機能の動作を実装する主要なDLL(動的リンクライブラリ)(.NETアセンブリ)やJAR(Java Archive)を生成するには、.NETやJavaプロジェクトをコンパイル/構築します。

拡張機能を作成すると、Integration Studioは開発のブートストラップに必要なテンプレートファイルを自動的に生成します。詳細については、「拡張機能のソースファイル」をご覧ください。

テンプレートファイルは、カスタムコードや開発者によるコード作成なしで拡張機能アセンブリを生成するために必要なファイルです。これらのファイルは、以下の操作を行うとIntegration Studioで暗黙的に生成されます。新しい拡張機能を作成し、拡張機能のソースコードを更新するか、テンプレートと比較します。

通常は、拡張機能の開発に必要なファイルはこれらのみです。ただし、Helpファイルや別のDLLなど、さらにファイルが必要な場合は、それらをサードパーティプロジェクトの依存関係として追加します。その後、拡張機能にすべてのファイルをまとめるために、拡張機能のリソースとして追加します。

ソースの変更管理

2つの環境ツール間で情報が失われることがないよう、Integration Studioはツール自体とIDEで行った作業を同期するために必要なメカニズムを備えています。

一方で、IDE内で行った変更の一部は拡張機能内で自動的に同期されます。DLL/JARを明示的に更新したり、Binariesフォルダにリソースとしてサードパーティソリューションの依存関係を追加したりする必要はありません。拡張機能を検証するか、1-Click Publish操作を使用すると、ソースコードに対する変更が拡張機能で更新されます。

アクションのシグネチャを、IDEで変更してはいけません。次の段落の説明に従い、Integration Studioでアクションを直接変更する必要があります。

一方で、Integration Studioで作成または変更されたすべての要素(アクション、エンティティまたはストラクチャ)は、Update Source Code操作の呼び出し後に、IDE内で自動的に利用可能になるか更新されます。この操作により、ソースコードを失うことなく、アクションの定義をIDEに実装したコードと連携できます。拡張機能の要素は、名前で識別されます。つまり、アクションの名前を変更した場合、Integration Studioは古いアクションと新しいアクションを関連付けることができません。この場合、ソースコードの各メソッドの名前を手動で変更する必要があります。この連携操作にあたり役に立つのが、Compare With Template操作です。

  • Was this article helpful?