الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Jpa, Jdo & Ejb

بدأه herch في 20 يناير 2010 · 15 رد · 5,047 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ممكن أحد يعطيني الفرق بينها لأني حقيقة تهت بين كل هاته الإختصارات :wacko:

#2

السلام عليكم ،،

ببساطه شديده استاذ عصام

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

بالتوفيق :)

2

صــفــر

#3

من الأستاذ فينا :lol:

هل ل EJB علاقة بقواعد البيانات؟؟

وما هي ال entity beans؟؟

اعترف أحسن لك :lol:

#4

: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

بالتوفيق :)

2

صــفــر

#5

شكرا يا falcon، بدأ ينقشع الضباب :lol:

#6

صدفة جميلة ... لقد كنت أتعلم هذه التقنيات مؤخراً-وما زلت!- وأقوم بعمل بُريمج صغير باستخدام الـ JPA.

الـ JPA هي -وكما هو ظاهر من اسمها- هي عبارة عن توصيف (specification) لـ API لتبسيط وتجريد التعامل مع قواعد البيانات، حيث تقوم بأتمتة لأعمال المقابلة (mapping) ما بين الأغراض والأسطر المستخرجة من قاعدة البيانات، ويمكن استخدامها مع الـ J2SE والـ J2EE.

ومن أهم الـ implementations لها:

Oracle TopLink

EclipseLink

و الـ Apache OpenJPA

------------------------------------------------

بالنسبة للـ JDO هي عبارة توصيف لتقنية لتخزين أغراض جافا مباشرة في قاعدة بيانات.

اقتباس من هنا http://java.sun.com/jdo/ :

اقتباس
والبدائل تتضمن: القراءة والكتابة المباشرة إلى ملفات -الـ serialization - الـ JDBC - الـ EJB - الـ BMP - الـ CMP - وأخيراً الـ JPA

Alternatives 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 ... فإليك هذا الرابط! :

http://www.roseindia.net/java/jee5/what-is-ejb3.shtml

تم تعديل هذه المشاركة بواسطة Speed_Of_Light في 21 يناير 2010 في 00:54

1
#7

شكرا :wub:.

سأقرا الروابط بعد قليل.

#8

أليست EJB تمثل طبقة logic في معمارية MVC؟

أعتقد أنها أشبه الناس

(لو صحت تسميت الكائنات بالناس :lol: )

بـ java bean

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#9

إن الـ EJB لا تشبه الـ Java Bean فقط! بل هي أحد أنواعها كما يشير لذلك اسمها: Enterprise Java Bean

(هي بنت عالم وناس !)

#10

بالضبط استاذ علاء هي تمثل ذلك

والبديل عنها في الـ Web Applications .. هي الـ Servlet

ويمكن طبعا استخدام الـ EJB بجانب الـ Web

ولكن لو كنا نتكل عن الـ three tier فهي كذلك :)

صــفــر

#11

cIs.Falco على حسب ما أعرف فإن Servlet تعمل على أنها طبقة متحكم Controller

و EJB تعمل على أساس أنها طبقة منطقية logic

هل أنا مخطئ؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#12

لان دائما لما نقول MVC نعني به في الـ web application

ولكن كنت اقصد انه تشبه الـ Servlet في وظائفها

فالـ jsp هي الـ viewer .................... الـ swing هو الـ viewer

الـ servlet هو الـ controller ............... الـ ejb هو الـ logic

أيضا لان في برامج الديسك توب ،، بيبقي الغرض منها مثلا هو الـ business عشان كدا بنقول logic

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

والله اعلم :)

صــفــر

#13

السلام عليكم ورحمة الله وبركاته ،

جزاك الله كل خير على موضوع ، بجد جميل جدا

انا اول مرة اشترك فى السايت ، وكمان اول مرة اذاكر جافا ، وبصراحه تايهه فيها جدا

وكنت عايزة افهم موضوع ال message driven bean ، هو حضرتك اتكلمت عنه بس عنوان بس ، ياريت تفهمنا هى عبارة عن ايه التكنولوجى دى.

ولو فى اى حاجة ممكن تساعدنى فى جزء EJB.

جزاك الله كل خير :)

#14

أنصحك أن تتعلمي أساسيات الجافا أولا...

فهي الأساس و الباقي يعتمد عليها و هو بالمناسبة سهل جدا إذا أتقنتي الأساسيات...

#15

شكرا على الرد هويدي ، انا حاسه انى تايهه لانى اصلا دارسه دوت نت والجافا مختلفه تماما ، ومطلوب منى ادرس EJB فى وقت قياسي :) ، علشان كدة كنت عايزة اعرف ابدأ منين

جزاك الله خيرا :)

تم تعديل هذه المشاركة بواسطة al-zhraa في 4 أغسطس 2010 في 21:39

#16

إقرأي شوية في الجافا, ثم تعالى و فكرينا تاني :D

مواضيع مشابهة