ロジック
アプリにロジックを追加するにはどうすればいいですか?
アプリケーションロジックは Mendix ワークフロー、マイクロフロー、ナノフローの形式で提供されます。これらは、従来はプログラミング コードの関数やメソッドで表現されていたものを視覚的に表現する方法です。つまり、ワークフロー、マイクロフロー、ナノフローを使用すると、コードを記述しなくても、複雑なビジネス ロジックをアプリケーションのプロセスに簡単かつ視覚的に追加できます。
ワークフローは長期間実行されるプロセスであり、プロセスを次のタスクに進めるには人による入力が必要です。詳細については、 ワークフロー.
マイクロフローとナノフローは本質的に短命です。
次の表は、ナノフローとマイクロフローの違いと、それぞれに適用されるユースケースを示しています。
Use Case | ナノフロー | マイクロフロー |
---|---|---|
それでも僕らは走ります | クライアント(ブラウザ/デバイス) | サーバー |
言語 | JavaScriptを | Java /Scala |
オフラインモバイルアプリ | サポート | 無し |
セキュリティ | ユーザーコンテキストで実行 | デフォルトではシステムコンテキストで実行されます(ユーザーコンテキストも可能) |
取引 | すべての通話がトランザクション | 単一トランザクション |
クライアントでのアクションの実行(ページを閉じるなど) | 直接 | マイクロフローが実行された後 |
ロジックがビジネスニーズに適合していることをどのように確認すればよいでしょうか?
Mendix はビジネスと IT のコラボレーションを重視しており、ワークフロー、マイクロフロー、ナノフローの視覚的な性質により、ビジネス志向のユーザーはアプリケーションの設計方法を把握できます。つまり、拡張開発チームのメンバー全員がロジックの反復的な開発に参加できるということです。
クライアント側ロジックを構築するにはどうすればよいですか?
ナノフローは、クライアント側のロジック(モバイルアプリのロジックなど)を構築するために使用されます。ナノフローを使用すると、オフラインロジックと低レイテンシをサポートできるため、オフライン対応の超高速アプリを実現できます。詳細については、セクションを参照してください。 どのように Mendix クライアント側ロジックをサポートしますか? in フロントエンド.
加えて、 Mendix カスタムウィジェットの作成により、フロントエンドをカスタムロジックと視覚化で拡張するメカニズムを提供します。詳細については、セクションをご覧ください。 どうすれば延長できますか? Mendix フロントエンド? in フロントエンド.
サーバー側ロジックを構築するにはどうすればよいですか?
マイクロフローとビジネス ルールは、アプリケーションのロジックを表現できるため、サーバー側ロジックの構築に使用されます。マイクロフローは、オブジェクトの作成と更新、ページの表示、選択、外部システムへの接続などのアクションを実行できます。ワークフロー定義でシステム タスクとして構成されている場合、マイクロフローはワークフローから呼び出すことができます。マイクロフローをカスタム ワークフロー アクションとして公開すると、ロジックを簡単に再利用できます。
マイクロフローは次の要素タイプで構成されます。
- イベント マイクロフローの開始点と終了点、およびループ内の特別な操作を表す
- 入力パラメータ マイクロフローにコンテキストからの入力を提供する
- アクティビティ マイクロフローで実行されるアクションです
- コネクタ からダウンロードすることができます Mendix マーケットプレイス アプリを他のシステムに接続する
- 流れ 要素間の接続を形成する
- 分割 選択を可能にし、異なるパスを再び結合できるようにする
- エラーハンドラ アクティビティ、分割、ループに設定して、エラーの処理方法を定義できます。
詳細については、を参照してください。 マイクロフロー 会場は Mendix Studio Pro ガイドワークフローでのマイクロフローの使用の詳細については、 ワークフロー 会場は Mendix Studio Pro ガイド.
ルールは特殊な種類のマイクロフローであり、ビジネス ルールを表現するために使用できます。ルールはブール値または列挙値を返す必要があり、その結果に基づいて決定を下すために分割で使用できます。複雑な決定をルールに統合し、アプリケーションのさまざまな場所で再利用できるという考え方です。
アプリケーションにカスタム コードを追加するにはどうすればよいですか?
サーバー側では、 Mendix REST、OData、SOAP Web サービスに基づくすぐに使用できるマイクロフロー ロジックと統合機能を提供します。つまり、カスタム コードが必要になることはあまりありません。マイクロフロー ロジックを独自のロジックで拡張する必要がある場合 (ライブラリ呼び出しまたは Java 経由で公開される外部サービス呼び出し経由)、 Mendix Studio Pro を使用すると、IDE 内から直接使用できる Java ロジックを構築できます。
詳細については、次のセクションを参照してください。
- サーバー側ロジックで独自のカスタム コードを使用するにはどうすればよいですか? (以下)
- オープン性と拡張性はどこで活用できるのか Mendix? in オープン性(API と SDK)
- カスタムウィジェットの作成方法 UI拡張機能とカスタムウィジェットの開発方法に関するハウツー Mendix アプリ固有のUIとJavaScriptロジックをページに追加するためのウィジェット
- ローコードの世界でコードを書く
サーバー側ロジックで独自のカスタム コードを使用するにはどうすればよいですか?
第三世代プログラミング言語(この場合はJava)との統合は、 Mendix モデル駆動型開発アプローチ。これは、マイクロフローだけでは目的の結果を達成できない、または Java/Scala コードとスキルに既に投資していて、それをアプリケーション モデルで活用したいというまれな状況で特に役立ちます。 Mendix Studio ProはEclipseと統合されており、モデルのコード拡張をサポートします。 Mendix デバッグ機能は Eclipse に完全に統合されており、実行中のアプリケーションの他の部分と同様に、参照された Java コードで同じデバッグ機能を提供します。
本質的には、特定のDSLの範囲に制限されることはなく、カスタムJava関数をいつでも使用できます。カスタムJava関数はモデル内から呼び出すことができ、出力は直接使用できます。各アクションのインターフェース(Java関数に相当)もモデル内で定義されます。名前、パラメータ、戻り値はすべて次のように宣言されます。 Mendix スタジオプロ。 Mendix Studio Pro は、各アクションに対して Java テンプレート クラスを生成します。これは、カスタム コードを追加できるフックです。
アプリ内のインターフェース定義の名前が変更されたりリファクタリングされたりすると、Javaクラステンプレートはカスタムコードを失うことなく自動的に変更されます。変更は、 Mendix プラットフォームに組み込まれた整合性チェッカーは、開発プロセスの早い段階でカスタム コードの整合性エラーを検出します。これにより、デプロイメントが行われる前に Java コードがコンパイルされ、アプリ拡張機能がモデルと整合していることが保証され、開発の反復中に貴重な時間を節約できます。
プロの開発者は、Java 構造を自由に拡張できるため、必要に応じてオープンソースまたは独自のライブラリを活用できます。このカスタム コード内では、ランタイム エンジンのコアに広範な API を使用できます。これは、リフレクティブ プログラミング パターンなどを可能にする低レベル API です。
Java拡張機能は、 Mendix バージョン管理、コンパイル、デプロイメントのパッケージ化など、アプリケーションのライフサイクル全体にわたるプラットフォーム。Javaアクションは、Java以外の開発者が使用できる新しいマイクロフロー機能を構築するエレガントな方法を提供します。Javaアクションが完成したら、右クリックして、ネイティブアクションとして公開します。 Mendix スタジオプロ ツールボックスこれにより、アプリ プロジェクト内のすべての開発者が簡単に見つけられるようになります。
Javaコードの使用方法の詳細については、 Mendix アプリ、参照 Javaプログラミング 会場は Mendix Studio Pro ガイド.
どのように Mendix 信頼性の高いバックグラウンド処理をサポートしますか?
ミッションクリティカルなアプリケーションでは信頼性が重要です。 Mendix タスク キューは、リソースを大量に消費するタスクの並列処理を提供します。個別の設定可能なスレッド プールを通じて、マイクロフローと Java アクションの実行を制御できます。これにより、負荷のバランスを取り、タスク実行の優先順位を付けることができます。
失敗したタスクを自動的に再スケジュールすることで、 Mendix 少なくとも 1 回の配信メカニズムを提供します。永続的な中断を識別するために、きめ細かい監視により、現在のイベントと過去のイベントの両方の透明性が確保されます。
詳細については、 タスクキュー 会場は Mendix Studio Pro ガイド。
デバッグ方法 Mendix?
Mendix Studio Proは、 Mendix プラットフォームは、 モデルの一貫性.
その結果、デバッグと問題のテストは主に機能レベルで必要になります。ここでの利点は、徹底的な品質と一貫性のチェックを通じて、技術に詳しくないドメイン エキスパートでも堅牢で洗練されたアプリを開発できることです。
の詳細について Mendixの組み込みデバッグツールについては、 デバッグ機能.
エラー処理オプションの機能 Mendix 提供?
洗練されたエラー処理がサポートされています Mendix マイクロフローのエラー ハンドラーの定義を通じて。エラー ハンドラーを使用すると、ロジック内のエラー (タイムアウトなど) や、サービス呼び出しやデータベース アクセスからの予期しない結果を、要件に応じて適切に管理できます。
この Mendix プラットフォームはトランザクション ベースです。つまり、実行されたロジックはトランザクションを完了して終了するか、エラーをスローすることができます。エラーが発生した場合は、トランザクション全体をロールバックする (つまり、関連付けられたオブジェクトが元の状態にロールバックされる) か、ロールバックしないかを選択できます。どちらの場合も、トランザクション後に実行されるエラー処理ロジックをマイクロフローに追加できます。
このエラー処理プロセスにより、 Mendix アプリ。
ロジックを再利用するにはどうすればいいですか?
以下の特徴は Mendix Studio Pro を使用するとロジックの再利用が簡単になります。
- 現行製品 マイクロフロー ルールは、他のマイクロフローやページコンテキストから呼び出すことができます。 Mendix アプリプロジェクト。 Mendix リファクタリング ツールが組み込まれており、既存のマイクロフローからロジックを抽出して、入力パラメータと戻り値の型が明確に定義されたインターフェイスを含む新しいマイクロフローに簡単に変換できます。このロジックは、他のコンテキストから完全に再利用できます。
- 既存の Javaライブラリとカスタムコード アプリのロジック内。
- 再利用可能なロジック モジュールにグループ化してエクスポートすることができます Mendix マーケットプレイスそこから、他のアプリ プロジェクトとパブリックまたはプライベート (つまり、社内) コンテンツとして共有できます。
- この Mendix マーケットプレイス アプリモデルにダウンロードできる再利用可能なマイクロフローとマイクロフローコネクタが多数含まれています。これにより、プロジェクトごとにロジックを再発明する必要がなくなります。 コミュニティコモンズ機能ライブラリ マーケットプレイスのモジュールは、コミュニティのベスト プラクティスを共有した優れた例です。