مقدمة عن البنية الخدمية SOA

الوقت عامل مهم, والتطور في عالم الأنظمة والبرمجيات وعلاقتها بالعمل يتطلب سرعة بالإضافة إلى تنوع في الخيارات, ومن هنا تدعو الحاجة إلى عدم بناء العجلة من جديد والإستفادة من كل المتاح لتوفير الوقت والجهد وعدم إعادة البناء من جديد.

فعندما تعود إلى لغات البرمجية القديمة كان عليك أن تبني الكود الخاص لكل شيء منذ البداية ومن ثم تطور لتصبح هناك إمكانية لعمل دالة يمكن إعادة طلبها من أماكن مختلفة حتى نوفر عملية إعادة بناء الكود من جديد, من ثم تطورت البرمجيات لتصبح شيئية بحيث يمكن تمثيل الواقع والأشياء على شكل مركبات أو تصنيفات والإستفادة في عمل علاقات بينها وتوفير الوقت في إعادة صياغة كائنات تمثل الواقع, ثم أصبح بالإمكان التعامل مع التطبيقات أو البرمجيات ككائن واحد يمكن مخاطبته والتعامل معه من خلال منافذ, والآن نتحدث عن الإرتباط بين التطبيقات لتكوين تطبيق جديد مع المحافظة على إستقلاليتها وهذا ما يعرف بال Service-oriented architecture أو البنية الخدمية.

البنية الخدمية SOA

هو نمط هيكلي يتم من خلاله بناء الأنظمة على شكل خدمات وربطها معا لتمثل كيان واحد, وبهذا النمط يمكن أن يتم بناء النظام بلغات برمجة مختلفة ويتم التواصل فيما بينها لتكون كيان واحد. كما يساعد هذا الأمر على إمكانية الإستفادة من البرمجيات بشكل مستقل.
مثال على ذلك هو بناء نظام إدارة الموارد والذي يحوي الكثير من الأجزاء مثل المبيعات, الحسابات, المخازن, إدارة علاقة الزبائن, التسويق والكثير غيرها فيمكن تصميم النظام بحيث يتم عمل كل برنامج بشكل مستقل وربطه ليكون ال ERP.

بالتأكيد يمكن تجزئة النظام إلى مستوى أقل من ذلك بمعنى تجزئة المخازن مثلا ليحوي ثلاث تطبيقات مستقلة مثل المستخدمين وإدارة المخزون وإدارة الموظفين وربطهم ليكونوا المخازن. هذا الأمر يعتمد على المصممين والمهندسين الذين يقومون بتصميم النظام ليحددوا المستوى الذي سيتم بناء النظام , حيث أن التكلفة تزيد بطبيعة الحال كلما قمنا بتجزئة الأنظمة إلى خدمات ولكن هذه التكلفة تقل في إعادة إستخدام الخدمات في أماكن أخرى بدلا من تطويرها ! مثل أن نقوم بإستخدام نظام المستخدمين في أكثر من تطبيق. لذلك يتطلب تطبيق SOA وجود مصممين ومهندسين مهرة وكذلك وجود وقت كافي إلى حد تنفيذ التصميم فعليا.

وهناك مخططات مختلفة توصف SOA وليس هناك نمط ثابت ولكن الفكرة العامة في القدرة على بناء خدمات مختلفة بشكل مستقل والتواصل فيما بينها لتمثل جسد واحد عند واجهة المستخدم.

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

دمتم بود,

إلى تدوينة أخرى

 

لا تعليقات