بنية خدمية
من ويكيبيديا، الموسوعة encyclopedia
البنية الخدمية (SOA) هي مجموعة من مبادئ تصميم الأنظمة تستخدم في مجال الحوسبة أثناء مراحل تطوير الأنظمة واندماجها. يقدم النظام الذي يستخدم هذه البنية وظائفه على هيئة حزمة من الخدمات المتعاونة التي يمكن استخدامها من قبل أنظمة مختلفة من مجالات تجارية متعددة.
كما أن البنية الخدمية تتيح لمستخدمي الخدمات – مثل تطبيقات الويب - طريقة للتعرف على خدمات SOA الموجودة، فمثلا قد تقدم مجموعة من الأقسام المنفصلة بداخل شركة ما عددا من خدمات SOA بأكثر من لغة برمجة، ويستفيد عملاؤهم من الواجهة الواضحة والسهلة لهذه الخدمات. تستخدم لغة XML في التواصل مع واجهة خدمات SOA عادة وليس بالضرورة.
تشرح بنية SOA كيفية اندماج تطبيقات ويب مستقلة تماما لخلق بيئة ويب، وتستخدم منصات برمجية متعددة. تعرف البنية واجهة الخدمات في صورة وظائف وبروتوكولات بدلا من تعريفها كواجهة برمجة تطبيقات API. يسمى المدخل لتطبيق SOA نقطة نهاية endpoint.
تتطلب الخدمية وجود ارتباط حر بين الخدمات وأنظمة التشغيل وأي تقنية برمجية أخرى مستخدمة في التطبيقات. تقسم البنية الوظائف إلى مجموعة من الوحدات المستقلة – أو الخدمات،– يقدمها المبرمجون على الشبكة حتى يتمكن المستخدمون من إعادة استخدامها ودمجها لبناء التطبيقات. يتواصل المستخدمون مع هذه الخدمات من خلال تداول البيانات في صياغات مشتركة وواضحة أو بتنسيق نشاط معين بين خدمتين أو أكثر.[1]
يمكن النظر إلى البنية الخدمية في إطار تطور تدريجي بدءً من المبادئ الأولى للحوسبة الموزعة[2] distributed computing والبرمجة التركيبية modular programming – مرورا بالبنية الخدمية – وصولا للممارسات الحالية في تطبيقات المزج mashups وتطبيقات ساس والحوسبة السحابية Cloud Computing (التي يراها البعض امتدادا للبنية الخدمية[3]).