- •1. Web-приложение. Механизмы cgi и FastCgi.
- •2. Web-приложение. Lamp-стек.
- •Установка на Ubuntu
- •Особенности и достоинства ос Линукс
- •3. Web-приложение. Шаблон проектирования «Модель-Представление-Контроллер».
- •4. Web-приложение. Шаблонизатор.
- •Достоинства:
- •О достоинствах
- •5. Web-приложение. Реляционные базы данных.
- •6. Web-приложение. NoSql.
- •7. Web-приложение. Возможности JavaScript.
- •8. Web-приложение. Среда исполнения. Web-сервер установка и настройка.
- •Среда исполнения
- •9. Развитие Web-технологий. Web 1.0, Web 2.0.
- •10. Развитие Web-технологий. Web 3.0, cемантическая паутина.
- •11. Развитие Web-технологий. Web-сервисы.
- •Использование rest для построения Web-сервисов.
- •12. Протокол http. Структура гипертекстового документа. Основные стандарты.
- •Структура гипертекстового документа.
- •Синтаксис
- •Параметры
- •13. Протокол http. Формы и обработка пользовательских данных.
- •14. Протокол http. Объектная модель документа (dom).
- •15. Протокол http. Пользовательские сеансы.
- •16. Протокол http. Технология ajax.
- •17. Протокол http. Структура сообщений. Заголовки. Коды состояния.
- •18. Облачные технологии. IaaS, PaaS, SaaS.
- •19. Облачные технологии. Google App Engine.
- •Ограничения
- •20. Облачные технологии. Google App Engine. Хранение данных.
19. Облачные технологии. Google App Engine.
API (application programming interface) - это интерфейс прикладного программирования.
Google App Engine — сервис хостинга сайтов и web-приложений на серверах Google с бесплатным именем <имя_сайта>.appspot.com, либо с собственным именем, задействованным с помощью служб Google.
Google App Engine – система разработки облачных приложений от Google, созданная на основе инструментов, которые используются самой Google в инфраструктуре своих приложений. App Engine позволяет разработчикам создавать на языках Python и Java масштабируемые приложения, не задумываясь о низкоуровневой архитектуре.
В то же время, App Engine обладает важными архитектурными ограничениями: создавать приложения можно только на языках Python и Java (также доступны реализации нескольких других языков, которые выполняются поверх Java), вместо традиционной СУБД с SQL-синтаксисом предоставляется СУБД с синтаксисом GQL, где, в частности, не поддерживается оператор JOIN, позволяющий объединять таблицы в базе данных. Доступ к файловой системе возможен в режиме "только для чтения".
Пользоваться Google App Engine можно бесплатно – но только в том случае, если приложение укладывается в заданные Google квоты. Во-первых, для хранения данных выделяется только 1 ГБ дискового пространства. Во-вторых, установлены пределы по суточному объему используемых ресурсов: 1 ГБ входящего и до 1 ГБ исходящего трафика, до 6,5 часов процессорного времени, до 1,3 млн HTTP-запросов, до 10 млн запросов к API базы данных Datastore и до 2000 исходящих электронных писем.
Приложения, разворачиваемые на базе App Engine, должны быть написаны на Python либо Java. Среда исполнения включает в себя полную реализацию возможностей самого Python, большинство функций стандартной библиотеки языка, ограниченную версию Django, и т. д.
Предлагается набор API для сервисов хранилища, datastore API (en), аккаунтов Google, загрузки данных по URL, электронной почты, и т. д.
Предоставлена возможность использовать планировщик задач cron как для приложений реализованных на Python, так и на Java. Разрешено планирование не более 20-ти заданий.
Использование службы аккаунтов Google позволяет быстро начать работу с приложением, нет необходимости проводить отдельную регистрацию учётных данных на каждом сайте. Это также позволяет разработчику не заботиться о реализации ещё одной системы регистрации пользователей специально для своего приложения.
Ограничения
Среда выполнения платформы Google App Engine позволяет разработчику контролировать лишь часть параметров операционной системы, что может представлять проблему для разработки приложений.
Нет доступа на запись в файловую систему сервера. Единственный способ сохранять данные — внутреннее хранилище, нереляционная, высокомасштабируемая база данных. Хранилище отличается от реляционных СУБД MySQL и PostgreSQL, которые используются на большинстве сайтов.
Системы управления сессиями, использующие файловую систему, не будут работать. Google предоставляет альтернативный вариант — Memcache API. Есть возможность организовать авторизацию пользователей через аккаунты Google.
Google широко использует в своих приложениях технологию MapReduce, высокоскоростной интерфейс для параллельных вычислений, проводимых на множестве узлов кластера, её поддержка, вероятно, будет добавлена к возможностям платформы.