لغة الأعمال المتقدمة OpenEdge
لغة OpenEdge Advanced Business Language (أو OpenEdge ABL اختصارًا) هي لغة برمجة لتطوير تطبيقات الأعمال، طورتها وتديرها شركة Progress Software Corporation . تُصنف عادةً كلغة برمجة من الجيل الرابع ، وتستخدم بنية نحوية شبيهة باللغة الإنجليزية لتبسيط عملية تطوير البرمجيات. [ 1 ] كانت تُسمى PROGRESS أو Progress 4GL حتى الإصدار 9، ولكن في عام 2006، غيرت شركة PSC اسمها إلى OpenEdge Advanced Business Language (OpenEdge ABL) لتصحيح الاعتقاد السائد في مجال البرمجة بأن لغات الجيل الرابع أقل كفاءة من غيرها. [ 2 ]
تُساعد منصة OpenEdge ABL المطورين على تطوير تطبيقات باستخدام قاعدة بياناتها العلائقية المتكاملة وأدوات البرمجة الخاصة بها . تتميز هذه التطبيقات بسهولة نقلها بين أنظمة الحوسبة المختلفة، وتتيح الوصول إلى مصادر بيانات شائعة ومتنوعة دون الحاجة إلى معرفة طرق الوصول إلى البيانات الأساسية . وهذا يعني أن المستخدم النهائي لهذه المنتجات قد لا يكون على دراية بالبنية الأساسية.
من خلال الجمع بين لغة من الجيل الرابع وقاعدة بيانات علائقية، يسمح OpenEdge ABL باستخدام نموذج التطوير السريع للتطبيقات (RAD) لتطوير البرامج.
تاريخ
صُممت لغة البرمجة Progress 4GL الأصلية عام 1981 كلغة مستقلة عن بنية النظام ونظام قواعد بيانات متكامل ، بحيث يمكن لغير المتخصصين استخدامها لتطوير تطبيقات الأعمال، حتى وإن لم يكونوا متخصصين في علوم الحاسوب، ولكن لديهم معرفة في مجال أعمالهم. في ذلك الوقت، كانت تطبيقات الأعمال تُكتب غالبًا بلغة كوبول (لأجهزة مثل الحواسيب المركزية لشركة IBM ) وأحيانًا بلغة سي (للحواسيب الصغيرة التابعة للأقسام والتي تعمل بنظام التشغيل يونكس). مع انتشار حواسيب IBM الشخصية، برزت الحاجة إلى برامج أعمال يمكن استخدامها على هذه الحواسيب وغيرها من الحواسيب منخفضة التكلفة. صُمم نظام Progress ليُستخدم على كلٍ من حواسيب IBM الشخصية التي تعمل بنظام دوس، وعلى مجموعة متنوعة من الحواسيب التي يمكنها تشغيل أنظمة يونكس وأنظمة تشغيل الحواسيب الصغيرة مثل أوبن في إم إس .
بناء الجملة والدلالات
بروجرس إيه بي إل هي لغة برمجة ذات كتابة قوية، وربط متأخر، تشبه اللغة الإنجليزية . على الرغم من أنها صُممت في البداية كلغة إجرائية، فقد تم تحسينها بدءًا من الإصدار 10.1 بعناصر قواعد نحوية كائنية التوجه ، والتي يمكن دمجها مع الأسلوب الإجرائي الأصلي. قد تحتوي كتلة من التعليمات البرمجية على نطاق معاملة، وفي هذه الحالة سيتم تثبيت تغييرات قاعدة البيانات عند اكتمالها. سيؤدي حدوث خطأ داخل هذه الكتلة إلى التراجع عن هذه التغييرات. يمكن للمبرمج تجاوز هذه الإعدادات الافتراضية.
تعمل البرامج البسيطة بدون واجهة مستخدم رسومية، ولكن هناك صيغة لإنشاء واحدة برمجياً، أو يمكن للمبرمجين استخدام الأدوات المتوفرة لبناء واحدة.
أمثلة
مرحبا بالعالم
يقوم كود ABL التالي بإنشاء نافذة تحتوي على النص "Hello, World!" وزر يحمل اسم "OK".
DEFINE VARIABLE w AS HANDLE NO-UNDO .إنشاء نافذة w تعيين العرض = 50 الارتفاع = 5 منطقة الرسائل = خطأ منطقة الحالة = خطأ .النافذة الحالية = w .تعريف زر btnOK، تسمية "موافق"، حجم 12 × 1.2 . نموذج "مرحباً بالعالم!" ، عرض كنص في العمود 20، الصف 2، زر btnOK في العمود 20، الصف 4، مع إطار f، حجم 50 × 5 ، بدون صندوق، ثلاثي الأبعاد .اعرض الإطار f . فعّل زر btnOK باستخدام الإطار f . انتظر حتى يتم اختيار زر btnOK . احذف الكائن w .يمكن استخدام صندوق الرسائل لتحقيق نفس التأثير:
رسالة "مرحباً بالعالم!" عرض كصندوق تنبيه معلومات أزرار موافق .يتحكم هذا INFOالمعامل في أيقونات الرسائل، ويمكن استبداله بـ ERRORأو WARNINGللحصول على مظهر مختلف.
أبسط برنامج "مرحباً بالعالم" هو:
اعرض "مرحباً" .SELECTمكافئ SQL
عبارة SQL :
حدد * من جدول العملاء ؛(إلى جانب اتصال اللغة وإجراءات العرض التي اخترتها) يمكن التعبير عنها في Progress / ABL على النحو التالي:
لكل عميل بدون قفل : عرض بيانات العميل . نهاية .UPDATEمكافئ SQL
عبارة SQL:
تحديث جدول العملاء ، تعيين اسم البائع = 'فريد' حيث رقم العميل = 14 ؛(مرة أخرى، إلى جانب اتصال اللغة وإجراءات العرض التي اخترتها) يمكن التعبير عنها في Progress / ABL على النحو التالي:
لكل عميل حيث رقم العميل = 14 ، قم بقفل حصري : قم بتعيين مندوب المبيعات = 'فريد' . انتهى ... (تم وضع بعض الافتراضات حول الفهرسة والقفل ونطاق المعاملات من أجل تبسيط هذا المثال.)
يعتمد الوصول إلى البيانات في لغة ABL على السجلات، على عكس المعالجة القائمة على مجموعات النتائج الموجودة في لغات SQL التقليدية. فبينما تعمل عمليات SQL عادةً على مجموعات من السجلات، تعالج ABL سجلاً واحداً في كل مرة، على غرار استخدام المؤشر في SQL.
توفر المعالجة القائمة على السجلات نموذج قفل دقيق، مما يسمح للمطور بتطبيق مستويات قفل مختلفة (مثل القفل الحصري، أو قفل المشاركة، أو عدم القفل) عند الوصول إلى السجلات.
يُتيح هذا الأسلوب استخدامًا مُتوقعًا للذاكرة، لا سيما في البيئات التي تستخدم اتصالات الذاكرة المشتركة، حيث يوجد التطبيق وقاعدة البيانات على نفس المضيف. مع ذلك، في عمليات النشر الشبكية (العميل-الخادم)، يتطلب جلب كل سجل أو مجموعة سجلات عادةً رحلة ذهاب وإياب عبر الشبكة. على سبيل المثال، مع حجم جلب مُسبق افتراضي يبلغ 50 سجلًا وزمن استجابة للشبكة يبلغ 50 مللي ثانية، قد يؤدي استرجاع مليون سجل إلى زمن استجابة يصل إلى 1000 ثانية. يُوضح هذا عيبًا مُحتملًا للوصول إلى السجلات سجلًا تلو الآخر في البيئات ذات زمن الاستجابة العالي.
مجالات التطبيق
تُستخدم هذه اللغة في مجموعة واسعة من مجالات التطبيق، ومن الأمثلة على ذلك:
- تقديم قروض الرهن العقاري وقروض السيارات في البنوك الأمريكية
- أنظمة حجز السيارات المستأجرة
- نظام تخطيط موارد المؤسسات للتصنيع
- نظام تخطيط موارد المؤسسات (ERP) للتوزيع بالجملة
- أنظمة المستودعات
- أنظمة النقل
- إرسال قوة خدمة تجارية
- أنظمة بطاقات الأمان
- أنظمة الألعاب (على غرار لاس فيغاس، وليس ألعاب الفيديو)
يمكن استخدام OpenEdge من أجل: [ 3 ]
- واجهة المستخدم الرسومية لنظام التشغيل مايكروسوفت ويندوز
- برمجة الويب (يونكس وويندوز)
- CHUI (واجهة المستخدم النصية) (يونكس وويندوز)
- برمجة خوادم التطبيقات باستخدام JSON و XML (Unix و Windows)
- بالإضافة إلى برمجة العمليات الخلفية (Unix وWindows).
ملحوظات
- ↑ كامبل، جون، تقدم المبرمج، دليل إلى لغة التقدم. وايت ستار سوفتوير، 1991
- ↑ سلفادور فينالس، تقديم لغة الأعمال المتقدمة (ABL) من أوبن إيدج، ورقة بيضاء من PSC، 2007
- ↑ "حالات استخدام Progress OpenEdge 2024" . www.trustradius.com . 2024-01-26 . تاريخ الاسترجاع: 2024-06-26 .
مراجع
روابط خارجية
- لغات البرمجة الكائنية التوجه
- لغات البرمجة من الجيل الرابع
- لغات البرمجة التي تركز على البيانات
- برامج متعلقة بقواعد البيانات لنظام لينكس
