ممكن أحد يعطيني الفرق بينها لأني حقيقة تهت بين كل هاته الإختصارات :wacko:
Jpa, Jdo & Ejb
السلام عليكم ،،
ببساطه شديده استاذ عصام
1 - EJB
Enterprise Java Beans
هذه عباره عن standard server side component
معني standard
اي انها عباره عن specification ... بمعني اخري لكي تكتب
EJB >>> لا بد من اتباع خطوات معينه لكتابتها ،، علي عكس الـ جافا كلاس العاديه
فعلي سبيل المثال لكي تكتب EJB ،، لابد من وجود interface تمثل الواجهه التي تستطيع التحدث معها سواء من خارج او داخل الـ container التي يحوي الـ EJBs
وهي نوعان
Message Driven Bean
و Session Bean
##################################################
2 - JPA
Java Persistence APIs
من الاختصار .. واضح انها عباره عن API او technology بتستخدم في عمليه الـ
ORM أو Object to Relational Mappings
وهذا ما يعرف بعملية الـ persistence
ملحوظة : هي أيضا specification او اصبحت specification
لان قديما كانت المسؤل عن هذه العمليه هي الـ EJB ولكن مؤخرا اصبحت منفصله كـ specification منفصله عن الـ EJB
الـ Object to Relational Mapping
هي ان تقوم بتخزين الأوبجيكت في الداتا بيز عن طريق شوية APIs
تقدر تعتبرها
High-level of abstraction above JDBC
ولكن علي عكس الـ JDBC انت لا تقوم بكتابة طريقة الاتصال مع الداتابيز في الـكود ولكن بيبقي في ملف xml configuration منفصل وبيتعمله deploy داخل الـ AppServer
############################################
3 - JDO
ليس لدي معولمات مفصله عنها ولكن مبدئيا هي مثل الـ JPA تماماً
Java Data Object
بالتوفيق :)
صــفــر
من الأستاذ فينا :lol:
هل ل EJB علاقة بقواعد البيانات؟؟
وما هي ال entity beans؟؟
اعترف أحسن لك :lol:
:D أنت
ليس للـ EJB علاقة بالـ Database بطريقه مباشره
بمعني مثلا في الـ
MVC - Model View Controller - Design Pattern
هناك الـ View الذي يمثل الـ data presentation او العرض
والـ Model التي تمثل الداتا
والـ controller التي تمثل المتحكم في البينات ( من و إلي ) يعني هو اللي بيقدر يجيب بينات ويحط بيانات
فالـ EJB تلعب دول الـ Controller الذي يتعامل مع الـ Entites او الاوبجيكتس ومن ثم وضعها في الـ database
لنوضح الأمر أكثر .. بعد اجابة السؤال الثاني
الـ Entity Bean
هي عباره عن Bean عاديه خالص او Java Class عاديه خالص ولكن تتبع خصائص الـ Bean
اي ان الـ Bean العاديه .. هي جافا كلاس تـ implement Serializable وبتـ Encapsulate الـ Fields الموجوده فيها
يعني الـ setter والـ getter
جميل طيب ايه الـ Entity دي بقي ؟
كلمة entity >>>>>>>>>>>>>>>>>>>>>>>>>>>> تقدر تمثل بيها الـ Objects الموجوده في الـ System
فمثلا الـ Customer هو entity
الـ Manager هو entity
الـ Employee هو entity
وهكذا ....
ولكن في الجافا .. الـ entity هي الـكلاس اللي بتمثل الاوبجيكت الموجود في الـ business system دا
طيب الـ entity bean بقي ؟
هي كتابة كلاس بتمثل الـأوبجيكت أو الـ entity او الكيان ( customer - employee .... etc ) ولكن بشروط الـ bean اللي ذكرتها فوق
ملحوظة اخري .. لما بنقول entity في الـ enterprise في الغالب بنطلقها علي الاوبجيكت اللي هيبقي في الـ database
يعني الـ fields بتاعته هتبقي الـ columns او الـ attributes بتاعة الـ table
وهنا نرجع للـ EJB
بتكتب entity عاديه بتمثل الـ customer مثلا
وبعدين بتكتب الـ configurations الخاصه بالـ persistence ودي معروفه او خطوات بتتبعها يعني
وبعدين بتكتب الـ ejb واللي بدوره بيقدر يتكلم مع حاجه اسمها الـ Entity Manager واللي بدورها بتقدر تـ manage الـ entities وتقدر تتكلم مع الـ persistence framework
بالتوفيق :)
صــفــر
شكرا يا falcon، بدأ ينقشع الضباب :lol:
صدفة جميلة ... لقد كنت أتعلم هذه التقنيات مؤخراً-وما زلت!- وأقوم بعمل بُريمج صغير باستخدام الـ JPA.
الـ JPA هي -وكما هو ظاهر من اسمها- هي عبارة عن توصيف (specification) لـ API لتبسيط وتجريد التعامل مع قواعد البيانات، حيث تقوم بأتمتة لأعمال المقابلة (mapping) ما بين الأغراض والأسطر المستخرجة من قاعدة البيانات، ويمكن استخدامها مع الـ J2SE والـ J2EE.
ومن أهم الـ implementations لها:
Oracle TopLink
EclipseLink
و الـ Apache OpenJPA
------------------------------------------------
بالنسبة للـ JDO هي عبارة توصيف لتقنية لتخزين أغراض جافا مباشرة في قاعدة بيانات.
اقتباس من هنا http://java.sun.com/jdo/ :
اقتباسوالبدائل تتضمن: القراءة والكتابة المباشرة إلى ملفات -الـ serialization - الـ JDBC - الـ EJB - الـ BMP - الـ CMP - وأخيراً الـ JPAAlternatives to JDO include direct file I/O, serialization, JDBC, Enterprise JavaBeans (EJB), Bean-Managed Persistence (BMP) or Container-Managed Persistence (CMP) entity beans, and the Java Persistence API.
ولها الكثير من الـ implementations أهمها: apache JDO
انظر هذا الرابط للمقارنة بينها وبين الـ JPA
http://db.apache.org/jdo/jdo_v_jpa.html
------------------------------------------------
بالنسبة للـ EJB ... فإليك هذا الرابط! :
تم تعديل هذه المشاركة بواسطة Speed_Of_Light في 21 يناير 2010 في 00:54
شكرا :wub:.
سأقرا الروابط بعد قليل.
أليست EJB تمثل طبقة logic في معمارية MVC؟
أعتقد أنها أشبه الناس
(لو صحت تسميت الكائنات بالناس :lol: )
بـ java bean
تحياتي
إن الـ EJB لا تشبه الـ Java Bean فقط! بل هي أحد أنواعها كما يشير لذلك اسمها: Enterprise Java Bean
(هي بنت عالم وناس !)
بالضبط استاذ علاء هي تمثل ذلك
والبديل عنها في الـ Web Applications .. هي الـ Servlet
ويمكن طبعا استخدام الـ EJB بجانب الـ Web
ولكن لو كنا نتكل عن الـ three tier فهي كذلك :)
صــفــر
cIs.Falco على حسب ما أعرف فإن Servlet تعمل على أنها طبقة متحكم Controller
و EJB تعمل على أساس أنها طبقة منطقية logic
هل أنا مخطئ؟
تحياتي
لان دائما لما نقول MVC نعني به في الـ web application
ولكن كنت اقصد انه تشبه الـ Servlet في وظائفها
فالـ jsp هي الـ viewer .................... الـ swing هو الـ viewer
الـ servlet هو الـ controller ............... الـ ejb هو الـ logic
أيضا لان في برامج الديسك توب ،، بيبقي الغرض منها مثلا هو الـ business عشان كدا بنقول logic
والمقصود باللوجيك هو التحكم في البيانات واستخدامها في العمليات ومن ثم عرضها او التعديل عليها
والله اعلم :)
صــفــر
السلام عليكم ورحمة الله وبركاته ،
جزاك الله كل خير على موضوع ، بجد جميل جدا
انا اول مرة اشترك فى السايت ، وكمان اول مرة اذاكر جافا ، وبصراحه تايهه فيها جدا
وكنت عايزة افهم موضوع ال message driven bean ، هو حضرتك اتكلمت عنه بس عنوان بس ، ياريت تفهمنا هى عبارة عن ايه التكنولوجى دى.
ولو فى اى حاجة ممكن تساعدنى فى جزء EJB.
جزاك الله كل خير :)
أنصحك أن تتعلمي أساسيات الجافا أولا...
فهي الأساس و الباقي يعتمد عليها و هو بالمناسبة سهل جدا إذا أتقنتي الأساسيات...
شكرا على الرد هويدي ، انا حاسه انى تايهه لانى اصلا دارسه دوت نت والجافا مختلفه تماما ، ومطلوب منى ادرس EJB فى وقت قياسي :) ، علشان كدة كنت عايزة اعرف ابدأ منين
جزاك الله خيرا :)
تم تعديل هذه المشاركة بواسطة al-zhraa في 4 أغسطس 2010 في 21:39
إقرأي شوية في الجافا, ثم تعالى و فكرينا تاني :D
