Готовый перевод A user-friendly,dinamic web enviroment for remote data browsing and analysis of multiparametric geophysical data with MULTIMO project / Дружелюбная к пользователю, динамическая вэб среда для удаленного доступа и анализа многопараметрических геофизических данных в проекте : 5. The web interface

Одной из главных целей было гарантировать доступ к данным из любой точки мира (конечно опираясь на предоставляемые права доступа).

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

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

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

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

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

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

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

Существует несколько доступных Open Source сетевых приложений. Мы можем использовать, например ,OpenCMS (основанный на язызке Java) (OpenCMS, 2004),
PHPNuke (основанный на язызке PHP)(PHPNuke, 2004) или
Zope/Plone ( основанный на язызке Python )(Zope, 2004;
Plone, 2004).

OpenCMS - один из наиболее часто используемых инструментов, но он весьма ограничен с точки зрения расширения точки зрения. PHPNuke - другой широко используемый сервер приложений, он весьма прост и поэтому не очень подходит для больших многоцелевых сайтов.

Мы посчитали, что оптимальным Open Source решением будет писать его на Zope. Zope (Latteier and Pelletier, 2001) - это коммерческий уровень сетевых приложений и наиболее важно то, что он легко расширяется.

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

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

Снова, мы нашли полностью удовлетворяющие решение - Zope продукт называемый Plone(Plone ,2004) , которые мы может считать главным добавлением функциональности к хранилищу данных, их возврата и, в особенности, системы представления.

Рисунок 5 показывает схематический обзор потока данных, управляемых сервером приложений.

Plone, так как он является обычным Zope продуктом ,устанавливается поверх сервера приложений Zope.

Plone использует не только все возможности, которые предоставляет движок Zope, но и расширяет их, предоставляя однородный сетевой интерфейс и базу откуда извлекаются, расширяются и разрабатываются новые возможности простым путем.

Новый продукт сделан, чтобы использоваться внутри Plone и рассматривается как "Объект Класса", с его "Функциями класса" и "Атрибутами класса", написанными на Python.

Как только код добавляется в новый класс Plone названный "Контекстом", "Функции класса" становятся "Методами Контекста" и "Атрибуты Класса" становятся "Атрибутами Контекста".

Таким образом, двигая по развличным "содержимым" мы можем иметь доступ и использовать атрибуты и функции определенные на них.

Только когда полный список файлов данных запрошен , запрос в базу данных исполняется, чтобы получения данных [рисунок 6a,b].

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

Переведено на Нотабеноиде
http://notabenoid.org/book/3427/10799

Переводчики: wuffur

Настройки

Готово:

100.00% КП = 1.0