الخلاصة
- تمثل
stateفي RFC 8620 بيانات نوع كامل داخل حساب؛ وعندما تتغير، على العميل أن يهمل ذاكرته المؤقتة أو يطلب الفروق الدقيقة. - يبين
StateChangeالحسابات والأنواع التي تحركت حالتها، لكنه لا يحمل بمفرده الفاعل أو القيم قبل وبعد أو السبب أو الترتيب التدقيقي أو نتيجة صندوق البريد.
إشارة تستدعي طلباً آخر
صمم Neil Jenkins وChris Newman في RFC 8620 آلية تمنع العميل المتحرك من تنزيل كل البيانات مراراً. تعيد Foo/get سلسلة قصيرة تمثل حالة نوع البيانات في الحساب. إذا تغيرت البيانات وجب أن تتغير السلسلة، وإذا لم تتغير فمن المعتاد أن تعود القيمة نفسها.
لا تصف السلسلة تفاصيل التغيير. فهي تمثل كل بيانات ذلك النوع في الحساب، لا الكائنات التي ظهرت في رد واحد فقط. عندما يرى العميل قيمة مختلفة، يطلب منه المعيار أن يتخلى عن النسخة المخزنة أو أن يستدعي Foo/changes للحصول على الفروق. لذلك فالحالة حد لتطابق الذاكرة المؤقتة وليست سرداً لواقعة تشغيلية.
لا يظهر في هذا الحد اسم الشخص الذي قدم الطلب، أو قرار الإذن، أو الحقول السابقة واللاحقة، أو سبب التغيير، أو سجل زمني محفوظ. قد يقول إن المزامنة لازمة، لكنه لا يكفي لادعاء أن شخصاً بعينه عدّل صندوقاً أو أن رسالة وصلت إلى نتيجة معينة.
الفروق ليست سجلاً كاملاً أيضاً
تستقبل /changes قيمة sinceState وتعيد oldState وnewState، وقد تعيد معرفات للكائنات المنشأة أو المحدثة أو المحذوفة. هذا مناسب لجعل نسخة العميل متوافقة. لكنه لا يصبح تلقائياً تدقيقاً كاملاً. فإثبات الفاعل يحتاج هوية موثقة وطلباً مترابطاً وقرار إذن؛ وإثبات المحتوى يحتاج القيم ذات الصلة قبل وبعد؛ وإثبات التسلسل يحتاج دلالات زمنية وضمانات سلامة واحتفاظ.
قد يضغط دفع واحد عدة تغييرات
يربط StateChange الحسابات بحالات أنواع البيانات التي تغيرت منذ الدفع السابق. ويقارن العميل هذه القيم بما لديه ثم يجلب الفروق عند الحاجة. مثال RFC يسمح للخادم بجمع تعديلات من حسابين في كائن دفع واحد. هذه ميزة للمزامنة، لكنها تمنع معاملته كسجل حدث واحد مقابل حدث واحد.
| السؤال | دليل JMAP المفيد | الدليل الإضافي |
|---|---|---|
| هل النسخة المحلية حديثة؟ | state مطابق |
لا شيء لهذا السؤال الضيق |
| ما الذي يجب مزامنته؟ | معرفات /changes |
محتوى الكائن عند الحاجة |
| من عدّل الصندوق؟ | لا يثبته StateChange وحده | هوية وطلب وإذن |
| ما النتيجة عند المستلم؟ | لا تثبتها الحالة العامة | ملاحظة عند التسليم أو الصندوق أو القراءة |
قيمة تصميم Jenkins أنه يعلن حدود الإشارة. تحتفظ العملية الجيدة بدليل المزامنة للمزامنة، وبسجل تدقيق مستقل للادعاءات التي تحمل مسؤولية.
المصادر
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
