セキュリティ上の理由から、レガシー アプリケーションは 2 つの Web アプリケーションに分割されています。1 つのアプリケーションはフロント エンド用で、もう 1 つはビジネス ロジックとデータベースのやり取り、つまり中間層用です。現在、Spring MVC と JSTL を使用して、このアプリケーションを再設計しています。チュートリアルの例は、1 つのアプリケーション用です。
別の戦争で JSP を使用するこの春のアプリケーションを構成するにはどうすればよいですか?
セキュリティ上の理由から、レガシー アプリケーションは 2 つの Web アプリケーションに分割されています。1 つのアプリケーションはフロント エンド用で、もう 1 つはビジネス ロジックとデータベースのやり取り、つまり中間層用です。現在、Spring MVC と JSTL を使用して、このアプリケーションを再設計しています。チュートリアルの例は、1 つのアプリケーション用です。
別の戦争で JSP を使用するこの春のアプリケーションを構成するにはどうすればよいですか?
2 つの主なオプション:
ライブラリではなく、ビジネス ロジックと DB のやり取りが別のWebアプリケーションである必要がある理由がよくわかりません。それらが同じサーバーに展開されている場合は、さらに明確ではありません。
それらが別々のサーバーにデプロイされている場合、基本的に「フロントエンド」アプリから「API」アプリへのサービス呼び出しを行っています。それを行う方法はいくつもありますが、EJB っぽいものでさえありますが、Spring を使用している場合は、それを回避しようとしていると思われます (ただし、JEE6 を使用する理由ははるかに少なくなります)。
Dave が提案した最初のオプションも、私たちが通常行う方法です。Web 層が依存する単純な jar ファイルとしてビジネス サービスが構築されるMaven マルチモジュール プロジェクトを作成します。このようにして、2 つのレイヤーを明確に分離し、ビジネス ロジックを別の「トッピング」 (Web アプリの代わりにスイング クライアントなど) で再利用することができます。
もちろん、これは Maven を使用していない場合にも可能です。ソース ファイルを別のフォルダーに保存し、Ant (または好きなツール) で成果物をビルドすることができます。
私はこのように行きます:
このアーキテクチャでは、最初の WAR が AJAX 呼び出しを介して 2 番目の WAR サービスにアクセスします。これは、JavaScript を頻繁に使用することを意味します。おそらく、JQuery を使用してそれを支援することができます。
また、そのアプローチにより、WAR をさまざまなコンテナーにデプロイできます。また、最初の WAR でさえまったく WAR になることはできず、Apache にデプロイされた PHP アプリケーションまたはプレーンな HTML/JS Web ページでさえある可能性があります。