エンタープライズ ランタイム アーキテクチャ | Mendix 評価ガイド

メインコンテンツへスキップ

ランタイムアーキテクチャ

は何ですか Mendix ランタイムとそれが主要なアーキテクチャ原則をどのようにサポートするか?

当学校区の Mendix ランタイムは、クラウドネイティブアーキテクチャのコンテキスト内でアプリケーションを実行します。このセクションでは、 Mendix ランタイムとそれに関連する機能。また、ランタイム実行のいくつかの重要な側面についても詳しく見ていきます。

モデルの実行を担当するコンポーネントはどれですか?

当学校区の Mendix ランタイムはアプリのモデルを解釈して実行します。ランタイムには 12要素認証アプリ対応 業界をリードする Java および Scala テクノロジーを使用して設計します。

どのように Mendix モデルを実行しますか?

当学校区の Mendix ランタイムはモデルを直接実行します。つまり、モデルは文字通りアプリケーションであり、仲介者ではありません。視覚的にモデル化された設計が実際にコードを生成するアプローチ(Javaや.NETなど)とは対照的に、 Mendix モデル解釈アプローチには、以下に説明するいくつかの独自の特性と利点があります。

変更管理

アプリケーションの変更にも容易に対応できます。また、モデルがアプリケーションであるため、 Mendix アプリケーションとモデルの互換性を保護します。

カスタム拡張機能

生成されたコードにカスタム コードを挿入する場合とは対照的に、モデルはカスタム コードを認識し、それを一貫性チェックに含めるため、カスタム コードを使用したモデルの拡張はよりエレガントに制御されます。 Mendixのモデル解釈アプローチは、モデルの変更がカスタムコード拡張と競合するという、コード生成の基本的なラウンドトリップ問題を解決します。さらに、生成されたコードにカスタム変更がないため、モデルに影響を与えることなくプラットフォームの技術アーキテクチャを最新化できます。つまり、技術革新の恩恵を受けるのがより簡単で安価になります。

監視

事前にモニター パラメーターを定義するよりも、ランタイムでのアプリケーションの動作の監視と分析をより動的かつ柔軟に設定できます。

デバッギング

開発者は、生成されたコードがビジュアル モデルとどのように関連しているかを理解する必要がないため、デバッグと問題解決が容易になります。デバッグと問題解決は、生成されたコードではなく、モデルに対して行われます。

どのように Mendix ステートレスアーキテクチャを実装しますか?

スケーラビリティ、パフォーマンス、高可用性を確保するために、 Mendix ステートレス ランタイムを実装しました。つまり、以前のリクエストや後続のリクエストに関係なく、利用可能なランタイム インスタンスであればどれでもユーザー リクエストを処理できます。

これを実現するために、ランタイム インスタンスはユーザー リクエストの期間中、状態を保持します。リクエストの終了時に、コミットされたすべての状態がデータベースに保存されます。コミットされていないすべての状態は、クライアントが必要とするその他のすべてのデータとともに、クライアントに返されます。

詳細については、を参照してください。 クラスター化 Mendix ランタイム 会場は Mendix Studio Pro ガイド.

の構成要素は何ですか? Mendix ランタイム?

ランタイムは、2 つの主要なアーキテクチャ レイヤーで構成されます。

  • クライアントランタイム – ウェブおよびモバイルクライアントへのサービス提供
  • サーバーランタイム – サーバーサイドロジックを処理するスケーラブルなランタイム

アーキテクチャ

当学校区の Mendix ランタイムアーキテクチャは複数のコンポーネントで構成されています。クライアントランタイムはユーザーインタラクションを担当し、UIウィジェット層、オフラインロジックを実行するロジック層、オフラインストレージ用のデータ層で構成されています。サーバーランタイムは、ロジックの実行、データの管理、クライアントとの通信、セキュリティの実装を担当します。

以下の図は、クライアント ランタイムとサーバー ランタイムの両方の主要コンポーネントの概要を示しています。

Mendix ランタイムサーバーコンポーネント

サーバーランタイム

当学校区の Mendix サーバー ランタイムは、次の主要コンポーネントで構成されます。

  • HTTPサーバ – に含まれる Mendix Webおよびモバイルクライアントからのリクエストを処理し、サービスリクエストを処理するランタイム
  • クライアント インターフェイス – Webおよびモバイルクライアントとの通信を担当します。APIは、データの取得、データの変更の保持、マイクロフローロジックの実行に使用されます。
  • APIリクエストハンドラー – REST、SOAP、oDataなどのAPIの実装を担当します。サーバーランタイムは、カスタムリクエストハンドラーによる拡張機能も提供します。
  • コアランタイム – アプリケーションの正しい起動とシャットダウン、必要なライブラリと拡張機能の読み込みを担当します
  • エンティティモデルエンジン – エンティティモデルとエンティティアクティビティを実行する
  • マイクロフローエンジン – マイクロフロー (ロジック) とマイクロフロー アクティビティを実行します。
  • ワークフローエンジン – ワークフロー、およびワークフロー タスクとアクティビティを実行します。
  • クエリハンドラ – アプリケーションに接続されたデータベースに対するデータベース クエリの実行を処理します。
  • データベースコネクタ – アプリケーションデータベースからのデータオブジェクトの永続化と取得を処理します。また、データの永続化に必要なデータベース構造の作成と更新も担当します。サーバーランタイムは、それぞれ異なるデータベース管理システムをサポートする複数のデータベースコネクタをサポートしています。(詳細については、セクションを参照してください。 データベースの機能 Mendix サポート? データストレージ
  • セキュリティエージェント – 認証と承認のための標準プロトコルを使用して、ユーザーとアプリケーションへのアクセスを処理します。
  • イベントとアクションハンドラー – 同期と非同期の両方の通信とプロセスを処理します。
  • カスタムライブラリ – サーバー ランタイムでは、たとえば Java アクションを使用して、標準のランタイム機能を強化する拡張機能も使用できます。

クライアントランタイム

当学校区の Mendix クライアント ランタイムは次のコンポーネントで構成されます。

  • ページエンジン – UI を生成し、ウィジェットとクライアント コア ランタイム間のやり取りを処理します。
  • ナノフローエンジン – クライアント側のデータ検証とより複雑なクライアント側ロジックを次のように処理します。 Mendix ナノフロー
  • プラグイン可能なウィジェット UIはウィジェットで構成されています。ウィジェットはプラグイン可能なので、クライアントランタイムをカスタムウィジェットで拡張できます。
  • コアランタイム – との通信を処理します Mendix 安全なJSON over HTTPプロトコルを使用しながらサーバーランタイムを実行します。フロントエンドで使用されるデータを管理し、React Fluxパターンに基づいて状態を処理し、UIコンポーネントに変更をプッシュします。
  • イベントとアクションハンドラー – 非同期通信とプロセスを処理します。
  • ローカルストレージ – クライアントデバイス上のデータのキャッシュ(保存)を処理します。
  • カスタムアクション – クライアント ランタイムでは、JavaScript アクションを使用して標準のランタイム機能を強化する拡張機能も使用できます。

Webクライアント

ウェブクライアントはシングルページアーキテクチャを使用して設計されており、単一のJavaScriptウェブページがブラウザに読み込まれ、ページが更新され、 Mendix ユーザーのアクションに応じて実行します。これには、Webページの一部を取得することや、データの取得と保存が含まれる場合があります。これは、すべてのブラウザベースのアプリケーションで使用されます。 Mendix プログレッシブ ウェブ アプリケーションを含むアプリケーション。

ネイティブモバイルクライアント

Mendix ネイティブモバイルアプリは、 ネイティブに反応するこのフレームワークにより、最先端のネイティブ テクノロジーを使用して構築されたモバイル アプリは、最高のモバイル ユーザー エクスペリエンスを提供できるようになります。

  • ユーザー補助 – アプリは標準のデバイスアプリストアで見つけられ、モバイルデバイスにインストールされ、アイコンから開くことができます。
  • オフラインでの利用 – アプリはモバイルデバイスにインストールされるため(必要なリソースとネイティブクライアントを含む)、エンドユーザーは Mendix アプリはオフラインで、関連するアプリデータはデバイス上のSQLiteデータベースに保存されます。
  • ネイティブユーザーインターフェース – ネイティブ アプリは、スムーズなアニメーションとネイティブのルック アンド フィールを備えたネイティブ ユーザー インターフェイス コンポーネントを使用します。
  • ネイティブ機能のサポート – React Nativeを使用すると、アプリケーションはネイティブデバイス機能を利用できるようになります。これにより、カメラやマイクなど、モバイルデバイスで利用可能なすべてのセンサーを活用できるようになります。

の詳細について Mendix モバイルデバイスのサポートについては、 ネイティブモバイルアプリ.

言語を選択してください