A user-friendly,dinamic web enviroment for remote data browsing and analysis of multiparametric geophysical data with MULTIMO project / Дружелюбная к пользователю, динамическая вэб среда для удаленного доступа и анализа многопараметрических геофизических данных в проекте : 5. The web interface
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Одной из главных целей было гарантировать доступ к данным из любой точки мира (конечно опираясь на предоставляемые права доступа). wuffur 22.07.09 в 20:14 |
|
|
Хотя архитектура приложения клиент-сервер могла бы быть сделана со специализированным протоколом, это решение требовало бы установку специфического клиента на каждый компьютер используемый для доступа к данным. wuffur 22.07.09 в 20:17 |
||
|
Это могло бы требовать специфической операционной системы, и было бы очень сложно поддерживать все клиенты обновленными, когда усовершенствуется функциональность системы. wuffur 22.07.09 в 20:21 |
||
|
Поэтому мы решили принять за клиент нормальный браузер, и создать настоящий сетевой портал, куда исследователи смогли бы направляться, имея возможность управлять всеми данными доступными в нашей системе. wuffur 22.07.09 в 20:23 |
||
|
Чтобы это сделать, статические сетевые страницы полностью находятся вне рамок вопроса, и простые Джава апплеты, запущенные на клиенте, слишком ограничены для наших целей. wuffur 22.07.09 в 21:10 |
||
|
Кроме того, они могли бы заставить использовать Джаву, как язык программирования, которые мог не быть оптимальным выбором. Поэтому, в самом начале проекта нам было абсолютно ясно , что нам понадобится динамический сетевой подход. wuffur 22.07.09 в 21:14 |
||
|
Динамический сетевой подход - это когда сетевые страницы создаются динамически в зависимости от запросов клиента. Сервер сетевых приложений заполняет(генерирует) страницу используя инструменты и программы, которые извлекают соответствующую информацию из контекста и/или из базы данных. wuffur 22.07.09 в 21:17 |
||
|
Таким образом мы можем всегда использовать один шаблон страницы и процедуры, которые обрабатывают различную информацию для различных запросов клиента. Кроме того, мы также можем прозрачно запустить некоторые скрытые программы исполняемые на сервере, для вывода запрошенной информации. wuffur 22.07.09 в 21:21 |
||
|
Существует несколько доступных Open Source сетевых приложений. Мы можем использовать, например ,OpenCMS (основанный на язызке Java) (OpenCMS, 2004), wuffur 22.07.09 в 21:23 |
||
|
OpenCMS - один из наиболее часто используемых инструментов, но он весьма ограничен с точки зрения расширения точки зрения. PHPNuke - другой широко используемый сервер приложений, он весьма прост и поэтому не очень подходит для больших многоцелевых сайтов. wuffur 22.07.09 в 21:32 |
||
|
Мы посчитали, что оптимальным Open Source решением будет писать его на Zope. Zope (Latteier and Pelletier, 2001) - это коммерческий уровень сетевых приложений и наиболее важно то, что он легко расширяется. wuffur 22.07.09 в 21:33 |
||
|
Страницы создаются динамически и существует много доступных компонентов (продуктов), для того чтобы это расширить. Также он включает свою собственную базу данных, он также предоставляет очень простой способ доступа к внешним высокопроизводительным базам данных. wuffur 22.07.09 в 21:36 |
||
|
Однако было бы весьма тяжело все разрабатывать только с Zope, , особенно когда нам приходится подготавливать динамические страницы, для которых мы хотим поддерживать полное разделение, между логикой и представлением ,или когда создаем новые настраиваемые продукты. wuffur 22.07.09 в 21:39 |
||
|
Снова, мы нашли полностью удовлетворяющие решение - Zope продукт называемый Plone(Plone ,2004) , которые мы может считать главным добавлением функциональности к хранилищу данных, их возврата и, в особенности, системы представления. wuffur 23.07.09 в 07:11 |
||
|
Рисунок 5 показывает схематический обзор потока данных, управляемых сервером приложений. wuffur 23.07.09 в 07:11 |
||
|
Plone, так как он является обычным Zope продуктом ,устанавливается поверх сервера приложений Zope. wuffur 23.07.09 в 07:13 |
||
|
Plone использует не только все возможности, которые предоставляет движок Zope, но и расширяет их, предоставляя однородный сетевой интерфейс и базу откуда извлекаются, расширяются и разрабатываются новые возможности простым путем. wuffur 23.07.09 в 07:15 |
||
|
Новый продукт сделан, чтобы использоваться внутри Plone и рассматривается как "Объект Класса", с его "Функциями класса" и "Атрибутами класса", написанными на Python. wuffur 23.07.09 в 07:17 |
||
|
Как только код добавляется в новый класс Plone названный "Контекстом", "Функции класса" становятся "Методами Контекста" и "Атрибуты Класса" становятся "Атрибутами Контекста". wuffur 23.07.09 в 07:18 |
||
|
Таким образом, двигая по развличным "содержимым" мы можем иметь доступ и использовать атрибуты и функции определенные на них. wuffur 23.07.09 в 07:19 |
||
|
Только когда полный список файлов данных запрошен , запрос в базу данных исполняется, чтобы получения данных [рисунок 6a,b]. wuffur 23.07.09 в 07:20 |
||
|
Во всех предыдущих запросах информация выводится и возвращается из реального контекста. wuffur 23.07.09 в 07:22 |
