مواضيع نشطة مواضيع نشطة  قائمة الأعضاء قائمة الأعضاء  البحث في المنتديات بحث   المساعدة المساعدة
  التسجيلالتسجيل  دخولدخول
لغات البرمجـــة
 منتديات كلية المجتمع الأكاديمية : لغات البرمجـــة
العنوان الموضوع: تعال واقراء عن الجافا إضافة ردإضافة موضوع جديد
الكاتب
الرسالة << الوضوع السابق | الموضوع التالى >>
mohameed alamdy
Newbie
Newbie
صورة تعبيرية

تاريخ التسجيل: 13/أكتوبر/2009
البلد: Yemen
المشاركات: 5
أضيفت : 17/أكتوبر/2009 في 9:03مساء | IP Logged إقتباس mohameed alamdy

          من منا لم يسمع عن لغة جافا للبرمجة ، فهذه اللغة أصبحت الآن على لسان كل من له علاقة بعالم الكمبيوتر من قريب أو بعيد . و خلال العام الماضي نما عدد مبرمجي لغة جافا في المنطقة العربية ، حسب مصادر صن مايكروسيستمز في الشرق الأوسط الضعف ليصل إلى خمسة آلاف مطور من 2500 مطور فقط في العم الماضي ، و على المستوى العالمي نما عدد المطورين إلى مليون و نصف تقريبا ، في حين نما عدد التطبيقات المعتمدة على جافا إلى 12000 تطبيق تجاري ، كما تم تضمين الدعم لجافا في جميع النظم الرئيسية مثل ويندوز بكافة إصداراته و نتوير و لينكس كما سنرى لاحقا .

 

          و قد قام بإنشاء لغة جافا جايمس غوزلينغ العامل في شركة صن و ذلك كطريقة أفضل لإنشاء برامج الكمبيوتر . و لم يكن غوزلينغ مرتاحا لطرقة عمل لغة سي ++ خلال عمل في مشروع معين ، ما دعاه إلى إنشاء لغة جديدة أدت العمل بطريقة أفضل .

 

          و باختصار فإن لغة جافا خلال الأربعة السنوات التي مضت منذ نشأتها تطورت بسرعة لتصبح لغة تطوير متكاملة . و لكن على النقيض من لغات التطوير الأخرى فإن قوة جافا الحقيقية لم تكن في تطوير التطبيقات المكتبية بل في تطبيقات المؤسسات و التطبيقات الموزعة و الإنترنت أيضا .

 

          في هذا المقال سوف أستعرض لغة جافا و التطوير التي مرت بها منذ العام 1995 حتى اللحظة الحالية و خاصة بعد التخطيط الجديد الذي أعلنت عنه مايكروسوفت (.net) .

 

وعد جافا

 

          فكرة جافا كلغة تطوير و ما تعد به بسيط جدا : أكتب برنامجك مرة واحدة و قم بتشغيله على أي جهاز و ضمن أ نظام دون أن تقوم بتعديل سطر واحد فيه . فقبل ظهور جافا كان يجب كتابة كل برنامج لبيئة واحدة فقط ، و حتى يعمل هذا البرنامج ضمن بيئات أخرى كان يجب إعادة تولفه كي يعمل ضمن بيئات أخرى . و قد تمخض عن ذلك عدة نتائج كان أهمها : ظهور و سقوط عدد من نظم و بيئات التشغيل اعتمادا على عدد من التطبيقات المطورة  لها : و تعدد نظم التشغيل ضمن المؤسسة الواحدة هو كابوس إداري بالنسبة لمد راء المعلوماتية .

 

          قد نجم عن هذا التعدد في نظم التشغيل و البيئات المختلفة ضمن المؤسسة الواحدة مشكلة أكبر . فالمؤسسات اليوم تعتمد في إدارة أعمالها و حل الكثير من مشاكلها الإدارية باعتماد على تقنية المعلومات . و لنقل مثلا أنك في مؤسسة تستخدم نظم تشغيل مختلفة مثل يونكس ( و هو ما يستعمله المهندسون مثلا ) وويندوز ( و هو ما يستخدمه الإداريون ) ، و لنقل أن لديك ماكنتوش أيضا ( للمصممين و خلافه ) .

 

          في مثل هذه البيئة لنقل أن الإدارة قررت استخدام  نظام تقارير داخلي السؤال الأول الآن هو لأي نظام سنقوم بتطوير التطبيق ؟ في هذه الهالة ، إذا أردت تطوير التطبيق لبيئة ويندوز فقط فعليك وتغيير البنية التحتية للمؤسسة كاملة و إعادة تدريب الجميع على استخدام ويندوزبدلا من يونكس و ماكنتوش .

 

          و قد يقول مبرمج شاطر " آه ، لنطور هذا التطبيق بلغة سي ، ثم نقوم بتوليفه  بحيث يعمل على جميع البيئات التي نستخدمها . " فكرة جيدة و هناك الكثير ممن يفعلون ذلك . و لكن ها تدرك أن ذلك يعني تطوير برنامجك ثلاث مرات ؟ هل تتخيل حجم المورد و الجهد الذي يحتاجه عمل ذلك ؟ و من خلال لغة جافا قامت صن بحل هذه المشكلة كما قلنا من خلال السماح للمطورين بتطوير التطبيق مرة و تشغيله ضمن أي بيئة تشغيل طالما كانت هذه البيئة تحتوي على ما يدعى بآلة جافا الافتراضية  ولكن هذا ليس كل شيء ، فوجود لغة تطوير تتمتع بهذه المرونة يعني أمرين :-

إعادة الاستخدام . و ما يعنيه ذلك هو أنه يمكنك استخدام البرمجيات و العناصر التي تتكون منها ضمن عدة بيئات مما يعني توفير الكثير من الوقت اللازم لكتابة برمجيات جديدة ، و بتالي حل مشاكل المؤسسات بسرعة أكبر .

2- إعادة استخدام المبرمجين . من النادر أن مبرمجا يتقن أكثر من لغة برمجة واحدة ، وهذا يعني الحاجة إلى وجود عدة مبرمجين في المؤسسة يتقن كل منهم مجموعة مختلفة من لغات البرمجة .و إذا أرد أن تتصور المشكلة فتخيل أنك تعمل في شركة يتكلم فيها كل واحد لغة مختلفة ولا يتقن إلا القليل من لغة الآخر . أشك أن الكثير يحدث في مثل هذه الشركة .

 

     و عندما تؤسس لغة مثل جافا فإن توحيد اللغة سيؤدي إلى زيادة كبرى في فعالية المبرمجين و بتالي سرعة في حل المشكلات التي تواجهها . و إذا أضفنا إلى ذلك فوائد مثل إمكانية إعادة استخدام عناصر جافا في برمجيات جديدة فيمكننا أن نتصور الفوائد .

 

تطور جافا ، لمحة تاريخية

 

عندما ظهرت جافا في البداية أقتصر استخدامها على كتابة البرمجيات اللازمة لأتمتة الإنترنت . و لم تدعم الإصدار الأول منها أمور مثل القدرة على تعامل مع قواعد البيانات كجزء متكامل من عدة تطوير التطبيقات الخاصة بذلك الإصدار . و احتوت عدة جافا 1,0 على ثماني حزم ( الحزمة من جافا هي مجموعة من العمليات المرتبطة ببعضها ؛ مثلا حزمة التشبيك الموجودة في حزمة (java.net) تحتوي على جميع العمليات اللازمة للربط الشبكات و التعامل مع برتوكولات الإنترنت و الشبكة TCP/IP ) و باختصار فقد احتوى جافا 1,0 على الأدوات اللازمة لكتابة البرمجيات ، و إنشاء واجهات الاستخدام ؛ و التلاعب بالصور ؛ و فعاليات حفظ و استرداد البيانات من و إلى القرص الصلب .

 

          و رغم هذه الإصدار فقد لعب دورا مهما في أتمتة الإنترنت و إدخال خواص التفاعلية على مواقع الإنترنت . و في ذلك الحين تمكن المبرمجون و مصممو الويب باستخدام برمجيات جافا ، و لغة تعليم النص المترابط (HTML) و لغة جافا سكربت من إنشاء مجموعة كبيرة من التطبيقات للإنترنت و شبكات الإنترنت ، و في ذلك الوقت أدرك الجميع أنه يمكن لجافا أن تحل محل لغات مثل (C++) و (Visual Basic) كلغة تطوير البرمجيات الموزعة .

 

          وفي أواخر عام 1996 ظهر 1.1 من عدة تطوير التطبيقات لجافا . و رغم أن صن اختارت أن تجعل هذا الإصدار جزئيا فقد كانت هامة بشكل حيوي لتطوير اللغة حيث أرتفع فيها عدد الحزم من 8 إلى 23 حزمة . و لم تكن كل الحزم التي تمت إضافتها جديدة ، حيث بعضها قد توفر لاحقا كملاحق إضافية لها طورها شركاء صن ، و جعلتها صن جزءا من نواة النظام 1.1 و من هذه الحزم الجديدة :-

 

1.      1-    هيكلية حبيبات جافا (JavaBeans) و التي هي عبارة عن عناصر برمجة مستقلة عن بيئة التشغيل و قد شكلت هذه الحزمة دعما قويا لجافا و التي أصبحت بفضلها لغة حقيقة للتطوير بالعناصر ، بحيث يمكن مزج و إعادة استخدام العناصر، و توزيع التطبيقات الناتجة و خلافه .

2.      2-    الأصناف الداخلية و هي إضافة تقنية تمكن المبرمجين من تعريف عناصر جافا ( و التي يدعوها المبرمجين بالأصناف Classes ) ضمن أصناف أخرى . و هذا مهم لأن العناصر في برمجيات جافا يجب أن تكون هيكلية لتكون مرنة في معالجة المشكلة المراد حلها .

3.      3-    الخواص الدولية في جافا . حيث أصبح بإمكان عناصر جافا في هذا الإصدار تمييز موقع الجهاز الذي تعمل ضمنه ( أي موقعه في العالم ) و التصرف حسب ذلك حيث صار بإمكان برمجيات جافا تحديد موقعها ، و الوقت و التاريخ ، و اعتماد المقاييس المستخدمة في ذلك الموقع ، و هذه لإضافة هامة إذا أخذنا بعين الاعتبار أن لغة جافا صممت لوضع تطبيقات تتنقل عبر الإنترنت .

4.      4-    في عدة التطوير 1.1 تم تعزيز عناصر الإدخال و الخرج I/O بحيث تدعم إخراج و إدخال الحروف . و هذه ميزة هامة حيث أن العديد من البرمجيات المصممة بغير اللغة الإنجليزية تستخدم أساليب مختلفة لتشفير الحروف ، مثل الصينية و اليابانية و العربية ، حيث تستخدم هذه اللغات محارف آسكي ASCII غير تلك المستخدمة في اللغة الإنجليزية و قد فتح هذا التطتوير لدعم اللغة العربية في جافا بدءا من العام 1997 في الإصدار 1.1.6  .

5.      5-    في جافا 1.1 تم إضافة دعم التواصل مع قاعدة البيانات بإضافة JDBC و تتكون JDBC من مجموعة من العناصر اللازمة للتحكم بقواعد البيانات ، و تستخدم لغة البحث البنيوي (SQL) و هي اللغة التي ابتكرتها شركة (IBM) كلغة قياسية للتحكم بالبيانات في قواعد البيانات العلائقية  .

6.      6-    و آخر تحديث في جافا 1.1 و هو أهمها  كان  تضمين تقنية تشغيل العمليات عن بعد (Remote Method Invocation RMI) و هي تقنية يمكن بواسطتها للبرمجيات ، و خصوصا تلك المكتوبة بـ لغة جافا ، التواصل سوية ، حتى و لو كانت تعمل ضمن بيئات مختلفة و في مواقع مختلفة . و قد أوردت هذه الإضافة إلى دعم جافا بشكل كبير كلغة لتطوير التطبيقات الموزعة ، حيث يمكن لتطبيق جافا يعمل ضمن جهاز مركزي في الرياض مثلا ، أن يتعامل مع تطبيق جافا أخر يعمل على نظام مركزي في لندن أو نيويورك مثلا ، دون أن يحتاج هذين التطبيقين لمعرفة تفاصيل النظام الذي يعمل ضمنه التطبيق الآخر .

 

جافا و ما بعد المراهقة

 

السنوات الأربعة الأولى من عمر جافا ، رغم أنها كانت مثمرة من حيث نمو عدد المطورين ، و دخول جافا إلى قلب المؤسسات الكبرى كأداة تطوير رئيسة ، فقد كانت حافلة بالمشاق ، مثل الصراع حول وضع معيار قياسي للغة مما أدى بالتالي إلى حدوث تشقق في صفوف  جافا تمثل بإصدار عدد من الشركات العالمية مثل هيولت باركرد و أي بي إم و حتى مايكروسوفت إصداراتها الخاصة من عدة تطوير جافا مما أدى إلى حدوث حالة من عدم الاستقرار في التطبيقات المكتوبة بلغة جافا و عدم توافقيتها مع بعضها في كثير من الحالات . إضافة إلى تعثر صن ، و هي صانع للأجهزة و المعدات أساسا ، في تشجيع المطورين و العمل معهم بالشكل الكافي . أضف إلى ذلك كله فشل عدد من تطبيقات جافا المكتبية كالتي طرحتها كورل و لوتس في التغلغل في سوق المستخدمين و الحلول محل تطبيقات المستخدمة الشائعة مثل أوفيس وورد برفكت . كما فشلت أي بي إم في نشر نظام تشغيل للكمبيوترات الشبكية تم تطويره بجافا .

 

          و لهذه الأسباب أتت جافا 2 و هي في الحقيقة الإصدار 1.2 من هذه اللغة ، و لكن صن أدخلت على جفافا في هذا الإصدار الكثير من التعديلات التي لا يمكن القول بأنها جزئية . و تعبر عدة تطوير التطبيقات 2 لجفافا أول إصدار كامل المزايا من هذه اللغة .

 

          و أهم سبب لذلك هو أن الإصدارات القديمة من عدة تطوير التطبيقات جافا كانت تحتوي على حزم جديدة تماما غير متوافقة أو أحدث من الحزم القديمة وواجهات تطوير التطبيقات الخاصة بها ، و بالتالي ، كان على المبرمجين و مدراء المعلوماتية أن يقوموا بتحديث كامل ما يستخدمونه ، بما في ذلك الكود القديم ، ليتوافق مع التحديث الجدد و عناصره . و قد كانت هذه أهم المشاكل التي تم تجاوزها في جافا 2 .

 

جافا 2 ، طور النضوج

 

          عندما ظهرت جافا 2 لأول مرة في العام 95 كانت تتكون من 200 واجهة مختلفة لتطوير التطبيقات الإضافية إلى الملاحق ، و اليوم وصل عدد واجهات تطوير التطبيقات في جافا إلى 1600 . و في عدة التطوير 2 ، حدد مطورو جافا لأول مرة العناصر الأساسية التي تشكل نواة جافا . سواء أكانت مستخدمة ضنت البطاقات الذكية  أ, أجهزة الإيوانية العملاقة , و بكلمة أخرى فقد حدد المطورون 15 مكتبة أصناف تشكل النواة الأساسية للغة جافا . و هذه المكتبات هي على التوالي (applet, awt, beans, io, lang, math, net, rmi, security, sql, accessibility, swing, COBRA) و تمثل هذه الأصناف "روح" تقنية جافا و كل ما يحتاجه المطور لبناء تطبيقات متكاملة

 

بيئة ممتازة للمؤسسات

 

          ربما كان أهم ما ميز عدة التطوير 2 لجافا عند طرحها هو توجهها لتزويد المطور بكل ما يلزم لوضع تطبيقات موزعة جاهزة للعمل في المؤسسات . و ربما كانت أهم تقنية تم تضمينها في عدة التطوير 2 لجافا هي ما يدعى بأصناف التأسيسية(Java Foundation Classes JFC) و هي مجموعة من الواجهات البرمجية (APIs) و العناصر الجاهزة تتضمن معظم متطلبات تطوير التطبيقات . و بكلمة أخرى فإن المطور بفضل هذه العناصر يمكنه حرفيا دمج مجموعة من عناصر جافا سوية لتشكيل التطبيقات .

 

             و بفضل الأصناف التأسيسية الجديدة اكتسبت لغة جافا أخيرا القدرة على الطباعة ( صدق أو لا تصدق ، الإصدارات الأولى من عدة التطوير لم تسمح للبرمجيات بالطباعة ) ، مما سمح للمطورين أخير باستخدام جافا لتطوير تطبيقات إنشاء التقارير، و إدارة الأعمال . كما يمكن الآن لتطبيقات جافا التي تستخدم عدة التطوير 2 أن تعرض وتطبع خطوط الترو تايب  ، بوست سكربت ، و خطوط الصور البتية ، بشكل واحد و ثابت في 20 بيئة تشغيل التي تدعم جافا و يوجد لها آلة جافا افتراضية .

 

             و من الإضافات الهامة الأخرى في جافا 2 هي تقنية سوينغ و هي عبارة عن مجموعة من عناصر جافا يمكن إعادة استخدامها تسمح للمبرمجين أن يقوموا بإنشاء واجهات استخدام رسومية قابلة للنقل و مستقلة تماما عن بيئة التشغيل التي تعمل ضمنها . و ما يعنيه ذلك أنك عندما تقوم بتطوير جافا فإن هذه التطبيقات عندما تعمل ضمن بيئة ويندوز فإن عناصرها المختلفة تأخذ شكل واجهة ويندوز ، و عندما تعمل ضمن بيئة ماكنتوش فإنها تأخذ تلقائيا شكل واجهات الماكنتوش . و هذه ناحية هامة جدا للمستخدم ولمدراء المعلوماتية . فإذا تعرض المستخدم لواجهة استخدام جديدة تختلف عم تعود عليه فقد يحتاج إلى بعض الوقت لإعادة التدريب وما إلى ذلك . و بفضل تقنية سوينغ فإن المستخدم لن يتعرض لذلك ، حيث أن تطبيقات جافا 2 تأخذ تلقائيا شكل بيئة التشغيل التي تعمل ضمنها .

 

          كما تحتوي الأصناف التأسيسية الجديدة على مجموعة من الواجهات البرمجية التي تدعم تقنيات التعرف على الصوت و تحويله إلى نص ، وواجهات برمجية تحول النص إلى صوت ، كما أن جافا 2 تدعم الآن السحب و الإسقاط بين العناصر ، و الواجهات الثنائية و الثلاثية الأبعاد .

 

أمان أكثر

 

عندما تطور تطبيقات بغلة جافا حيث تتوقع لها أن تعمل في كل بيئة و ضمن أي نظام تشغيل فلا يمكنك ترك أي شيء للظروف أو الصدفة ، و خصوصا في قضية مثل أن التطبيقات ، و أكثر خصوصا تطبيقات التجارة و الأعمال الإلكترونية . فكل البيئات ليست بأمان نفسه ، و الشبكات المستخدمة لا تعتمد نموذجا أمنيا متشابها . و من ناحية أخرى ، فإنك لا تريد للغة مثل جافا تتمتع بمرونتها العالية و قابليتها للتواصل مع أي من التطبيقات الأخرى أن تستغل في تشكيل تهديد للنظم التي تعمل عليها . و لذلك كان لابد لجافا منذ بدايتها أن تستخدم نموذجا أمنيا محكما ، مثل عدم قابلية برمجيات جافا من  إصدار أوامر إلى القرص الصلب الذي تعمل ضمنه ، و إنهاء حياة برمجيات جافا بعد الانتهاء من عملها، و هو ما كان يعرف بنموذج الصندوق الرملي .

         

وفي جافا 2 تم إدخال نموذج أمني جديد إلى اللغة يعتمد على تعميم الخواص الأمنية في برمجيات جافا إلى مستوى المؤسسة . أضف إلى ذلك فقد قامت صن بجعل النموذج الأمني أكثر مرونة و قابلية للتعديل من النموذج السابق .

 

فضمن النموذج الجديد منح المطورون و مدراء المعلوماتية القابلية لاستخدام أسلوب السياسات (policies) ، و الأذونات (permissions) و التحكم بالنفاذ إلى التطبيقات المكتوبة بجافا حتى على مستوى كل عنصر من عناصر التطبيق أو البريمج سواء كان ذلك على مستوى المستخدم أو مجموعة العمل . و بالطبع ، فإن فائدة تمكين المستخدم من التحكم في التطبيقات على هذا المستوى من الدقة له فوائده الواضحة في عصر التجارة و الأعمال الإلكترونية حيث يتم تبادل البيانات و التطبيقات على نطاق واسع يخرج عن سيطرة دائرة واحدة في معظم الأحيان .

و قبل ظهور هذا المستوى الدقيق من التحكم في جافا كان على المطورين أن يقوموا أنا بكتابة نموذج أمني جديد لكل تطبيق . و الآن ، يمكن لهؤلاء المبرمجين أن يضعوا تطبيقاتهم المكتوبة بلغة جافا على الإنترنت و إضافة خاصية تسجيل الدخول الآمن إليها من الويب بحيث يستخدم كل بريمج ، و كل تطبيق هذه الخاصية الأمنية بالشكل نفسه دون الحاجة إلى أي تعديل .

 

تحسين الأداء

 

نظرا لطبيعة جافا كلغة مفسرة فقد كان من الطبيعي أن تعاني منذ البداية و حتى الإصدار 1.1.7 من بطء في الأداء . و لذلك فقد كان من أهم خبر بالنسبة للمطورين في الإصدار الثاني من عدة التطوير هو إدخال نموذج جديد للتطوير و هو نموذج الأداء لجافا (Java Performance Model) و هذا النموذج عبارة عن مجموعة من التحديثات التي تن إدخالها على هيكلية تنفيذ التطبيق في جافا . و يقول المسئولون في صن أن هذه التحسينات تمنح التطبيقات المستفيده و الخادمة التي يتم تطويرها بجافا دفعة قوة من ناحية الأداء .

 

و من بين التعديلات العديدة التي تم إدخالها على جافا من خلال نموذج التحسين الأداء هي إمكانية ضغط الذاكرة الخاصة بالأصناف المحملة (memory compression for loaded classes) و سرعة أكبر في توزيع الذاكرة (memory allocation) إضافة إلى تحسين نظام التوليف الآني ، كما تم تحسين هيكلية آلة جافا الافتراضية بحيث يمكن إدخال التعديلات عليها في المستقبل دون الحاجة إلى إعادة كاتبة التطبيقات .

 

كما تم إدخال تعديلات عديدة على الطريقة التي يتم فيها معالجة الأخطاء (debugging) بحيث يمكن ذلك عن بعد إضافة إلى وجود خيار تمكين تطبيقات جافا الآن بحيث يمكن لمدير الشبكة أن يراقب أداء هذه التطبيقات الآن عن بعد خلال الإنترنت . ويساعد ذلك بشكل كبير في تحديد نقاط الاختناق في التطبيقات و معالجة المشاكل التي تنشأ أول بأول .

 

أخذ هذا الموضوع من مجلة مستخدي ويندوز السرق الأوسط

مع تحيات: محمد عبدالوهاب العمدي....كليه المجتمع الاكاديميه_صنعاء، قسم علوم حاسوب 

 

عودة لأعلى الصفحة مشاهدة mohameed alamdy's الملف الشخصي البحث عن مشاركات ل mohameed alamdy
 

إذا أردت الرد على هذه المشاركة فيجب أن  دخول
إذا لم تكن مسجلا فعليك أن تسجل نفسك كعضو جديد

  إضافة ردإضافة موضوع جديد
طباعة الموضوع طباعة الموضوع

إذهب إلى
لا تستطيع إضافة مشاركة في هذا المنتدى
لا تستطيع إضافة رد في هذا المنتدى
لا تستطيع إلغاء مشاركاتك في هذا المنتدى
لا تستطيع تحرير مشاركاتك في هذا المنتدى
لا تستطيع عمل إستبيان جديد
لا تستطيع التصويت على الإستبيانات الموجودة في هذا المنتدى

Powered by Web Wiz Forums version 7.51a
Copyright ©2001-2003 Web Wiz Guide

تم تكوين هذه الصفحة في 0.2344 ثانية .