أنظمة تخطيط الموارد المؤسسية ERP
(Enterprise Resource Planning)، أو اختصارا (ERP) وهي أنظمة صممت لتنسيق جميع الموارد والمعلومات والأنشطة اللازمة لإتمام الإجراءات العملية بالمؤسسات، مثل المحاسبة والموارد البشرية، مهمته تبادل البيانات، ولكنه لا يعني بتخطيط الموارد. وتقوم برامج الـ(ERP) بربط إدارات المؤسسة في مكان واحد، وتعمل على دمج هذه الإدارات؛ لتحقيق أكبر استفادة ممكنة. ويهتم نظام (ERP) بشكل أساسي بالمعلومات في مرحلة التنفيذ.
ومن أهم عوامل نجاح أنظمة الـ(ERP)، هو توفير الدعم من قيادة المنشأة، والتنسيق بين أطراف المشروع “الاستشاريين وفرق العمل” وتوفير فرق عمل مؤهلة للعمل مع الشركة الاستشارية و مشاركة فرق العمل في مراجعة المخرجات، و تقديم الملاحظات.
فيما يوجد مجموعة من العوائق تقف أمام نجاح هذا النظام وتسبب فشله يأتي في مقدمتها عدم معرفة المتطلبات ومشكلات الاستشاريين الخارجيين، مقاومة التغيير، والتدريب غير الكافي لـ”المستخدمين، وثقافة المنشأة و عدم دعم الإدارة العليا، والتوقعات غير الواقعية للأرباح.
وهناك ثلاث طرق أساسية لاختيار وبناء نظام (ERP) منها، اختيار نظام(ERP) جاهز، اختيار نظام (ERP) مرن، أو بناء نظام (ERP) من الصفر.
يذكر أنه في الماضي كانت تطبق أنظمة الـ (ERP) في الشركات الصناعية الكبيرة، لكن الاستخدام انتشر وأصبح متاحًا اليوم، لجميع أنواع وأحجام الشركات.
وأثناء تطويرنا لهذا النوع من الأنظمة نطبق البنية الخدمية (SOA) التي هي مجموعة من مبادئ تصميم الأنظمة تستخدم في مجال الحوسبة أثناء مراحل تطوير الأنظمة واندماجها.
ويقدم النظام الذي يستخدم هذه البنية وظائفه على هيئة حزمة من الخدمات المتعاونة التي يمكن استخدامها من قبل أنظمة مختلفة من مجالات تجارية متعددة.
كما أن البنية الخدمية SOA تتيح لمستخدمي الخدمات – مثل تطبيقات الويب -طريقة للتعرف على خدمات SOA الموجودة، فمثلا قد تقدم مجموعة من الأقسام المنفصلة بداخل منشأة ما عددا من خدمات SOA بأكثر من لغة برمجة، ويستفيد عملاؤهم من الواجهة الواضحة والسهلة لهذه الخدمات. وتستخدم عادة لغة XML في التواصل مع واجهة خدمات SOA
تشرح بنية SOA كيفية اندماج تطبيقات ويب مستقلة تماما لخلق بيئة ويب، وتستخدم منصات برمجية متعددة. تعرف البنية واجهة الخدمات في صورة وظائف وبروتوكولات بدلا من تعريفها كواجهة برمجة تطبيقات API. يسمى المدخل لتطبيق SOA نقطة نهاية endpoint.
تتطلب الخدمية وجود ارتباط حر بين الخدمات وأنظمة التشغيل وأي تقنية برمجية أخرى مستخدمة في التطبيقات. تقسم البنية الوظائف إلى مجموعة من الوحدات المستقلة – أو الخدمات– يقدمها المبرمجون على الشبكة حتى يتمكن المستخدمون من إعادة استخدامها ودمجها لبناء التطبيقات. يتواصل المستخدمون مع هذه الخدمات من خلال تداول البيانات في صياغات مشتركة وواضحة أو بتنسيق نشاط معين بين خدمتين أو أكثر.
يمكن النظر إلى البنية الخدمية في إطار تطور تدريجي بدءً من المبادئ الأولى للحوسبة الموزعة distributed computing والبرمجة التركيبية modular programming – مرورا بالبنية الخدمية – وصولا للممارسات الحالية في تطبيقات المزج mashups وتطبيقات ساس والحوسبة السحابية Cloud Computing (التي يراها البعض امتدادا للبنية الخدمية).