サーバー コンポーネントとクライアント コンポーネントを備えたリモート対応アプリケーションがあり、異なるマシンで実行できるとします。
これで、サーバー経由で DB に保存する必要があるデータを含む一連のファイルができました。2 つのアプローチがあります。
1)。データをオブジェクトのリストに変換し、シリアル化し、サーバーに送信します
2)。ファイルをシリアル化し、サーバーに送信します
2つのアプローチに違いはありますか?それらをテストするにはどうすればよいですか?
サーバー コンポーネントとクライアント コンポーネントを備えたリモート対応アプリケーションがあり、異なるマシンで実行できるとします。
これで、サーバー経由で DB に保存する必要があるデータを含む一連のファイルができました。2 つのアプローチがあります。
1)。データをオブジェクトのリストに変換し、シリアル化し、サーバーに送信します
2)。ファイルをシリアル化し、サーバーに送信します
2つのアプローチに違いはありますか?それらをテストするにはどうすればよいですか?
ファイルをそのまま送信する方が、両端で異なる形式に変換したり変換したりするよりも常に効率的です。
おそらく、サーバー用の小さな API (期待されるファイル形式、たとえば CSV や JSON などのスキーマ) を定義し、その形式でファイルを送信する必要があります。1 つのクライアントとのみ対話する必要がある場合は、ファイルが既に存在する形式である可能性があります。それ以外の場合は、より一般的なものにして、クライアントはファイルをその形式に変換する必要があります。Java シリアライゼーションは非常に壊れやすいため、使用しません。通常、クライアントとサーバーは、関連するクラスの同じバージョンを使用する必要があります (readObject と writeObject とバージョン番号を使用してこれを回避できますが、手間をかける価値はありません)。 .