خادم معاملات مايكروسوفت

كان خادم معاملات مايكروسوفت ( MTS ) برنامجًا يُقدّم خدمات لمكونات برمجيات نموذج كائنات المكونات (COM) ، لتسهيل إنشاء تطبيقات موزعة واسعة النطاق. وشملت الخدمات الرئيسية التي يُقدّمها MTS إدارة المعاملات المؤتمتة، وإدارة النسخ (أو التنشيط الفوري )، والأمان القائم على الأدوار. ويُعتبر MTS أول برنامج رئيسي يُطبّق البرمجة الموجهة نحو الجوانب . [ 1 ]

تم تقديم MTS لأول مرة في حزمة خيارات Windows NT 4.0. وفي Windows 2000 ، تم تحسين MTS ودمجه بشكل أفضل مع نظام التشغيل و COM ، وأعيد تسميته إلى COM+ . أضاف COM+ ميزات تجميع الكائنات ، والأحداث ذات الارتباط الضعيف ، والمعاملات البسيطة المُعرَّفة من قِبل المستخدم (لتعويض مديري الموارد) إلى ميزات MTS.

لا يزال COM+ متوفرًا مع نظامي التشغيل Windows Server 2003 و Windows Server 2008 ، ويوفر إطار عمل Microsoft .NET غلافًا لـ COM+ في مساحة اسم EnterpriseServices. كما توفر خدمة Windows Communication Foundation (WCF) طريقةً لاستدعاء تطبيقات COM+ باستخدام خدمات الويب . مع ذلك، يعتمد COM+ على COM، بينما تعتمد بنية برمجيات Microsoft الاستراتيجية حاليًا على خدمات الويب و.NET، وليس COM. توجد بدائل قائمة على .NET بالكامل للعديد من الميزات التي يوفرها COM+، ومن المرجح أن يتم التخلص التدريجي من COM+ على المدى البعيد.

بنيان

يتألف تصميم نظام إدارة النقل الأساسي من:

تُسمى مكونات COM التي تعمل تحت سيطرة مدير MTS التنفيذي بمكونات MTS. وفي COM+، يُشار إليها باسم تطبيقات COM+. مكونات MTS عبارة عن مكتبات DLL داخل العملية . يتم نشر مكونات MTS وتشغيلها في مدير MTS التنفيذي الذي يديرها. وكما هو الحال مع مكونات COM الأخرى، يعمل كائن يُنفذ واجهة IClassFactory ككائن مصنع لإنشاء نسخ جديدة من هذه المكونات.

تُدرج MTS كائنَي غلافٍ من نوع Factory Wrapper وObject Wrapper بين كائن MTS الفعلي وعميله. يُطلق على هذا التداخل بين الأغلفة اسم "الاعتراض" . عندما يُجري العميل استدعاءً لمكون MTS، يعترض الغلافان (Factory وObject) الاستدعاء ويُدخلان خوارزمية إدارة مثيلات خاصة بهما تُسمى "التنشيط في الوقت المناسب" (JITA) في الاستدعاء. ثم يُجري الغلاف هذا الاستدعاء على مكون MTS الفعلي. كان الاعتراض يُعتبر صعبًا في ذلك الوقت بسبب نقص البيانات الوصفية القابلة للتوسيع. [ 1 ]

بالإضافة إلى ذلك، واستنادًا إلى المعلومات الواردة من خصائص نشر المكون، يتم أيضًا إجراء منطق المعاملات وفحوصات الأمان في كائنات التغليف هذه.

لكل كائن مُستضاف على منصة MTS، يوجد أيضًا كائن سياق (Context Object) يُنفّذ واجهة IObjectContext. يحتفظ كائن السياق بمعلومات مُحددة حول ذلك الكائن، مثل معلومات المعاملات، ومعلومات الأمان، ومعلومات النشر. تستدعي الدوال في مُكوّن MTS كائن السياق عبر واجهة IObjectContext الخاصة به.

لا يقوم نظام MTS بإنشاء كائن MTS الفعلي للطبقة الوسطى إلا عند وصول طلب العميل إلى الحاوية. ولأن الكائن لا يعمل باستمرار، فإنه لا يستهلك الكثير من موارد النظام (على الرغم من أن غلاف الكائن وهيكله الأساسي يظلان موجودين).

بمجرد ورود طلب من العميل، تُفعّل عملية التغليف MTS خوارزمية إدارة النسخ الخاصة بها المسماة JITA. يتم إنشاء كائن MTS الفعلي "في الوقت المناسب" لتلبية طلب التغليف. وعندما تتم تلبية الطلب وإرسال الرد إلى العميل، يقوم المكون إما باستدعاء SetComplete()/SetAbort()، أو تنتهي معاملته، أو يستدعي العميل Release() على مرجع الكائن، فيتم تدمير كائن MTS الفعلي. باختصار، يستخدم MTS نموذج مكون عديم الحالة.

بشكل عام، عندما يطلب العميل خدمات من مكون نموذجي لنظام إدارة خدمات الهاتف المحمول (MTS)، يحدث التسلسل التالي على الخادم  :

  1. الحصول على اتصال بقاعدة البيانات
  2. اقرأ حالة المكون إما من مدير الخصائص المشتركة أو من كائن موجود مسبقًا أو من العميل
  3. تنفيذ منطق العمل
  4. قم بكتابة حالة المكون المتغيرة، إن وجدت، مرة أخرى إلى قاعدة البيانات.
  5. أغلق اتصال قاعدة البيانات ثم حرره
  6. التصويت على نتيجة المعاملة. لا تقوم مكونات نظام إدارة المعاملات (MTS) بتنفيذ المعاملات بشكل مباشر، بل تُبلغ نظام إدارة المعاملات (MTS) بنجاحها أو فشلها.

وبالتالي، من الممكن تنفيذ الموارد ذات زمن الاستجابة العالي كمجموعات موارد غير متزامنة، والتي ينبغي أن تستفيد من تفعيل JIT عديم الحالة الذي يوفره خادم البرمجيات الوسيطة .

مراجع

  1. 1 2 دون بوكس؛ كريس سيلز ( 4 نوفمبر 2002). Essential.NET: بيئة تشغيل اللغة المشتركة . أديسون-ويسلي بروفيشنال. ص 206. ISBN  978-0-201-73411-9تم الاطلاع عليه بتاريخ 4 أكتوبر 2011 .