Professional Documents
Culture Documents
األنظمة الموزعة
اعداد
م/امين الملحاني
هندسة برمجيات -جامعة صنعاء
الفصل االول
محدودية القدرة الحسابية لكل عقدة Computing power per node is
limited
وهذه المشكلة تظهر عندما نريد استخدام األنظمة الموزعة كبديل عن األنظمة
المتوازية
كمثال على ذلك بعض انظمة المحاكاة تحتاج الى نصف مليون جهاز لحل عمليه
وحيده
هناك العديد من المتطلبات التي يجب توافرها كي نحكم على النظام بانه نظام
تشغيل موزع
وهي كما يلي
وتحت‰‰وي معظم نظم التش‰‰غيل الش‰‰بكات المحلي‰‰ة ذات م‰‰زودات الملف‰‰ات مثل (
) Novell NetWareعلي بعض األش‰‰كال من معمارية الزب‰‰ون/الم‰‰زود في
توفير كل من خدمات نق‰ل الملف‰ات والطباع‰ة لمس‰تخدمي الش‰بكة ،ففي مث‰ل ه‰ذه
الش‰‰بكات يق‰‰وم ك‰‰ل من الحواس‰‰يب المتص‰‰لة بالش‰‰بكة بتش‰‰غيل برن‰‰امج موجه
Redirectorويق‰‰وم ه‰‰ذا البرن‰‰امج بتلقي طلب‰‰ات خدم‰‰ة الملف‰‰ات الص‰‰ادرة عن
مستخدم ذلك الحاسوب أو عن أحد البرامج التطبيقي‰ة ال‰تي يش‰غلها ( جه‰ة الزب‰ون )
،وإحالة الطلب إلي نظام ملفات الشبكة ( NFSجه‰ة الم‰‰زود ) .وعن‰دها يق‰‰وم
م‰‰زود الملف‰‰ات بتنفي‰‰ذ الخدم‰‰ة المطلوب‰‰ة وإف‰‰ادة الزب‰‰ون ط‰‰الب الخدم‰‰ة بالنتيج‰‰ة
( يستخدم تعب‰ير م‰زود الملف‰ات File Serverإلش‰ارة إلي برن‰امج به‰ذا االس‰م
وك‰‰‰‰‰‰ذلك إلي الحاس‰‰‰‰‰‰وب ال‰‰‰‰‰‰ذي يق‰‰‰‰‰‰وم بتش‰‰‰‰‰‰غيل ه‰‰‰‰‰‰ذا البرن‰‰‰‰‰‰امج ).
يتخصص البرنامج الم‰زود بتق‰ديم ص‰نف معين من الخ‰دمات مث‰ل خ‰دمات إدارة
الملفات أو خدمات الطباعة أو االتصاالت أو إدارة البريد االلكتروني e-mailأو
خ‰‰دمات اس‰‰‰تعالم قواع‰‰‰د البيان‰‰‰ات queryبلغة SQLوإج‰‰‰راء المع‰‰‰امالت
transactionمعه‰ا ،أو غيره‰ا من الخ‰دمات .ويمث‰ل البرن‰امج الم‰زود نهاي‰ةة
back-endالتطبيق .وهو يقف علي أهبة االستعداد لتقديم الخدمات ال‰تي يختص
بها عند تلقيه "رسالة" بهذا الص‰‰دد من أح‰د الزب‰‰ائن .وعن‰‰دها يق‰وم بتفس‰ير تل‰ك
الرسالة وتنفيذ العمليات التي تتطلبها وإرسال النتائج إلي زبون طالب الخدمة ،إن
. وج‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰دت
ويتألف برنامج المزود من محرك Engineلتنفيذ المهام التي يختص به‰‰ا ،وه‰‰و
يوفر واجه‰‰ة لبرمجة التطبيق‰‰ات Application Programming Interface
APIواضحة ومحددة .وتعين واجهة برمجة التطبيقات مجموعة الخدمات ال‰تي
يمكن للمزود أن يوفرها ،وصيغ الرسائل ال‰‰تي تلتمس ه‰‰ذه الخ‰‰دمات .وال يحت‰‰اج
المبرمجون الذي يطورون برامج من فئ‰ة الزب‰ون ،عملي‰ا ،لمعرف‰ة تفاص‰يل آلي‰ة
عمل برنامج المزود الذي سيخدم برنامجهم الزبون .كل ما يحتاجونه بهذا الصدد
ه‰‰و معرف‰‰ة واجه‰‰ة البرمجة APIالخاص‰‰ة بالبرن‰‰امج الم‰‰زود المع‰‰ني .وتتمث‰‰ل
الوظيفة األساسية لـ APIفي إخف‰اء التعقي‰دات الداخلي‰‰ة للبرن‰امج الم‰زود وراء
س‰‰‰‰‰‰‰‰‰‰‰‰‰تار أني‰‰‰‰‰‰‰‰‰‰‰‰‰ق وواض‰‰‰‰‰‰‰‰‰‰‰‰‰ح يس‰‰‰‰‰‰‰‰‰‰‰‰‰هل التعام‰‰‰‰‰‰‰‰‰‰‰‰‰ل معه.
ويتيح الفصل بين وحدتي الزبون والمزود إمكانية تشغيل ك‰‰ل منهم‰‰ا علي منص‰‰ة
مفصلة .حيث أن لك‰ل منهم‰ا متطلب‰ات تش‰غيل مختلف‰ة .ب‰ل أن باإلمك‰ان تش‰غيل
برمجيات الزبون والمزود تحت نظم تشغيل مختلفة وباس‰‰تخدام فئ‰‰ات مختلف‰‰ة من
العتاد مثل استخدام نظم PCعاملة تحت DOSو Windowsلتش‰غيل ب‰رامج
الزبون ،واستخدام نظام ميني فريم يعمل تحت النظام Unuxكمنص‰ة للم‰زود ،او
اس‰‰‰تخدام أي‰‰‰ة تش‰‰‰كيالت أخ‰‰‰ري غ‰‰‰ير متجانس‰‰‰ة من العت‰‰‰اد أو نظم التش‰‰‰غيل.
الزبون/المزود .. ‰لماذا؟
لم تنشأ معمارية الزبون/الم‰زود محص‰لة للتط‰ور التكنول‰وجي فق‰ط ،ب‰ل ج‰اءت
كذلك تلبي‰‰ة لمتطلب‰‰ات المن‰‰اهج االداري‰‰ة والتنظيمي‰‰ة التقدمي‰‰ة ال‰‰تي تتبناه‰‰ا أع‰‰داد
متزايدة من المؤسسات الحديثة .ففيما تقوم المؤسسات التقليدية علي نظام مرك‰‰يز
هرمي صارم للمراتب القيادية ،تنحو المؤسسات الحديثة إلي تبني نماذج تنظيمي‰‰ة
تتسم بقدر أكبر من التسطح ،flatوتؤكد علي العم‰‰ل الجم‰‰اعي وتش‰‰جيع التفاع‰‰ل
االفقي بين زمالء العم‰‰ل علي حس‰‰اب الهيمن‰‰ة المركزي‰‰ة والروابط العمودي‰‰ة بين
رؤساء ومرؤوسين ،وتؤكد المناهج التنظيمي‰ة الحديثة علي ض‰رورة توف‰ير نقطة
وحيدة يتعامل معها العميل في كل مرة يتصل فيها بالمؤسس‰‰ة .وض‰‰رورة اتص‰‰ال
العمي‰‰ل ب‰‰الموظف ذات‰‰ه بص‰‰رف النظ‰‰ر عن طبيع ‰ة حاجت‰‰ه ،ويتطلب ذل‰‰ك تحلي
الموظفين بمواهب ومهارات متعددة .كما يتطلب تأمين وصولهم السريع والفعال
لنطاق واسع من التطبيقات التي تستخدمها المؤسسة ،خالل الف‰‰ترة القص‰‰يرة ‰ال‰‰تي
يس‰‰تغرقها اتص‰‰ال العمي‰‰ل .من ناحي‰‰ة أخ‰‰ري هن‰‰اك مي‰‰ل في المؤسس‰‰ات الحديثة
لتنويع مص‰ادر العت‰اد والبرمجي‰ات وع‰دم االرته‰ان لمص‰در واح‰د له‰ا ،كم‰ا أن
احتياجات المؤسسات لنظم المعلومات تستر في النمو والتنوع ،فيما تزداد الحاج‰‰ة
إلدماجه‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰ا في وح‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰دة متكاملة.
فإذا كانت مؤسستك من هذا الطراز أو ثمة خطط لتحويلها بهذال االتج‰‰اه ،فس‰‰تجد
في معمارية الزب‰‰ون/الم‰‰زود النم‰‰وذج المنش‰‰ود والخي‰‰ار األفض‰‰ل لبن‰‰اء نظ‰‰ام
المعلومات المالئم لهذا التوجه ولتطويره مستقبال .
وعلى اساس طبقات التطبيق تنوعت معماريات العميل الزبون الى نوعين هما
Two-tier C/S architecture
Three-tier C/S architecture
تقوم ()Remote Procedure Callعلى مبدأ توزيع العمل على عدة مزودات
واستخدام التفرعات البرمجية لتنفيذ هذه العمليات .
نموذج التنفيذ يعتمد على واجهة للزبون عن بعد ( STUPتسمى بالنسبة
للزبون)PROCXY
خصائص PRC
تعتبر أنظمة الكائن الموزع من أكثر األنظمة الموزعة مرونة حيث ت‰‰تركز فك‰‰رة
المعماري‰‰ة األساس‰‰ية إن مجموع‰‰ة الكائن‰‰ات ال‰‰تي تق‰‰دم ع‰‰دة خ‰‰دمات عن طري‰‰ق
واجهاتها تقوم كائنات أخرى باستدعاء هذه الخ‰‰دمات وذل‰‰ك دون اي فص‰‰ل بين (
)c \ s
يعت‰‰بر اس‰‰تخدام معماري‰‰ة الك‰‰ائن الم‰‰وزع أفض‰‰ل من الخ‰‰ادم -العمي‰‰ل م‰‰ع أن‰‰واع
التطبيقات التي تسمح بتجديد والتطوير الن ال( )c/sيهتم كث‰‰يرا بتحدي‰‰د الخ‰‰دمات
التي يقدمها إدارة قواعد البيانات بينما أنظمة الكائن‰‰ات الموزع‰‰ة غ‰‰ير ذال‰‰ك حيث
تسمح بإضافة قواعد بيانات جديدة دون حدوث أي خلل للنظام حيث يعتبرها كائن
موزع جديد يحوي عدة كائنات.
طريقة االتصال
يتم االتص‰‰ال بين ه‰‰ذه الكائن‰‰ات عن طري‰‰ق برن‰‰امج وس‰‰يط يق‰‰وم بالتنس‰‰يق بين
الكائنات يسمى Object Request Broker
المساوئ والمشكالت
-شفافية الموقع ،حيث أن األغراض البرمجية الموجودة في المجال العنواني ذاته والتي
يمكن الوصول إليها من خالل استدعاء بسيط تُعا َمل ذات معاملة األغراض البرمجية
البعيدة ،مما يؤدي إلى تعقيد االستدعاءات وخاصة إذا كان معظم األغراض البرمجية
المطلوبة موجودة محليا ً.
-النقص في التصميم ،لم يكن هناك تنظيم للعروض المختلفة المقدمة ولم يتم تنسيق
المشاكل لمعالجتها ومع ذلك تم اصدار المعايير القياسية مما أدى لتعقيد المواصفات
وصعوبة تنفيذها وفي بعض األحيان كانت غامضة .كما وأدى ظهور بعض الخالفات
في اللجنة المصممة إلى ظهور طبعات منقّحة من معايير كوربا كانت مستحيلة التنفيذ
دون وجود اضافات خاصة لها.
-مشكالت في التنفيذ والتحقيق ،غالبا ً كانت النسخ المحققة قليلة أو غير كاملة أو غير
كافية .على الرغم من أن النسخ المحققة جيداً من كوربا كان صعب الحصول عليها سابقا ً
إال أن SUN Java SDKيأتي معها كوربا ضمنياً .كما وأن هناك بعض النسخ المحققة
من كوربا قد تكون معقدة أو بطيئة أو غير متوافقة أو عير كاملة.
-الجدار الناري ،Firewallsكوربا وبالتحديد IIOPتستخدم اتصال TCP/IPخام
لنقل المعطيات ،فإذا كان الزبون clientموجود خلف بيئة firewallأو transparent
proxy serverقوية تسمح فقط بتمرير HTTP connectionsعبر الميناء ،80
عندئذ التواصل سيكون مستحيل إال إذا أعطى مخدم البروكسي المطلوب السماحية لـ
HTTP CONNECT methodأو .SOCKS connections
لقد كان من الصعب اجبار التحقيق على استخدام portقياسي واحد فقد كان يتم اختيار
عدد من الـ portsبشكل عشوائي ،ولآلن الـ ORBsلديهم هذه العلة .بسبب هذه
الصعوبات ازداد عدد المستخدمين الذين لجئوا الستخدام خدمات الويب web services
بدال من استخدام كوربا CORBAحيث تتواصل باستخدام XML/SOAPعلى المنفذ
80الذي يُت َرك مفتوح عادةً .بعض النسخ الحديثة المحققة من كوربا تدعم SSLويمكن
إعدادها بسهولة لتعمل على رقم ميناء portواحد فقط.
ومن أشهر الـ ORBSالمفتوحة المصدر مثل TAOو JacORBتدعم GIOP
باتجاهين مما يعطي كوربا ميزة القدرة على اتصاالت استعمال االستدعاء الرجعي
callback communicationبدال من صفة polling approachالموجودة في
خدمات الويب.
كما أنه أصبح هناك عدد من الـ CORBA-friendly firewallsالصديقة لكوربا
متوفرة في السوق.
-ال وجود للضغط ،compressionإن كوربا ترتب معطياتها على شكل معطيات
ثنائية (صفر وواحد) ولكنها ال تستخدم أي ضغط .وحاليا ً شركات IONA/Remedy
IT/Telefonicaيعملون على إنشاء إضافة لمعيار كوربا القياسي يسمح بتحقيق
الضغط وتسمى هذه اإلضافة بـ ZIOPوسوف يقدم به طلب رسمي لمجموعة OMG
في اجتماعها القادم.
-تجاهل التعامل مع الـ .threads
-ال يوجد تقابل للغات برمجة متل #Cحيث أن كوربا تجاهلت.Net.
وغيرها العديد من المشكالت التي أدت إلى تراجع أهمية كوربا مع الزمن ،وأيضا ً من
أسباب اندثار كوربا هو ظهور منافسة لها من قبل عدد من التقنيات مثل DCOM
التابعة لشركة مايكروسوفت و EJBوخدمات الويب .Web Services
يعتمد OpenCCMعلى الجافا مما يسمح له بالعمل على عدة منصات كما ويعمل على
منتجات كوربا التالية:
)Borland Enterprise Server (BES
JacORB
ORBacus
Linux Familiar
MacOS X
Solaris
Windows NT/2000/XP
. المعروفةCCM قيد التطوير حيث أنه ال يتمتع بجميع ميزاتOpenCCM وال زال
وتعمل وف‰‰ق بروتوك‰والت قياس‰ية تتع‰اون فيم‰‰ا بينه‰ا للوص‰‰ول إلى خدم‰‰ة web
متكاملة
اوالً:نشر الخدمة
يقوم مقدم خدمة الوب بنشر الخدمة على شبكة اإلنترنت لدى موزع خدمات الوب
(قد يكون الم‰‰وزع يق‰‰دم خ‰‰دمات وب مط‰‰ورة من قب‰‰ل ع‰‰دد من الش‰‰ركات ) ,إن
عملي‰‰‰ة النش‰‰‰ر تج‰‰‰ري بمس‰‰‰اعدة تقني‰‰‰ة ( web services description
WSDL ‰ )languageيحدث فيها توصيف لخدم‰‰ة ال‰‰وب المقدم‰‰ة ,كآلي‰‰ة طلب
هذه الخدمة ,ونوع متح‰‰والت ال‰‰دخل ال‰تي تتطلبه‰ا ,والخ‰رج ال‰ذي ينتج عنه‰‰ا ,
الخ .أي إنها تعبر االتفاق الذي يحكم آلية التعامل مع خدمة ال‰‰وب ,تج‰‰ري كتاب‰‰ة
WSDLباستخدام لغة XML
ثانيا ً: إيجاد الخدمة
عندما يحتاج أحد المستخدمين إلى خدمة معينة ,يق‰‰وم بعملي‰‰ة بحث عن الخ‰‰دمات
المتوفرة لدى م‰‰وزعي الخدم‰‰ة ,تج‰‰ري ه‰‰ذه العملي‰‰ة باس‰‰تعمال تقني‰‰ةUDDI :
) (Universal description, Discovery and integrationال‰‰تي تعم‰‰ل
دليالً يجري فيه تسجيل خدمات الوب ,والحق‰ا ً يج‰‰ري في‰‰ه البحث عنه‰‰ا .يح‰‰وي
كل تسجيل عمل UDDIالمكونات الثالث التالية:
الصفحات البيضاءAddress,Contact,Know indentifiers :
الصفحات الصفراء : تصنيف صناعي مستند على قياس taxonomies
الصفحات الخضراء : معلومات تقنية حول خدمات معروضة لالستخدام
ثالثا ً : طلب الخدمة
هو عبارة عن وسيلة لطلب خدمة معينة فبعد إيجاد الخدمة المطلوبة يق‰‰وم طالبه‰‰ا
بطلبها من مقدم الخدمة إن عملية تبادل المعلوم‰‰ات تج‰‰ري بواس‰‰طة ال‰‰بروتوكول
) SOAP (Simple object access protocolوهو معيار يعتمد على لغ‰‰ة
XMLويحقق للبرامج تبادل المعطيات بفضل بروتوك‰‰ول HTTPوه‰‰ذا يجعل‰‰ه
يتميز بما يلي:
مصمم ليعمل على شبكة اإلنترنت
مستقل عن نظام التشغيل
مستقل عن لغات البرمجة المستخدمة لتطوير التطبيقات
يقوم كالً من UUDDI , WSDL , SOAPبالتعاون فيما بينهم للحصول على
عمل متكامل وقياسي ( ) Web services standerوفقا ً لمل يلي:
تحديد لغة التخاطب WSDLبين التطبيقات التي تريد التواص‰‰ل م‰‰ع بعض‰‰ها
وينشأ ما يدعى بيئة الخدمة services interfacesولغة التخ‰‰اطب القياس‰‰ية
هي لغة , XMLإن عملية النشر للخدمات تجري بمس‰‰اعدة تقني‰‰ة WSDL .
)(Web services Description language
الخط‰‰‰وة التالي‰‰‰ة هي اس‰‰‰تخدام UDDI (Universal description ,
) Discovery , and integrationلتسجيل توصيف الخدمة المقدمة من
قب‰‰ل م‰‰زود خ‰‰دمات التطبيق‰‰ات وذل‰‰ك باس‰‰تخدام Register , look – up
protocol
أما اآلن فيتم تفعيل التخاطب بين التطبيق‰‰ات وذل‰‰ك بتمكين التط‰‰بيق الزب‰‰ون (
) Requester Applicationمن استخدام ( ) Objectالمعروضة من قبل
التط‰‰بيق الم‰‰زود للخدم‰‰ة ( ) Provider Applicationوذل‰‰ك باس‰‰تخدام
) SOAP (Simple Object Access Protocolويب‰دا التخ‰اطب عن
طريق تمرير ( ) objectفيما بينهما.
الفصل الثالث
الحوسبة السحابية
تاريخ
السحابة هو تعبير كان يستخدم في البداية لإلشارة إلى اإلنترنت وذلك في
مخططات الشبكات .وجاءت فكرة البرامج كخدمات في الستينيات من القرن
العشرين حيث ان جون مكارثي قد عبر عن الفكرة بقول "قد تنظم الحوسبة لكي
تصبح خدمة عامة في يوم من األيام" .الحوسبة السحابية (cloud
)computingهي أحد اساليب الحوسبة ،يتم فيها تقديم الموارد الحاسوبية
كخدمات ،ويتاح للمستخدمين الوصول إليها عبر شبكة اإلنترنت (”السحابة“)،
دون الحاجة إلى امتالك المعرفة ،الخبرة ،أو حتى التحكم بالبنى التحتية التي
تدعم هذه الخدمات .يمكن النظر إلى الحوسبة السحابية على أنها مفهوم عام
يشمل البرمجيات كخدمة ( ،)Software as a Serviceالويب ،2.0وغيرها
من التوجهات الحديثة في عالم التقنية التي تشترك في فكرة االعتماد على شبكة
اإلنترنت لتلبية االحتياجات الحوسبية للمستخدمين.
* سهولة الوصول إلي التطبيقات المتاحة من خالل تلك التقنية من خالل أي
حاسب متصل بشبكة االنترنت .
* تعد مشكلة حماية حقوق الملكية الفكرية أحد المشاكل التي تثير
مخاوف مستخدمي تلك الخدمات ،فال يوجد ضمانات بعدم انتهاك حقوق
الملكية الفكرية للمستخدمين
لم تعد هناك شركة بفروعها اال ومتص‰لة ب‰‰األنترنت لتص‰‰بح ش‰بكة االن‰‰ترنت هي
الوسيط ال‰‰ذي يربطه‰‰ا جميع‰‰ا م‰‰ع نفس‰‰ها وم‰‰ع االخ‰‰رين ،ومن هن‰‰ا ج‰‰اءت فك‰‰رة
اس‰‰تغالل ه‰‰ذا الوس‰‰يط لتوف‰‰ير خ‰‰دمات مختلف‰‰ة للش‰‰ركات بفروعه‰‰ا المختلف‰‰ة
والموزعة على مستوى العالم وبالتالي مساعدة الشركات على توفير مب‰‰الغ مالي‰‰ه
ض‰‰خمه ك‰‰ان س‰‰يتم ص‰‰رفها لتوف‰‰ير تل‰‰ك الخ‰‰دمات داخلي‰‰ا بالش‰‰ركه فمثال ك‰‰انت
الشركة ستصرف هذه المب‰‰الغ على ش‰‰راء مع‰‰دات وبرمجي‰‰ات وتوف‰‰ير ط‰‰اقم من
المهندسين والمحترفين لص‰يانتها و ادارته‰ا ب‰ل و ح‰تى دف‰ع فوات‰ير التش‰غيل من
كهرباء و الخ . مما كان يزيد التكلفة اإلجمالية المتالك تقنيه ما total cost of
. *ownership TCO
اذن الحوس‰‰بة الس‰‰حابية هي توف‰‰ير خ‰‰دمات مختلف‰‰ة و متع‰‰ددة للش‰‰ركات ع‰‰بر
االنترنت و يكون الدفع حسب الطلب وحسب الخدمة المقدمة من م‰‰وفر الخ‰‰دمات
هذه و الذي نسميه موفر الخدم‰‰ة الس‰‰حابية Cloud Service Providerمم‰‰ا
يعج‰‰‰ل في **ROI return on investmentsويس‰‰‰اهم بش‰‰‰كل كب‰‰‰ير
كح‰‰ل من حل‰‰ول معالج‰‰ة االزم‰‰ه االقتص‰‰ادية العالمي‰‰ة .تت‰‰وفر ال cloudفي 3
اشكال هي .Private,Public,Hybrid