Технологии построения распределенных приложений
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 Сессии реализованы отложенными транзакциями; в результате объект, редактируемый в Версии, запирается в ней, и его нельзя редактировать ни вне Версии, ни тем более в другой Версии.