• 0
eihab

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

سؤال

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

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

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

[email protected]

J2EE_Technology.zip

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

11 إجابة على هذا السؤال .

  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
لطريقة الوحيدة لجعل المخدم بسيط هي تخديم البيانات الساكنة (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)

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخ هويدي

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

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

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أنا بصراحه لم أستخدم المدعوه 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

تم تعديل بواسطه {هويدي}
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .