Опубликован: 25.05.2011 | Уровень: специалист | Доступ: свободно
Лекция 11:

Примеры облачных сервисов Google

< Лекция 10 || Лекция 11: 12345

Стартовая страница и редактор страниц

Стартовая страница — первое, что увидят пользователи после входа в Google Apps

Стартовая страница — это то место, которое предназначено для того, чтобы быть первым, что увидят пользователи после входа в систему Google Apps. Эта страница схожа с персональной страницей Google ( www.igoogle.com ), точно так же она предназначена быть первой страницей, с которой пользователь сталкивается, начиная работу. На ней могут быть расположены гаджеты от Google и сторонних разработчиков, а также информация, необходимая для начала работы сотрудников. Далеко не полный список полезных вещей, которые можно разместить на стартовой странице Google Apps: гаджеты для предпросмотра личных почтовых ящиков и событий в календаре, поиск, в том числе можно и специальный Google Custom Search, который позволяет искать только то, что реально необходимо, просмотр RSS, закладки, Google Notebook и еще больщое количество полезных элементов.

Редактор веб-страниц позволяет легко и быстро создавать собственные страницы, которые потом удобно публиковать с помощью сервиса Google. Для создания можно использовать большое количество уже готовых дизайнов (расположение элементов на странице, цветовая гамма и так далее) и довольно удобный редактор, который практически не требует от пользователя знания HTML, CSS и прочих языков. Публикация новой страницы происходит мгновенно, что существенно сокращает время, которое тратится на то, чтобы донести информацию до остальных пользователей или клиентов.

Интеграция в Google Apps достигла того, что документы, которые пришли вам по почте, уже сразу из почтового ящика можно открыть для работы Google Docs & Spreadsheets. Переключение между различными сервисами осуществляется простым кликом мышки. Впрочем, нет проблем в том, чтобы держать их все открытыми и готовыми для работы в разных окнах браузера.

Таким образом, Google Apps создает собой среду, которая удобна не только для совместной работы нескольких человек, которые находятся в разных местах, но и для организации совместной работы большого числа сотрудников, которые могут быть раскиданы по различным странам. Учитывая то, что компания Google довольно часто предоставляет API к своим продуктам, тем самым позволяя создавать собственные приложения, которые еще более интегрируют приложения Google в конкретную среду работы, можно сказать, что Google Apps может стать очень удобной средой для совместной работы. Кроме того, компания Google постоянно ведет работу над улучшением существующих сервисов и добавлением новых. В ближайших планах добавление сервиса для миграции с различных почтовых клиентов на GMail и возможность создавать и редактировать презентации, то есть сервис, аналогичный программе PowerPoint.

App Engine

Google App Engine позволяет выполнять ваши веб-приложения в инфраструктуре Google. Приложения App Engine легко создавать, поддерживать и усовершенствовать по мере увеличения трафика и хранилища данных. При работе с App Engine вам не понадобится поддерживать сервер: просто загрузите свое приложение, и пользователи смогут работать с ним.

Приложение можно опубликовать в собственном домене (например, http://www.example.com ) с помощью Служб Google. Или воспользоваться бесплатным именем в домене appspot.com. Приложение можно сделать доступным для всех или предоставить доступ только участникам вашего коллектива.

Google App Engine поддерживает приложения, написанные на нескольких языках программирования. Благодаря среде выполнения Java App Engine можно создавать приложения с помощью стандартных технологий Java, в том числе JVM, сервлетов Java и языка программирования Java, или другого языка, использующего интерпретатор или компилятор на JVM, например JavaScript или Ruby. Кроме того, App Engine предоставляет специальную среду выполнения Python, которая включает быстрый интерпретатор и стандартную библиотеку Python. Среды выполнения Java и Python разработаны специально для того, чтобы приложения могли быстро и безопасно выполняться без взаимодействия с другими приложениями в системе.

С App Engine нужно платить, только за то, что используете. Не требуется платить за установку или вносить периодические платежи. Оплата за использованные приложением ресурсы, такие как объем хранения и трафик, измеряемые в гигабайтах, взимается по обоснованным ставкам. Можно управлять максимальным количеством ресурсов, которые приложение может использовать, что позволит всегда оставаться в пределах бюджета.

Начать использовать App Engine можно бесплатно. Вам не придется платить за приложения, использующие менее 500 МБ хранилища, а также ресурсы ЦП и трафик, достаточные для эффективного приложения, обслуживающего до пяти миллионов просмотров страниц в месяц. Включив оплату для приложения, эти ограничения повышаются, а оплата взимается только за ресурсы, использованные свыше бесплатных уровней.

Среда приложений

Google App Engine позволяет легко создавать приложения, надежно работающие даже при большой нагрузке и с большими объемами данных. App Engine включает следующие функции:

  • динамическую работу в Интернете с полной поддержкой основных веб-технологий;
  • постоянное хранилище с запросами, сортировкой и транзакциями;
  • автоматическое масштабирование и регулировку нагрузки;
  • API для аутентификации пользователей и отправку электронной почты с помощью аккаунтов Google;
  • полнофункциональную локальную среду разработки, имитирующую Google App Engine на вашем компьютере.
  • запланированные задачи для отслеживания событий в определенное время или через регулярные интервалы.

Приложение может выполняться в одной из двух сред выполнения: Java и Python. Каждая среда предоставляет стандартные протоколы и основные технологии для разработки веб-приложений.

Приложения работают в безопасной среде, обеспечивающей ограниченный доступ к прилагаемой операционной системе. Ограничения позволяют App Engine распространять веб-запросы для приложения на несколько серверов, а также запускать и останавливать серверы в зависимости от трафика. Тестовая среда изолирует ваше приложение в собственной безопасной и надежной среде, независимой от оборудования, операционной системы и физического расположения веб-сервера.

Ниже приведены примеры ограничений надежной тестовой среды.

Приложение может получать доступ к другим компьютерам в Интернете только через предоставленные API, службу получения данных по URL и службу электронной почты. Другие компьютеры могут подключаться к приложению только путем HTTP-запросов (или HTTPS-запросов) на стандартных портах.

Приложение не может выполнять запись в файловую систему. Приложение может считывать файлы, но только те, которые были загружены вместе с кодом приложения. Приложение должно использовать хранилище данных App Engine, кэш памяти и другие службы для всех данных, сохраняющихся между запросами.

Код приложения выполняется только в ответ на веб-запрос или задачу Cron и в любом случае должен возвращать данные ответа в течение 30 секунд. Обработчик запросов не может создать подпроцесс или выполнить код после отправки ответа.

Для среды выполнения Java можно разработать приложение с помощью стандартных инструментов веб-разработки Java и стандартных API. Приложение взаимодействует со средой с помощью стандарта Java Servlet и может использовать стандартные технологии веб-приложения, такие как страницы JavaServer Pages (JSP).

Среда выполнения Java использует Java 6. SDK Java App Engine поддерживает разработку приложений с помощью Java 5 и 6.

Среда включает платформу Java SE Runtime Environment (JRE) 6 и библиотеки. Ограничения на тестовую среду реализованы в JVM. Приложение может использовать байтовый код JVM или библиотеки в пределах ограничений тестовой среды. Например, при попытке байтового кода открыть сокет или записать файл возникнет исключение среды выполнения.

Доступ к большинству служб App Engine можно получить через стандартные API Java. Для хранилища данных App Engine SDK Java содержит реализации интерфейсов объектов данных Java (JDO) и Java Persistence API (JPA). Чтобы отправлять сообщения по электронной почте с помощью службы Mail App Engine, можно использовать API JavaMail. У API HTTP java.net есть доступ к службе получения данных по URL App Engine. Кроме того, для своих служб App Engine включает низкоуровневые API, которые реализуют дополнительные адаптеры и позволяют использовать службы напрямую из приложения. Ознакомьтесь с документацией по API хранилища данных, кэша памяти, получения данных по URL, почты, изображений и аккаунтов Google.

Обычно, чтобы разработать веб-приложения для JVM, Java-разработчики используют язык программирования Java и API. Используя совместимые с JVM компиляторы и интерпретаторы, можно разрабатывать веб-приложения на других языках, таких как JavaScript, Ruby и Scala.

Благодаря среде выполнения Python App Engine можно создавать приложения с помощью языка программирования Python и выполнять их с помощью оптимизированного интерпретатора Python. App Engine включает разнообразные API и инструменты для разработки веб-приложений Python, в том числе API моделирования обогащенных данных, простую в использовании инфраструктуру веб-приложений и инструменты для управления и доступа к данным приложения. Для разработки веб-приложений Python можно воспользоваться преимуществами широкого набора библиотек и инфраструктур, например Django.

Среда выполнения Python использует Python версии 2.5.2. Для будущего выпуска рассматривается возможность поддержки Python 3.

Среда Python содержит стандартную библиотеку Python. Естественно, не все функции библиотеки можно использовать в тестовой среде. Например, при вызове метода, открывающего сокет или записывающего в файл, возникнет исключение. Для удобства отключены несколько модулей стандартной библиотеки, ключевые функции которых не поддерживаются средой выполнения. Выполнение импортирующего их кода приводит к ошибке.

Код приложения, созданный для среды Python, должен быть написан исключительно на Python. Расширения, написанные на языке C, не поддерживаются.

Среда Python предоставляет мощные API Python для служб хранилища данных, аккаунтов Google, получения URL и электронной почты. App Engine также предоставляет простую инфраструктуру веб-приложения Python под названием webapp, которая облегчает создание приложений.

Вместе с приложением можно загружать сторонние библиотеки, но они должны быть реализованы на чистом Python и не должны требовать неподдерживаемых модулей стандартной библиотеки.

App Engine предоставляет мощную службу распределенного хранения данных, включающую механизм запросов и транзакции. Расширение распределенной базы данных за счет данных аналогично расширению распределенного веб-сервера за счет трафика.

Хранилище данных App Engine не похоже на обычную реляционную базу данных. Объекты данных, или "записи", имеют вид и обладают набором свойств. С помощью запросов можно получать записи определенного вида, отфильтрованные и отсортированные по значениям свойств. Значения свойств могут быть любыми из поддерживаемых типов значений свойств.

Для объектов хранилища данных не требуется схема. Структура объектов данных определяется в коде приложения. Интерфейсы JDO/JPA Java и хранилища данных Python включают функции для применения структуры в приложении. Приложение может получить прямой доступ к хранилищу данных, чтобы реализовать нужную часть структуры.

Хранилище данных согласованно и использует оптимистическое управление параллельными транзакциями. Обновление записи происходит в транзакции, которая выполняется повторно определенное количество раз, если другие процессы одновременно пытаются обновить ту же запись. Приложение может выполнять несколько операций с хранилищем данных в одной транзакции. Эти операции либо все будут успешны, либо все будут неудачны, что обеспечивает целостность данных.

Хранилище данных реализует транзакции в своей распределенной сети с помощью "групп записей". Транзакция осуществляет действия над записями в одной группе. Записи каждой из групп хранятся вместе для эффективного выполнения транзакций. При создании записей приложение может присоединять их к группам .

App Engine поддерживает интеграцию приложения с аккаунтами Google для аутентификации пользователей. Ваше приложение может позволить пользователю войти в свой аккаунт Google и получить доступ к адресу электронной почты и отображаемому имени, связанным с аккаунтом. Использование аккаунтов Google дает пользователю возможность быстрее начать использовать ваше приложение, поскольку ему не придется создавать новый аккаунт. Это также снимает с вас необходимость реализовывать систему аккаунтов пользователей только для своего приложения.

Если приложение работает в Службах Google, оно может использовать те же функции для участников вашей организации и аккаунтов Служб Google.

API пользователей может также сказать приложению, является ли текущий пользователь зарегистрированным администратором приложения. Это упрощает реализацию административных зон сайта.

App Engine предоставляет набор служб, позволяющих выполнять рядовые операции при управлении приложением. Для доступа к этим службам предоставлены следующие API.

Приложения могут получать доступ к ресурсам в Интернете, например к веб-службам или другим данным, с помощью службы получения URL App Engine. Служба получения данных по URL обеспечивает получение веб-ресурсов посредством той же высокоскоростной инфраструктуры Google, которая получает веб-страницы для многих других продуктов Google.

< Лекция 10 || Лекция 11: 12345
Нияз Сабиров
Нияз Сабиров

Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей.

Елена Сапегова
Елена Сапегова

для получения диплома нужно ли кроме теоретической части еще и практическую делать? написание самого диплома требуется?

Владислав Ветошкин
Владислав Ветошкин
Россия, Ижевск, Ижевский государственный технический университет имени А.Т. Калашникова, 2011
Саламат Исахан
Саламат Исахан
Россия, Turkistan