-1

こんにちは、Moqui フレームワークと他のフレームワークの違いを教えてください。Moqui フレームワークの新人です。


4

1 に答える 1

9

指摘されたように、これは非常に一般的な質問です。回答の 1 つで、範囲を Struts との比較に狭めているので、Moqui が他の Java エンタープライズ アプリケーション フレームワーク (および他の言語の同様のフレームワーク) とどのように異なるかについて一般的なコメントをいくつか述べ、次に Moqui とストラット。

Moqui の一般的な設計ガイドラインには次のようなものがあります。

  • オブジェクト マッピングなし: さまざまなツールは、エンティティ、サービス、画面などの成果物に応じて異なる動作をする動的 API を使用します。これは、オブジェクト リレーショナル マッピング、オブジェクト サービス マッピング、および Web ユーザー インターフェイスの定義に通常含まれるさまざまなオブジェクトに冗長なコードがないことを意味します。
  • コード生成なし: 冗長なコードを必要とする低レベルのツールを用意し、高レベルの構造を定義する何らかのアーティファクトに基づいてそのコードを生成するのではなく、Moqui は柔軟な定義と関連する API オブジェクト/メソッドを備えた高レベルのアーティファクトを使用してコードを保持します。サイズをコンパクトにし、コードの複雑さを軽減します。
  • ほとんどのフレームワーク (またはフレームワーク スタック) で一般的な UI レイヤーとデータ レイヤーに加えて、強力なロジック レイヤーを備えた完全な 3 層アーキテクチャ。
  • UI、サービス、およびデータ要素のアーティファクトに基づくさまざまな高度なツールには、アーティファクト対応の承認 (より一般的な authc および authz に加えて)、エンタープライズ統合コネクタ、ルールおよびワークフロー エンジン (Drools/jBPM を使用)、ElasticSearch に基づく検索が含まれます。リレーショナル データをドキュメントに結合し、構成のみでインデックスにフィードするなど、さまざまな機能があります。
  • 構成は、多くの ERP システムのフレームワークの場合のように、データベースではなくファイルにあります。これにより、より柔軟になり、機能を拡張しやすくなり (追加のマクロを使用して XML 要素を解釈することにより)、アーティファクト内の任意の場所でテンプレートとコードの挿入ポイントを使用できるようになります (コードを生成してから変更する必要はありません)。

Thrash Bean からの回答で参照されているページには、Moqui と Apache OFBiz を比較するセクションがあります。これは、Moqui の概念の多くが由来するプロジェクトです。私は Moqui Framework の作成者であり、2001 年に OFBiz プロジェクトを開始し、OFBiz フレームワークの設計の多くを推進しました。

http://www.moqui.org/framework/index.html

Moqui を Struts のようなものと比較すると、より大きな違いが得られますが、2 つのツールで同様の概念を比較するには、高いレベルに留まる必要があるため、リストがそれほど長くないほど大きく異なります。

まず、Apache Struts は、Web リクエスト、入力処理を調整し、HTML やその他の (JSON など) 応答用の他のツールに結び付ける Web UI フレームワークです。Moqui の目的は、エンタープライズ オートメーション アプリ (ERP、CRM、e コマースなど) で一般的に必要とされるすべてのものを含めることであるため、Moqui が提供する全体的な機能のごく一部にすぎません。

Struts は一般的に Hibernate やある種の JPA 実装で永続化のために使用され、Moqui は永続化のためにオブジェクト リレーショナル マッピングを使用しない非常に異なるアプローチ (エンティティ ファサード) を使用します。

Struts に対応する Moqui の部分は、XML 画面と、要求からの入力を処理し、ブラウザを設定済みの画面にリダイレクトして応答する画面内の「トランジション」です。

画面と遷移がどのように見えるかの例については、moqui.org サイトのチュートリアルを参照してください。

http://www.moqui.org/framework/docs/Tutorial.html

画面とトランジションの定義に関連するさまざまな概念は、「画面の追加」セクションから始まり、「自動検索フォーム」、「作成フォームの追加」、および「カスタム作成サービス」セクションで展開されます。

長い回答で申し訳ありません...この質問を閉じて、より具体的な質問をリクエストする方が良いかもしれません. とにかく、もっと具体的な質問をしてください...

于 2014-02-16T07:41:31.357 に答える