
Компания Ri-Design О компании Технология RD Технология Domino Консультации Тезисы доклада на конференции Наши работы Российские сайты на Domino
|
 |
 |
 |

Тезисы доклада на конференции
По многочисленным просьбам я выкладываю на сайте тезисы своего доклада на Форуме разработчиков и администраторов Lotus Notes 20 апреля 2001г.
Технология разработки WWW проектов на основе DOMINO
1. Domino vs Apache
Поскольку на сегодняшний день Apache является самым распространенным веб-сервером, именно он рассматривается в качестве альтернативного варианта.
Достоинства - Низкая стоимость поддержки сайта
Нет необходимости в HTML верстальщике, в штате достаточно содержать операторов с низкой квалифицированных, знакомых только с MS Word.
Все объекты могут размещаться на сайте путем механического копирования.- Масштабируемость
- Распределение нагрузки и данных
Кластеризация, позволяющая распределять нагрузку между серверами, а также возможность использования различных операционных систем и аппаратных решений без изменений в самих базах данных позволяет успешно строить проекты любого объема. Также имеются возможности интеграции Lotus Domino с другими средами. За счет возможности разделения логики, содержания и внешнего вида сайта процесс его создания и сопровождения упрощается и занимает меньше времени.Наличие собственной мощной системы защиты существенно упрощает построение сайтов с зонами ограниченного доступа. | Недостатки Поскольку кроме WWW сервера, Lotus Domino является сервером баз данных, то требования к аппаратному обеспечению существенно выше.К сожалению, Lotus Domino текущей версии не может одновременно поддерживать несколько кодовых страниц.- Индексирование поисковыми машинами
Большинство поисковых машин ( Rambler, Yandex) не индексирует или индексирует не полностью сайты работающие под Lotus Domino. Это связано с тем, что Domino "отдавая" через HTTP документ из базы данных, не ставит времени создания страницы.Лучше всего об этом сказано у Артемия Лебедева. Возможные решения проблемы либо сложны в реализации, либо ущербны. |
2. А нужен ли Lotus?
Первым шагом в разработке WWW проекта является выбор платформы. Необходимо оценить целесообразность реализации сайта на базе Lotus Domino/Notes.
Необходимо оценить сроки и стоимость разработки версии с использованием Lotus Domino и альтернативных технологий. При этом надо учитывать не только стоимость разработки, но и стоимость владения. Сравнительно большие затраты на реализацию проекта под Lotus Domino могут быть с лихвой компенсированы низкой стоимостью владения.Стоимость владения проектом. Это понятие включает в себя затраты на обслуживание, техническую поддержку , ввод данных и.т.п. вещи Необходимо учитывать не только затраты рабочего времени, но и требуемые ресурсы. Учтите, что при использовании разных технологий может быть использовано различное количество людей с разной квалификацией, а следовательно, и с разной стоимостью часа работы.
На основании полученных оценок необходимо построить сравнительные графики стоимости проекта во времени. Например на 3 года вперед. И на основании этих данных можно принимать решение об использовании определенной технологии.
3. Планирование разработки
Итак,решение о разработке проекта на платформе LotusDomino принято. Теперь настала очередь принять ряд решений по разработке проекта- Механизмы вывода содержимого
Один из самых важных вопросов. Нужно просмотреть проект и принять решение, каким методом будет производится формирование HTML кода ( возможные варианты: Документы из БД, Lotus Script Агенты, Сервлеты, Файлы с жесткого диска, CGI скрипты, SSI и.т.д ) Чем меньше механизмов будет задействовано в проекте одновременно - тем лучше, и тем дешевле будет обходится поддержка. Идеальный вариант - использование одного метода. В своих последних разработках мы показываем только документы из баз данных.- Механизмы резервного копирования и восстановления после сбоев.
В случае, если основной сервер расположен на площадке провайдера, необходимо предусмотреть механизмы резервного копирования и восстановления данных.- Механизмы поддержки содержимого
Необходимо задаться вопросами о том, как будет осуществляться ввод и редактирование данных. Кто будет осуществлять ввод ( операторы, программы импорта из системы документооборота и т.п. ), а также контролировать порядок создания и изменения информации.- Система защиты от несанкционированного доступа
Какие разделы ресурса должны быть доступны только авторизованным пользователям, каков механизм регистрации авторизованных пользователей, уровни авторизации, возможность окончания авторизации пользователя и.т.д.- Механизмы обновления программ
Методы внесения изменений в логику сайта, его дизайн и.т.д.- Механизмы обновления дизайна
Необходимо придерживаться правила: "изменение графического дизайна по всему сайту должны производиться один раз и из одного места.". - Возможности дальнейшего расширения
Предусмотреть механизмы и возможности для дальнейшего роста проекта. Например, изменение и пополнение рубрикаторов, увеличение числа разделов сайта, дополнительная функциональность.- Интеграция с существующими БД.
Если Вы уже используете любые базы данных в свеой работе имеет смысл рассмотреть варианты связи проекта с ними. В Lotus Domino предусмотрена возможность интеграции с другими системами, например, реляционными БД.Перед началом эксплуатации система должна подвергнуться тестированию. Необходимо оценить качество реализации каждого типа интерфейса из запланированных, удостовериться в правильности настроек всех серверов, убедиться в непотопляемости баз данных в руках сотрудника, не имеющего ни малейшего представления о происходящем и т.п.
4. Разработка
Идеология Lotus Domino позволяет разделить работы над проектом проект на три составляющих, что, разумеется, возможно только при осуществлении планирования и контроля исполнения проекта в целом:- дизайн внешнего веб-интерфейса
Непосредственно графический дизайн, HTML-код,Java Script, а также иные выбранные технологии.Структура данных БД, все функции, реализуемые с помощью встроеннных средств Lotus Domino/Notes. В зависимости от выбранных методов может выполняться комбинацией Lotus и традиционных средств, в зависимости от конкретных условий акцент может смещаться в ту, или иную сторону.- Агенты на сервере и почта
В отличие от предыдущего пункта, функции, исполняемые на сервере желательно реализовать без использования сторонних средств, так как теряется преимущество кроссплатформенности Lotus Domino. С другой стороны, за счет высокой интеграции системы разработка функциональной части штатными средствами Lodtus Domino зачастую сродни конструктору.В случаях необходимости внесения в систему большого объема данных этот процесс возможен Из того, что каждая из частей работает правильно, совсем не следует, что все в целом работоспособно. Иными словами, тестирование на каждом этапе реализации, вполоть до передачи заказчику сокращает время и затраты.
5. Web дизайн- Оформление
- Цветовое и шрифтовое решение
Исходя из задач, стоящих перед сайтом необходимо соответствующим образом подобрать цветовые и стилевые решения для страниц сайта. Lotus Domino не имеет ограничений возможностям представления содержимого баз данных но требует понимания механизмов реализации того или иного элемента, запланированного дизайнером.- Обязательные элементы (баннеры, кнопки)
при разработке необходимо уделять особое внимание элементам, являющимися ссылками и action hotspot'ами.- Стандарты на выводимую информацию
Независимо от рода отображаемой информации Внешний вид сайта должен рассматриваться разработчиком как равноценный интерфейс, равный по возможностям интерфейсу Lotus Notes. Пользователь должен иметь удобный и интуитивно понятный способ взаимодействовать с базой данных.
6. Lotus дизайнВ отличие от посетителя сервера , который заинтересован в нужной информации сотрудник, занятый в процессе сопровождения сервера, должен максимально быстро и безошибочно разместить информацию.- Виды, кнопки, панели навигаторы
- Система подсказок.
Чем подробнее и полнее система подсказок, тем реже разработчикам придется объяснять операторам как сделать то или иное действие, или восстанавливать целостность системы после неправильных действий.
7. ПрограммированиеПрежде чем программироватьь формы разработчик должен иметь четкое представление о том, какие поля, несущие информацию об объекте должны присутствовать в форме, а также, как она должна выглядеть в каждом из реализуемых интерфейсов.- Подпрограммы вывода на экран
Старайтесь избегать прямого формирования страниц вывода на экран агентами. Как правило, результат работы агента можно поместить в документ, который, в свою очередь "отдать" брауеру. Самизнаетекто и его коллеги перья стерли, говоря об стандартах. При разработке веб-интерфейса для баз данных, а таккже сайтов на Lotus Domino необходимо иметь ввиду, что не все, что генерируется сервером можно использовать без модификации.- Оптимизация графики
- Снижение “веса”
- “Безопасные цвета”
- Построение индексов
При обработке информации из видов имеет смысл создавать индексы, например, в документах базы. Это дает чущественный рост производительности и применимо в случаях, когда информация в виде обновляется с достаточно большим интервалом.- Почтовые сервисы
- Агенты
- Тестирование
8. Ввод данных- Стандарты на вводимые данные
- Подсказки в окнах ввода
- Удобный и понятный интерфейс
9. Тестирование- Тестирование дизайна
- Internet Explorer
- Netscape Navigator
- 256 цветов
- Тестирование данных
- Тестирование агентов
10. Производительность- @-формулы, Lotus Script, Java
- Построение индексов
- Работа агентов на другом сервере
- Рассылка почты с Mail сервера
- Кластеры
- Вынос WWW сервера на внешнюю площадку
|