現状
お客様のために、内部JavaWebStartアプリケーションとして提供されるより大きなアプリケーション内で「モジュール」として実行されるいくつかのライブラリとアプリケーションを開発しています。お客様は、このアプリケーションが実行されるインフラストラクチャを維持します。「サーバー側」は、Axis2に基づくいくつかのWebサービスで構成されています。両方の部分は、2つの別個のWebアプリケーションとして単一のTomcatインスタンスにデプロイされます。
アーティファクトの新しいバージョンをリリースするときは、必要なJARファイル(ourapp-client.jarやourapp-server.jarなど)を作成して顧客に送信し、顧客はそれらを適切な場所にドロップします。必要に応じて、Tomcatサーバーを再起動します。
目標
現在、すべてのプロジェクトをMaven化しており、将来的には「Mavenの方法」でリリースを行いたいと考えています。主な目標は、リリースと展開のプロセスを私たちの側で自動化し、エラーが発生しにくく、クライアント側の信頼性と快適性を高めることです。
主な問題
トリッキーな部分は、お客様が同じTomcat Webアプリケーション(「サーバー側」のAxis2とWeb Startアプリ)を使用して、自社開発のモジュールをアプリケーションに含めることです。したがって、明白なソリューションを使用することはできず、サーバーにデプロイされるだけの新しいWebアプリ(WAR)を提供するだけです。そのため、現在、適切な場所に「手作業で」配置された単一のJARファイルを配信しています。
製品を顧客に提供するために、一般的にどのような戦略を使用していますか?誰かが同様の状況(つまり、サードパーティの共有ランタイム環境と自己開発アプリケーション)の経験がありますか?