السلام عليكم
لدي برنامج وهو برنامج يقوم بعمل backup للملفات بواسطة rmi
وانا جديد في هذا المجال واشعر ان الأمر لم يستقر في ذهني بالشكل المطلوب
في البرنامج يوجد قسمان: خادم - BackupServer وزبون او مستخدم - BackupClient
للخادم يمكن ان يتصل اكثر من زبون، وكل واحد له اسم مستخدم خاص. في الخادم يوجد مجلد لكل مستخدم وبهذا المجلد يتم نسخ ملفات الزبون.
برنامج الزبون يتم تهيئته بواسطة ال aruments التالية: url, اسم المستخدم (string), والمجلد الاساسي)root directory) التي سيتم نسخها.
برنامج الزبون يحصل على توجيه (reference) للخادم وتستعمله لانتاج object من نوع UserBackup الذي يخدم زبون واحد فقط (السيرفر يقوم بالنسخ لجميع المستخدمين.
بعدها يستعمل المستخدم UserBackup لانتاج نسخة بعيدة , object من نوع RemoteCopy, لكل ملف ولكل مجلد بشجرة المجلدات, ابنتداء من المجلد الاساسي.
اخيرا، يثوم المستخدم بالمرور على كل ملفاته وعلى النسح البعيدة لهن ويقارن بينهن.
ملف يعتبر مشابه لنسخته اذا كان lastModified لهن متشابه. اذا لم تكن الملفات متشابهه، يقوم المستخدم بنسخ محتوى الملف الى السيرفر بواسطة الدالة update التي تستقبل محتوى الملف, ويقوم بتحديث الـ lastModified للملف.
في النهاية، الزبون يستطيع ان يستعيد محتوى الملف بواسطة الدالة recover التي تقوم بارجاع محتوى النسخة البعيدة.
كتبت هذه الـ classes
publicinterface BackupServer extends Remote {
public UserBackup getUserBackup(String username) throws RemoteException;
}publicinterface UserBackup extends Remote {
RemoteCopy getCopy(String filepath) throws RemoteException;
}publicinterface RemoteCopy extends Remote {
publiclong lastModified() throws RemoteException;
publicvoid update(byte [] content) throws RemoteException;
publicbyte[] recover() throws RemoteException;
}وايضا الـ implementations للثلاث classes السابقة BackupServerImpl, UserBackupImpl, RemoteCopyImpl.
ويجب علي ان اكتب class للزبون باسم BackupClient
هل من الممكن ان يساعدني احد كيف يمكنني ان افهم هذا السؤال؟ وكيف يمكنني البداية فيه
لقد قمت بعمل الدوال (ليس كلها)
ولكني لم افهم الأمور التالية:
ماذا تفعل الدالة
UserBackup getUserBackup(String username) throws RemoteException
واذا ممكن احد يشرح لي فقط ما هي وظيفة كل class
بارك الله فيكم سلف
