محرك تطبيقات جوجل: الفرق بين النسختين
Translated from http://en.wikipedia.org/wiki/Google_App_Engine (revision: 328844634) using http://translate.google.com/toolkit. |
(لا فرق)
|
نسخة 16:06، 1 ديسمبر 2009
نوع |
Web development |
---|---|
نظام التشغيل |
Any (Web-based application) |
المطورون | |
موقع الويب |
لغة البرمجة | |
---|---|
الإصدار الأول |
April 7, 2008 |
الإصدار الأخير |
محرك تطبيقات جوجل هي عبارة عن برنامج لتطوير واستضافة تطبيقات الويب في مراكز بيانات إدارة قوقل. أطلقت لأول مرة في إصدار بيتا في نيسان / أبريل 2008.
محرك تطبيقات جوجل هو سحابة الحوسبة والتكنولوجيا. انها تفعّل التطبيقات عبرالخوادم و مراكز البيانات. [3]
سحابة أخرى للمنصات المرتكزة تشمل العروض مثل الأمازون خدمات الانترنت وخدمات مايكروسوفت أزور .
محرك تطبيقات جوجل مجانية تصل إلى مستوى معين من الموارد المستخدمة. تفرض رسوم إضافية للتخزين وعرض النطاق الترددي ، أودوائر وحدة المعالجة المركزية المطلوبة من قبل التطبيق.
لغات وأنظمة البرمجة الداعمة
حاليا ، لغات البرمجة الداعمةهي جافا(Java) و بايثون(Python) ، وبالتبعية ، جي في ام(JVM)و لغات أخرى مثل جروفي(Groovy)وجي روبي(JRuby)و سكالا(Scala) وسلوجوري(Clojure). بنية شبكة بايثون (Python) التي تعمل على محرك التطبيقات تشمل Django, CherryPy, Pylons, web2py، بالإضافة الى نظام الشبكة المكتوب لقوقل ومختلف التصاميم الأخرى الخاصة للبرنامج الذي برز منذ الإنطلاق . وقالت جوجل انها تخطط لدعم المزيد من اللغات في المستقبل ، و أن محرك التطبيقات قد كتب ليكون لغة مستقلة. يمكن لأي نظام بايثون (Python )التي تدعم WSGI باستخدام CGI (Common Gateway Interface) يمكن استخدامها لإنشاء تطبيق ، والنظام يمكن تحميله بالتطبيق المتطور. المكتبات الخارجية مكتوبة في بايتثون (Python) نقية كما يمكن تحميلها. [4] [5]
الإختلافات عن التطبيقات الأخرى المضافة
بالمقارنة مع الخدمات الأخرى التي تستضيف خدمات مثل الأمازون EC2 ، محرك تطبيقات توفر المزيد من البنية التحتية لتجعل من السهل كتابة تطبيقات متدرجة ، ولكن يمكن فقط تشغيل عدد محدود من التطبيقات المصممة لتلك البنية التحتية.
محرك تطبيقات البنية التحتية يزيل الكثير من نظام الإدارة وتحديات التنمية في بناء التطبيقات للقياس على نطاق المئات من الطلبات في الثانية وما بعدها [6] جوجل يمسك بالشفرات المنتشرة ،ويرصدها ، ويبدأ تطبيق الحالات حسب الضرورة.
في حين أن الخدمات الأخرى التي تسمح للمستخدمين تثبيت وتكوين تقريباً اي برامج متوافقة ، محرك التطبيقات يتطلب مطورين يستخدمون Python أو أي لغة JVM (مثل جافا ، Groovy ، JRuby ، سكالا) كلغات برمجة ، ومجموعة محدودة من واجهات برمجة التطبيقات. واجهات برمجة التطبيقات الحالية تسمح تخزين واسترجاع البيانات BigTable من قاعدة البيانات الغير مرتبطة ؛و عمل طلبات بروتوكول انتقال النّصّ المتشعّب (HTTP )؛ وإرسال بريد إلكتروني ؛و معالجة الصور ، والتخزين المؤقت. معظم تطبيقات الويب الحالية لا يمكن أن تعمل على محرك تطبيقات دون تعديل ، لأنها تتطلب قاعدة بيانات مرتبطة.
كل يوم ، وكل دقيقة نظام الحصص يحصر عرض النطاق الترددي واستخدام وحدة المعالجة المركزية ، وعدد طلبات الخدمة ، وعدد الطلبات المتزامنة ، وتدعو إلى واجهات برمجة التطبيقات المتعددة ، ويتم إنهاء طلبات فردية إذا كانت تستغرق أكثر من 30 ثانية أو تعود أكثر من 10 ميغابايت للبيانات .
الاختلافات بين SQL وGQL
مخزن محرك تطبيقات جوجل له SQL يدعى "GQL". يختار جمل في GQL يمكن أن يؤديها على طاولة واحدة فقط. GQL عمدا لاتدعم التعابير المرتبطة ، لأنها تبدو غير فعالة عندما تمتد الأسئلة على أكثر من آلة واحدة. [7] بدلا من ذلك ، واحدة إلى العديد والعديد الى العديد من العلاقات يمكن انجازها باستخدام . () ReferenceProperty. [8] هذا النهج المشترك لا يتدخل في الطريقة التي تجعل القرص يفشل دون أن يفشل النظام .
عبارة اختيار التعابير يمكن ان تؤدي العمليات > ، = ، <، <= على عمود واحد فقط. لذلك ،نختار فقط جمل بسيطة حيث يمكن بناؤها. التحول من قاعدة بيانات مرتبطة لمخزن البيانات يتطلب تحولا نموذجيا للمطورين عند تمثيل البيانات الخاصة بهم.
محرك التطبيقات يجعل الحد الأعلى من الصفوف يعود من كونها 1000 صف في كل طلب مخزن بيانات .
هذا العائق لا يؤثر على تطبيقات الويب المكتوبة لتكون مقروءة من قبل البشر ، طالما ترتيب فرز النتائج التي يمكن ان يسبق إحصاءها بشكل مناسب، كتلك التي لا تحصر عادة كعدد من آلاف الأوامر على صفحة واحدة (قد يكون لديهم الترحيل وآليات التخزين المؤقت في مكان واحد ). إذا كان تطبيق يحتاج الى اكثر من 1000 أمر لكل عملية ، فإنه يمكن استخدام جانبه الصامت من البرامج الإلكترونية أو صفحة أجاكس (Ajax) لتنفيذ عملية على عدد غير محدود من الصفوف من خلال إصدار الاستعلامات بالتتابع ، على الأقل بطريقة محدودة ، لأن طباعة النتائج لمجموعة من الأسئلة تكلف وقتاً بطول الوقت لمجموعة النتائج التي يمكن ان تستغرق نفس الأسئلة في الوقت الضائع .
بخلاف قاعدة البيانات المرتبطة فإن مخزن البيانات API (واجهة برمجة التطبيقات ) (Application Programming Interface ) ليس مرتبطاً ب(لغة الإستعلام) SQL.
القيود
- المطورين يملكون الوصول لقراءة نظام الملفات على محرك التطبيقات.
- محرك التطبيق يمكن أن ينفذ التعليمات البرمجية المسماه من طلبات بروتوكول انتقال النّصّ المتشعّب (HTTP) (باستثناء مهام خلفيات الجداول).
- يمكن للمستخدمين تحميل وحدات (بايثون) Python التعسفي ، ولكن فقط إذا كان خالصا ،pure-Python; C and Pyrex وحدات غير مدعومة.
- محرك التطبيقات تحدد أعلى صفوف عائدة من كونها تأخذ 1000صف في الطلب الواحد من مخزن البيانات.
- تطبيقات جافا يمكن استخدامها فقط لمجموعة (The JRE Class White List)من الطبقات المأخوذة طبعة JRE القياسية.
- تطبيقات جافا لا يمكن ان تنشئ مواضيع جديدة.
- لا يدعم 'المجالات' المجردة (بدون الشبكه العالمية) مثل http://example.com ، نظرا لاستخدام سجلات نظام أسماء النطاقات من أجل موازنة تحميل . (الحل المقترح هو استخدام نظام أسماء النطاقات لتوفير التوجيه المتشعب لفرعي ، على سبيل المثال "www.example.com".)
- مخزن البيانات لا يمكن استخدام مرشحات غير مماثلة على أكثر من خاصية واحدة لكل استعلام. [9]
التطابق
مطوري التطبيقات يقلقون من التطبيقات التي لن تنقل من محرك التطبيقات مع التعديلات .
هيكل Django الويب والتطبيقات الجارية فيها يمكن أن تستخدم في محرك التطبيقات مع التعديل.
التطبيقات المتقدمة لإطارتطبيقات شبكة Grail يمكن تعديلها ونشرها لمحرك التطبيقات بمجهود قليل جداً باستخدام محرك تطبيقات المساعد .
تحميل البيانات
الإصدار SDK 1.2.2 يضيف دعما لتحميل الجزء الأكبر من البيانات. [10] مشاريع مفتوحة المصدر gaebar ، [11] approcket ، [12] وgawsh [13] كما تسمح للمستخدمين لتحميل البيانات والنسخ الاحتياطي في محرك التطبيقات.
معدلات الحصص
محرك التطبيقات يحدد حصص لاستخدام تطبيقات مجانية. الإتساع لهذه الحصص يمكن أن يطلب ، ومؤلفي التطبيقات يمكن أن يدفعون من أجل مصادر إضافية.
حدود صعبة
الحصص | الحد |
---|---|
تطبيقات لكل تطوير | 10 |
وقت لكل طلب | 30 ثانية |
ملف لكل تطبيق | 3.000 |
حجم استجابة HTTP | 10 ميغابايت |
حجم مادة مخزن البيانات | 1 ميغابايت |
حجم رمز التطبيق | 150 ميغابايت |
حصص مجانية
مؤلفي التطبيقات الذين يجعلون فواتير الدفع من أجل وحدة المعالجة المركزية فقط ، عرض النطاق الترددي ، والتخزين ، ورسائل البريد الإلكتروني المستخدمة في الزائد عن الحصص المجانية. الحدود التي بجانبها * هي زيادة الطلب على مؤلفي التطبيقات الذين يأخذون الفواتير ، حتى لو كانت تطبيقاتهم لا تستخدم أبدا ما يكفي من المصادر لإستهداف الشحن. الحصص المجانية تناقصت يوم 25 مايو 2009 [14] ، وتناقصت من جديد يوم 22 يونيو ، 2009. [15]
الحصص | الحد |
---|---|
رسائل البريد الإلكتروني في اليوم | 2.000 |
في النطاق الترددي في اليوم | 1،000 ميغابايت |
خارج النطاق الترددي في اليوم | 1،000 ميغابايت |
وحدة المعالجة المركزية في اليوم | 6.5 ساعات في اليوم الواحد |
طلب HTTP في اليوم | 1،300،000 * |
مخزن البيانات API طلب في اليوم | * 10،000،000 |
البيانات المخزنة | 1 غيغابايت |
URLFetch API طلب في اليوم | 657.084 * |
المنافسة
تنافس الخدمة مع خدمات شبكةالأمازون ، وهي مجموعة من خدمات التطبيقات التيتجعل المواقع على شبكة الانترنت تستضيف الملفات وتنفيذ التعليمات البرمجية على خوادم الأمازون. كثير من فنيي المحللين قد تنبأو بإنظمام قوقل في هذا المجال لعدة سنوات . "غوغل يدرك أخيرا أنها بحاجة إلى منصة على شبكة الإنترنت ،" Techdirt publisher Mike Masnick wrote. "فمن الأسهل لتطوير ونشر التطبيقات شبكة يمكن التعامل معها ، وحلول أكثر ابتكارا وإبداعا هو ما سنبدأ برؤيته ." [16]
منافسين آخرين يحتوون برامج خدمات مايكروسوفت أزور وهيروكو.
انظر ايضاً
المراجع
- ^ أ ب "Python 2.7 release notes". اطلع عليه بتاريخ 2020-12-18.
- ^ أ ب "App Engine standard environment Python - Release notes". اطلع عليه بتاريخ 2020-12-18.
- ^ http://code.google.com/appengine/docs/python/runtime.html
- ^ http://code.google.com/appengine/docs/whatisgoogleappengine.html
- ^ http://code.google.com/appengine/docs/python/tools/webapp/overview.html
- ^ "Python Runtime Environment - Google App Engine". 10 نوفمبر 2009. اطلع عليه بتاريخ 2009-11-10.
- ^ http://www.youtube.com/watch؟v=oG6Ac7d-Nx8
- ^ http://code.google.com/appengine/articles/modeling.html
- ^ [1]
- ^ # http://code.google.com/appengine/docs/python/tools/uploadingdata.html Downloading_Data_from_App_Engine
- ^ http://github.com/aral/gaebar/tree/master
- ^ http://code.google.com/p/approcket/
- ^ http://code.google.com/p/gawsh/
- ^ شركة غوغل التغيرات المرتقبة في الحصص الحرة ، بالرجوع إليه في 26 فبراير 2009
- ^ غوغل ، [2] يونيو بالرجوع إليه في 17 ، 2009
- ^ "Google Finally Realizes It Needs To Be The Web Platform". 7 أبريل 2008. اطلع عليه بتاريخ 2008-04-12.
ثبت المراجع
- Ciurana، Eugene (2 فبراير 2009)، Developing with Google App Engine (ط. 1st)، Apress، ص. 164، ISBN:1430218312
- Severance، Charles (22 مايو 2009)، Using Google App Engine (ط. 1st)، O'Reilly Media، ص. 262، ISBN:059680069X
- Sanderson، Dan (15 نوفمبر 2009)، Programming Google App Engine (ط. 1st)، O'Reilly Media، ص. 284، ISBN:059652272X
- Roche، Kyle؛ Douglas، Jeff (31 ديسمبر 2009)، Beginning Java Google App Engine (ط. 1st)، Apress، ص. 375، ISBN:143022553X
روابط خارجية
- الموقع الرسمي
- جوجل محرك تطبيقات -- تشغيل التطبيقات الخاصة بك على الشبكة العالمية عن مجموعات البنية التحتية -- والحديث التقنية التي تقدمها مجموعات مهندس جويدو فان روسم في جامعة ستانفورد. (أرشيف فيديو)
- جافا أطر ودعم المكتبات