Skip to content

1. مقدمة

يتوفر ملف PDF لهذا المستند |HERE|.

الأمثلة الواردة في المستند متاحة |HERE|.

يستند هذا المستند إلى مستند سابق كُتب في عام 2010 بعنوان "مقدمة إلى Java EE مع Netbeans 6.8 وخادم Glassfish v3". ويشمل هذا المستند التغييرات التالية بشكل أساسي:

  • يتم تناول الجزء JSF (Java Server Faces) في وثيقة منفصلة: "مقدمة إلى Java Server Faces و Primefaces و Primefaces mobile" المتاحة على URL [https://stahe.github.io/ar-jsf2-pf-pfm-juin-2012/]. يتم فيه استخدام ميزات الإصدار 2 من JSF،
  • والمشاريع هي مشاريع Maven.

Java EE تعني Java Enterprise Edition. J2EE (Java 2 Enterprise Edition) كان المصطلح السابق. يشير J2EE إلى تقنيات Java المستخدمة لإنشاء تطبيقات مؤسسية باستخدام JDK 1.4 أو إصدارات أقدم. في الوقت الذي أحدث فيه الإصدار 1.5 العديد من المستجدات في لغة Java، أدخلت شركة Sun تقنيات جديدة تعتمد على هذه اللغة المحسّنة من أجل سد الثغرات الموجودة في تلك التقنيات نفسها في الإصدار 1.3. ثم استُخدم مصطلح Java EE 5 للإشارة إلى مجموعة التقنيات التي تساهم في إنشاء تطبيق مؤسسي باستخدام منصة Java. في وقت تحديث هذا المستند، كانت أحدث إصدار من Java EE هي Java EE 6.

كتب أنطونيو غونكالفيز:

  • Java EE 5 من دار النشر Eyrolles
  • Beginning Java EE 6 Platform with Glassfish 3 من دار النشر Apress

هي كتب ممتازة لاكتشاف تقنيات Java EE 5 و Java EE 6. يتم استعراض جميع تقنيات Java EE المهمة فيها في سياق دراسات حالات واقعية. للمؤلف موقع [http://www.antoniogoncalves.org] ندعو القارئ لزيارته.

تتناول هذه الوثيقة بعض تقنيات Java EE 5. ونقوم فيها بإنشاء تطبيق أساسي ثلاثي الطبقات [présentation, métier, accès aux données] متوفر في عدة إصدارات:

تطبيق ويب باستخدام التقنيات التالية:

  • Java Server Faces: للطبقة الويب
  • EJB3 أو Spring: للطبقة التشغيلية
  • EJB3 أو Spring، JPA/Hibernate، JPA/EclipseLink: لإنشاء طبقات مختلفة للوصول إلى البيانات

تطبيق عميل/خادم باستخدام التقنيات التالية:

  • Swing: لطبقة الرسومات الخاصة بالعميل مع دعم Spring
  • EJB3 أو خدمة الويب: لطبقة الخادم

بعض تقنيات Java EE غير معروضة مثل MDB (Message Driven Bean) أو EJB3 stateful. لاكتشافها، يمكن قراءة كتب أنطونيو غونكالفيز.

هناك تقنيات مفتوحة المصدر أخرى متاحة لإنشاء تطبيقات ثلاثية الطبقات. ومن بينها ثنائي شائع جدًا هو Spring (http://www.springframework.org/) / Hibernate (http://www.hibernate.org/). ولتمكين القارئ من مقارنة تقنيات EJB3 و Spring، تتوفر للتطبيق السابق إصدارات يستبدل فيها Spring تقنيات EJB3.

هذا المستند هو TD (عمل موجه) يُستخدم في السنة الخامسة من كلية الهندسة ISTIA بجامعة أنجيه [http://www.istia.univ-angers.fr]. يصف هذا TD التطبيق المطلوب إنشاؤه، وتقنيات Java التي يجب استخدامها، والأماكن التي يمكن العثور فيها على المعلومات. غالبًا ما تكون الحلول المقترحة محددة للغاية. يطرح TD أسئلة دون تقديم إجابات لها. ويقع على عاتق الطالب إيجاد هذه الإجابات.

يتطلب تعلم Java EE المقترح هنا استثمارًا من القارئ يقدر بين 50 و100 ساعة. يحتوي المستند على الكثير من الأكواد مما يجعل النسخ واللصق ممكنًا. علاوة على ذلك، يتم وصف جميع مشاريع Netbeans بالتفصيل. بشكل عام، يقدم المستند الهياكل الأساسية للحلول ويُطلب من الطالب تقديم بعض التفاصيل. يمكن أن يكون المستند مفيدًا حتى لمن لا يستطيع أو لا يرغب في تكريس هذا القدر من الوقت. يمكن الاهتمام فقط بالبنى الموصوفة وتجاهل جزء الكود الذي تشمل عليه الأسئلة.

لتطوير التطبيق وتشغيله، نستخدم Netbeans. Netbeans هو منتج ثقيل إلى حد ما: يجب توفير 1 غيغابايت من ذاكرة الوصول العشوائي (RAM) للعمل بشكل مريح. يمكن تنزيله من الرابط IDE.

يشير المستند إلى الدورات التالية:

  1. استمرارية Java 5 من خلال الممارسة: [https://stahe.github.io/ar-jpa-juin-2007/] - يوفر الأدوات اللازمة لبناء طبقة الوصول إلى البيانات باستخدام JPA (استمرارية Java API)
  1. مقدمة إلى لغة Java [https://stahe.github.io/ar-java-sept-1998/] - للمبتدئين
  2. مقدمة من خلال الأمثلة إلى Java Server Faces و Primefaces و Primefaces mobile [https://stahe.github.io/ar-jsf2-pf-pfm-juin-2012/]

يتم الإشارة إلى هذه المواد الدراسية لاحقًا بـ [ref1] و [ref2] و [ref3].

Serge Tahé، يونيو 2012.