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

モデルの整合性

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

1 Mendixは、開発段階でアプリの品質と整合性をどのように保証しますか?

Mendix Studio Pro は、以下で説明するアプローチとメカニズムにより、Mendixプラットフォームで構築されたアプリケーションの品質と整合性を保証します。

 

1.1 整合性チェック

Mendixは、従来のプログラミングプラットフォームでコンパイラがチェックするものよりも10〜20倍の整合性チェックを実行します。そのため、開発者が必要なテストは主に機能レベルです。広範囲にわたる品質と整合性のチェックにより、ビジネス側の専門家が堅牢で洗練されたアプリを開発できるのが利点です。

整合性チェックは、エラー警告非推奨の 3つのカテゴリに分類されます。たとえば、新しい Attribute がアプリに追加されると、Mendixはすべてのセキュリティ構成とアクセスルールが適切に構成されていることを確認します。正しくない場合は、問題の内容と解決方法に関するエラーが発生します。アプリを再度実行するには、エラーを解決する必要があります。これにより、アプリが常に論理レベルで一貫していることが保証されます。

同時に、Mendixは、プロの開発者がチェック結果で表示された推奨事項を実施したくない場合に、独自のトレードオフを許容します。たとえば、特定のクエリのパフォーマンスに関する警告を開発者が無視する場合があります。これは、ユーザーがこのクエリを実行する頻度とパフォーマンスを総合的に判断したためです。

Mendixプラットフォームでの整合性チェックの例を次に示します。

  • Mendix Studio やMendix Studio Pro は、違う Attribute または存在しない Attribute に接続された Page の入力フィールドを持つアプリのデプロイを防ぎます(たとえば、bool型の Attribute に接続されたテキストボックス)。
  • Mendixは、ログインしたユーザーが権限を持っていない Page に遷移するメニューを自動的に非表示にします。
  • Mendix Studio やMendix Studio Pro は、特定のロールを持つユーザーが、セキュリティ設定でアクセス不可の EntityAttribute を表示する Page に遷移する場合、エラーを表示します。
  • アプリケーションでデータ取得を定義するとき、Mendixは結果のデータベースクエリが構文的にも意味的にも正しく、データベースに対して正常に実行されるかどうかを検証します。

この意味は、これらの整合性チェックが、開発作業で簡単にすり抜ける可能性のある不具合を指摘または防止できるということです。これにより、不具合が少なくなります。場合によっては、チェックが積極的に機能します(たとえば、Mendix Studio やMendix Studio ProAttribute の名前を変更すると、このAttributeを参照しているすべてのものについて名前を自動的に変更したり調整します)。これにより、不具合がモデルに忍び込む可能性が更に減少します。

 

1.2 単一のモデリング環境

Mendixのすべてのアプリケーションモデルは、単一の環境で管理されます。Mendixは、モデル全体の完全性と整合性をチェックします。このようにして、Mendixは、モデルが展開されると技術的な矛盾が発生しないことを保証します。不整合が解決されるまでモデルの展開を許可しません。

 

1.3 パターン認識

Mendixは、本番環境で実行中のアプリケーションに問題を引き起こす可能性のあるパターンを分析して検出します。たとえば、プラットフォームでは、他の場所で使用されていないフロー内の不完全な決定ツリーや変数の使用をチェックし、モデルを公開する前に警告が表示されます。

 

1.4 回帰分析

同じメカニズムを使用して回帰チェックを実行し、モデルへの変更の影響を簡単に分析できるようにします。Mendixで使用される回帰チェックの例には、データオブジェクトでコミットが実行される場所を強調する「使用場所」分析や、パフォーマンスを低下させる可能性のあるクエリの検出があります。

Mendixの本質的な品質と整合性のチェックメカニズムは、開発の生産性に大きく貢献しています。

 

1.5 モデルのリファクタリング

Mendix Studio やMendix Studio Pro は、モデルのリファクタリングを幅広くサポートしています。たとえば、ユーザーが Page または Microflow 変数の名前をリファクタリングすると、Mendix Studio やMendix Studio Pro はすべてのモデルパーツでリファクタリングし、モデルの整合性を維持します。このようなリファクタリングは、モデル全体で​​自動的に一貫して行います。

開発者によって意識的にリファクタリングする必要がある場合(たとえば、 Microflow に入力パラメーターを追加する場合)、モデルの整合性チェックは、アプリケーションを再度デプロイする前に、モデルのどの部分で変更が必要かフィードバックを提供します。

 

2 Mendixは、データアクセス権がUIやAPIで適用されますか?

データアクセス権はMendixモデルの必須であり、アプリケーション全体で影響します。Mendixの開発者は、すべてのアプリケーションエントリポイントにカスタムセキュリティロジックを追加で記述する必要はありません。

たとえば、ドメインモデルの特定の Entity で管理者ロールのみに書き込み権限が設定されている場合、その権限はユーザーインターフェイスやサービスAPIでも適用されます。つまり、書き込み権限を持たないユーザーロールでログインすると、 Page 上の[編集]ボタンが自動的に非表示になります。

 

3 モデルの品質を改善するために利用できる分析ツールはどれですか?

統合されたモデル分析と整合性チェックに加えて、Mendix Studio Pro には、あらゆる種類のモデル要素を分析したり検索できる高度な検索機能があります(たとえば、未使用のドキュメント、リファクタリングが必要な大きな Microflow 、特定の統合タイプを使用するすべての Microflow の一覧)。

 

翻訳元:

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

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

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

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

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