محرك تطبيقات جوجل
محرك تطبيقات جوجل | |
---|---|
محرك تطبيقات جوجل | |
المطور | جوجل |
الإصدار الأولي | 7 أبريل 2008 |
آخر إصدار | 1.4.0 / 2010-12-02 |
مكتوب بلغة | بايثون ، جافا ، غو |
نظام تشغيل | متعدد |
النوعية | بنية تطبيقات الوب |
موقع وب | http://appengine.google.com |
محرك تطبيقات جوجل (بالإنجليزية: Google App Engine) هي عبارة عن برنامج لتطوير واستضافة تطبيقات الويب في مراكز بيانات إدارة قوقل. أطلقت لأول مرة في إصدار بيتا في نيسان / أبريل 2008.
محرك تطبيقات جوجل هو سحابة الحوسبة والتكنولوجيا. انها تفعّل التطبيقات عبرالخوادم ومراكز البيانات.[١] سحابة أخرى للمنصات المرتكزة تشمل العروض مثل الأمازون خدمات الإنترنت وخدمات مايكروسوفت أزور.
محرك تطبيقات جوجل مجانية تصل إلى مستوى معين من الموارد المستخدمة. تفرض رسوم إضافية للتخزين وعرض النطاق الترددي، أودوائر وحدة المعالجة المركزية المطلوبة من قبل التطبيق.
لغات وأنظمة البرمجة الداعمة
حاليا، لغات البرمجة الداعمة هي جافا(Java) وبايثون(Python)، وبالتبعية، جي في ام(JVM)و لغات أخرى مثل جروفي(Groovy)وجي روبي(JRuby)و سكالا(Scala) وسلوجوري(Clojure). بنية شبكة بايثون (Python) التي تعمل على محرك التطبيقات تشمل Django, CherryPy, Pylons, web2py، بالإضافة إلى نظام الشبكة المكتوب لقوقل ومختلف التصاميم الأخرى الخاصة للبرنامج الذي برز منذ الانطلاق. وقالت جوجل انها تخطط لدعم المزيد من اللغات في المستقبل، وأن محرك التطبيقات قد كتب ليكون لغة مستقلة. يمكن لأي نظام بايثون (Python)التي تدعم WSGI باستخدام CGI (Common Gateway Interface) يمكن استخدامها لإنشاء تطبيق، والنظام يمكن تحميله بالتطبيق المتطور. المكتبات الخارجية مكتوبة في بايتثون (Python) نقية كما يمكن تحميلها.[٢][٣]
الاختلافات عن التطبيقات الأخرى المضافة
بالمقارنة مع الخدمات الأخرى التي تستضيف خدمات مثل الأمازون EC2، محرك تطبيقات توفر المزيد من البنية التحتية لتجعل من السهل كتابة تطبيقات متدرجة، ولكن يمكن فقط تشغيل عدد محدود من التطبيقات المصممة لتلك البنية التحتية.
محرك تطبيقات البنية التحتية يزيل الكثير من نظام الإدارة وتحديات التنمية في بناء التطبيقات للقياس على نطاق المئات من الطلبات في الثانية وما بعدها [٤] جوجل يمسك بالشفرات المنتشرة ،ويرصدها، ويبدأ تطبيق الحالات حسب الضرورة.
في حين أن الخدمات الأخرى التي تسمح للمستخدمين تثبيت وتكوين تقريباً اي برامج متوافقة، محرك التطبيقات يتطلب مطورين يستخدمون Python أو أي لغة JVM (مثل جافا، Groovy، JRuby، سكالا) كلغات برمجة، ومجموعة محدودة من واجهات برمجة التطبيقات. واجهات برمجة التطبيقات الحالية تسمح تخزين واسترجاع البيانات BigTable من قاعدة البيانات الغير مرتبطة ؛و عمل طلبات بروتوكول انتقال النّصّ المتشعّب (HTTP)؛ وإرسال بريد إلكتروني ؛و معالجة الصور، والتخزين المؤقت. معظم تطبيقات الويب الحالية لا يمكن أن تعمل على محرك تطبيقات دون تعديل، لأنها تتطلب قاعدة بيانات مرتبطة.
كل يوم، وكل دقيقة نظام الحصص يحصر عرض النطاق الترددي واستخدام وحدة المعالجة المركزية، وعدد طلبات الخدمة، وعدد الطلبات المتزامنة، وتدعو إلى واجهات برمجة التطبيقات المتعددة، ويتم إنهاء طلبات فردية إذا كانت تستغرق أكثر من 30 ثانية أو تعود أكثر من 10 ميغابايت للبيانات.
الاختلافات بين SQL وGQL
مخزن محرك تطبيقات جوجل له SQL يدعى "GQL". يختار جمل في GQL يمكن أن يؤديها على طاولة واحدة فقط. GQL عمدا لاتدعم التعابير المرتبطة، لأنها تبدو غير فعالة عندما تمتد الأسئلة على أكثر من آلة واحدة.[٥] بدلا من ذلك، واحدة إلى العديد والعديد إلى العديد من العلاقات يمكن انجازها باستخدام. () ReferenceProperty.[٦] هذا النهج المشترك لا يتدخل في الطريقة التي تجعل القرص يفشل دون أن يفشل النظام.
عبارة اختيار التعابير يمكن ان تؤدي العمليات >، =، <، <= على عمود واحد فقط. لذلك ،نختار فقط جمل بسيطة حيث يمكن بناؤها. التحول من قاعدة بيانات مرتبطة لمخزن البيانات يتطلب تحولا نموذجيا للمطورين عند تمثيل البيانات الخاصة بهم.
محرك التطبيقات يجعل الحد الأعلى من الصفوف يعود من كونها 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".)
- مخزن البيانات لا يمكن استخدام مرشحات غير مماثلة على أكثر من خاصية واحدة لكل استعلام.[٧]
التطابق
مطوري التطبيقات يقلقون من التطبيقات التي لن تنقل من محرك التطبيقات مع التعديلات.
هيكل Django الويب والتطبيقات الجارية فيها يمكن أن تستخدم في محرك التطبيقات مع التعديل.
التطبيقات المتقدمة لإطارتطبيقات شبكة Grail يمكن تعديلها ونشرها لمحرك التطبيقات بمجهود قليل جداً باستخدام محرك تطبيقات المساعد.
تحميل البيانات
الإصدار SDK 1.2.2 يضيف دعما لتحميل الجزء الأكبر من البيانات.[٨] مشاريع مفتوحة المصدر gaebar، [٩] approcket، [١٠] وgawsh [١١] كما تسمح للمستخدمين لتحميل البيانات والنسخ الاحتياطي في محرك التطبيقات.
معدلات الحصص
محرك التطبيقات يحدد حصص لاستخدام تطبيقات مجانية. الإتساع لهذه الحصص يمكن أن يطلب، ومؤلفي التطبيقات يمكن أن يدفعون من أجل مصادر إضافية.
حدود صعبة
الحصص | الحد |
---|---|
تطبيقات لكل تطوير | 10 |
وقت لكل طلب | 30 ثانية |
ملف لكل تطبيق | 3.000 |
حجم استجابة HTTP | 10 ميغابايت |
حجم مادة مخزن البيانات | 1 ميغابايت |
حجم رمز التطبيق | 150 ميغابايت |
حصص مجانية
مؤلفي التطبيقات الذين يجعلون فواتير الدفع من أجل وحدة المعالجة المركزية فقط، عرض النطاق الترددي، والتخزين، ورسائل البريد الإلكتروني المستخدمة في الزائد عن الحصص المجانية. الحدود التي بجانبها * هي زيادة الطلب على مؤلفي التطبيقات الذين يأخذون الفواتير، حتى لو كانت تطبيقاتهم لا تستخدم أبدا ما يكفي من المصادر لاستهداف الشحن. الحصص المجانية تناقصت يوم 25 مايو 2009 [١٢]، وتناقصت من جديد يوم 22 يونيو، 2009.[١٣]
الحصص | الحد |
---|---|
رسائل البريد الإلكتروني في اليوم | 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. "فمن الأسهل لتطوير ونشر التطبيقات شبكة يمكن التعامل معها، وحلول أكثر ابتكارا وإبداعا هو ما سنبدأ برؤيته." [١٤]
منافسين آخرين يحتوون برامج خدمات مايكروسوفت أزور وهيروكو.
انظر أيضاً
- AppScale
المراجع
- ^ 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. (2009-11-10). Retrieved 2009-11-10.
- ^ http://www.youtube.com/watch؟v=oG6Ac7d-Nx8
- ^ http://code.google.com/appengine/articles/modeling.html
- ^ [١]
- ^ # 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
- ^ غوغل، [٢] يونيو بالرجوع إليه في 17، 2009
- ^ Google Finally Realizes It Needs To Be The Web Platform. (2008-04-07). Retrieved 2008-04-12.
ثبت المراجع
- Ciurana, Eugene (February 2, 2009), Developing with Google App Engine (1st ed.), Apress, pp. 164, ISBN 1430218312, [٣]
- Severance, Charles (May 22, 2009), Using Google App Engine (1st ed.), O'Reilly Media, pp. 262, ISBN 059680069X, [٤]
- Sanderson, Dan (November 15, 2009), Programming Google App Engine (1st ed.), O'Reilly Media, pp. 284, ISBN 059652272X, [٥]
- Roche, Kyle; Douglas, Jeff (December 31, 2009), Beginning Java Google App Engine (1st ed.), Apress, pp. 375, ISBN 143022553X, [٦]
وصلات خارجية
- الموقع الرسمي
- جوجل محرك تطبيقات -- تشغيل التطبيقات الخاصة بك على الشبكة العالمية عن مجموعات البنية التحتية -- والحديث التقنية التي تقدمها مجموعات مهندس جويدو فان روسم في جامعة ستانفورد. (أرشيف فيديو)
- جافا أطر ودعم المكتبات
|
|
de:Google App Engine Google App Engine]] es:App Engine fa:گوگل اپ انجین fr:Google App Engine id:Google App Engine ja:Google App Engine pl:Google App Engine pt:Google App Engine ru:Google App Engine ta:கூகிள் ஆப் இஞ்சின் te:గూగుల్ అప్ ఇంజిన్ vi:Google App Engine zh:Google App Engine