مثال : عملية طلب آخر قراءة لأجل Itron
يوفر هذا القسم مثالاً لأمر غير متزامن، وهو أمر "طلب آخر قراءة" المدعوم بواسطة موفق Itron OpenWay.
يحتوي تعريف Itron www.itron.com.ami.2008.10.data.wsdl على سلسلة من الأوامر لعملية "طلب آخر قراءة". يقوم الموفق لجيت واي الشبكات الذكي من أجل Itron OpenWay ببدء العملية من خلال استدعاء طريقة ContingencyReadByEndpoints. ويحتوي الرد على "معرف الرمز المميز للطلب" الذي يحدد السير بالكامل وستتم مشاركته بواسطة الاتصالات اللاحقة. ومن جانب Itron، يتم تكوين مهمة لتحصيل الاستهلاك والإجراءات. لإبلاغ المتصل (جيت واي الشبكات الذكي) أنه يتم بدء المهمة، يقوم Itron بإرسال طلب StatusChanged (محدد في www.itron.com.ami.2008.10.common.wsdl) يحتوي على "الحالة = تم البدء". ويقوم Itron بإرسال طلب StatusChanged آخر لإخطار جيت واي الشبكات الذكي أن عملية تجميع الاستهلاك قيد التنفيذ. وأثناء تحصيل الاستهلاك، يقوم Itron بإرسال طلب واحد أو أكثر من طلبات DataArrived إلى جيت واي الشبكات الذكي. وعندما ينتهي Itron من إنشاء الطلبات الداخلية للاستهلاك، يقوم بإرسال طلب StatusChanged نهائي إلى جيت واي الشبكات الذكي. يقوم إخطار الإتمام هذا بإبلاغ جيت واي الشبكات الذكي أنه يجب أن يقوم بإرسال GetContingencyReadByEndpointsResult، وهو الرد الذي يحتوي على معلومات حول الأخطاء التي تمت مواجهتها أثناء العملية.
توضح الصورة أدناه سير العملية المستخدَم بواسطة هذا الأمر.
فيما يلي ملخص بالميزات المهمة لعملية تنفيذ جيت واي الشبكات الذكي لهذا الأمر. ويمكن تطبيق العديد من المفاهيم عند إنشاء أمر متزامن مخصص.
نشاط الأمر — طلب آخر قراءة (الفترة الزمنية)
كائن العمل: D1-OnDemandReadInterval
المراحل والخوارزميات
يوضح الجدول التالي بعض الخوارزميات المهمة المستخدمة بواسطة نشاط الأمر "طلب آخر قراءة" (الفترة الزمنية).
حالة المراحل | الخوارزميات |
---|---|
التحقق من |
الميزات المهمة هنا ليست الخوارزميات الخاصة، ولكنها إمكانية تنفيذ منطق المراجعة على مستوى العملية.
|
الاتصال جاهز |
بمجرد إنشاء سجل اتصال صادر، يقوم كائن عمل "النشاط" بالانتقال من حالة "الاتصال جاهز" إلى حالة "الاتصال قيد التنفيذ". عندما يصبح الاتصال الصادر تامًا، يقوم بنقل "النشاط" إلى الحالة الافتراضية التالية، وهي "الاتصال جاهز" (ينتقل النشاط من الاتصال قيد التنفيذ مرة أخرى إلى الاتصال جاهز). وسيقوم الاتصال الصادر أيضًا بتعيين قيمة إشارة isOnDemandReadComplete في كائن عمل النشاط، في هذه الحالة، مشيرًا إلى إنشاء الاتصال الصادر لدور معالجة محدد. إذا كانت الحالة هي صواب، تنتقل المعالجة إلى الخوارزمية التالية.
|
قيد الانتظار للقياس |
|
اتصال صادر — Itron - قراءة الطوارئ (الفترة الزمنية)
كائن العمل: D8-ReadIntervalDR
المخطط
أجزاء المخطط التي تحتوي على بيانات القياس المنقولة لطلب خدمة الويب واتصالات الاستجابة هي عنصر sendDetail (المكون باستخدام منطقة بيانات D8-ContingencyReadRequestDR) وعنصر responseDetail (المكون باستخدام منطقة البيانات D8-ContingencyReadResponDtlDA). تستخدم ملفات XSL المستخدمة لإنشاء أو فك ترميز XML المطابق لبنية Itron هذه العناصر كأساس.
المراحل والخوارزميات
يوضح الجدول التالي بعض الخوارزميات المهمة المستخدمة بواسطة الاتصال الصادر "قراءة الطوارئ".
حالة المراحل | الخوارزميات |
---|---|
التحقق من |
|
في انتظار الاستجابة |
|
خطأ في الاستجابة |
|
تام |
|
الاتصال الوارد — Itron - StatusChanged
كائن العمل: D8-StatusChanged
يقوم كائن العمل هذا بمعالجة طلبات StatusUpdate الواردة. وهو يحتوي على معرف الرمز المميز للطلب الذي تم إنشاؤه بواسطة الطلب الأولي. وعندما يتلقى قيم مخطط "الحالة = تام" وينتج عن ذلك الحالة "مُلغى" أو "نجاح"، يقوم بتشغيل الأمر التالي في "النشاط". بالنسبة لـ On-DemandRead، يكون الأمر التالي هو GetContingencyReadByEndpointsResult.
المخطط
بعكس الاتصالات الأخرى التي تحتوي على العنصر sendDetail أو العنصر responseDetail، يحتوي كائن العمل هذا على عنصر مدخلات بعناصر فرعية تقوم بالربط بتلك الموجودة ضمن تعريف StatusChanged XSD.
المراحل والخوارزميات
يوضح الجدول التالي بعض الخوارزميات المهمة المستخدمة بواسطة الاتصال الوارد "قراءة تغيير الحالة".
حالة المراحل | الخوارزميات |
---|---|
التحقق من |
|
تقييم الاستجابة |
|
اتصال صادر — Itron - نتيجة طلب آخر قراءة
كائن العمل: D8-ReadOnDemandReadResultDR
هذا هو ثاني أحد طلبين صادرين ضمن الواجهة البرمجية للتطبيق من أجل قراءة طوارئ Itron. يقوم الطلب الصادر بإرسال معرف الرمز المميز للطلب. تحتوي الاستجابة على معلومات الخطأ التي تم تجميعها بواسطة ملقم Itron أثناء تنفيذ عملية "قراءة الطوارئ".
المخطط
أجزاء المخطط التي تحتوي على بيانات القياس المنقولة لطلب خدمة الويب واتصالات الاستجابة هي عنصر sendDetail (المكون باستخدام منطقة بيانات D8-ReadODRResultRequestDR) وعنصر responseDetail (المكون باستخدام منطقة البيانات D8-ReadODRResultResponseDR). تستخدم ملفات XSL المستخدمة لإنشاء أو فك ترميز XML المطابق لبنية Itron هذه العناصر كأساس.
المراحل والخوارزميات
يوضح الجدول التالي بعض الخوارزميات المهمة المستخدمة بواسطة الاتصال الصادر "نتيجة طلب آخر قراءة".
حالة المراحل | الخوارزميات |
---|---|
في انتظار الاستجابة |
|
تقييم الاستجابة |
|
سكريبت الخدمة: Itron - طلب DataArrived
يقوم سكريبت الخدمة هذا المستند إلى Groovy بمعالجة طلبات DataArrived الواردة. تحفظ بيانات القياس المنقولة في مواقع تخزين الملفات (بما في ذلك حِزم "تخزين الكائنات على الشبكة السحابية لأوراكل" في حالة التنفيذ بالشبكة السحابية) استنادًا إلى التكوين.
المخطط
يقوم المخطط بالربط برسالة Itron DataArrived بشكلٍ وثيق. وهو يتضمن منطقة البيانات D8-DataArrived.
الخطوات
الخطوة 10- تحرير البيانات – استدعاء طريقة Groovy الرئيسية
توضح هذه الخطوة كيفية تشغيل سكريبت Groovy من كائنات أخرى من إطار عمل تطبيق الخدمات والمرافق من أوراكل. وهي طريقة مشابهة للطريقة الرئيسية في اللغات البرمجية الأخرى. في هذه الحالة، يتم استدعاؤها بواسطة طريقة "خدمة الويب الواردة".
الخطوة 20 - عمليات استيراد Groovy
تقوم هذه الخطوة باستيراد الفئات الأخرى المطلوبة بواسطة السكريبت.
الخطوة 30 – عناصر Groovy
-
قم بالبحث عن كائن "التكوين الرئيسي"
-
استخدم التكوين الرئيسي للبحث عن تفاصيل "تخزين الملفات"
-
ابحث عن نوع "موفق الملفات"
-
قم باحتساب اسم ملف باستخدام سكريبت إنشاء تم تكوينه
-
قم باحتساب عنوان URL للملء باستخدام الفترة الزمنية واسم الملف والتفاصيل الأخرى
-
-
استخدم خدمة الأعمال FileStorageAdapter لحفظ الملف بالموقع المستهدف.
ملفات XSL لمرسل الرسالة
تقوم الرسائل الصادرة المنشأة بواسطة الاتصالات الصادرة لطلب آخر قراءة باستخدام ملفات XSL التالية:
ContingencyReadByEndpoints
- ملف XSL للطلب: D8-ContinegencyReadByEndpointsRequest.xsl
- ملف XSL للاستجابة: D8-ContingencyReadByEndpointsResponse.xsl
GetContingencyReadByEndpointsResult
- ملف XSL للطلب: D8-GetContingencyReadByEndpointsResultRequest.xsl
- ملف XSL للاستجابة: D8-GetContingencyReadByEndpointsResultResponse.xsl
لمزيد من المعلومات حول إنشاء بيانات مرسِلي الرسائل، ارجع إلى إنشاء بيانات مرسلي الرسائل.
خدمات الويب الواردة
تستخدم عملية طلب آخر قراءة من أجل Itron خدمات الويب الواردة التالية.
D8-RequestStatusChangedService
- اسم العملية: StatusChanged
- اسم المخطط: Itron — كائن عمل تغيير الحالة
- ملف XSL للطلب: D8-RequestStatusChangedServiceRequest.xsl
- ملف XSL للاستجابة: D8-RequestStatusChangedServiceResponse.xsl
D8-DataSubscriberService
- اسم العملية: DataArrived
- اسم المخطط: Itron — سكريبت طلب DataArrived
- ملف XSL للطلب: D8-DataSubscriberServiceRequest.xsl
- ملف XSL للاستجابة: D8-DataSubscriberServiceResponse.xsl