هيكل عظمي لخادم الحجز للنطاق Node.js

وهذا هو مرجع تنفيذ خادم حجز الإصدار 3 من واجهة برمجة التطبيقات للدمج العادي وخادم حجز الإصدار 3 من واجهة برمجة التطبيقات لدمج قائمة الانتظار استنادًا إلى Node.js

المتطلبات الأساسية

يتطلب تثبيت

البدء

يتم تنفيذ "خادم الحجز" باستخدام Node.js العادي بدون أي مكتبات أو أُطر عمل إضافية لأغراض توضيحية. وإذا كنت تستخدِم أي إطارات عمل أخرى، يمكنك بسهولة تغيير هذا التنفيذ إلى Express.js أو MEAN.js أو أي إطار عمل آخر من اختيارك يستند إلى Node.js.

ولا يستخدم التنفيذ مكتبات المخزن المؤقت للبروتوكولات، ولكنه يعتمد على تسلسل JSON البسيط وطرق JSON.parse() وJSON.stringify() .

لتنزيل المشروع، نفِّذ الأمر التالي:

git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton

تتألف قاعدة الرمز بالكامل من ملفَي JavaScript فقط:

  • Bookingserver.js - خادم HTTP وطلبات منطق المناولة، بما في ذلك المصادقة
  • apiv3methods.js - طرق تنفيذ واجهة برمجة التطبيقات v3 API

بعد تنزيل الملفات، يمكنك بدء خادم الحجز من خلال تنفيذ الأمر:

node bookingserver.js

يكتب الهيكل العظمي كل الطلبات الواردة والصادرة إلى وحدة التحكّم حتى تتمكّن من مراقبة تنفيذها لأغراض التتبُّع.

إذا كنت بحاجة إلى بيئة التطوير المتكاملة (IDE) لتغييرات الرموز أو تصحيح الأخطاء، يمكنك استخدام الرمز المرئي للاستوديو أو أي محرّر آخر من اختيارك. عليك تصحيح أخطاء المشروع من خلال بدء Bookingserver.js في بيئة Node.js وضبط نقاط التوقف عند اللزوم.

اختبار خادم الحجز

نزِّل أداة اختبار الحجز. لتثبيته، اتّبِع تعليمات التثبيت المتوفّرة في صفحة README الخاصة به.

بالنسبة إلى الاختبارات، عليك إنشاء ملف نصي لتخزين بيانات الاعتماد. أدخِل اسم المستخدم وكلمة المرور في سطر واحد، على سبيل المثال، في ملف باسم cred.txt:

اسم المستخدم:كلمة المرور

ويجب أيضًا الحصول على نسخة محلية من خلاصة مدى التوفّر للتجّار المشاركين في الاختبار. في نماذج الأوامر أدناه، خلاصة مدى التوفّر هي avail.json.

يمكنك الآن اختبار خادم الحجز باستخدام هذه الأوامر:

  • اختبار المكالمات إلى طريقة HealthCheck:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
    
  • اختبار المكالمات إلى طريقة CheckAvailability:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    
  • اختبار الاستدعاءات لطرق CreateBooking وUpdateBooking:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    

أثناء تنفيذ خادم الحجز الخاص بك، قد تحتاج إلى إجراء اختبارات إضافية عليه (مثل list_bookings_test وrescheduling_test وغيرها) بهدف جميع الاختبارات التي تم اجتيازها (-all_tests=true).