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

مقدمة عن بيئة J2ee

بدأه eihab في 17 نوفمبر 2009 · 11 رد · 3,385 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يتضمن الملف المرفق مقدمة عن بيئة J2EE وبعض مكوناتها servlet , jsp والفرق بينهما

والفرق بين servlet , cgi

أرجو أن يكون مفيداً

eihinf@yahoo.com

J2EE_Technology.zip

2
#2

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

سبـــــحــــان الله و بحمده سبحان الله العظيم

403100468.gif

#3

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

جزاك الله خيرا اخ ايهاب

الى الامام دائما


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#4

موضوع مميز جدا, تم التثبيت..

#5

مقال جيد جداً ، شكراً لك ، لكن لم أفهم ماذا تقصد من هذه العبارة :

اقتباس
الطريقة الوحيدة لجعل المخدم بسيط هي تخديم البيانات الساكنة (static) فقط بحيث يكوّد كل شيء ببرنامج وحيد ومقبول , لكن في الوقت نفسه نحن لا نستطيع كتابة برنامج وحيد يعالج المهمات جميعها. وماذا لو أضيفت وظائف جديدة ؟ وماذا لو تغيرت صيغ البيانات؟

من أجل ذلك كله.... التصميم الأفضل من اجل مخدمات الـ HTTP هو تقسيم الكود إلى قسمين تنفيذيين:

أحدهما يعالج الشبكة والآخر يؤمن منطق التطبيق , ونجعل كلا القسمين يملكان واجهة بينهما . هذا النوع من التقسيم يجعل من الممكن تعديل الكود وفق منطق التطبيق ودون التأثير على نموذج الشبكة .

البعض يحققون هذا التصميم من أجل مخدمات HTTP باستخدام CGI (Common Getway Interface) لكن ذلك يحوي العديد من العيوب : إن الفكرة الأساسية من مواقع الويب ذات حركة المرور العالية هي النطاق scalability)) ,وكل استدعاء لطلب يشمل إنشاء وهدم عملية جديدة لتنفيذها على سكريبتات CGI , هذا يعني عدم فعالية عال جداً خاصة إذا كان السكريبت ينجز روتينات التهيئة مثل الاتصال بقاعدة البيانات . وأكثر من ذلك : اتصال ملف الإدخال و الإخراج بالمخدم يسبب زيادة هامة في زمن الاستجابة الكلي .

لذلك الطريقة الأفضل تقوم على دعم المخدم لنماذج جزئية يمكن تحميلها إلى الذاكرة وتهيئتها فقط حالما يبدأ المخدم بالعمل (start up) , هذه النماذج تدعى بـ server extensions .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#6
اقتباس
لطريقة الوحيدة لجعل المخدم بسيط هي تخديم البيانات الساكنة (static) فقط بحيث يكوّد كل شيء ببرنامج وحيد ومقبول , لكن في الوقت نفسه نحن لا نستطيع كتابة برنامج وحيد يعالج المهمات جميعها. وماذا لو أضيفت وظائف جديدة ؟ وماذا لو تغيرت صيغ البيانات؟

أعتقد أنه يقصد هو أن أبسط طريق لبناء تطبيق ويب هو بناء تطبيق ساكن (static), لكن هذا النوع من المواقع قد ولىً زمنه.

اقتباس

أحدهما يعالج الشبكة والآخر يؤمن منطق التطبيق , ونجعل كلا القسمين يملكان واجهة بينهما . هذا النوع من التقسيم يجعل من الممكن تعديل الكود وفق منطق التطبيق ودون التأثير على نموذج الشبكة .

فإن النموذج الأمثل لبناء تطبيق ويب هو بتقسيم المهمه لقسمين, قسم يتعامل مع الإتصالات مع الزبون و جزي يقوم بالمنطق (business logic), و بما أن الجزء الذي يتعامل مع إتصالات الزبون (client connections) تتكرر من تطبيق لأخر, فكان لزاما علينا فصله عن التطبيق و جعله مكون خارجيا و من هنا أتت فكره عمل حاويات (Containers) و التي تقوم بعمل روتيني كبير من فهم و ترجمة لإسكربتات ال CGI أو ASP و خلافه

اقتباس
البعض يحققون هذا التصميم من أجل مخدمات HTTP باستخدام CGI (Common Getway Interface) لكن ذلك يحوي العديد من العيوب : إن الفكرة الأساسية من مواقع الويب ذات حركة المرور العالية هي النطاق scalability)) ,وكل استدعاء لطلب يشمل إنشاء وهدم عملية جديدة لتنفيذها على سكريبتات CGI , هذا يعني عدم فعالية عال جداً خاصة إذا كان السكريبت ينجز روتينات التهيئة مثل الاتصال بقاعدة البيانات . وأكثر من ذلك : اتصال ملف الإدخال و الإخراج بالمخدم يسبب زيادة هامة في زمن الاستجابة الكلي .

لذلك الطريقة الأفضل تقوم على دعم المخدم لنماذج جزئية يمكن تحميلها إلى الذاكرة وتهيئتها فقط حالما يبدأ المخدم بالعمل (start up) , هذه النماذج تدعى بـ server extensions .

هنا الكاتب يقول أن موضوع ال CGI إن كان مفيدا و فعالا إلا أنه يشوبه العديد من العيوب, مثلا عدم القدره على التوسع (scalability) و ذلك لأنه عباره عن script في كل مره يتم طلبة من الزبون يقوم الخادم بتنفيذه, و من هنا أتت فكرة عمل تخزين (caching) لهذه الإسكربتتات في الذاكره من الطلب الأول لها (كما هو الحال حاليا في Servlets)

هذا ما أعتقده..

#7

أعتقد أن المشكلة الأساسية في تطبيقات الويب ما قبل جافا

هو غياب مفهوم الخيوط مما كان يحمل الخادم عناء إنشاء وقتل عملية process جديدة مع كل طلب جديد

تحياتي

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

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

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

728x90.png

#8

بس موضوع الخيوط ده قديم في ال C .

موش عارف يا أخ علاء, بس أنا حاسس إن صن بتروج لضاعتها :D فبتقول أي كلام , هههههههههههههه

#9

أخ هويدي

فعلياً c لم تكن تستخدم في الويب أصلاً

كان هناك CGI وكانت زفت بمعنى الكلمة

تحياتي

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

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

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

728x90.png

#10

أنا بصراحه لم أستخدم المدعوه CGI مطلقا من قبل

ولكني قد قرأت من قبل في صفحة الويكيبيديا أنك تستطيع أن تسخدم أي لفة برمجة و من ضمنها C/C++/Perl ...

كما أني قد رأيت مثال في كتاب C++ How to program يكتب تطبيق ويب بإستخدام CGI ب C++

و إحقاقا للحق, أنت محق

اقتباس

Calling a command generally means the invocation of a newly created process. Starting up the process can take up much more time and memory than the actual work of generating the output

فحتى في حالة C/C++ فإن الخادم سيضطر لإنشاء عملية جديده كل مره

شكرا على هذا النقاش البناء, لقد أفدتني بالفعل و جعلتني أقرأ صفحة ويكيبيديا كاملة و هذا لم يحدث من قبل قط :D

تم تعديل هذه المشاركة بواسطة {هويدي} في 12 يونيو 2010 في 05:57

#11

هههههههههههههههههههه

ماشي يا عمي الحج

شكلنا هنسجل اليوم ده في تاريخ الويكي :wink: :wink:

تحياتي

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

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

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

728x90.png

#12

السلام عليكم

بارك الله فيك

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