انتقل إلى المحتوى

تكامل ServiceNow

يتيح تكامل ServiceNow (الإدارة > الإعدادات > ServiceNow) المزامنة ثنائية الاتجاه بين Turbo EA وقاعدة بيانات الإدارة (CMDB) في ServiceNow الخاصة بك. يغطي هذا الدليل كل شيء بدءًا من الإعداد الأولي وصولًا إلى الوصفات المتقدمة وأفضل الممارسات التشغيلية.

إعدادات تكامل ServiceNow

لماذا تُدمج ServiceNow مع Turbo EA؟

تخدم قاعدة بيانات CMDB في ServiceNow وأدوات هندسة المؤسسة أغراضًا مختلفة لكنها متكاملة:

ServiceNow CMDB Turbo EA
التركيز العمليات التقنية — ما الذي يعمل، ومن يملكه، وما الحوادث التي وقعت التخطيط الاستراتيجي — كيف ينبغي أن يبدو المشهد بعد 3 سنوات؟
يُدار بواسطة العمليات التقنية، إدارة الأصول فريق هندسة المؤسسة، مهندسو الأعمال
نقطة القوة الاكتشاف الآلي، سير عمل ITSM، الدقة التشغيلية سياق الأعمال، تخطيط القدرات، تخطيط دورة الحياة، التقييمات
البيانات النموذجية أسماء المضيفين، عناوين IP، حالة التثبيت، مجموعات الإسناد، العقود الأهمية للأعمال، الملاءمة الوظيفية، الدَّين التقني، خارطة الطريق الاستراتيجية

Turbo EA هو سجل النظام لمشهد البنية المعمارية لديك — تعيش هنا الأسماء والأوصاف وخطط دورة الحياة والتقييمات وسياق الأعمال. يكمّل ServiceNow أداة Turbo EA ببيانات وصفية تشغيلية وتقنية (أسماء المضيفين، وعناوين IP، وبيانات SLA، وحالة التثبيت) تأتي من الاكتشاف الآلي وسير عمل ITSM. يبقي التكامل هذين النظامين متصلين مع احترام أن Turbo EA هو الرائد.

ما الذي يمكنك فعله

  • مزامنة السحب (Pull) — تعبئة Turbo EA بعناصر التكوين (CIs) من ServiceNow، ثم تولّي ملكيتها. لا تُحدّث عمليات السحب اللاحقة سوى الحقول التشغيلية (عناوين IP، الحالة، اتفاقيات SLA) التي يكتشفها SNOW تلقائيًا
  • مزامنة الدفع (Push) — تصدير البيانات المنسّقة في هندسة المؤسسة عودةً إلى ServiceNow (الأسماء، والأوصاف، والتقييمات، وخطط دورة الحياة) ليرى فرق ITSM سياق هندسة المؤسسة
  • المزامنة ثنائية الاتجاه — يقود Turbo EA معظم الحقول؛ ويقود SNOW مجموعة صغيرة من الحقول التشغيلية/التقنية. ويبقى النظامان متزامنين
  • تعيين الهوية — يضمن التتبّع المرجعي المتقاطع المستمر (sys_id <-> UUID للبطاقة) بقاء السجلات مرتبطة عبر عمليات المزامنة

بنية التكامل

+------------------+         HTTPS / Table API          +------------------+
|   Turbo EA       | <--------------------------------> |  ServiceNow      |
|                  |                                     |                  |
|  Cards           |  Pull: SNOW CIs -> Turbo Cards      |  CMDB CIs        |
|  (Application,   |  Push: Turbo Cards -> SNOW CIs      |  (cmdb_ci_appl,  |
|   ITComponent,   |                                     |   cmdb_ci_server, |
|   Provider, ...) |  Identity Map tracks sys_id <-> UUID |   core_company)  |
+------------------+                                     +------------------+

يستخدم التكامل Table API الخاص بـ ServiceNow عبر HTTPS. تُشفَّر بيانات الاعتماد عند التخزين باستخدام Fernet (AES-128-CBC) المشتق من SECRET_KEY الخاص بك. تُسجَّل جميع عمليات المزامنة كأحداث تحمل source: "servicenow_sync" لتوفير مسار تدقيق كامل.


التخطيط لتكاملك

قبل تكوين أي شيء، أجِب عن هذه الأسئلة:

1. أي أنواع البطاقات تحتاج إلى بيانات من ServiceNow؟

ابدأ بنطاق صغير. نقاط التكامل الأكثر شيوعًا هي:

الأولوية نوع Turbo EA مصدر ServiceNow السبب
عالية Application cmdb_ci_business_app التطبيقات هي جوهر هندسة المؤسسة — تحتوي CMDB على أسماء ومالكين وحالات موثوقة
عالية ITComponent (Software) cmdb_ci_spkg تُغذّي منتجات البرمجيات تتبّع EOL ورادار التقنية
متوسطة ITComponent (Hardware) cmdb_ci_server مشهد الخوادم لتعيين البنية التحتية
متوسطة Provider core_company سجل المورّدين لإدارة التكلفة والعلاقات
أقل Interface cmdb_ci_endpoint نقاط نهاية التكامل (غالبًا ما تُدار يدويًا في هندسة المؤسسة)
أقل DataObject cmdb_ci_database مثيلات قواعد البيانات

2. أي نظام هو مصدر الحقيقة لكل حقل؟

هذا هو القرار الأهم. ينبغي أن يكون الإعداد الافتراضي Turbo EA هو الرائد — فأداة هندسة المؤسسة هي سجل النظام لمشهد البنية المعمارية لديك. ينبغي ألّا يقود ServiceNow سوى مجموعة ضيقة من الحقول التشغيلية والتقنية التي تأتي من الاكتشاف الآلي أو سير عمل ITSM. وكل شيء آخر — الأسماء والأوصاف والتقييمات وتخطيط دورة الحياة والتكاليف — مملوك ومنسَّق بواسطة فريق هندسة المؤسسة في Turbo EA.

النموذج المُوصى به — «Turbo EA يقود، وSNOW يكمّل»:

نوع الحقل مصدر الحقيقة السبب
الأسماء والأوصاف Turbo يقود ينسّق فريق هندسة المؤسسة الأسماء الموثوقة ويكتب أوصافًا استراتيجية؛ وقد تكون أسماء CMDB فوضوية أو مولّدة تلقائيًا
الأهمية للأعمال Turbo يقود التقييم الاستراتيجي لفريق هندسة المؤسسة — وليس بيانات تشغيلية
الملاءمة الوظيفية / التقنية Turbo يقود درجات نموذج TIME هي شأن خاص بهندسة المؤسسة
دورة الحياة (جميع المراحل) Turbo يقود plan وphaseIn وactive وphaseOut وendOfLife — جميعها بيانات تخطيط لهندسة المؤسسة
بيانات التكلفة Turbo يقود تتتبّع هندسة المؤسسة التكلفة الإجمالية للملكية؛ وقد تحتوي CMDB على بنود عقود لكن هندسة المؤسسة تملك العرض الموحَّد
نوع الاستضافة، الفئة Turbo يقود تصنّف هندسة المؤسسة التطبيقات بحسب نموذج الاستضافة لأغراض التحليل الاستراتيجي
البيانات الوصفية التقنية SNOW يقود عناوين IP، إصدارات نظام التشغيل، أسماء المضيفين، الأرقام التسلسلية — بيانات اكتشاف آلي لا تصونها هندسة المؤسسة
حالة SLA / الحالة التشغيلية SNOW يقود حالة التثبيت، أهداف SLA، مقاييس التوافر — بيانات تشغيلية لـ ITSM
مجموعة الإسناد / الدعم SNOW يقود الملكية التشغيلية المتتبَّعة في سير عمل ServiceNow
تواريخ الاكتشاف SNOW يقود أول/آخر اكتشاف، آخر فحص — بيانات وصفية للأتمتة في CMDB

3. كم مرة ينبغي أن تُجري المزامنة؟

السيناريو التواتر ملاحظات
الاستيراد الأولي مرة واحدة الوضع الإضافي، راجِع بعناية
الإدارة النشطة للمشهد يوميًا آلية عبر cron خلال ساعات خارج أوقات الذروة
تقارير الامتثال أسبوعيًا قبل إنشاء التقارير
عند الحاجة حسب الحاجة قبل مراجعات أو عروض هندسة المؤسسة الكبرى

الخطوة 1: متطلبات ServiceNow المسبقة

إنشاء حساب خدمة

في ServiceNow، أنشئ حساب خدمة مخصصًا (لا تستخدم الحسابات الشخصية أبدًا):

الدور الغرض مطلوب؟
itil وصول للقراءة إلى جداول CMDB نعم
cmdb_read قراءة عناصر التكوين نعم
rest_api_explorer مفيد لاختبار الاستعلامات مُوصى به
import_admin وصول للكتابة إلى الجداول الهدف فقط لمزامنة الدفع

أفضل ممارسة: أنشئ دورًا مخصصًا بوصول للقراءة فقط إلى الجداول المحددة التي تخطط لمزامنتها فقط. دور itil واسع — والدور المخصص ذو النطاق المحدود يحدّ من نطاق التأثير.

المتطلبات الشبكية

  • يجب أن تصل الواجهة الخلفية لـ Turbo EA إلى مثيل SNOW الخاص بك عبر HTTPS (المنفذ 443)
  • كوّن قواعد جدار الحماية وقوائم السماح لعناوين IP
  • صيغة عنوان URL للمثيل: https://company.service-now.com أو https://company.servicenowservices.com

اختيار طريقة المصادقة

الطريقة المزايا العيوب التوصية
Basic Auth إعداد بسيط تُرسَل بيانات الاعتماد في كل طلب للتطوير/الاختبار فقط
OAuth 2.0 قائمة على الرموز، ذات نطاق، ملائمة للتدقيق خطوات إعداد أكثر مُوصى به للإنتاج

لـ OAuth 2.0: 1. في ServiceNow: System OAuth > Application Registry 2. أنشئ نقطة نهاية OAuth API جديدة للعملاء الخارجيين 3. دوّن Client ID وClient Secret 4. بدّل الأسرار في دورة كل 90 يومًا


الخطوة 2: إنشاء اتصال

انتقل إلى علامة تبويب الإدارة > ServiceNow > Connections.

الإنشاء والاختبار

  1. انقر Add Connection
  2. املأ:
الحقل قيمة المثال ملاحظات
الاسم Production CMDB تسمية وصفية لفريقك
Instance URL https://company.service-now.com يجب استخدام HTTPS
Auth Type Basic Auth أو OAuth 2.0 يُوصى بـ OAuth للإنتاج
Credentials (حسب نوع المصادقة) مشفّرة عند التخزين عبر Fernet
  1. انقر Create، ثم انقر أيقونة الاختبار (رمز wifi) للتحقق من الاتصال

  2. شريحة «Connected» خضراء — جاهز للانطلاق

  3. شريحة «Failed» حمراء — تحقّق من بيانات الاعتماد، والشبكة، وعنوان URL

اتصالات متعددة

يمكنك إنشاء اتصالات متعددة من أجل: - مثيلات الإنتاج مقابل التطوير - مثيلات SNOW الإقليمية (مثل EMEA، APAC) - فرق مختلفة بحسابات خدمة منفصلة

يشير كل تعيين إلى اتصال محدد.


الخطوة 3: تصميم تعييناتك

انتقل إلى علامة تبويب Mappings. يربط التعيين نوع بطاقة واحدًا في Turbo EA بجدول واحد في ServiceNow.

إنشاء تعيين

انقر Add Mapping وكوّن:

الحقل الوصف المثال
Connection أي مثيل ServiceNow سيُستخدم Production CMDB
Card Type نوع بطاقة Turbo EA المراد مزامنتها Application
SNOW Table اسم Table API في ServiceNow cmdb_ci_business_app
Sync Direction أي العمليات متاحة (انظر أدناه) ServiceNow -> Turbo EA
Sync Mode كيفية التعامل مع عمليات الحذف Conservative
Max Deletion Ratio عتبة أمان لعمليات الحذف الجماعية 50%
Filter Query استعلام ServiceNow المُرمَّز لتقييد النطاق active=true^install_status=1
Skip Staging تطبيق التغييرات مباشرة دون مراجعة إيقاف (مُوصى به للمزامنة الأولية)

تعيينات جداول SNOW الشائعة

نوع Turbo EA جدول ServiceNow الوصف
Application cmdb_ci_business_app تطبيقات الأعمال (الأكثر شيوعًا)
Application cmdb_ci_appl عناصر تكوين التطبيقات العامة
ITComponent (Software) cmdb_ci_spkg حزم البرمجيات
ITComponent (Hardware) cmdb_ci_server الخوادم الفعلية/الافتراضية
ITComponent (SaaS) cmdb_ci_cloud_service_account حسابات الخدمة السحابية
Provider core_company المورّدون / الشركات
Interface cmdb_ci_endpoint نقاط نهاية التكامل
DataObject cmdb_ci_database مثيلات قواعد البيانات
System cmdb_ci_computer عناصر تكوين الحواسيب
Organization cmn_department الأقسام

أمثلة على استعلام التصفية

صفِّ دائمًا لتجنّب استيراد السجلات القديمة أو المتقاعدة:

# Only active CIs (minimum recommended filter)
active=true

# Active CIs with install status "Installed"
active=true^install_status=1

# Applications in production use
active=true^used_for=Production

# CIs updated in the last 30 days
active=true^sys_updated_on>=javascript:gs.daysAgoStart(30)

# Specific assignment group
active=true^assignment_group.name=IT Operations

# Exclude retired CIs
active=true^install_statusNOT IN7,8

أفضل ممارسة: أدرِج دائمًا active=true كحدّ أدنى. غالبًا ما تحتوي جداول CMDB على آلاف السجلات المتقاعدة أو المستبعَدة من الخدمة التي ينبغي ألّا تُستورد إلى مشهد هندسة المؤسسة لديك.


الخطوة 4: تكوين تعيينات الحقول

يحتوي كل تعيين على تعيينات حقول تحدد كيفية ترجمة الحقول الفردية بين النظامين. يوفّر حقل إدخال Turbo EA Field اقتراحات إكمال تلقائي بناءً على نوع البطاقة المحدد — بما في ذلك الحقول الأساسية، وتواريخ دورة الحياة، وجميع السمات المخصصة من مخطط النوع.

إضافة الحقول

لكل تعيين حقل، تكوّن:

الإعداد الوصف
Turbo EA Field مسار الحقل في Turbo EA (يقترح الإكمال التلقائي خيارات بناءً على نوع البطاقة)
SNOW Field اسم عمود API في ServiceNow (مثل name وshort_description)
Direction مصدر الحقيقة لكل حقل: SNOW يقود أو Turbo يقود
Transform كيفية تحويل القيم: Direct، Value Map، Date، Boolean
Identity (مربع اختيار ID) يُستخدم لمطابقة السجلات أثناء المزامنة الأولية

مسارات حقول Turbo EA

يجمّع الإكمال التلقائي الحقول حسب القسم. إليك المرجع الكامل للمسارات:

المسار الهدف قيمة المثال
name اسم عرض البطاقة "SAP S/4HANA"
description وصف البطاقة "Core ERP system for financials"
lifecycle.plan دورة الحياة: تاريخ Plan "2024-01-15"
lifecycle.phaseIn دورة الحياة: تاريخ Phase In "2024-03-01"
lifecycle.active دورة الحياة: تاريخ Active "2024-06-01"
lifecycle.phaseOut دورة الحياة: تاريخ Phase Out "2028-12-31"
lifecycle.endOfLife دورة الحياة: تاريخ End of Life "2029-06-30"
attributes.<key> أي سمة مخصصة من مخطط حقول نوع البطاقة تختلف حسب نوع الحقل

على سبيل المثال، إذا كان نوع Application لديك يحتوي على حقل بالمفتاح businessCriticality، فحدّد attributes.businessCriticality من القائمة المنسدلة.

حقول الهوية — كيف تعمل المطابقة

ضع علامة على حقل واحد أو أكثر باعتباره Identity (أيقونة المفتاح). تُستخدم هذه أثناء المزامنة الأولى لمطابقة سجلات ServiceNow بالبطاقات الموجودة في Turbo EA:

  1. البحث في خريطة الهوية — إذا كان رابط sys_id <-> UUID للبطاقة موجودًا بالفعل، فاستخدمه
  2. مطابقة اسم دقيقة — المطابقة على قيمة حقل الهوية (مثل المطابقة بحسب اسم التطبيق)
  3. مطابقة تقريبية — إذا لم توجد مطابقة دقيقة، استخدم SequenceMatcher بعتبة تشابه 85%

أفضل ممارسة: ضع دائمًا علامة على حقل name كحقل هوية. إذا اختلفت الأسماء بين النظامين (مثلًا، يتضمن SNOW أرقام إصدارات مثل "SAP S/4HANA v2.1" بينما يحتوي Turbo EA على "SAP S/4HANA")، فنظّفها قبل المزامنة الأولى للحصول على جودة مطابقة أفضل.

بعد أن تنشئ المزامنة الأولى روابط خريطة الهوية، تستخدم عمليات المزامنة اللاحقة خريطة الهوية المستمرة ولا تعتمد على مطابقة الأسماء.


الخطوة 5: تشغيل أول مزامنة لك

انتقل إلى علامة تبويب Sync Dashboard.

تشغيل المزامنة

لكل تعيين نشط، ترى أزرار Pull و/أو Push بحسب اتجاه المزامنة المكوَّن:

  • Pull (أيقونة تنزيل سحابي) — يجلب البيانات من SNOW إلى Turbo EA
  • Push (أيقونة رفع سحابي) — يرسل بيانات Turbo EA إلى ServiceNow

ما الذي يحدث أثناء مزامنة السحب

1. FETCH     Retrieve all matching records from SNOW (batches of 500)
2. MATCH     Match each record to an existing card:
             a) Identity map (persistent sys_id <-> card UUID lookup)
             b) Exact name match on identity fields
             c) Fuzzy name match (85% similarity threshold)
3. TRANSFORM Apply field mappings to convert SNOW -> Turbo EA format
4. DIFF      Compare transformed data against existing card fields
5. STAGE     Assign an action to each record:
             - create: New, no matching card found
             - update: Match found, fields differ
             - skip:   Match found, no differences
             - delete: In identity map but absent from SNOW
6. APPLY     Execute staged actions (create/update/archive cards)

عند تفعيل Skip Staging، تندمج الخطوتان 5 و6 — تُطبَّق الإجراءات مباشرة دون كتابة سجلات مرحلية.

مراجعة نتائج المزامنة

يعرض جدول Sync History بعد كل تشغيل:

العمود الوصف
Started متى بدأت المزامنة
Direction Pull أو Push
Status completed أو failed أو running
Fetched إجمالي السجلات المُسترجَعة من ServiceNow
Created البطاقات الجديدة المنشأة في Turbo EA
Updated البطاقات الموجودة المُحدَّثة
Deleted البطاقات المؤرشَفة (محذوفة حذفًا ناعمًا)
Errors السجلات التي فشلت في المعالجة
Duration الوقت الزمني الفعلي

انقر أيقونة القائمة على أي تشغيل لفحص السجلات المرحلية الفردية، بما في ذلك الفرق على مستوى الحقل لكل تحديث.

إجراء المزامنة الأولى المُوصى به

1. Set mapping to ADDITIVE mode with staging ON
2. Run pull sync
3. Review staged records — check creates look correct
4. Go to Inventory, verify imported cards
5. Adjust field mappings or filter query if needed
6. Run again until satisfied
7. Switch to CONSERVATIVE mode for ongoing use
8. After several successful runs, enable Skip Staging

فهم اتجاه المزامنة مقابل اتجاه الحقل

هذا هو المفهوم الأكثر شيوعًا في سوء الفهم. هناك مستويان من الاتجاه يعملان معًا:

مستوى الجدول: اتجاه المزامنة

يُضبط على التعيين نفسه. يتحكم في أي عمليات المزامنة متاحة على Sync Dashboard:

اتجاه المزامنة زر Pull؟ زر Push؟ يُستخدم عندما...
ServiceNow -> Turbo EA نعم لا تكون CMDB هي المصدر الرئيسي، وأنت تستورد فقط
Turbo EA -> ServiceNow لا نعم تُثري أداة هندسة المؤسسة CMDB بالتقييمات
Bidirectional نعم نعم يساهم كلا النظامين بحقول مختلفة

مستوى الحقل: الاتجاه

يُضبط لكل تعيين حقل. يتحكم في أي قيمة لأي نظام تفوز أثناء تشغيل المزامنة:

اتجاه الحقل أثناء السحب (SNOW -> Turbo) أثناء الدفع (Turbo -> SNOW)
SNOW يقود تُستورَد القيمة من ServiceNow تُتخطّى القيمة (لا تُدفَع)
Turbo يقود تُتخطّى القيمة (لا يُكتب فوقها) تُصدَّر القيمة إلى ServiceNow

كيف يعملان معًا — مثال

التعيين: Application <-> cmdb_ci_business_app، Bidirectional

الحقل الاتجاه يفعل السحب... يفعل الدفع...
name Turbo يقود يتخطّى (هندسة المؤسسة تنسّق الأسماء) يدفع اسم هندسة المؤسسة -> SNOW
description Turbo يقود يتخطّى (هندسة المؤسسة تكتب الأوصاف) يدفع الوصف -> SNOW
lifecycle.active Turbo يقود يتخطّى (هندسة المؤسسة تدير دورة الحياة) يدفع تاريخ الانطلاق -> SNOW
attributes.businessCriticality Turbo يقود يتخطّى (تقييم هندسة المؤسسة) يدفع التقييم -> حقل SNOW مخصص
attributes.ipAddress SNOW يقود يستورد IP من الاكتشاف يتخطّى (بيانات تشغيلية)
attributes.installStatus SNOW يقود يستورد الحالة التشغيلية يتخطّى (بيانات ITSM)

رؤية أساسية: يحدد الاتجاه على مستوى الجدول أي الأزرار تظهر. ويحدد الاتجاه على مستوى الحقل أي الحقول تنتقل فعليًا أثناء كل عملية. التعيين ثنائي الاتجاه حيث يقود Turbo EA معظم الحقول ويقود SNOW الحقول التشغيلية/التقنية فقط هو أقوى تكوين.

أفضل ممارسة: اتجاه الحقل حسب نوع البيانات

ينبغي أن يكون الإعداد الافتراضي Turbo يقود للأغلبية العظمى من الحقول. لا تضبط SNOW يقود إلا للبيانات الوصفية التشغيلية والتقنية التي تأتي من الاكتشاف الآلي أو سير عمل ITSM.

فئة البيانات الاتجاه المُوصى به المبرّر
الأسماء، تسميات العرض Turbo يقود ينسّق فريق هندسة المؤسسة أسماء موثوقة ونظيفة — أسماء CMDB غالبًا مولّدة تلقائيًا أو غير متسقة
الوصف Turbo يقود تلتقط أوصاف هندسة المؤسسة السياق الاستراتيجي وقيمة الأعمال والأهمية المعمارية
الأهمية للأعمال (نموذج TIME) Turbo يقود تقييم أساسي لهندسة المؤسسة — وليس بيانات تشغيلية
الملاءمة الوظيفية/التقنية Turbo يقود تقييم وتصنيف خارطة طريق خاصان بهندسة المؤسسة
دورة الحياة (جميع المراحل) Turbo يقود plan وphaseIn وactive وphaseOut وendOfLife جميعها قرارات تخطيط لهندسة المؤسسة
بيانات التكلفة Turbo يقود تتتبّع هندسة المؤسسة التكلفة الإجمالية للملكية وتخصيص الميزانية
نوع الاستضافة، التصنيف Turbo يقود تصنيف استراتيجي يصونه المهندسون
معلومات المورّد/المزوّد Turbo يقود تدير هندسة المؤسسة استراتيجية المورّدين والعقود والمخاطر — قد يكون لدى SNOW اسم مورّد لكن هندسة المؤسسة تملك العلاقة
البيانات الوصفية التقنية (نظام التشغيل، IP، اسم المضيف) SNOW يقود بيانات اكتشاف آلي — لا تصونها هندسة المؤسسة
أهداف SLA، مقاييس التوافر SNOW يقود بيانات تشغيلية من سير عمل ITSM
حالة التثبيت، الحالة التشغيلية SNOW يقود تتتبّع CMDB ما إذا كان عنصر التكوين مثبّتًا أو متقاعدًا، إلخ
مجموعة الإسناد، فريق الدعم SNOW يقود الملكية التشغيلية المُدارة في ServiceNow
البيانات الوصفية للاكتشاف (أول/آخر ظهور) SNOW يقود الطوابع الزمنية للأتمتة في CMDB

Skip Staging — متى تستخدمه

افتراضيًا، تتبع عمليات السحب سير عمل التهيئة ثم التطبيق:

Fetch -> Match -> Transform -> Diff -> STAGE -> Review -> APPLY

تُكتب السجلات إلى جدول مرحلي، مما يتيح لك مراجعة ما سيتغيّر قبل التطبيق. هذا مرئي في Sync Dashboard ضمن "View staged records."

وضع Skip Staging

عند تفعيل Skip Staging على تعيين، تُطبَّق السجلات مباشرة:

Fetch -> Match -> Transform -> Diff -> APPLY DIRECTLY

لا تُنشأ أي سجلات مرحلية — تحدث التغييرات فورًا.

Staging (افتراضي) Skip Staging
خطوة المراجعة نعم — افحص الفروق قبل التطبيق لا — تُطبَّق التغييرات فورًا
جدول السجلات المرحلية مملوء بمدخلات create/update/delete غير مملوء
مسار التدقيق السجلات المرحلية + سجل الأحداث سجل الأحداث فقط
الأداء أبطأ قليلًا (يكتب صفوفًا مرحلية) أسرع قليلًا
التراجع يمكن الإجهاض قبل التطبيق يجب التراجع يدويًا

متى تستخدم كلًا منهما

السيناريو التوصية
الاستيراد لأول مرة استخدم Staging — راجِع ما يُنشأ قبل التطبيق
تعيين جديد أو متغيّر استخدم Staging — تحقّق من أن تحويلات الحقول تُنتج مخرجات صحيحة
تعيين مستقر ومُختبَر جيدًا Skip Staging — لا حاجة لمراجعة كل تشغيل
عمليات مزامنة يومية آلية (cron) Skip Staging — لا يمكن للتشغيلات غير المراقبة انتظار المراجعة
CMDB كبيرة (10,000+ عنصر تكوين) Skip Staging — يتجنّب إنشاء آلاف الصفوف المرحلية
بيئة حساسة للامتثال استخدم Staging — احفظ مسار تدقيق كاملًا في الجدول المرحلي

أفضل ممارسة: ابدأ بتفعيل Staging لعدة عمليات مزامنة أولى. وبمجرد أن تثق في أن التعيين يُنتج نتائج صحيحة، فعّل Skip Staging للتشغيلات الآلية.


أوضاع المزامنة وأمان الحذف

أوضاع المزامنة

الوضع الإنشاء التحديث الحذف الأنسب لـ
Additive نعم نعم أبدًا الاستيراد الأولي، البيئات منخفضة المخاطر
Conservative نعم نعم فقط البطاقات المنشأة بواسطة المزامنة الافتراضي لعمليات المزامنة المستمرة
Strict نعم نعم جميع البطاقات المرتبطة نسخ مطابق كامل لـ CMDB

Additive لا يزيل البطاقات من Turbo EA أبدًا، مما يجعله الخيار الأكثر أمانًا للاستيراد لأول مرة وللبيئات التي يحتوي فيها Turbo EA على بطاقات غير موجودة في ServiceNow (بطاقات منشأة يدويًا، بطاقات من مصادر أخرى).

Conservative (الافتراضي) يتتبّع ما إذا كانت كل بطاقة منشأة في الأصل بواسطة محرّك المزامنة. فقط تلك البطاقات يمكن أرشفتها تلقائيًا إذا اختفت من ServiceNow. أما البطاقات المنشأة يدويًا في Turbo EA أو المستوردة من مصادر أخرى فلا تُمَسّ أبدًا.

Strict يؤرشف أي بطاقة مرتبطة لم يعد عنصر التكوين المقابل لها في ServiceNow يظهر في نتائج الاستعلام، بغضّ النظر عمّن أنشأها. استخدم هذا فقط عندما يكون ServiceNow هو مصدر الحقيقة المطلق وتريد أن يعكسه Turbo EA بدقة.

Max Deletion Ratio — شبكة الأمان

كشبكة أمان، يتخطّى المحرّك جميع عمليات الحذف إذا تجاوز العدد النسبة المكوَّنة:

deletions / total_linked > max_deletion_ratio  ->  SKIP ALL DELETIONS

مثال على 10 سجلات مرتبطة وعتبة 50%:

السيناريو عمليات الحذف النسبة النتيجة
إزالة 3 عناصر تكوين بشكل طبيعي 3 / 10 = 30% تحت العتبة تمضي عمليات الحذف
إزالة 6 عناصر تكوين دفعةً واحدة 6 / 10 = 60% فوق العتبة تُتخطّى جميع عمليات الحذف
يُرجع SNOW نتيجة فارغة (انقطاع) 10 / 10 = 100% فوق العتبة تُتخطّى جميع عمليات الحذف

يمنع هذا فقدان البيانات الكارثي الناتج عن تغييرات استعلام التصفية، أو انقطاعات ServiceNow المؤقتة، أو أسماء الجداول المكوَّنة بشكل خاطئ.

أفضل ممارسة: أبقِ نسبة الحذف عند 50% أو أقل للجداول التي تحتوي على أقل من 100 سجل. أما للجداول الكبيرة (1,000+)، فيمكنك ضبطها بأمان عند 25%.

التدرّج المُوصى به

Week 1:   ADDITIVE mode, staging ON, run manually, review every record
Week 2-4: CONSERVATIVE mode, staging ON, run daily, spot-check results
Month 2+: CONSERVATIVE mode, staging OFF (skip), automated daily cron

الوصفات المُوصى بها حسب النوع

الوصفة 1: التطبيقات من CMDB (الأكثر شيوعًا)

الهدف: استيراد مشهد التطبيقات من ServiceNow، ثم تولّي ملكية الأسماء والأوصاف والتقييمات ودورة الحياة في Turbo EA. لا يقود SNOW سوى الحقول التشغيلية.

التعيين:

الإعداد القيمة
Card Type Application
SNOW Table cmdb_ci_business_app
Direction Bidirectional
Mode Conservative
Filter active=true^install_status=1

تعيينات الحقول:

Turbo EA Field SNOW Field Direction Transform ID؟
name name Turbo يقود Direct نعم
description short_description Turbo يقود Direct
lifecycle.active go_live_date Turbo يقود Date
lifecycle.endOfLife retirement_date Turbo يقود Date
attributes.businessCriticality busines_criticality Turbo يقود Value Map
attributes.hostingType hosting_type Turbo يقود Direct
attributes.installStatus install_status SNOW يقود Direct
attributes.ipAddress ip_address SNOW يقود Direct

تكوين Value map لـ businessCriticality:

{
  "mapping": {
    "1 - most critical": "missionCritical",
    "2 - somewhat critical": "businessCritical",
    "3 - less critical": "businessOperational",
    "4 - not critical": "administrativeService"
  }
}

نصيحة المزامنة الأولى: في أول عملية سحب، تملأ قيم SNOW جميع الحقول (بما أن البطاقات غير موجودة بعد). وبعد ذلك، تصبح الحقول التي يقودها Turbo مملوكة لفريق هندسة المؤسسة — ولا تُحدّث عمليات السحب اللاحقة سوى الحقول التشغيلية التي يقودها SNOW (حالة التثبيت، IP)، بينما يدير فريق هندسة المؤسسة كل شيء آخر مباشرة في Turbo EA.

بعد الاستيراد: نقّح أسماء التطبيقات، واكتب أوصافًا استراتيجية، وعيّنها إلى قدرات الأعمال، وأضِف تقييمات الملاءمة الوظيفية/التقنية، واضبط مراحل دورة الحياة — كل هذا مملوك الآن لـ Turbo EA وسيُدفَع عودةً إلى ServiceNow في عمليات الدفع.


الوصفة 2: مكوّنات تقنية (خوادم)

الهدف: استيراد البنية التحتية للخوادم لأغراض تعيين البنية التحتية وتحليل التبعيات. الخوادم أكثر طابعًا تشغيليًا من التطبيقات، لذا تأتي حقول أكثر من SNOW — لكن Turbo EA لا يزال يقود الأسماء والأوصاف.

التعيين:

الإعداد القيمة
Card Type ITComponent
SNOW Table cmdb_ci_server
Direction Bidirectional
Mode Conservative
Filter active=true^hardware_statusNOT IN6,7

تعيينات الحقول:

Turbo EA Field SNOW Field Direction Transform ID؟
name name Turbo يقود Direct نعم
description short_description Turbo يقود Direct
attributes.manufacturer manufacturer.name Turbo يقود Direct
attributes.operatingSystem os SNOW يقود Direct
attributes.ipAddress ip_address SNOW يقود Direct
attributes.serialNumber serial_number SNOW يقود Direct
attributes.hostname host_name SNOW يقود Direct

ملاحظة: بالنسبة للخوادم، تأتي الحقول التشغيلية/الاكتشافية مثل نظام التشغيل، وIP، والرقم التسلسلي، واسم المضيف بشكل طبيعي من الاكتشاف الآلي لـ SNOW. لكن فريق هندسة المؤسسة لا يزال يملك اسم العرض (الذي قد يختلف عن اسم المضيف) والوصف للسياق الاستراتيجي.

بعد الاستيراد: اربط المكوّنات التقنية بالتطبيقات باستخدام العلاقات، مما يغذّي مخطط التبعيات وتقارير البنية التحتية.


الوصفة 3: منتجات البرمجيات مع تتبّع EOL

الهدف: استيراد منتجات البرمجيات ودمجها مع تكامل endoflife.date في Turbo EA. يقود Turbo EA الأسماء والأوصاف والمورّد — الإصدار حقل واقعي يمكن أن يقوده SNOW.

التعيين:

الإعداد القيمة
Card Type ITComponent
SNOW Table cmdb_ci_spkg
Direction Bidirectional
Mode Conservative
Filter active=true

تعيينات الحقول:

Turbo EA Field SNOW Field Direction Transform ID؟
name name Turbo يقود Direct نعم
description short_description Turbo يقود Direct
attributes.version version SNOW يقود Direct
attributes.vendor manufacturer.name Turbo يقود Direct

بعد الاستيراد: انتقل إلى الإدارة > EOL واستخدم Mass Search لمطابقة المكوّنات التقنية المستوردة تلقائيًا مع منتجات endoflife.date. يمنحك هذا تتبّعًا آليًا لمخاطر EOL يجمع بين مخزون CMDB وبيانات دورة الحياة العامة.


الوصفة 4: المورّدون / المزوّدون (ثنائي الاتجاه)

الهدف: إبقاء سجل المورّدين متزامنًا. يملك Turbo EA أسماء المورّدين وأوصافهم والسياق الاستراتيجي. يكمّل SNOW ببيانات الاتصال التشغيلية.

التعيين:

الإعداد القيمة
Card Type Provider
SNOW Table core_company
Direction Bidirectional
Mode Additive
Filter vendor=true

تعيينات الحقول:

Turbo EA Field SNOW Field Direction Transform ID؟
name name Turbo يقود Direct نعم
description notes Turbo يقود Direct
attributes.website website Turbo يقود Direct
attributes.contactEmail email SNOW يقود Direct

لماذا يقود Turbo معظم الحقول: ينسّق فريق هندسة المؤسسة استراتيجية المورّدين، ويدير العلاقات، ويتتبّع المخاطر — يشمل ذلك اسم عرض المورّد ووصفه وحضوره على الويب. لا يقود SNOW إلا في بيانات الاتصال التشغيلية التي قد تُحدَّث بواسطة فرق المشتريات أو إدارة الأصول.


الوصفة 5: دفع تقييمات هندسة المؤسسة عودةً إلى ServiceNow

الهدف: تصدير التقييمات الخاصة بهندسة المؤسسة إلى حقول ServiceNow المخصصة ليتمكن فرق ITSM من رؤية سياق هندسة المؤسسة.

التعيين:

الإعداد القيمة
Card Type Application
SNOW Table cmdb_ci_business_app
Direction Turbo EA -> ServiceNow
Mode Additive

تعيينات الحقول:

Turbo EA Field SNOW Field Direction Transform ID؟
name name SNOW يقود Direct نعم
attributes.businessCriticality u_ea_business_criticality Turbo يقود Value Map
attributes.functionalSuitability u_ea_functional_fit Turbo يقود Value Map
attributes.technicalSuitability u_ea_technical_fit Turbo يقود Value Map

مهم: تتطلب مزامنة الدفع إلى الحقول المخصصة (المسبوقة بـ u_) أن تكون تلك الأعمدة موجودة بالفعل في ServiceNow. اعمل مع مسؤول ServiceNow لديك لإنشائها قبل تكوين تعيين الدفع. يحتاج حساب الخدمة إلى دور import_admin للوصول للكتابة.

لماذا يهم هذا: يرى فريق ITSM تقييمات هندسة المؤسسة مباشرة في سير عمل الحوادث/التغييرات في ServiceNow. عندما يقع حادث في تطبيق "Mission Critical"، يمكن لقواعد تصعيد الأولوية استخدام درجة الأهمية المقدَّمة من هندسة المؤسسة.


مرجع أنواع التحويل

Direct (الافتراضي)

يمرّر القيمة دون تغيير. استخدمه للحقول النصية التي لها نفس الصيغة في كلا النظامين.

Value Map

يترجم القيم المُعدَّدة بين الأنظمة. كوّنه بتعيين JSON:

{
  "mapping": {
    "1": "missionCritical",
    "2": "businessCritical",
    "3": "businessOperational",
    "4": "administrativeService"
  }
}

ينعكس التعيين تلقائيًا عند الدفع من Turbo EA إلى ServiceNow. على سبيل المثال، أثناء الدفع، يصبح "missionCritical" هو "1".

Date Format

يقتطع قيم التاريخ والوقت في ServiceNow (2024-06-15 14:30:00) إلى تاريخ فقط (2024-06-15). استخدمه لتواريخ مراحل دورة الحياة حيث يكون الوقت غير ذي صلة.

Boolean

يحوّل بين قيم ServiceNow المنطقية النصية ("true" و"1" و"yes") والقيم المنطقية الأصلية. مفيد للحقول مثل "is_virtual" و"active"، إلخ.


أفضل ممارسات الأمان

إدارة بيانات الاعتماد

الممارسة التفاصيل
التشفير عند التخزين تُشفَّر جميع بيانات الاعتماد عبر Fernet (AES-128-CBC) المشتق من SECRET_KEY. إذا بدّلت SECRET_KEY، فأعِد إدخال جميع بيانات اعتماد ServiceNow.
الامتياز الأدنى أنشئ حساب خدمة SNOW مخصصًا بوصول للقراءة فقط إلى جداول محددة. لا تمنح وصول الكتابة إلا عند استخدام مزامنة الدفع.
تفضيل OAuth 2.0 يُرسل Basic Auth بيانات الاعتماد في كل استدعاء API. يستخدم OAuth رموزًا قصيرة العمر بقيود نطاق.
تدوير بيانات الاعتماد بدّل كلمات المرور أو أسرار العميل كل 90 يومًا.

أمان الشبكة

الممارسة التفاصيل
فرض HTTPS تُرفض عناوين HTTP وقت التحقق. يجب أن تستخدم جميع الاتصالات HTTPS.
التحقق من اسم الجدول تُتحقَّق أسماء الجداول مقابل ^[a-zA-Z0-9_]+$ لمنع الحقن.
التحقق من sys_id تُتحقَّق قيم sys_id كسلاسل سداسية عشرية مكوّنة من 32 حرفًا.
قوائم السماح لعناوين IP كوّن ServiceNow IP Access Control للسماح فقط بعنوان IP لخادم Turbo EA الخاص بك.

التحكم بالوصول

الممارسة التفاصيل
محكوم بـ RBAC تتطلب جميع نقاط نهاية ServiceNow إذن servicenow.manage.
مسار التدقيق تنشر جميع التغييرات المنشأة بواسطة المزامنة أحداثًا تحمل source: "servicenow_sync"، مرئية في سجل البطاقة.
عدم كشف بيانات الاعتماد لا تُرجَع كلمات المرور والأسرار أبدًا في استجابات API.

قائمة مراجعة الإنتاج

  • [ ] حساب خدمة ServiceNow مخصص (وليس حسابًا شخصيًا)
  • [ ] OAuth 2.0 مع منحة بيانات اعتماد العميل
  • [ ] جدول تدوير بيانات الاعتماد (كل 90 يومًا)
  • [ ] حساب الخدمة مقيّد بالجداول المعيَّنة فقط
  • [ ] قائمة السماح لعناوين IP في ServiceNow مكوَّنة لعنوان IP خادم Turbo EA
  • [ ] نسبة الحذف القصوى مضبوطة عند 50% أو أقل
  • [ ] مراقبة تشغيلات المزامنة بحثًا عن أعداد أخطاء أو حذف غير معتادة
  • [ ] تتضمن استعلامات التصفية active=true كحد أدنى

كتيّب التشغيل

تسلسل الإعداد الأولي

1. Create ServiceNow service account with minimum required roles
2. Verify network connectivity (can Turbo EA reach SNOW over HTTPS?)
3. Create connection in Turbo EA and test it
4. Verify metamodel types have all fields you want to sync
5. Create first mapping with ADDITIVE mode, staging ON
6. Use the Preview button (via API) to verify mapping produces correct output
7. Run first pull sync — review staged records in the Sync Dashboard
8. Apply staged records
9. Verify imported cards in the Inventory
10. Adjust field mappings if needed, re-run
11. Switch mapping to CONSERVATIVE mode for ongoing use
12. After several successful runs, enable Skip Staging for automation

العمليات المستمرة

المهمة التواتر الكيفية
تشغيل مزامنة السحب يوميًا أو أسبوعيًا Sync Dashboard > زر Pull (أو cron)
مراجعة إحصاءات المزامنة بعد كل تشغيل تحقّق من أعداد الأخطاء/الحذف
اختبار الاتصالات شهريًا انقر زر الاختبار على كل اتصال
تدوير بيانات الاعتماد فصليًا حدّث في كل من SNOW وTurbo EA
مراجعة خريطة الهوية فصليًا تحقّق من المدخلات اليتيمة عبر إحصاءات المزامنة
تدقيق سجل البطاقة حسب الحاجة صفِّ الأحداث حسب مصدر servicenow_sync

إعداد عمليات المزامنة الآلية

يمكن تشغيل عمليات المزامنة عبر API لأغراض الأتمتة:

# Daily pull sync at 2:00 AM
0 2 * * * curl -s -X POST \
  -H "Authorization: Bearer $TURBOEA_TOKEN" \
  "https://turboea.company.com/api/v1/servicenow/sync/pull/$MAPPING_ID" \
  >> /var/log/turboea-sync.log 2>&1

أفضل ممارسة: شغّل عمليات المزامنة خلال ساعات خارج أوقات الذروة. لجداول CMDB الكبيرة (10,000+ عنصر تكوين)، توقّع 2-5 دقائق بحسب زمن استجابة الشبكة وعدد السجلات.

تخطيط السعة

حجم CMDB المدة المتوقعة التوصية
< 500 عنصر تكوين < 30 ثانية المزامنة يوميًا، Staging اختياري
500-5,000 عنصر تكوين 30 ثانية - دقيقتان المزامنة يوميًا، تخطّي Staging
5,000-20,000 عنصر تكوين 2-5 دقائق المزامنة ليليًا، تخطّي Staging
20,000+ عنصر تكوين 5-15 دقيقة المزامنة أسبوعيًا، استخدم استعلامات التصفية للتقسيم

استكشاف الأخطاء وإصلاحها

مشكلات الاتصال

العَرَض السبب الإصلاح
Connection failed: [SSL] شهادة موقّعة ذاتيًا أو منتهية تأكّد من أن SNOW يستخدم شهادة CA عامة صالحة
HTTP 401: Unauthorized بيانات اعتماد خاطئة أعِد إدخال اسم المستخدم/كلمة المرور؛ تحقّق من أن الحساب غير مقفل
HTTP 403: Forbidden أدوار غير كافية امنح itil وcmdb_read لحساب الخدمة
Connection failed: timed out حظر جدار الحماية تحقّق من القواعد؛ أضِف عنوان IP لـ Turbo EA إلى قائمة السماح في SNOW
الاختبار ناجح لكن المزامنة تفشل أذونات على مستوى الجدول امنح وصول القراءة إلى جدول CMDB المحدد

مشكلات المزامنة

العَرَض السبب الإصلاح
جُلب 0 سجل جدول أو تصفية خاطئة تحقّق من اسم الجدول؛ بسّط استعلام التصفية
جميع السجلات "create" عدم تطابق الهوية ضع علامة على name كهوية؛ تحقّق من تطابق الأسماء بين النظامين
عدد أخطاء مرتفع فشل التحويلات تحقّق من السجلات المرحلية بحثًا عن رسائل الخطأ
تُخطّى عمليات الحذف تجاوز النسبة ارفع العتبة أو حقّق في سبب اختفاء عناصر التكوين
التغييرات غير مرئية ذاكرة المتصفح المؤقتة حدّث بشكل قسري؛ تحقّق من سجل البطاقة بحثًا عن الأحداث
بطاقات مكرّرة تعيينات متعددة لنفس النوع استخدم تعيينًا واحدًا لكل نوع بطاقة لكل اتصال
رُفضت تغييرات الدفع أذونات SNOW مفقودة امنح دور import_admin لحساب الخدمة

أدوات التشخيص

# Preview how records will map (5 samples, no side effects)
POST /api/v1/servicenow/mappings/{mapping_id}/preview

# Browse tables on the SNOW instance
GET /api/v1/servicenow/connections/{conn_id}/tables?search=cmdb

# Inspect columns for a table
GET /api/v1/servicenow/connections/{conn_id}/tables/cmdb_ci_business_app/fields

# Filter staged records by action or status
GET /api/v1/servicenow/sync/runs/{run_id}/staged?action=create
GET /api/v1/servicenow/sync/runs/{run_id}/staged?action=update
GET /api/v1/servicenow/sync/runs/{run_id}/staged?status=error

مرجع API (سريع)

تتطلب جميع نقاط النهاية Authorization: Bearer <token> وإذن servicenow.manage. المسار الأساسي: /api/v1.

الاتصالات

الطريقة المسار الوصف
GET /servicenow/connections سرد الاتصالات
POST /servicenow/connections إنشاء اتصال
GET /servicenow/connections/{id} الحصول على اتصال
PATCH /servicenow/connections/{id} تحديث اتصال
DELETE /servicenow/connections/{id} حذف الاتصال + جميع التعيينات
POST /servicenow/connections/{id}/test اختبار الاتصال
GET /servicenow/connections/{id}/tables تصفّح جداول SNOW
GET /servicenow/connections/{id}/tables/{table}/fields سرد أعمدة الجدول

التعيينات

الطريقة المسار الوصف
GET /servicenow/mappings سرد التعيينات مع تعيينات الحقول
POST /servicenow/mappings إنشاء تعيين مع تعيينات الحقول
GET /servicenow/mappings/{id} الحصول على تعيين مع تعيينات الحقول
PATCH /servicenow/mappings/{id} تحديث التعيين (يستبدل الحقول إن قُدّمت)
DELETE /servicenow/mappings/{id} حذف التعيين
POST /servicenow/mappings/{id}/preview معاينة تجريبية (5 سجلات عينة)

عمليات المزامنة

الطريقة المسار الوصف
POST /servicenow/sync/pull/{mapping_id} مزامنة السحب (?auto_apply=true افتراضي)
POST /servicenow/sync/push/{mapping_id} مزامنة الدفع
GET /servicenow/sync/runs سرد سجل المزامنة (?limit=20)
GET /servicenow/sync/runs/{id} الحصول على تفاصيل التشغيل + الإحصاءات
GET /servicenow/sync/runs/{id}/staged سرد السجلات المرحلية لتشغيل
POST /servicenow/sync/runs/{id}/apply تطبيق السجلات المرحلية المعلّقة