さて、私はスタンドアロンの Web サービスを設計しています (RestLET をフレームワークとして使用しています)。私のアプリケーションは 3 つのレイヤーに分かれています。
- データ層(データベースのすぐ上にあり、データベースへの接続/クエリ用の API とデータベース オブジェクトを提供します)
- オブジェクト層(データ層からのシリアル化を担当...クライアント層がデータベースを気にせずに使用できるオブジェクトを提供)
- クライアント層(この層はRestLET Webサービスです...基本的にオブジェクト層からオブジェクトを作成し、Webサービスリクエストを実行します)
ここで、オブジェクト レイヤーで作成するオブジェクトごとに、異なる資格情報を使用したいと考えています (各オブジェクトをサンドボックス化できるように...)。オブジェクト層は、正確な資格情報 (つまり、ログイン/pw/DB URL など) を認識してはなりません。
これを管理する最善の方法は何でしょうか? データレイヤーにスーパークラスのデータベースオブジェクトが必要だと考えています...そして、各サブクラスには必要なログイン情報が含まれます...このようにして、オブジェクトレイヤーはそのまま進みDatabase db = new SubDatabase();
、そのデータベースを使い続けることができます。
クライアント レベルでは、ItemCollection items = new ItemCollection();
接続されたデータベースを把握したり制御したりすることはできません。
他の人が私のプラットフォームから簡単にサービスを作成できるように、私は自分のプラットフォームを拡張可能にしようとしているので、これを尋ねています。
誰かがこれらのアーキテクチャの問題やこの種のことを管理する方法を経験したことがあれば、洞察やアドバイスをいただければ幸いです...
これが紛らわしい場合は、遠慮なく質問してください。ありがとう!
私のプラットフォームは Java、使用している REST フレームワークは RestLET、データベースは MySQL です。