Помощь в написании студенческих работ
Антистрессовый сервис

Технологии построения распределенных приложений

РефератПомощь в написанииУзнать стоимостьмоей работы

Zope написан на портабельном языке Payton и работает во всех Unix системах и в Windows; основной формат базы данных ZODB — файл Data. fs — полностью независим от платформы и ОС), масштабируемость и распределенность. Исходя из распределенности пользователей, информации удобными средствами доступа могут быть средства Интернет. В настоящее время для создания Интеренет документов используется два… Читать ещё >

Технологии построения распределенных приложений (реферат, курсовая, диплом, контрольная)

Исходя из распределенности пользователей, информации удобными средствами доступа могут быть средства Интернет. В настоящее время для создания Интеренет документов используется два подхода:

  • · статическая генерация страниц (выполняется разработчиком документа);
  • · динамическая генерация страниц (выполняется программой).

С учетом того, что информация об успеваемости часто обновляется, целесообразным будет применение динамической генерации страниц.

В настоящее время в качестве средств динамической генерации страниц широко используется PHP и ZOPE:

  • · PHP — это скриптовый server-side язык программирования, предназначенный в основном для включения в html страницу и выполняемый сервером перед выдачей страницы браузеру. ;
  • · ZOPE — это сервер приложений, предназначенный для создания динамических web-приложений и интерактивных сайтов.

С целью выбора средства разработки рассмотрим указанные продукты более подробно.

Сервер Zope

Zope — это объектно-ориентированная платформа, сервер приложений, предназначенный для создания динамических web-приложений и интерактивных сайтов.

У выражения «объектно-ориентированный» здесь несколько сторон. Во-первых, Zope написан на языке Python, объектно-ориентированном языке со множественным наследованием.

Во-вторых, Zope построен вокруг идеи «публикации объектов» — URL, к которому обращается браузер, является ссылкой на объект (экземпляр класса), вызываемый на выполнение.

В-третьих, сами объекты (сериализованные экземпляры классов) хранятся в объектно-ориентированной базе данных ZODB.

Еще одно неотъемлемое свойство — модульность. Zope — это не цельный кусок софта, а богатый набор модулей, называемых компонентами.

Zope написан на портабельном языке Payton и работает во всех Unix системах и в Windows; основной формат базы данных ZODB — файл Data. fs — полностью независим от платформы и ОС), масштабируемость и распределенность.

Протоколы WWW (HTTP, CGI и т. д.) часто неадекватны задачам и могут делать публикацию динамических данных неоправданно сложной. Их низкий уровень недостаточен для непосредственного создания многих классов web-приложений на их основе.

Zope создает объектно-ориентированную оболочку вокруг этих низкоуровневых средств. С его помощью решение задачи происходит обычным путем — программист пишет набор иерархий классов, являющийся абстракцией предметной области, а Zope берет на себя труд по предоставлению доступа к экземплярам этих классов.

C Zope работают следующие категории пользователей:

  • · администратор хоста — компилирует и инсталлирует программы и дополнительные компоненты
  • · программист — пишет компоненты, то есть классы, на языке Python
  • · webмастер — расставляет эти компоненты (то есть экземпляры классов) на сайте, пользуясь менеджерским web-интерфейсом
  • · администратор сайта — заводит записи о пользователях, создает роли, ставит их в соответствии друг другу, назначает кому (какой роли) к каким объектам можно иметь доступ, и какой именно доступ (создание объекта, редактирование, удаление, просмотр и т. д.)
  • · Это, конечно, не обязательно разные люди — это роли. На маленьком сайте эти роли может выполнять один человек. Для больших сайтов Zope предоставляет механизмы делегирования полномочий администраторам участков сайтов, верстальщикам, редакторам.

Что дает Zope Программисту:

  • · механизм шаблонов (DTML)
  • · набор компонентов (ZODB, ZCatalog и прочие)
  • · API для создания своих компонентов
  • · API для доступа к Zope минуя www-интерфейс, прямо по HTTP и/или XML-RPC некоторые базовые компонентов (Zserver, ZPublisher, ZODB, DTML, Catalog) можно использовать вообще вне Zope, просто в программах на Python.

web-мастеру:

  • · механизм шаблонов (DTML)
  • · www-интерфейс для управления сайтом

администратору:

  • · www-интерфейс для управления сайтом простой, и в то же время мощный инструментарий для администрирования пользователей, прав и прочих механизмов безопасности
  • · Недостатки Zope:
  • · отсутствие хорошей документации и литературы
  • · недостаточная поддержка локалей: сортировка в цикле dtml-in осуществляется совершенно без учета локали, индексация и поиск в Catalog требует компонента Splitter.
  • · тяжело отлаживать питоновские компоненты — Zope надо перезапускать, чтобы он подхватил изменения в коде, а это неудобно и долго (секунд 20−30); Z-классы не имеют такого ограничения, но и возможностей у них поменьше
  • 1. Недостатки Zope в основном являются продолжением достоинств этой

платформы.

  • · сервер, все время сидит в памяти
  • · отсутствие возможности держать историю объектов в CVS
  • · язык программирования — Питон; для программирования обещано добавление PerlMethods и может быть других языков
  • · сам написан на Питоне, у которого есть свои собственные недостатки. Например, глобальный lock для всех нитей. Это значит, что Питон (и соответственно Zope) не смогут извлечь все преимущества многопроцессорной машины
  • · Некоторые особенности имеют отдельные компоненты Zope.
  • o не рекомендуется хранить много объектов в одной папке — поиск
  • o Сессии реализованы отложенными транзакциями; в результате объект, редактируемый в Версии, запирается в ней, и его нельзя редактировать ни вне Версии, ни тем более в другой Версии.
Показать весь текст
Заполнить форму текущей работой