9

aar アーカイブ ファイルとは何か、それらが war とどのように異なるのかはわかりません。私はそれらが幾分転換可能であることを読みました。いつどちらを使用するのですか?長所と短所、および制限とは何ですか。

4

2 に答える 2

4

.war は、任意の Java EE アプリケーション サーバーにデプロイできる Web アーカイブです。

.aar は、Axis2 標準 Web アプリケーションが既にデプロイされているアプリケーション サーバーにデプロイできる特定の axis2 アーティファクトです。

http://wso2.com/library/90で説明されているように、「組み込み」モードを使用して、複数のサービスを含む Axis2 アプリケーションを標準の Web アプリケーションにデプロイすることもできます。.aar モードから埋め込みモードへの変換は、すべてのファイルを抽出し、それらを埋め込みモードの適切な場所に慎重に配置することで構成されます。

@renat-gilmanovが答えたように、.aarのプロはホットな展開です。

.war(組み込み)のプロは

  1. 実稼働環境での展開と管理が容易になります。複雑な展開手順に従う必要はなく、任意のアプリケーション サーバーに 1 つの .war を展開するだけです。
  2. クライアントアプリケーションなど、同じ .war にさらに多くのサーブレットを含めることができます。
于 2013-08-29T10:32:46.193 に答える
3

軸アーカイブ (.aar)

Axis 2 サービスは、Axis アーカイブ (.aar) としてパッケージ化されています。これは、アーカイブの META-INF ディレクトリにパッケージ化された services.xml ファイルを含む JAR ファイル (jar または zip ユーティリティを使用して作成) です。

、StockQuoteService.aar としてパッケージ化された場合の StockQuoteService は、次の構造を持ちます。

./stock/StockQuoteService.class 
./META-INF/services.xml

Axis2 でのサービスのデプロイは非常に簡単です。.aar ファイルを、サーブレット コンテナー内の axis2 Web アプリケーションの axis2/WEB-INF/services ディレクトリにコピーするだけです。Tomcat の場合、$TOMCAT_HOME/webapps/axis2/WEB-INF/services になります。

根拠

サービスは非常に小さなソフトウェアです。次のことを考えてください。

  • 開発中のサービスを展開/再展開/展開解除する必要があるため、サービスのライフサイクル
  • デプロイされたすべてのアプリケーションに関連するコンテナーのオーバーヘッド
  • 複数の Axis2 インスタンスが並行してデプロイされることによるオーバーヘッド
  • 疎結合アーキテクチャ
  • ...

基本的に、Axis2 は *.aar を軽量アプリケーションとして扱うことを提案しています。同じ Axis2 インスタンスを共有し、ビジネス全体を停止することなく、簡単に管理および再デプロイできます。

複雑なシステムを開発するとします。優れた開発者およびアーキテクトとして、サービスを最小の機能として使用して、疎結合システムを構築することにしました。分解がうまくいったので、約 100 個のサービスがあります。ちなみに、次のことができるので、これは良いことです。

  • 開発を簡素化する
  • いくつかのサービスを並行して開発する
  • テストを簡素化
  • ...

問題は、これらすべてのサービスを個別のアプリケーション (戦争) として開発することを好むかどうかです。私はあなたがしないことを願っています。Axis Archives のような軽量のアプローチを使用する方が、はるかに簡単で効率的です。

Axis では、Tomcat がアプリケーションに対して行うように、サービスのライフサイクルを管理できることに注意してください。

ここに画像の説明を入力

エンタープライズ レベルのアプリケーションに関して言えば、可用性は大きな懸念事項です。短いダウンタイムでも非常に有害な場合があるため、サーバーの再起動は適切なオプションではありません。システムをシャットダウンせずに更新する必要があります。ここで、ホット デプロイメントとホット アップデートの出番です。

ホット デプロイメントは、システムの稼働中に新しいサービスをデプロイする機能です。例として、2 つのサービス (service1 と service2) が稼働中で、システムをシャットダウンせずに service3 という新しいサービスをデプロイするとします。service3 のデプロイは、ホット デプロイ シナリオです。

ホット アップデートは、システムをシャットダウンせずに既存の Web サービスに変更を加える機能です。これは重要な機能であり、テスト環境で必要です。

Axis2 デプロイメント・モデル、パート 1: Axis2 デプロイメント・モデルをよりユーザーフレンドリーにする 6 つの方法

于 2013-08-23T00:15:04.653 に答える