1. مقدمة
ملف PDF لهذا المستند متاح |هنا|.
الأمثلة الواردة في الوثيقة متاحة |هنا|.
يستند هذا المستند إلى مستند سابق تمت كتابته في عام 2010 بعنوان "مقدمة إلى Java EE باستخدام NetBeans 6.8 وخادم GlassFish v3". تتضمن هذه النسخة بشكل أساسي التغييرات التالية:
- يتم تناول قسم JSF (Java Server Faces) في وثيقة منفصلة بعنوان: "مقدمة إلى Java Server Faces و PrimeFaces و PrimeFaces Mobile"، وهي متاحة على [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 أو إصدارات أقدم. نظرًا لأن JDK 1.5 أدخل العديد من الميزات الجديدة إلى لغة Java، فقد أدخلت Sun تقنيات جديدة تستند إلى هذه اللغة المحسّنة لمعالجة أوجه القصور في تلك التقنيات نفسها داخل J2EE. ثم استُخدم مصطلح 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. نقوم بإنشاء تطبيق أساسي ثلاثي المستويات [العرض، منطق الأعمال، الوصول إلى البيانات] متوفر في عدة إصدارات:
تطبيق ويب يستخدم التقنيات التالية:
- Java Server Faces: لطبقة الويب
- EJB3 أو Spring: لطبقة الأعمال
- EJB3 أو Spring، JPA/Hibernate، JPA/EclipseLink: لإنشاء طبقات مختلفة للوصول إلى البيانات
تطبيق عميل/خادم يستخدم التقنيات التالية:
- Swing: لطبقة واجهة المستخدم الرسومية للعميل مع دعم Spring
- EJB3 أو خدمة الويب: لطبقة الخادم
لا تتناول هذه المقالة بعض تقنيات Java EE، مثل MDBs (Message Driven Beans) أو EJB3 ذات الحالة. لمعرفة المزيد عنها، يرجى الرجوع إلى كتب أنطونيو غونكالفيز.
هناك تقنيات مفتوحة المصدر أخرى متاحة لإنشاء تطبيقات ثلاثية الطبقات. ومن التوليفات الشائعة جدًا Spring (http://www.springframework.org/) / Hibernate (http://www.hibernate.org/). ولتمكين القارئ من مقارنة تقنيات EJB3 و Spring، تتوفر للتطبيق السابق إصدارات يستبدل فيها Spring EJB3.
هذا المستند هو دليل تعليمي (TD) يُستخدم في السنة الخامسة بكلية الهندسة ISTIA بجامعة أنجيه [http://www.istia.univ-angers.fr]. يصف هذا الدليل التعليمي التطبيق المراد إنشاؤه، وتقنيات Java المراد استخدامها، وأين يمكن العثور على المعلومات. غالبًا ما تكون الحلول المقترحة منظمة للغاية. تطرح المهمة أسئلة دون تقديم الإجابات. ويترك الأمر للطالب لإيجادها.
تتطلب عملية تعلم Java EE الموضحة هنا استثمارًا زمنيًا يقدر بـ 50 إلى 100 ساعة. يحتوي المستند على كمية كبيرة من التعليمات البرمجية، مما يجعل من الممكن نسخها ولصقها. بالإضافة إلى ذلك، يتم وصف جميع مشاريع NetBeans بالتفصيل. بشكل عام، يوفر المستند أطر عمل للحلول، ويُطلب من الطلاب ملء بعض التفاصيل. يمكن أن يكون المستند مفيدًا حتى لمن لا يستطيع أو لا يرغب في استثمار هذا القدر من الوقت. يمكن للمرء التركيز فقط على البنى الموصوفة وتخطي قسم الكود الذي يمثل موضوع الأسئلة.
لتطوير التطبيق وتشغيله، نستخدم بيئة تطوير NetBeans. NetBeans هو تطبيق يستهلك موارد كثيرة إلى حد ما: احرص على توفر 1 غيغابايت من ذاكرة الوصول العشوائي (RAM) للعمل بشكل مريح. يمكن تنزيله من الرابط [http://www.netbeans.org/].
تشير هذه الوثيقة إلى الدورات التالية:
- استمرارية Java 5 في الممارسة العملية: [https://stahe.github.io/en-jpa-juin-2007/] - يوفر الأدوات اللازمة لبناء طبقة الوصول إلى البيانات باستخدام JPA (واجهة برمجة تطبيقات استمرارية Java)
- مقدمة إلى لغة Java [https://stahe.github.io/ar-java-sept-1998/] - للمبتدئين
- مقدمة إلى Java Server Faces و PrimeFaces و PrimeFaces Mobile من خلال أمثلة [https://stahe.github.io/en-jsf2-pf-pfm-juin-2012/]
يُشار إلى مواد الدورة التدريبية هذه لاحقًا بـ [ref1] و [ref2] و [ref3].
سيرج تاهي، يونيو 2012.