فورتي 4GL
كان Forté 4GL خادم تطبيقات خاصًا تم تطويره بواسطة Forté Software ويستخدم لتطوير تطبيقات مؤسسية قابلة للتوسع وعالية التوفر.
تاريخ
تم تصميم Forté 4GL كحل متكامل لتطوير وإدارة تطبيقات العميل/الخادم. يتكون Forté 4GL من خادم تطبيقات، وأدوات لنشر التطبيقات ومراقبتها، ولغة برمجة خاصة موجهة للكائنات تُسمى TOOL (لغة البرمجة الموجهة للكائنات للمعاملات) . ونظرًا لأن TOOL تعمل فقط على خادم تطبيقات Forté، يُشير العديد من المستخدمين ببساطة إلى تطبيقاتهم التي تحمل اسم "TOOL" باسم تطبيقات "Forté". نُشر الإصدار الأول من Forté 4GL في أغسطس 1994. بعد إصدار هذا المنتج الأولي، شرعت شركة Forté Inc. في تطوير العديد من الإضافات، بما في ذلك:
- Web Enterprise – واجهة تغليف HTML لتطبيقات العميل الغنية لنشر شاشاتها من خلال خوادم الويب.
- Forté Express – مجموعة أدوات واجهة المستخدم الرسومية لقاعدة البيانات السريعة، تم إصدارها في يوليو 1995.
- Conductor – محرك سير عمل قادر على تصميم الأنشطة، تم إصداره في مارس 1997.
- Forté Fusion – هيكل أساسي للتكامل لربط الأنظمة الخارجية باستخدام رسائل XML والربط بمحرك Conductor.
في عام ١٩٩٩، أصدرت شركة Forté Software نسخةً من برنامج Forté مبنية على لغة Java بدلاً من TOOL، وأطلقت عليها اسم synerJ ، كما عُرفت أيضاً باسم "Forté for Java". وكما هو الحال مع المنتجات الأصلية المبنية على TOOL، تضمنت هذه النسخة بيئة تطوير متكاملة (IDE)، ومستودعاً للبرمجيات، وبيئة تشغيل. وقد لاقى هذا المنتج الجديد المبني على Java اهتمام شركة Sun Microsystems التي استحوذت على الشركة. جُمعت الإضافات المبنية على TOOL المذكورة أعلاه وأُعيد تسميتها لتصبح Unified Development Server (UDS) وIntegration Server (IS) ضمن قسم IPlanet . وفي وقت لاحق، جُمعت وحدات الخادم تحت اسم Enterprise Application Integration (EAI).
أعلنت شركة صن عن انتهاء عمر المنتج، مشيرةً إلى عدم وجود خطط مستقبلية لمواصلة تطويره. وانتهى الدعم الرسمي الذي قدمته صن لجهاز فورتيه في أبريل 2009. [ 1 ] [ 2 ]
القدرات
باعتبارها نظامًا لتطوير تطبيقات المؤسسات، دعمت Forté 4GL الربط الوثيق مع عدد من أنظمة قواعد البيانات العلائقية المختلفة ، بما في ذلك Oracle و Sybase و Microsoft SQL Server و Informix و DB2 . ويمكن أن تتم هذه الروابط عبر استعلامات SQL مضمنة في كود الأداة، أو عبر استعلامات SQL يتم إنشاؤها أثناء التشغيل.
كما أنها تدعم التطبيقات الموزعة: حيث يقوم المطور بإنشاء نسخة من فئة معينة، يتم وضعها على خادم يحدده المستخدم. وتُرسل استدعاءات الدوال عبر هذه النسخة بشفافية تامة عبر الشبكة؛ فلا يحتاج المطور إلى معرفة تفاصيل كيفية إرسال الاستدعاء.
أداة لغة البرمجة
TOOL هي لغة برمجة كائنية التوجه تتميز بالخصائص التالية (من بين خصائص أخرى):
- خدمة جمع القمامة الآلية
- يعتمد على المراجع، بدون مؤشرات
- الوراثة الفردية والواجهات
- يدعم البرمجة متعددة الخيوط
- بيانات متكاملة للوصول إلى قاعدة البيانات
- إدارة الأحداث
- معالجة الاستثناءات
- تكامل قوي مع واجهة المستخدم الرسومية
- فئة أساسية مشتركة واحدة تسمى
Object
لا يُميّز كود TOOL بين الأحرف الكبيرة والصغيرة. تنتهي كل عبارة دائمًا بفاصلة منقوطة. تُحاط العبارات المركبة بالكلمتين المفتاحيتين `\` beginو`\ end`. تُشار إلى التعليقات بـ `//` أو `--` (ويُصبح باقي السطر تعليقًا)، `/* ... */`.
أنواع البيانات
أنواع البيانات البسيطة هي:
- منطقي
- يطفو
- مزدوج
- شخصية
- خيط
- أنواع البيانات العددية الصحيحة
- i1، ui1 (عدد صحيح من بايت واحد، موقّع / غير موقّع)
- i2، ui2 (عدد صحيح مكون من بايتين، موقّع / غير موقّع)
- i4، ui4 (عدد صحيح من أربعة بايتات موقعة / غير موقعة)
- عدد صحيح (عدد صحيح مكون من أربعة بايتات، وهو نفس i4)
- short (عدد صحيح مُوقّع، على الأقل بايتين، نفس نوع int)
- int (عدد صحيح مُوقّع، على الأقل بايتين)
- long(signed integer, least four bytes)
أنواع بيانات الكائنات المقابلة هي (بعض الأمثلة):
- BooleanData, BooleanNullable
- IntegerData, IntegerNullable
- DoubleData، DoubleNullable
- بيانات نصية، نص قابل للتصفير
يتم تحديد المصفوفات باستخدام الكلمات المفتاحية Array of. ويتم فهرسة العنصر الأول في المصفوفة بالرقم 1.
إعلان المتغير
الاسم: سلسلة نصية = 'جون'؛ النتيجة: عدد صحيح؛ dataArray : Array of IntegerData = new;
العبارات الشرطية (عبارة if، عبارة case)
إذا كانت النتيجة = 5100، ... وإلا إذا كانت النتيجة لا تساوي صفرًا، ... آخر ... نهاية الشرط؛ نتيجة القضية هي عندما أفعل .... عندما يفعل اثنان .... آخر ... نهاية الحالة؛
التكرار، الحلقات
لكل قيمة k من 1 إلى 10، قم بما يلي: ... نهاية الحلقة؛ لكل عنصر بيانات في مصفوفة البيانات، قم بما يلي: ... نهاية الحلقة؛ k : عدد صحيح = 2؛ طالما أن k < 14 ... k = k + 1; نهاية الحلقة؛
الفعاليات
يتم نشر حدث ما، على سبيل المثال، من خلال البيان التالي:
post EV_CustomerSet(id = selectedID);
يقوم هذا البيان بنشر حدث باسم EV_CustomerSet. يحتوي هذا الحدث على وسيط واحد باسم "id".
يتم التعامل مع الأحداث بواسطة معالجات الأحداث، على سبيل المثال:
حلقة الأحداث التسجيل المسبق تسجيل معالج عام(); ... البريد المسجل waitTimer.IsActive = true; ... عندما EV_CustomerSet( id ) do ... عندما يتم تنفيذ waitTimer.Tick() مخرج؛ عندما يتم إيقاف تشغيل المهمة، قم بما يلي: مخرج؛ نهاية الحدث؛
معالجة الاستثناءات
يبدأ ... قم برفع استثناء الاستخدام(); ... استثناء عندما يكون e: UsageException do task.ErrMgr.Clear(); ... آخر ... يرفع؛ نهاية؛
تعدد الخيوط
يتم إطلاق سلسلة جديدة من خلال عبارة مثلstart task report.Print();
انظر أيضاً
مراجع
روابط خارجية
- لغات البرمجة من الجيل الرابع
