私の Java ベースの Web アプリケーションは、リモートの WSDL Web サービスと対話しています。
サービス固有の WSDL リクエストを作成します。この WSDL リクエストを HTTP クライアントで発行すると、WSDL レスポンスが返されます。
私の状況では許容できるので、パフォーマンスと帯域幅の使用を最適化するために、WSDL 応答をキャッシュして、次に同じ要求を発行するときに、Web アプリケーションが持続データベースから応答を直接ロードできるようにしたいと考えています。
を使用するJAXB.marshal
とJAXB.unmarshal
、シリアライズされた XML 形式と「Java オブジェクト表現」の両方で応答の表現を取得できます。そこで、整列化された XML 表現を永続化するデータベースをセットアップするというアイデアを思いつきました。しかし、典型的な応答の XML ファイル表現は、私の場合は簡単に 200 キロバイトになります。XML ファイルでわかっているように、このサイズは XML の冗長性に大きく関係しており、データベース容量の使用とデータベースの読み取り/書き込み速度の両方を最適化するために、おそらく大幅に削減できます。
WSDL 応答をキャッシュして永続化する効率的な方法はありますか? つまり、関数のマップを実装する良い方法を探しています f(someWSDLRequest) -> someWSDLResponse