Active Server Pages (ASP)
تقنية ASP (صفحات الخادم النشطة Active Server Pages) هي بيئة عمل تطبيقية مفتوحة يمكن فيها تلاحم أوامر لغة HTML والسكريبتات Scripts ومكوّنات ActiveX components من أجل إنشاء صفحات قوية ونشطة وديناميكية.
يمكن وصف(ASP) بأنه Microsoft's OLE / ActiveX Scripting Environment أي بيئة عمل من إنشاء مايكروسوفت تستخدم تقنيات OLE/ActiveX في تشغيل السكريبتات Scripts والبرامج من داخل ملفات HTML على الخادم Server، ويتم استبدال شفرة هذا البرنامج بشفرة HTML التي هي نتيجة معالجة وتنفيذ هذا الخادم، ومن ثم يتم إرسالها إلى متصفح المستخدم على تلك الهيئة (HTML).
وفي الواقع أن لغة ASP ليست لغة سكريبت Scripting Language وإنما هي بيئة عمل توفر لك إمكانية اختيار لغة Scripting Language ما واستخدامها في تجميع وتنسيق عدة كائنات، وتدعم تقنية ASP في الوقت الراهن لغتين سكريبت اثنتين Scripting languages فقط؛ الأولى VBScript وهي الافتراضية، والثانية هي JavaScript.
يمكن وصف تقنية ASP بوصف دقيق مختصر على أنها بيئة برمجة موجهة بالكائنات Object-oriented Environment. حيث أنها ليست سوى عملية تجميع وتنسيق لعدة كائنات مختلفة مع التغيير في خصائصها والأوامر الخاصة بها وربطها بلغة سكريبت. إنها هي طبق الحلوى الشهي (ملف Asp) الذي يتكون من عدة أصناف (كائنات Objects) لها مقادير ونكهات (خصائص Properties وطرق Methods) مختلفة كانت طريقة الطهي له هي لغة السكريبت!! ASPهو عبارة عن برنامج يعمل داخل تقنية IIS.
مقدمة:
طرحت مايكروسوفت تقنية ASP في ديسمبر 1996، وأتاحتها مع الخادم Internet Information Server (IIS) بدءاً من الإصدار 3.0 الملحق بمعظم تطبيقات Windows.
تقنية ASP هي تقنية مفتوحة تتكون من عدة أنظمة برمجة مختلفة شائعة الاستخدام. وهي تتيح، من ضمن ما تتيحه، تلاحم البرامج وقواعد البيانات معاً في صفحات الويب. وتعمل هذه التقنية على الخادم وليس على المتصفح، فالخادم يقوم بمعالجة الملف Asp ثم يرسله إلى المتصفح على شكل أوامر HTML عادية. فمن ثم إذاً لا يهم نوع المتصفح الذي يستخدمه المستخدم، نظراً إلى أن معالجة صفحات وملفات الويب التي تقوم بإنشائها تتم في الأصل على الخادم.
في مايو من عام 2000، قدرت مايكروسوفت عدد مطوري ومبرمجي ASP في العالم بما يزيد عن 800.000 ألف مطور ومبرمج، وقدرت عدد الشركات التي تقوم بإنتاج مكوّنات وتطبيقات ASP بأكثر من 500 شركة.
إصدارات ASP
كانت بداية ASP مع طرح Denali (اسم شفرة codename تقنية ASP) كمنتج بالإصدار 0.9 من النوع Beta، أي منتج غير مستقل بذاته ويعتمد على برمجيات أخرى في تشغيله،وتحققت له القوة مع تقديم سلسلة المكوّنات components التي تحمل معها إمكانيات أداء وتنفيذ الكثير من الوظائف المتقدمة، من أبرزها تقنية ActiveX Data Objects (ADO).
ثم كان طرح إصدار ASP 1.0، المتوافر مع IIS 3.0، الذي سار قيد الاستخدام في تطبيقات Windows. ومع التحام ASP مع ADO تمكن حينئذ مطورو الويب من إنشاء وفتح السجلات (الجداول الوهمية) recordsets لقواعد البياناتdatabases، وهو الأمر الذي حقق قوة منيعة لتقنية ASP.
في 1998 قدمت مايكروسوفت ASP 2.0 كجزء من الحزمة Windows NT4 Option Pack المجانية. وكان الفرق بين الإصدار ASP 1.0 والإصدار ASP 2.0 في الطريقة التي يمكن بها تثبيت المكونات الخارجية External Components. ومع الإصدار ASP 2.0 والتقنية IIS 4.0، صار من الممكن إنشاء تطبيق ASP application يتم فيه داخله تشغيل المكوّنات في المساحة الحرة في ذاكرته، أي بعيداً عن عملية المعالجة. كما أنه كان من شأن تقديم Microsoft Transaction Server (MTS) تسهيل عملية بناء المكوّنات Components التي يمكنها تقاسم صفقات وعمليات التنفيذ والمعالجة.
ومع عام 2000 ومع طرح Windows 2000 كانت النسخة IIS 5.0 والنسخة ASP 3.0 التي شملت بعض الإضافات إضافة إلى الإضافة الجوهرية وهي العمل مع COM+. وفي الإصدار Windows 2000، يلتحم MTS مع COM لإنشاء COM+. الأمر الذي يتيح عائل وراع لوظائف وسمات جديدة تجعل استخدام المكوّنات Components أمراً أسهل إضافة إلى توفير قدر أكبر من الثبات والتوازن والفعالية لقاعدة التنفيذ والمعالجة. وكذلك كان من شأن الإصدار IIS 5.0 استخدام خدمات المكوّن COM+ من أجل توفير بيئة أفضل لتنفيذ ومعالجة المكوّنات components داخلها.
وأخيراً كان الإصدار ASP+، وتختلف البنية التحتية لهذا الإصدار عن الإصدارات السابقة، ذلك أن الإصدار ASP+ يعتمد بشكل كامل على المكوّنات Components، ومن الممكن أن تكون أي صفحة أو كائن أو عنصر HTML كائن مكوّن component object يمكن استخدامه والعمل عليه؛ وهو الأمر الذي أتاح حلاً متوازناً ذلك أن إدارة هذه الكائنات objects أمر أساسي وضروري وحيوي للغاية. فمع الإصدار ASP+ صارت تقنية ASP تقنية برمجية موجهة بالكائنات Object-oriented Programming.
ASP.Net هو الاسم الذي أعطى لاحقاً للإصدار ASP+، أي أن ASP.Net هو الإصدار الأخير من تقنية ASP، وإن كانت البنية التحتية لهذا الإصدار تختلف عن الإصدارات السابقة.
هيكل
ملف ASP
البنية الأساسية Syntax لملفات ASP
ملف ASP من الممكن أن يكون:
شفرة HTML عادية:
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
يتم فيها إدراج شفرات وسكريبتات لغة ASP، والتي تكون بين العلامتين:
|
<% |
هنا اكتب شفرة ASP التي تريدها |
%> |
كما يمكنك كذلك إدراج شفرات وأوامر لغة HTML داخل شفرات وأوامر لغة ASP والتي غالبا ما تكون بغرض أعمال التنسيق، ثم قم بحفظ هذا المـلف بالامتداد (.asp) ومن الممكن أن تحتوي هذه الشفرة على أي تعبيرات expressions أو تقارير statements أو إجراءات procedures أو دوال function أو معاملات operators صحيحة بالنسبة للغة السكريبت Scripting Language التي تستخدمها، ولغة السكريبت الافتراضية في لغة ASP هي لغة VBScript، ويمكنك استخدام أي لغة Scripting Language أخرى من اللغات المعروفة، مثل Python وPERL، عليك حينئذ أن تقوم بتركيب محثات script engines الخاصة بها.
أما بالنسبة للغة JavaScript فيمكنك أيضاً تعيينها على أنها هي لغة السكريبت Scripting Language الافتراضية لصفحة ما أو جميع صفحات موقعك بأن تضع الأمر التالي في بداية الصفحة:
<%@ language = “javascript”%>
ولكن تذكر حساسية لغة JavaScript بالنسبة لكتابة الأحرف؛ فإنك إن كتبت حرفا ما، وليكن حرف A بالشكل a في الموضع الذي تتطلب هذه اللغة كتابته بالشكل الأول، فقد يحدث خطأ، فيلزم عليك مراعاة ذلك الأمر (شكل الأحرف الصغيرةlower case وشكل الأحرف الكبيرة UPPERCASE) وفقا لمتطلبات هذه اللغة.
وأخيرا عندما تقوم بكتابة عنوان هذه الصفحة في المتصفح Browser، يبحث الخادم عن هذه الصفحة ثم يقوم بمعالجة وتنفيذ جميع شفرات وأوامر لغة ASP التي توجد بين العلامتين <% %>، ثم يقوم بإرسال نتيجة المعالجة والتنفيذ إلى المتصفح الذي يقوم بدوره بعرضها.
كيفية طباعة وإظهار النص في ملف ASP
قلنا أن تقنية ASP ما هي إلا بيئة عمل وتقنية تجميع وتنسيق بعض الكائنات Objects باستخدام لغة سكريبت.
كل ما عليك هاهنا هو استدعاء الكائن Response والطريقة Write الخاصة به، ثم كتابة النص الذي تريد طباعته بين علامتي تنصيص (" ")؛ مثال:
<%
Response.Write(“بسم الله الرحمن الرحيم”)
%>
أو ببساطة أن تقوم بعمل تعديل بسيط في شكل وسم بداية شفرة ASP، وهو إضافة علامة (=) بعدها؛ مثال:
<%= “بسم الله الرحمن الرحيم” %>
أما إذا أردت طباعة المحتوى النصي لمتغير variable ما فليس عليك سوى كتابة اسم هذا المتغير بدون علامتي التنصيص هاتين؛ مثال:
أي أن تكتب:
<% Response.Write variable %>
أو
<%= variable %>
ولا تنس بالطبع استبدال كلمة variable هذه باسم المتغير الذي تريد طباعة محتواه.