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

Osgi التكنلوجيا التي اكتسحت عالم الجافا

بدأه delab في 13 يونيو 2008 · 10 رد · 1,767 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا،

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

بداية كانت موجهة إلى البرمجيات المدمجة في السيارات والهواتف النقالة وما شابهها، حاليا هذه التكنلوجيا تكتسح كل مجالات استخدام الجافا ونراها في نمو متزايد...

من يعرفُ الــ Eclipse؟ هذه التكنلوجيا تعد قلبه النابض

من يعرف الــ J2EE؟ اذا نعم فأنت تعرف ما هو الــ GlassFish ؟ وربما قد سمعت بالــ JOnas و JBoss، كل هذه الخوادم تجري من وراء تكنلوجيا الــ OSGi من أجل التأقلم معها.

واذا كنت على اطلاع ايضا على الــ J2EE فقد تكون على علم بالــ Spring وما أدراك ما الــ Spring في عالم الأعمال. وما أدراك ما المجهود الكبير الذي يدور في مكاتب الــ SpringSource من أجل تطوير الــ SpringDM (أو Spring OSGi). ثم لا ننسى الــ Struts وغيرها الكثير...

والكثير الكثير... المشاريع تلو المشاريع من أجل تكييف البرمجيات نحو تكنلوجيا الــ OSGi....

حتى النسخة السابعة من جافا التي لم تخرج بعد، ستعتمد على مفاهيم هذه التكنلوجيا !

ما السر وراء هذا اللهثان وراء هذه التكنلوجيا؟ ماذا تقدمه من جديد؟

سنحاول في هذه الزاوية من هذا المنتدى تسليط الضوء عليها، سنحاول تدريجيا طرح المشاكل الحالية، وكيف نجحت هذه التكنلوجيا في ايجاد حلول لهذه المشاكل.

أحببت بأن يكون هذا الموضوع للنقاش، وليس على شاكلة الدروس وعبارات الشكر.

لذلك هذه دعوة للجميع للبحث في الانترنت عن ماذا نقصد بهذه التكنلوجيا، ومناقشتها في هذا المنتدى.

بالتوفيق.

#2
اقتباس
تكنلوجيا الـ OSGi التي لا يمر يوم إلا ونسمع المزيد المزيد من الشركات العملاقة والبرمجيات الضخمة التي تعتمدها في بنائها الداخلي.

لم اسمع بها .. :resentful:

الله معك..

#3

:S

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

:lol: :lol: :lol:

ready to do full students projects

digitalscenter@hotmail.com

+966530357742

#4

سأشارككم بإذن الله

لكن بعد اليوم الاثنين

لأني أعاني من شح في الوقت

بسبب مشروع التخرج

تحياتي

تم تعديل هذه المشاركة بواسطة alaadiaa في 14 يونيو 2008 في 02:47

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

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

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

728x90.png

#5

بصراحة دخلت على الموقع http://www.osgi.org/About/Technology

ولم أفهم كل شئ :wacko:

ياريت تشرح أكتر

SCJP 5.0

#6

يبدو أنها بيئة تساعد على الإنتجريشن بين أنظمة و جعلها على شكل موديولز و سرفسز مستقلة يتم تسجيلها في رجيستري مع إمكانية التواصل بينهم

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

انا اول مرة اسمع عنها لكن أتوقع انها بتنتشر قريبا

هذا المقال ممكن يعطيكم فكرة عن الموضوع

http://java.sys-con.com/read/449864_1.htm

على العموم شكرا على طرح هذا الموضوع

#7

حسب ما أعرف هو أن OSGi عبارة عن إئتلاف لمجموعة من الشركات (راجع الرابع لعرض الشركات المشاركة http://www.osgi.org/About/Members)

والأسم مأخوذ من مسمى هذه المبادرة Open Services Gateway initiative . وهي بحد ذاتها ليست تقنية أو تكنولوجيا.

أعتقد ما كنت تود التنية علية هو OSGi Framework :lol:

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#8
اقتباس
الإنتجريشن
اقتباس
موديولز و سرفسز
اقتباس
الأبديتس

:resentful:

ما هذا ..

تم تعديل هذه المشاركة بواسطة shado في 14 يونيو 2008 في 15:15

#9

ولا يهمك اخت شادو هي مصطلحات بالانكليزي بس كتبها معربة هههههههههه

الإنتجريشن== التكامل

موديولز و سرفسز == نماذج او برامج فرعية و خدمات

الأبديتس == update == التحديث وطبعا ال س للجمع

ready to do full students projects

digitalscenter@hotmail.com

+966530357742

#10

ما هو مكان الــ OSGi في عالم الجافا؟

حتى لا نبتعد كثيرا في بحثنا عن حيثيات هذه التكنلوجيا، دعونا نرسم حدودها داخل عالم الجافا.

تهتم هذه التكنلوجيا بالهيكلة والبناء الداخلي للبرمجيات. ويعتبر هذا من بين أهم المشاكل التي تعالجها هندسة البرمجيات.

ونقصد بهذا كيفية تصميم وتنظيم وتجميع وتركيب وصيانة وتحديث مختلف أجزاء البرامج.

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

عبر الفترات الزمنية المتتالية لتطور الحواسيب، ظهرت عدة أنماط للبرمجة، ولعل أشهرها الآن هو البرمجة الشيئية التوجه (أو Object Oriented Programming). وقد نال هذا التوجه من الشهرة ما نال لما يقدمه من حلول جد مساعدة كالــ Abstraction و Encapsulation و Polymorphisme و غيرها الكثير.

ولعل من أهم نتائج هذا هو وجود قطع برمجية مستقلة يمكن اعادة استخدامها في برامج أخرى...

غير أن كون الوحدة الأساسية للتجميع في OOP هي الشيء (أو Object) ومع كبر حجم التطبيقات وتعقدها وتوزعها في أجهزة مختلفة في الشبكة، ظهرت مشاكل أخرى كالـ Transactions والـ Persistance ...، جعلنا نبحث عن مستوى أعلى للتجميع، فظهر ما يسمى بالــ Component Oriented Programming. الــ Component هو مجموعة من الــ Objects مجتمعة في كينونة واحدة لتقديم خدمة معينة. فنجد مثلا في برنامج ادارة البنوك مجموعة من المكونات أو Components كل منها مختص في عمل شيء معين، فواحد خاص بادارة الحسابات والآخر بانشاء التقارير وواحد آخر بادارة موقع الانترنت وغيرها وكلها تمثل برنامجا واحدا.

وقد سارت الجافا أيضا في هذا الاتجاه، وهو فيما نعرفه اليوم بتكنلوجيا الــ Java EE (أو J2EE).

من جهة أخرى، ففي السنوات الأخيرة ومع الانتشار الهائل لشبكة الانترنت، ظهرت حاجة ملحة إلى ربط برمجيات مختلفة فيما بينها (أو كما ذكره الأخ من قبل، الـ Integration)، فمثلا لدينا برنامج لادارة المبيعات يقدم خدمة الدفع عن طريق بطاقات الائتمان، ويحتاج هذا البرنامج إلى الاتصال مع برامج البنوك لاتمام الصفقة. وهذه الحاجة إلى الاتصال بين البرامج المختلفة تمخض عنها ما نسميه الــ Service Oriented Architecture، بحيث يقدم برنامج ما خدمة ما إلى برنامج آخر. ومن الأمثلة على ذلك الــ Web Services.

فيما تتميز الــ Component Oriented Programming بتقديمها لنموذج جيد لهيكلة البرامج، فإنها تقتصر إلى الديناميكية في الاتصال مع برامج أخرى. والعكس صحيح بالنسبة إلى Service Oriented Architecture، التي تقدم نموذج جيد للاتصال لكنها تفتقر إلى هيكلة واضحة.

هنا يأتي دور الــ OSGiـ

تقدم هذه التكنلوجيا حلولا لايجاد منصة ذات نموذج كائني (component model) مع خاصية ديناميكية الاتصال بين الــ Components. لذلك نجد التعريف التالي في الموقع الرسمي : OSGi technology is the dynamic module system for Java

كلام نظري ؟؟!! نعم

لكن هو بالضرورة بمكان لفهم الاطار العام لهذه التكنلوجيا.

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

تم تعديل هذه المشاركة بواسطة delab في 15 يونيو 2008 في 14:54

#11

حتى نكون تطبيقيين أكثر، هل ممكن أن يتطوع جماعة ليحضروا لنا أمثلة واقعية demos حول الـ

- Component Oriented Programming وذلك باستخدام الــ EJB3 أو ما جاورها مثل الــ Spring، Hibernate، الخ

- Service Oriented Architecture وذلك باستخدام الــ Web Services وتطبيقاتها المختلفة في الجافا.

ملاحظات:

- مثال صغير وبسيط، على شاكلة الــ Hello World!

- يا حبذا لو يكون الـ demo مرئي (لتسجيل الفيديو يمكن استخدام البرامج التي على شاكلة الــ CamStudio)

- نحن لسنا مستعجلين، خذ كل وقتك

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

الى ذلكم الحين، سنواصل نقاش موضوعنا الرئيسي الــ OSGi :hmm:

موفقين.

تم تعديل هذه المشاركة بواسطة delab في 15 يونيو 2008 في 01:37

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…