2019.08.27Mendixガイド , Mendixでの開発 , アプリケーションライフサイクル

コンポーネントの再利用

  • このエントリーをはてなブックマークに追加

1 Mendixはどのようにコンポーネントの再利用を可能にしますか?

複数のアプリケーションを構築する際に考慮すべき重要な側面の1つは、アプリケーションモデルのコンポーネントを再利用することです。Mendixプラットフォームは、1つのアプリ内や複数のアプリ間で再利用することができます。これにより、次のことが可能になります。

  • アプリ全体で整合性を保つ – UIの要素、ロジック、データを再利用すると、アプリケーションの見た目や動作の整合性が保たれます。これにより、アプリケーションの使いやすさが向上し、情報の正確性が確保されます。
  • 生産性の向上 – 実績のあるコンポーネントを複数の場所で再利用することにより、同様の動作を実装してテストする時間が短縮されます。

以下のセクションでは、アプリケーションモデルのさまざまな側面に対するMendixプラットフォームの再利用オプションについて説明します。

 

2 Mendixアプリケーション間でどのようにコンポーネントを再利用できますか?

アプリケーション、UI、ロジック、データを再利用することができます。詳細については、以下をご覧ください。

 

2.1 ユーザーインターフェース

UIの再利用は、コンポーネントとスタイル、一元化されたテーマ、他のアプリからのユーザーフローの参照に分かれます。

 

2.1.1 コンポーネントとスタイル

Mendix Atlas UI フレームワークを使用すると、開発者は制御と柔軟性を維持しながら、一貫したユーザーインターフェイスを迅速に構築できます。 Atlas UI を使用して、再利用可能な要素、テンプレート、テーマを組み合わせることにより、企業のブランドを反映したUIリソースパッケージを作成できます。

 Atlas UI の背景にある哲学は、デザイナーが企業のデザインを作成して開発者が簡単に再利用するようなベストプラクティスを実装できることです。これにより、UIコンポーネントを一度デザインするだけでデザインの生産性が向上し、開発者は機能の構築に集中できるため生産性が向上します。Mendixプラットフォームは、UIリソースパッケージをカプセル化でき、クールで一貫性のある外観のアプリを作成するためのいくつかの概念を持っています。これらの概念については、UIデザインを参照してください。

UIリソースをMendixの 企業内プライベート App Store で共有したり、企業のスターターアプリに統合して、他の開発者が新しいアプリのプロジェクトを開始する際にデザインを再利用することができます。これにより、開発速度が向上し、アプリケーション間で一貫性が保たれます。デザインを更新した場合は、企業内プライベート App Store 経由で簡単に共有できます。

アプリケーションごとに、一貫性を保ちながらルックアンドフィールを完全に制御するために、デザインを拡張することができます。開発者は、SASSファイルを拡張して、 LayoutPage templateBuilding block 、デザインプロパティを変更し、アプリケーション固有のスタイルを作成することができます。

 

2.1.2 Themeの一元化

 Theme を一元化し、アプリケーション間で Theme を共有することもできます。Mendixアプリまたはコンテンツ配信ネットワーク(CDN)でThemeをホストすることにより、会社は複数のアプリケーションに適用される Theme を1か所で変更することができます。Themeをアプリケーション固有のThemeと組み合わせて、再利用しながら変更することもできます。

 

2.1.3 他のアプリケーションからのユーザーフローの参照

Mendixは、あるアプリケーションから別のアプリケーションへのディープリンクを可能にします。これにより開発者は、他のアプリケーションから再利用できるユーザーインタラクションフローを個別に開発できます。

ここでのもう1つの利点は、SAMLOAuthOpenID Connectなどのシングルサインオン(SSO)テクノロジーを介してユーザーが自動的にログインできることです。

 

2.2 ロジック

さまざまなアプリケーションでロジックを再利用するための方法がいくつかあります。

  • ある場所でのみロジックを持つ – アプリケーション間でロジックを再利用するための最良の方法は、他のアプリケーションにロジックを配布しないことです。これは、WebサービスまたはREST APIを介して Microflow ロジックを公開することで実現できます。
  • アプリモジュールのエクスポートとインポート – この方法は、従来の開発プラットフォームでライブラリを使用する方法に似ています。モジュールには、ロジックだけでなく再利用可能なデータやUIコンポーネントを含めることもできます。Mendix App Store で、他の開発者が簡単に再利用のためにモジュールを公開することができます。
  • モジュールを介してサードパーティのJavaライブラリを再利用する – この方法では、Javaベースの Microflow アクションや、必要なJavaライブラリをモジュールに組み込むができます。これにより、他の開発者はJavaの知識がなくても幅広いJavaライブラリを簡単に再利用することができます。

これらの方法は、ロジックを実装してテストを必要があるのは一度だけという利点があり、生産性や整合性の向上に役立ちます。

 

2.3 データ

アプリケーション間でデータモデルを再利用する方法は、要件によって異なります。モデルを再利用するだけでよい場合もありますが、すべてのアプリに独自のデータがあります。アプリケーション間でデータだけでなくモデルを再利用する場合もあります。

Mendixは、アプリケーション間でのデータモデルと実際のデータの両方の再利用をサポートしています。

  • すべてのアプリで異なるデータを保持しながらデータモデルを再利用する – 上記のロジックに関するセクションでアプリモジュールのエクスポートとインポートについて説明したように、モジュールでドメインモデルをエクスポートできます。
  • データモデルとデータの再利用 – これを実現するには、あるアプリケーションでAPIを作成する方が適切です。これは、Web、REST、ODataサービスを通じて実現できます。Webサービスは、レガシーシステムとデータを共有する場合に適しています。RESTサービスとODataサービスはどちらも、データに対する操作の標準セットを定義することにより、データの共有により適しているという利点があります。RESTを使用すると、他の最新アプリケーション開発プラットフォームと同様に、他のMendixアプリケーションとデータを共有できます。ODataには、ビジネスインテリジェンスやレポートツールでデータを再利用する方法として充分にサポートされているという利点もあります。

 

3 Mendixアプリケーション内でコンポーネントを再利用するにはどうすればよいですか?

アプリケーション内での再利用は、以下に示すように、UI、ロジック、データで可能です。

3.1 ユーザーインターフェース

Mendixは、各ユースケースの拡張性を維持しながら、アプリケーション内での再利用をサポートするためのいくつかの概念に基づくUIコンポーネントベースのアプローチを適用します。これらの概念の詳細については、UIデザインを参照してください。

Mendixは、参照として使用できる LayoutSnippet を提供します。 LayoutSnippet が変更された場合、この変更はプロジェクト内で反映されます。しかし、場合によっては、アプリケーションの一部が意図的に異なるように設計されている場合、変更の反映が優先されないことがあります。これらのユースケースをサポートするために、Mendixは Page TemplateBuilding Block を提供しています。これらのテンプレートにより、既に作成されたアプリページ(またはページの一部)を提供することで生産性を向上させると同時に、デザインのインスピレーションに役立ちます。テンプレートが使用された後の変更はそのところだけで適用されるため、開発プロセス中に予期しない副作用が発生することを回避できます。

 LayoutSnippetPage Template の組み合わせにより、開発者は、一部で変更をする自由を維持しながら、全体的に参照や更新することができます。

3.2 ロジック

アプリケーション内でロジックの再利用するには、次の方法があります。

  • 再利用可能なアクションを新しい Microflow に抽出する – この抽出は、 Microflow 内で再利用するアクションを選択し、抽出先の Microflow の名前を入力するだけでできます。抽出すると、抽出元の Microflow では、新しい Microflow への呼び出しアクションに自動的に置き換えられます。新しい Microflow に抽出すると、新しい Microflow に必要なパラメーターを自動的に設定します。
  • Javaアクションを使用して新しい Microflow Activity を作成する – 新しいJavaアクションを定義し、通常のJava開発環境で実装すると、それを MicroflowActivity として使用できます。Mendix Studio Proの Microflow エディターツールボックスで表示される名前、カテゴリ、アイコンを設定できます。他のユーザーは、Mendixが提供するアクティビティと同じ方法でカスタムアクティビティを使用することができます。
3.3 データ

Mendix Domain Model を使用すると、継承を通じて Entity の定義を他の Entity に再利用できます。複数の Entity で定義する必要がある Attribute を定義すると、それらの Attribute を別の Entity で継承できます。これは、 Attribute を継承する Entity が元の Entity から特化した場合に最適です(たとえば、配送先住所 Entity と請求先住所 Entity は両方とも一般的な住所 Entity から継承できます)。

 

翻訳元:

https://www.mendix.com/evaluation-guide/app-lifecycle/reuse

  • このエントリーをはてなブックマークに追加

このエントリーにコメントする

必須項目は全て入力してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)