Ri-Design
ratem.ru


Компания 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 документ из базы данных, не ставит времени создания страницы.
  • Непонятные URL
Лучше всего об этом сказано у Артемия Лебедева. Возможные решения проблемы либо сложны в реализации, либо ущербны.


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 дизайн
Структура данных БД, все функции, реализуемые с помощью встроеннных средств Lotus Domino/Notes.
  • Программирование
    • Вывод на экран браузера
В зависимости от выбранных методов может выполняться комбинацией Lotus и традиционных средств, в зависимости от конкретных условий акцент может смещаться в ту, или иную сторону.
    • Агенты на сервере и почта
В отличие от предыдущего пункта, функции, исполняемые на сервере желательно реализовать без использования сторонних средств, так как теряется преимущество кроссплатформенности Lotus Domino. С другой стороны, за счет высокой интеграции системы разработка функциональной части штатными средствами Lodtus Domino зачастую сродни конструктору.
  • Ввод данных
В случаях необходимости внесения в систему большого объема данных этот процесс возможен
  • Тестирование
Из того, что каждая из частей работает правильно, совсем не следует, что все в целом работоспособно. Иными словами, тестирование на каждом этапе реализации, вполоть до передачи заказчику сокращает время и затраты.


5. Web дизайн
  • Оформление
    • Цветовое и шрифтовое решение
Исходя из задач, стоящих перед сайтом необходимо соответствующим образом подобрать цветовые и стилевые решения для страниц сайта. Lotus Domino не имеет ограничений возможностям представления содержимого баз данных но требует понимания механизмов реализации того или иного элемента, запланированного дизайнером.
    • Обязательные элементы (баннеры, кнопки)
при разработке необходимо уделять особое внимание элементам, являющимися ссылками и action hotspot'ами.
  • Стандарты на выводимую информацию
Независимо от рода отображаемой информации
  • Эргономика WWW
Внешний вид сайта должен рассматриваться разработчиком как равноценный интерфейс, равный по возможностям интерфейсу Lotus Notes. Пользователь должен иметь удобный и интуитивно понятный способ взаимодействовать с базой данных.


6. Lotus дизайн
  • Эргономика Lotus
В отличие от посетителя сервера , который заинтересован в нужной информации сотрудник, занятый в процессе сопровождения сервера, должен максимально быстро и безошибочно разместить информацию.
  • Виды, кнопки, панели навигаторы
  • Система подсказок.
Чем подробнее и полнее система подсказок, тем реже разработчикам придется объяснять операторам как сделать то или иное действие, или восстанавливать целостность системы после неправильных действий.


7. Программирование
  • Программирование форм
Прежде чем программироватьь формы разработчик должен иметь четкое представление о том, какие поля, несущие информацию об объекте должны присутствовать в форме, а также, как она должна выглядеть в каждом из реализуемых интерфейсов.
  • Подпрограммы вывода на экран
Старайтесь избегать прямого формирования страниц вывода на экран агентами. Как правило, результат работы агента можно поместить в документ, который, в свою очередь "отдать" брауеру.
  • Совместимость с IE и NN
Самизнаетекто и его коллеги перья стерли, говоря об стандартах. При разработке веб-интерфейса для баз данных, а таккже сайтов на Lotus Domino необходимо иметь ввиду, что не все, что генерируется сервером можно использовать без модификации.
  • Оптимизация графики
    • Снижение “веса”
    • “Безопасные цвета”
  • Построение индексов
При обработке информации из видов имеет смысл создавать индексы, например, в документах базы. Это дает чущественный рост производительности и применимо в случаях, когда информация в виде обновляется с достаточно большим интервалом.
  • Почтовые сервисы
  • Агенты
  • Тестирование

8. Ввод данных
  • Стандарты на вводимые данные
  • Подсказки в окнах ввода
  • Удобный и понятный интерфейс

9. Тестирование
  • Тестирование дизайна
    • Internet Explorer
    • Netscape Navigator
    • 256 цветов
  • Тестирование данных
  • Тестирование агентов

10. Производительность
  • @-формулы, Lotus Script, Java
  • Построение индексов
  • Работа агентов на другом сервере
  • Рассылка почты с Mail сервера
  • Кластеры
  • Вынос WWW сервера на внешнюю площадку

Студия Ri-Design
design@ratem.ru