المصطلح COM هو اختصار للعبارة Component Object Model، والتقنية COM عبارة عن بيئة عمل توفرها مايكروسوفت تستخدم في إدارة الكائنات Component objects، والسماح بالاتصال بها عن طريق استدعاء طرق Methods المكوّنات الأخرى في بيئة عمل الكائنات Objects الخاصة بها. وكل مكوّن في بيئة العمل هذه هو عبارة عن برنامج يتمتع بالاحتواء الذاتي. ولا يمكن للبرامج التقليدية الاتصال بالبرامج خارج بيئة عملها أثناء تشغيلها، بدون استخدام خدمات أخرى مثل DDE و TCP/IP، الخ. وتأخذ الخدمات التي تقوم على أساس بيئة العمل COM الاسم ActiveX. وقد تكون هذه المكوّنات Components مرئية Visual (أي مدرجة داخل مستندات أخرى باستخدام مفهوم الوصل والإدراج للكائنات Object Linking and Embedding)، أو قد تكون مجموعة من الخدمات (التي يتم معالجتها وتنفيذها باستخدام مكتبة الربط الديناميكية Dynamic Link Library (DLL).
في الواقع أن تقنية ASP تستمد الجانب الوظيفي Functionality لها من خلال استخدام المكوّنات Components التي يتم إنشائها بواسطة أحد لغات البرمجة والتطوير.
يمكنك إنشاء مكوّنات ActiveX server components يمكن استخدامها في مجموعة متنوعة من تقنيات الإنترنت Internet والإنترانيت Intranet. ولكل مكوّن component من هذه المكوّنات يعمل على خادم الويب Web Server الذي يدعم تقنية ASP، طرقه Event methods وواجهات Interfaces خاصة به.
يمكن كتابة المكوّنات Components الخاصة بك بأي لغة برمجة يمكنها إنشاء مكوّنات الخادم التلقائية Automation Server Components.
وثمة عدة عوامل واعتبارات يتوقف عليها اختيار هذه اللغة:
· مدى معرفة واحتراف هذه اللغة
· دعم الأدوات Tolls support
· أداء العمل Run-time performance
· نماذج التتبع Threading Models
· تعقد الشفرة Code Complexity
· حجم الشفرة المعالجة والمنفذة Compiled code
ومن بين اللغات التي يمكنها إنشاء هذه المكوّنات لغة Visual C++ ولغة Visual Basic ولغة Java.
تقوم التقنية DCOM بتطوير وتوسيع بيئة العمل COM حتى يمكن للمكوّنات Components الاتصال ببعضها البعض عبر أجهزة الحاسوب المختلفة. وتقوم هذه التقنية بتحقيق هذا الأمر عن طريق تنفيذ تقنية "استدعاء الإجراء عن بعد" RemoteProcedure Call(RPC) إلى الخادم Server، والتي تقوم بتنفيذ الطريقة method وإرجاع النتائج إلى المستخدم (Client/User). ويوفر لك إنشاء مكوّنــات DCOM components الارتقاء والتقدم في الجانب الوظيفي لتقنيةASP. فبينما يتم معالجة وتنفيذ المكوّنات Components، تميل هذه المكوّنات إلى العمل بشكل أسرع بكثير من استدعاء إجراءات السكريبتات من خلال المترجم ASP interpreter.
ولعل من الأمثلة الجيدة على تلك التقنية هي قيام برنامج Microsoft Outlook مثلاً باستخدام برنامج Microsoft Word كمحرر نصوص لرسائل البريد الإلكتروني Email editor.
تسجيل المكوّنات Registering Components
عندما تقوم بتطوير كائن COM component، يتم تسجيل هذا المكوّن Component تلقائياً في جهاز الحاسوب عندما يتم معالجته وتنفيذه. وإذا كنت تقوم بتطوير المكوّن من أجل جهاز حاسوب آخر، فإن عليك إذاً نسخ المكتبة DLL التي تم تنفيذها ومعالجتها إلى الخادم وتسجيلها عن طريق استخدام regsvr32. انظر مثال تصميم مكوّن باستخدام لغة فيجوال بيزك في فصل "الأمثلة".
بناء كائن COM Object باستخدام Visual Basic
يتم تنفيذ مشروع DLL Project في برنامج Visual Basic على أنه وحدة Class Module.
توفر تقنية لغة ASP ست كائنات جاهزة built-in objects، ولكل كائن من هذه الكائنات الخصائص properties ومستودعات البيانات Collections والطرق methods والأحداث events الخاصة به.
علاوة على تلك الكائنات الجاهزة Built-in Objects التي توفرها تقنية ASP، ثمة أيضاً بعض، أو الكثير، من الكائنات الأخرى الممكن تركيبها واستدعائها وعمل نسخة منها في ملفات ASP بخلاف تلك الكائنات الافتراضية، ولعل من أشهر هذه الكائنات تلك المكوّنات التي يقدمها المكوّن ADO Component الذي يوفر عدة كائنات فعالة وقوية تحقق إمكانية التفاعل مع قواعد البيانات، إضافة إلى كائنات استخدام البريد الإلكتروني Email.
وعلاوة على ذلك أيضاً، ثمة كذلك إمكانية إنشاء كائنات Components خاصة بك من خلال بعض لغات البرمجة مثل Visual Basic ولغة Visual C++ ولغة Java كما استعرضت نبذة عن ذلك في الصفحات السابقة!
الآن إلى الكائنات الجاهزة التي توفرها تقنية ASP
الكائنات الجاهزة التي توفرها تقنية ASP
ASP Built-in Objects
توفر تقنية ASP عدداً من الكائنات الجاهزة Built-in Objects
الكائن Request
يستخدم الكائن Request في الحصول على المعلومات والبيانات من المستخدم.
الكائن Response
يستخدم الكائن Response في إرسال المعلومات والبيانات إلى المستخدم.
الكائن Server
يستخدم الكائن Server في التحكم في خادم (خدمات) معلومات الإنترنت Internet Information Server (Services).
الكائن Session
يستخدم الكائن Session في تخزين وتغيير المعلومات والإعدادات الخاصة بجلسة التصفح Session الحالية (أي المدة ما بين دخول المستخدم إلى موقع الويب وخروجه منه) الخاصة بالمستخدم، أي التحكم في مجموعة الملفات والتطبيقات التي يستخدمها مستخدم معين في وقت معين.
الكائن Application
يستخدم الكائن Application في إتاحة إمكانية اشتراك جميع مستخدمي تطبيق Application (جميع الملفات ASP التي توجد في مجلد/دليل directory ما وجميع المجلدات الفرعية sub-directories التي توجد فيه) معين في المعلومات الخاصة بهذا التطبيق Application.
وفي الواقع أن هذه الكائنات Objects ليست سوى متغيرات Variables لها طرق Methods (أي أوامر Commands) وخصائص Properties (أي قيم Values أو قيم فرعية Sub-variables)