نشر تطبيق Node.js مستقل

أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

يوضّح هذا الموضوع كيفية نشر تطبيق Node.js من نظامك المحلي إلى Apigee Edge. في هذا الموضوع، سنناقش كيفية استخدام أداة سطر أوامر تُسمى apigeetool لشدَّد نشر تطبيقات Node.js على Apigee Edge.

لمحة عن نشر رمز Node.js في Apigee Edge

يمكنك نشر تطبيق حالي لواجهة برمجة التطبيقات Node.js، بما في ذلك أيّ وحدات Node.js تابعة، من نظامك المحلي إلى Apigee Edge باستخدام أداة سطر أوامر تُسمى apigeetool. تجمع الأداة تلقائيًا التطبيق ومكوّناته الداعمة في خادم وكيل لواجهة برمجة التطبيقات وتنشره على Edge.

على سبيل المثال، لنفترض أنّك استخدمت Express لإنشاء تطبيق ويب في Node.js. ويعمل التطبيق كخادم HTTP يستجيب لطلبات HTTP ويعالج هذه الطلبات ويعرض البيانات وما إلى ذلك. عند استخدام apigeetool لنشر تطبيق Node.js على Edge، يتم تغليفه في خادم وكيل ويتم تنفيذه في سياق منصة Edge. يمكنك بعد ذلك طلب تطبيقك من خلال عنوان URL الوكيل الجديد، ويمكنك إضافة قيمة إلى التطبيق من خلال "تزيينه" باستخدام ميزات Edge العادية، مثل أمان OAuth وسياسات الحصص وسياسات الحماية من التهديدات ومسارات المعالجة الشَرطية والتخزين المؤقت وغيرها الكثير.

ما هي وظيفة apigeetool؟

عند تشغيل الأداة المساعدة apigeetool باستخدام الخيار deploynodeapp، يتم تنفيذ ما يلي:

  • تُنشئ حِزمة ضبط وكيل واجهة برمجة التطبيقات لاستضافة تطبيق Node.js.
  • يعمل على حزمة تطبيق Node.js مع أي حزم Node.js مثبَّتة مع NPM (وحدات مجمّدة في العقدة).
  • استيراد حِزمة إعدادات وكيل واجهة برمجة التطبيقات إلى المؤسسة المحدّدة على Apigee Edge باستخدام واجهة برمجة التطبيقات Edge management API
  • تُستخدَم لنشر وكيل واجهة برمجة التطبيقات في بيئة معيّنة.
  • تنفيذ تطبيق Node.js على Apigee Edge وإتاحته على الشبكة

الاستعداد لاستخدام apigeetool

قبل البدء، عليك تثبيت الأداة apigeetool.

يمكنك تثبيت apigeetool إما من خلال npm أو من خلال استنساخ الرمز البرمجي وربطه من GitHub.

التثبيت من npm

تم تصميم وحدة apigeetool ومواردها الاعتمادية لنظام التشغيل Node.js، وهي متوفرة من خلال npm باستخدام الأمر التالي:

$ sudo npm install -g apigeetool

يضع الخيار -g عادةً الوحدات في: /usr/local/lib/node_modules/apigeetool على الأجهزة المستندة إلى *نيكس.

التثبيت من GitHub

يمكنك تنزيل أدوات منصّة واجهة برمجة التطبيقات أو استنساخها من GitHub. اطّلِع على ملف README في directory root directory للمستودع للحصول على تعليمات التثبيت.

$ git clone https://github.com/apigee/apigeetool-node.git

عند إكمال عملية التثبيت، تأكَّد من أنّ ملف apigeetool القابل للتنفيذ يتوفّر في مسارك. يمكنك اختبارها من خلال كتابة:

$ apigeetool -h

نشر تطبيق Node.js على Edge باستخدام apigeetool

ملاحظة: قبل النشر، عليك معرفة اسم مؤسستك في Apigee Edge واسم المستخدم وكلمة المرور لـ حسابك على Apigee Edge. ستحتاج إلى هذه المعلومات لتشكيل الأمر apigeetool بشكل صحيح.

لنشر تطبيق Node.js باستخدام apigeetool:

  1. في نافذة Terminal، cd الدليل الجذر لتطبيق Node.js.
  2. نفِّذ الأداة apigeetool باستخدام الأمر deploynodeapp:

    $ apigeetool deploynodeapp -n {A name for your new proxy} -d {The root directory of your Node.js app} -m {The name of the main Node.js file} -o {Your org name on Edge} -e {The environment to deploy to} -b {The base URL for your proxy} -u {Your Edge email address} -p {Your Edge password}
    
    على سبيل المثال:

    $ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
    
  3. اطّلِع على النتيجة في نافذة المحطة الطرفية. سيظهر الرمز على النحو التالي:

    Importing new application myNodeApp
    Imported new app revision 1
    Deploying revision 1
      Deployed.
    Proxy: "myNodeApp" Revision 1
      Environment: test BasePath: /myNodeApp
      Status: deployed
    

    إذا رأيت الحالة "تم النشر"، يعني هذا أنّه تم الانتهاء من الإجراء. تم تنفيذ كل شيء بسلاسة. تطبيقك المستنِد إلى Node.js مُغلف بخادم وكيل لواجهة برمجة التطبيقات، وتم نشره على Edge، وهو قيد التشغيل في انتظار معالجة الطلبات. أصبح جاهزًا للاختبار.

  4. اختبِر الخادم الوكيل. على سبيل المثال:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. إذا أردت، سجِّل الدخول إلى حسابك على Apigee Edge وانتقِل إلى صفحة "خوادم الوكيل لواجهة برمجة التطبيقات" في واجهة مستخدم الإدارة. سيظهر لك الخادم الوكيل الجديد مُدرَجًا هناك.

كيفية تعامل apigeetool مع الملفات والوحدات المُعتمَدة

إذا كان تطبيق Node.js يعتمد على وحدات مثبَّتة، تتعامل أداة apigeetool معها من خلال ضغط مجلد node_modules وإضافته إلى حِزمة الوكيل. ليس عليك اتّخاذ أي إجراء إضافي. وينطبق ذلك أيضًا على أي أدلة تحتوي على رمز مصدر إضافي. تُنشئ أداة apigeetool حزمة مضغوطة من هذه الملفات وتنشرها مع الحزمة.

لا يمكنك تعديل الملفات في هذه الأدلة المضغوطة في محرِّر واجهة مستخدم إدارة Edge. إذا كنت بحاجة إلى تغييرها، يمكنك تصدير مشروعك، وتعديل الملفات على الجهاز، ثم إعادة نشرها باستخدام أداة apigeetool أو عن طريق استيراد المشروع الذي تم تصديره باستخدام واجهة مستخدم الإدارة. راجِع أيضًا مقالة تصدير خادم وكيل واستيراده باستخدام رمز Node.js.

معلومات الاستخدام الأساسية لأداة apigeetool

للحصول على معلومات الاستخدام الأساسية لمَعلمات إدخال أداة apigeetool، أدخِل:

$ apigeetool deploynodeapp -h

  Usage: deploynodeapp -n [name] -o [organization] -e [environment]
  -d [directory name] -m [main script file]
  -u [username] -p [password]
  -b [base path] -l [apigee API url] -z [zip file] -i -h
  -o Apigee organization name
  -e Apigee environment name
  -n Apigee proxy name
  -d Apigee proxy directory
  -m Main script name: Should be at the top level of the directory
  -u Apigee user name
  -p Apigee password
  -b Base path (optional, defaults to /)
  -L Apigee API URL (optional, defaults to https://api.enterprise.apigee.com)
  -z ZIP file to save (optional for debugging)
  -i import only, do not deploy
  -R Resolve Node.js modules on Apigee Edge. Equivalent to running npm install on your project. 
  -U Uploads Node.js modules to Apigee Edge. 
  -h Print this message

إنشاء خادم وكيل جديد باستخدام ملفات Node.js الحالية

هناك طريقة أخرى لدمج تطبيق Node.js حالي في خادم وكيل لواجهة برمجة التطبيقات، وهي إضافة تطبيق عند إنشاء الخادم الوكيل. ويمكنك تنفيذ ذلك بالكامل من خلال واجهة مستخدم الإدارة ومربع الحوار "الخادم الوكيل لواجهة برمجة التطبيقات الجديدة".

  1. من صفحة ملخّص خادم وكيل واجهة برمجة التطبيقات، انقر على +خادم وكيل واجهة برمجة التطبيقات.
  2. في مربّع الحوار "الخادم الوكيل لواجهة برمجة التطبيقات الجديدة"، اختَر بروتوكول Node.js الحالي.
  3. استخدِم الزر اختيار الملفات لاختيار ملف واحد أو أكثر من ملفات Node.js بهدف الاستيراد.
  4. أدخِل اسمًا للخادم الوكيل. في هذا المثال، سنسميها hellonode.
  5. أضِف الإصدار /v1 إلى مسار قاعدة المشروع. ويُعدّ تحديد إصدارات واجهة برمجة التطبيقات أحد أفضل الممارسات.
  6. انقر على إنشاء.
  7. انقر على تطوير للدخول إلى طريقة العرض "تطوير".
  8. افتح ملف TargetEndpoint في محرِّر الرموز البرمجية.
  9. تأكَّد من أنّ العنصر <ScriptTarget> يحدِّد ملف Node.js الرئيسي على النحو التالي:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
    
  10. انقر على حفظ.

إضافة ملفات موارد Node.js الجديدة واستدعاءها

ويمكنك أيضًا إضافة رمز Node.js إلى خادم وكيل، وذلك من خلال إضافته مباشرةً من خلال واجهة المستخدم أو من خلال تحميله من نظام الملفات على الجهاز. يمكنك أيضًا تحديد ملف Node.js الذي يمثّل الملف الرئيسي، وهو الملف الذي يستدعيه Edge عند نشر الخادم الوكيل.

إضافة ملفات Node.js جديدة من خلال واجهة المستخدم

تتيح لك واجهة مستخدم الإدارة إضافة ملفات مصدر Node.js إضافية إلى الخادم الوكيل على نظام Edge الأساسي. ويمكنك إنشاؤها مباشرةً في واجهة المستخدم أو استيرادها من نظام الملفات. أولاً، لنطّلِع على كيفية إجراء ذلك من واجهة المستخدم.

لإنشاء ملف موارد جديد في Node.js:

  1. في طريقة العرض "تطوير"، اختَر نص برمجي جديد من القائمة "جديد".
  2. في مربّع الحوار "إضافة نص برمجي"، اختَر نوع الملف Node وحدِّد اسمًا للنص البرمجي.
  3. انقر على إضافة.

يتم فتح ملف Node.js الجديد الفارغ في المحرِّر. يمكنك قص الرمز ولصقه في ملف. ويظهر الملف أيضًا في قسم البرامج النصية في المستكشف.

[[{"type":"media","view_mode":"media_large","fit":"2431","attributes\talt":"","class":"media-image","height":"312","typeof":"foaf:Image","width":"417"}}]]

استيراد ملفات Node.js من نظام الملفات

import ملف Node.js من نظام الملفات إلى الخادم الوكيل:

  1. في طريقة العرض "تطوير"، اختَر جديد نص من قائمة "جديد".
  2. في مربّع الحوار "إضافة نص برمجي"، انقر على استيراد نص برمجي.
  3. استخدِم أداة الملفات لاختيار ملف Node.js.
  4. تتم إضافة اسم الملف إلى مربّع الحوار، ولكن يمكنك تغييره إذا أردت.
  5. انقر على إضافة. يظهر الملف في قسم "النصوص البرمجية" في المستكشف ويتم فتحه في المحرر.
  6. انقر على حفظ.

إذا كنت تريد استدعاء الملف الذي تم استيراده، يجب اتّخاذ خطوة إضافية، كما هو موضّح في القسم التالي.

استدعاء ملف Node.js مستورَد

لا يمكنك ببساطة استدعاء ملف Node.js تم استيراده أو إنشاؤه حديثًا. يرجع السبب في ذلك إلى أنّ Edge يتطلّب أن يكون ملف Node.js واحد هو الملف الرئيسي. ويتم تحديد الملف الرئيسي في العنصر <ScriptTarget> ضمن تعريف نقطة النهاية المستهدفة. لتحديد الملف الذي يمثّل ملف Node.js الرئيسي، اتّبِع الخطوات التالية:

  1. ضمن "نقاط النهاية المستهدَفة" في "المستكشف"، انقر على اسم نقطة النهاية المستهدَفة (التي يُشار إليها عادةً باسم default).
  2. في "محرر الرموز"، عدِّل العنصر <ScriptTarget> من خلال تغيير <ResourceURL> ليعكس اسم الملف الذي تريد أن يكون ملف Node.js الرئيسي. على سبيل المثال، إذا أردت استخدام ملف باسم hello-world.js كالملف الرئيسي، ستدخل node://hello-world.js في العنصر ResourceURL.
  3. انقر على حفظ.

في هذه المرحلة، يمكنك استدعاء الملف باستخدام أي مسار وكيل استخدمته من قبل. على سبيل المثال، لقد اطّلعنا على مثال Hello World!، حيث يتم تحديد المسار الأساسي v1/hello. ومع ذلك، يمكنك تغيير المسار الأساسي من خلال تعديل "نقطة نهاية الخادم الوكيل".

  1. ضمن "نقاط نهاية الخادم الوكيل" في "المستكشف"، انقر على اسم نقطة نهاية الخادم الوكيل (التي يُشار إليها عادةً باسم default).
  2. في "محرر الرموز"، عدِّل العنصر <HttpProxyConnection> من خلال تغيير <BasePath> إلى أي اسم تريده. على سبيل المثال، إذا كان العنوان الحالي <BasePath> هو v1/hello وأردت أن يكون v1/my-node-file، يمكنك تغيير عنصر <BasePath> على النحو التالي:

    <BasePath>/v1/my-node-file</BasePath>
  3. انقر على حفظ.
  4. استخدِم المسار الأساسي الجديد لاستدعاء الخادم الوكيل، على النحو التالي:

    $ curl http://myorg-test.apigee.net/v1/my-node-file
    Hello, World!
    

تصدير خادم وكيل واستيراده باستخدام رمز Node.js

بعد نشر خادم وكيل يحتوي على رمز Node.js في Edge، يمكنك في أي وقت تصدير الخادم الوكيل مرة أخرى إلى نظامك والعمل عليه هناك، ثم إعادة استيراده إلى Edge باستخدام واجهة المستخدم لإدارة الخدمات. يُستخدم عادةً هذا النوع من أسلوب التطوير المتكرّر.

  1. من صفحة ملخّص الخادم الوكيل لواجهة برمجة التطبيقات، انقر على تطوير.
  2. في صفحة "التطوير"، اختَر تنزيل النسخة الحالية.
  3. فكِّ ضغط الملف الذي تم تنزيله على نظامك.

يمكنك إعادة استيراد حزمة الخادم الوكيل إلى Edge من خلال اختيار Import Into New Revision (استيراد حزمة الخادم الوكيل) من القائمة نفسها.

يمكنك أيضًا استخدام واجهة برمجة التطبيقات لنشر الخوادم الوكيلة. اطّلِع على نشر الخوادم الوكيلة من سطر الأوامر للتعرّف على التفاصيل.

الخطوات التالية

في الموضوع التالي، إضافة Node.js إلى خادم وكيل حالي لواجهة برمجة التطبيقات، سنوضّح كيفية إضافة تطبيق Node.js إلى خادم وكيل حالي في نظام الملفات ونشره على Edge.