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

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

يشرح هذا الموضوع كيفية نشر تطبيق 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.
  • تؤدي هذه السياسة إلى نشر الخادم الوكيل لواجهة برمجة التطبيقات في إحدى البيئات.
  • تنفيذ تطبيق 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 على الأجهزة التي تعمل بنظام nix.

التثبيت من GitHub

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

$ 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. في نافذة طرفية، 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 إذا أردت ذلك، ثم انتقِل إلى صفحة API Proxies (الخوادم الوكيلة لواجهة برمجة التطبيقات) في واجهة مستخدم الإدارة. سيظهر لك الخادم الوكيل الجديد مُدرجًا هناك.

كيفية تعامل أداة 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","fid":"2431","attributes بأنهalt":"","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. ضمن "نقاط النهاية المستهدفة" في المستكشف، انقر على اسم نقطة النهاية المستهدفة (تسمى عادةً نقطة النهاية تلقائية).
  2. في أداة تعديل الرموز، عدِّل عنصر <ScriptTarget> عن طريق تغيير <ResourceURL> ليعكس اسم الملف الذي تريده أن يكون ملف Node.js الرئيسي. على سبيل المثال، إذا أردت أن يكون الملف الرئيسي hello-world.js، أدخِل: node://hello-world.js في عنصر ResourceURL.
  3. انقر على حفظ.

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

  1. ضمن نقاط نهاية الخادم الوكيل في المستكشف، انقر على اسم نقطة نهاية الخادم الوكيل (عادةً ما تُسمى تلقائي).
  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.