-
دخول

عرض كامل الموضوع : مقدمة عن Corba


keko
20/05/2004, 11:53
CORBA برنامج وسيط بيسمو middleware من ميزاته فصل البرامج عن منصات العمل المختلفة المتطلبات
وهي اختصار لـ Common Object Request Broker Architecture
يتألف بناءها من Client و server
يقدم السيرفر ما يسمى بـ Remote Interface
و بيستدعي الـ Client الـ Remote Interface

البناء من طرف الـ Client :
يحوي البرنامج على مرجع لغرض بعيد و هذا المرجع يملك طريقة تسمى Stub هي ممثل (وكيل) عن طريقة يتم استدعاءها عن بعد ....... الـStub في الحقيقة مخبئ ضمن ما يسمى الـORB و التي تقوم بارسال الاستدعاء الى السيرفر

البناء من طرف الـ Server :
هنا يستخدم الـORB ما يسمى الـSkelton بدلا من الـ Stub وهو يترجم الاستدعاء البعيد إلى اسندعاء لطريقة محلية على غرض محلي ...... يقوم الـ Skeleton بترجمة الاستدعاء وأي وسائط ممررة ويستدعي الاجرائية المطلوبة ....... عندما تعيد الاجرائية الطلوبة النتيجة يقوم الـ Skeleton بتحويل هذه النتائج أو الاخطاء المعادة ويرسلهم الى الـClient عن طريق ORB

الوسيط الواصل بين الطرفين :
يوجد كام لاحظنا الـ ORB على الطرفين و يتم التخاطب بينهما عن طرق بروتوكول مشترك معروف بـ IIOP مبني أساسا على TCP/IP يعرف كيف يتم ارسال و استقبال المعلومات بين الـ ORBs على الطرفين وهو معرف قياسيا من قبل OMG




معاني للرموز : (هاي للي ما متعود على مفاهيم هندسة البرمجيات ضرورية)

Remote : بعيد (موجود على جهاز آخر على الشبكة في أي مكان في العالم)
Interface : واجهة في لغات البرمجة ليست واجهة مرئية لا برمجية..
المرجع : هو مؤشر على غرض Reference
الغرض : Object
ORB : يمكنك ملاحظته في الرسم المرفق
طريقة أو اجرائية : Method
محلي : Local
وسائط : Parameters
IIOP : Internet Inter ORB Protocol
OMG : Object Management Group
IDL : Interface Definition Language

keko
20/05/2004, 12:11
نسيت ابعت الصورة
هاي هييي

Hus
20/05/2004, 13:22
والله تري الصورة ما وضحت شي .. عادي كلاينت وسيرفر ومتصلين ببعض متل اي اتصلا كلاينت سيرفر
الكلام الي فوق فهمتو مبدأيا بس عمليا شو بيعني .. شو بينفع بعد ما عم اقدر اتخيل الموضوع ببعد جديد
يعني كلاين وسيرفر .. متل اي كلاين وسيرفر وفي ميديا بالنص كمان ضروري و في كوربا يعني انو بتفصل البرنامج عن منصة العمل
طب احنا بدنا شغلي تربط البرنامج بمنصة العمل مو تفصل !!
مو هيك !!
تحياتي :D

Anmar
20/05/2004, 13:54
اقصد بالفصل عن منصة العمل وهاي ميزة ايجابية مهندسي البرمجيات بيدورو عليها دوارة مشان اعادة الاستخدام
القصد انو الكود اللي بتكتبوا انت بكوربا مالو علاقة بلغة البرمجة المستخدمة أو بنظام التشغيل
متل مارح تشوف بالقسم التاني الكود بينكتب بلغة قياسية IDL وكل لغة برمجة قادرة على ترجمة الملف الى لغتها

كمان الميديا ما المقصود فيه متل الشبكات وصل فيزيائي ...في وصل فيزيائي بس مو القصد هيك
القصد هوي البروتوكول اللي هوي IIOP اللي بيتعامل بدورو مع الـORB ليوصل الطلب للسيرفر
يعني انت بلغة البرمجة لما بيكون عندك أوبجيكت متل زر مثلا فيك تستخدم اجرائية موجودي فيه لانو موجود عندك LOCAL
أما هون انت عم تستدعي اجرائية من كائن ما موجود على جهازك يعني REMOTE
وهادا الحكي مسؤول عنو الـORB

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

مع تحيات keko & Anmar

Hus
20/05/2004, 14:10
دارتلي تقريبا ..
بس منشان اللغة اكتوب انكليزي احسن !! واسهل للفهم بهيك مواضيع

keko
21/05/2004, 12:21
Now that you've seen the relationships between client and server in CORBA, you're ready to step through the process of designing and developing a distributed object application with Java IDL, this include:
 Define the Remote Interface
 Compile the remote interface
 Implement the server
 Implement the client
 Start the applications

طبعا المقصود بـ Interface :
هي نوع من الانواع المستخدمة في البرمجة الغرضية التوجه في جافا , تشبه الـ Class لكن لا يتم فيها برمجة الاجرائيات ... لماذا...؟ لانه عادة نحن لا نعرف ماذا ستفعل هذه الاجرائيات فهي عامة و يتم تخصيصها عن طريق الوراثة عندها يكون المبرمج مجبرا على كتابة التحقيقات البرمجية للاجرائيات فيها (عنده يكون المبرمج قد حدد هدف الاجرائية لذلك يمكنه برمجتها)
على كلن هذا ليس موضوعنا الان ممكن ان نناقش هذه المفاهيم في موضوع يناقش البرمجة في جافا .. لكن للايضاح فقط (بس ما نكون ضيعناكن بزيادة)

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

keko
21/05/2004, 12:43
You define the interface for the remote object using the OMG's interface definition language (IDL).

You use IDL instead of the Java language because the idltojava compiler automatically maps from IDL, generating all Java language stub and skeleton source files, along with the infrastructure code for connecting to the ORB.

Also, by using IDL, you make it possible for developers to implement clients and servers in any other CORBA-compliant language.

المقصود بالـ Stub
هو الوكيل أي حتى يقوم الـClient باستدعاء اجرائية من الغرض البعيد لا بد أن يصل لهذا الغرض وبدلا من أ، يتم ارسال نسخة من السيرفر الى الـ Client يقوم الوكيل بهذه المهمة وبالتالي يبقى تنفيذ الاجرائية على السيرفر وليس على الـ Client وهذا هو الهدف من البرمجة الموزعة .... يتوضع الـ Stub في الـ ORB عند الـ Client


IDL provides a range of simple types, broadly comparable to those in Java: for example, string, char, long, float, double etc.
A more unusual one is any, which includes any simple type (mapped to Object in Java). In addition, you can build compound types: arrays, sequences and structures (or structs).
A structure is a record, essentially, in Pascal terms: in Java terms it is a class with no methods.

dot
04/01/2008, 03:21
UppppppO

silence lover
01/10/2008, 05:30
corba like RMI where you can invoke any remote methode from another machine the difference between RMI "JAVA " and Corba that corba architecture run with any programming language not like RMI


Thanks

YaSeR
09/10/2008, 19:15
corba like RMI where you can invoke any remote methode from another machine the difference between RMI "JAVA " and Corba that corba architecture run with any programming language not like RMI


Thanks


صحيح ,,

هاد الفرق الاساسي بين ال RMI وال CORBA

في فرقين بسيطين كمان هنن

CORBA doesn't allow executable code to be sent
to the remote system; RMI does.

CORBA allows remote method invocations as well
as the exchange of primitive data types and
structures. RMI allows full objects to be
passed and returned.

وشكرا علإضافة