• 0
phpcraft

ماهي فائدة الSerialization

سؤال

خلال دراستي للجافا وصلت لشيء اسمه 

 

ووجدت موضوع في المنتدى يشرح الموضوع بشكل جميل

لكني اريد معرفة الفائدة العملية للSerialization 

اعلم انها تستخدم لتخزين الكائن لكن مالذي نستفيده من ذلك ارجو التوضيح لو كان بمثال عملي فهذا افضل

وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

11 إجابة على هذا السؤال .

  • 0

ستحتاج إليها إذا دخلت تطبيقات الويب واستعملت إطارات العمل المبنية على JPA مثل hebernate و Toplink و eclipseLink

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لك بالفعل انا دخل لتطبيقات الويب وخاصة الservlet والjavabeans والتعامل مع الxml 

لكن ارجو التوضيح اذا كانت لديك فكرة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أنا مثلك يا أخي لا أزال أدرس جافا الويب 

ما دمت تعرف javaBeans فأنت تعرف أن من شرطه أن يكون impl للأنترفاس Serializable

يتوقف عملك هنا أي إنشاء JB بشرطه 

ثم تتكفل FrameWork السالفة الذكر بتخزين البيانات واسترجاعها

تم تعديل بواسطه أحمد أبو عبد البر
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

http://arabteam2000-forum.com/index.php/topic/234533-serialization-%D8%A7%D9%84%D8%B3%D8%B1%D9%8A%D9%84%D8%A9-%D9%81%D9%89-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86/

"العملية هى تحويل القيم -سواء كائنات او هياكل بيانات- الى هيئة format قابلة للتخزين بهدف امكانية اعادة انشاء الكائن مرة اخري فى مكان اخر -ربما جهاز اخر بعد ارسال تمثيل الكائن عبر الشبكة-"

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عندما تتعامل مع  hebernate  مثلا فأنت أكيد تعرف أن كل الجدوال تتجول إلى كائنات 

هل طرحت على نفسك يوما سؤال هو عندما ترسل البينات إلى قاعدة البينات الإستعلام كيف يحفظ مع أنك حولت الجداول إلى كائنات ؟؟؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أضيف أمر أخر هو انه عندما تحذف قاعدة البينات  من mysql مثلا وأنت تتعامل مع hibernate  فلن تتأثر قاعدة البينات وبمجرد عمل ران للتطبيق ستعاد قاعدة البينات كما كانت لان جداول قاعدة البينات تحولت إلى كائنات وتم حفظ تلك الكائنات في arraylist وتم الإحتفاظ بها 

 

هل عرفت الأن أهمية Serialization   أخ 

phpcraft 

تم تعديل بواسطه bilal2005
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لكم
اخي بلال للأسف لم اتعامل hibernate   بعد
يبدوا انني بحاجة لدراسة المزيد ومن ثم الرجوع للموضوع
سوأل هل يتم في 
للSerialization 
سوأل اخير هل تحويل البيانات الى احد الصيغ مثل xml يعتبر Serialization ?

:)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طيب سأعطيك فهمي للموضوع وارجو تصحيح معلومتي :

 

لنفرض اننا نريد جلب قائمة معلومات من قاعدة البيانات :

الخطوات : 

-نحول البيانات الى ملف json  بواسطة الجافا 

-وعن طريق الجافا سكربت نسدعي ملف json  الذي تم عمله باستخدام الجافا 

 

________

السوأل الان : هل الخطوات اعلاه صحيحة لاني رأيتها مستخدمة في بعض البرامجيات ؟ وهل تعتبر serilzation ؟ ولماذا لانختصر الخطوات التواصل المباشر بين الجافا وقاعدة البيانات دون المرور بملف الjson او xml ?

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

 

 

سوأل اخير هل تحويل البيانات الى احد الصيغ مثل xml يعتبر Serialization ?

 

المووضع لا يحدث هكذا 

 

عندك قاعدة البينات مثلا نسميها قدعة بيانات مدرسة فيه جدول إسمع الطالب في هذا الجدول فيه حقلين الأول ل id والثاني للإسم مثلا 

 

وفي الجافا نجول هذ الجدول إلى كلاس فيه المغتيارت id و الإسم ومن ثم نعمل هم set وget 

 

الأن حللنا مشكل تحويل الجدول إلى كلاس لكن هناك مشاكل أخرى تطرح مثل أن ال id هو في الحقيقية رقم تزايدي ومفتاح أساسي .

وهذا لا توفره الجافا جاهز أي قبل لإعلام عن المتغير id  ونعلم عن انه متغير مفتاح أساسي وتزايدي هذا في قاعدة البينات وليس في الجافا وهنا الحل أن يتم وضع هذه البينات في ملف xml  الذي يربط بين الكلاس وقاعدة البيانات .

 

أما ما دخل Serialization في كل هذه القصة هو نه عندما تحول جدول إلى كلاس تتعامل الن مع الكائنات وهذه الكائنات الن تحمل قيم من قاعدة البينات فيجب حفظ تلك القيم إما لإرسالها إلى قاعدة البينت أو لأي إستعمال أخر هنا تأتي أهمية Serialization وكما قلت لك أهمية كل هذا هو في التسهيل حيث أنك تقريبا لا تلتقت إلى قاعدة البينات وإنما فقط إلى تصميم البرنامج فحتى لو حذفت قاعدة البينات كلها فقط قك بعمل رن للتطبيق وستعاد قاعدة البينات كما كانت وكأن شيء لم يحدث كل هذا لانه تم حفظ كل الكائنات في طبقة بين الكلاس وبين قاعدة البينات .

 

الحقيقة أن Serialization ليس متعلق فقط بتطبيقات الويب أو نه مرتبط بال hibernate بل في برامج السي شارب مثلا هناك linq  التي تلعب تقريب نفس دور ال jibernate مع قادعة البينات وتستعمل أيضا Serialization لحفظ الكائئنات ومن من ثم إرسالها إلى قاعدة البينات من دون أن تكتب الإستعلام 

تم تعديل بواسطه bilal2005
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
هل تحويل البيانات الى احد الصيغ مثل xml يعتبر Serialization ؟

 

 

نعم, يُمكن عمل الـ XML serialization في الجافا باستخدام الفئتين XMLEncoder و XMLDecoder حيث يتم تخزين البيانات بصيغة XML.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لكم وبارك الله فيكم على التوضيح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .