XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений

Страница создана Даниил Русанов
 
ПРОДОЛЖИТЬ ЧТЕНИЕ
XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений
XPages – новый инструмент для разработки
приложений Web 2.0

Способы модернизации существующих приложений

             Анатолий Киреев | Lotus Software IT specialist
XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений
План презентации

•   Несколько слов об Xpages

•   Обновление «старых» приложений

•   Новые возможности в Designer 8.5.2
XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений
План презентации

•   Несколько слов об XPages

•   Обновление «старых» приложений

•   Новые возможности в Designer 8.5.2
XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений
Что такое XPage?

•   Выдержка из анонса
    • Для целей веб-разработки в Domino Designer 8.5 был представлен
      новый элемент дизайна, называемый Xpage. Этот элемент дизайна
      революционно меняет подход к разработке современных веб-
      приложений в Lotus Domino. Разработчики могут использовать все
      возможности HTML, XML, CSS и JavaScript для создания новых и
      модернизации существующих приложений.
XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений
Веб-приложение – как это было раньше
XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений
Веб-приложение – как оно выглядит теперь

                                  Встроенный редактор
                                   использует AJAX и
                                         Dojo

                                      Содержимое
                                  документов вынесено
                                    на уровень вида
XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений
Xpages – инструмент для Web 2.0

•   Визуальная разработка
    • перетаскивание элементов
    • Быстрый доступ к свойствам
•   Создан на базе JSF
•   Поддержка AJAX
    • частичное обновление любого
      элемента
    • предиктивный ввод
•   В комплект входит Dojo
    • Доступ к библиотеке
      компонентов Dojo (редактор
      форматированного текста,
      селектор даты/времени и т.п.)
XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений
Базовые технологии

•   HTML
•   XML
•   CSS (Cascading Style Sheets)
•   JavaScript
•   @Formulas
•   Java
•   AJAX (Asynchronous JavaScript and XML)
•   Dojo Toolkit (JavaScript tools)
•   JSF (JavaServer Faces)
XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений
XPage

•   Чистый XML
•   Не используются JSP тэги
•   Возможность работы с XML
    кодом
•   Любые свойства элементов
    могут быть вычисляемыми
XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений
Разработка систем промышленного уровня

•   Расширяемая архитектура
    • Custom Controls
    • Возможность использования Java кода и внешних библиотек
•   Расширенный доступ к данным
    • Доступ к более чем одной NSF из Xpage
    • Отображение нескольких документов/видов на странице
•   Встроенная поддержка локализации и интернационализации
Что такое XPage?

•   Новый элемент дизайна Domino
    • Полностью интегрированный в Domino Designer 8.5.2
    • Снимает старые ограничения при разработке веб-приложений
•   Среда для создания современных приложений
•   Поддержка разных клиентских платформ
•   Чистый XML, описывающий элементы управления, бизнес логику и
    источники данных
План презентации

•   Несколько слов об XPages

•   Обновление «старых» приложений

•   Новые возможности в Designer 8.5.2
Проанализируйте своё приложение

• Каков объём кода, отвечающего за интерфейс?
                     − События полей
                     − Hide When формулы
• Какие формы используют “Refresh field on keyword change”?
• Используется ли шифрование в вашем приложении?
• Используется ли и как используется Rich Text?
Пример отчёта (DXL Magic)*

FORM Quotation Field Count: 1932

                  *Отчеты доступны на OpenNTF
Сравнение платформ

                 IBM Lotus®      Classic Lotus    XPages
                 Notes® Client   Domino® web      application
                 Application     Application
Сессии           постоянные      таймаут          таймаут
Состояние        Полная          нет              частично
                 информация
Программировани LotusScript      LotusScript®     JavaScript
е               JavaScript       JavaScript       Java™
                                 Java™
Интерфейс        RichText        HTML             HTML / Dojo
                                 транслированны
                                 й из RichText
Поддержка        полная          слабая           частичная
RichText
Сравнение платформ

                Notes Client    Classic Domino    XPages
                Application     web Application   application
 Обновление     Любое           Общее             Общее /
                                                  частичное
 Шифрование /   Да              Нет               Обсуждается
 Подпись
 Расположение   Свободное,     Свободное          Свободное
 элементов      обычно 2                          Рекомендую
                фрейма, форма                     OneUI
                — полный экран
 Секции         Стандартные &   Стандартные       Стандартные
                С контролем                       (ACL
                доступа                           обсуждается)
 Hide when      По абзацам      По абзацам +      Нет
                                HTML DOM
Главные вопросы

• Последовательность изменений
      ●
        Виды
     ●
        Простые формы
     ●
        Сложные формы
• Какой внешний вид выбрать?
     ●
       Перенос 1:1
     ●
       OneUI
• Новый корпоративный стиль
• Хороший шанс “подчистить хвосты”
“Взаимозаменяемые” элементы

•   Виды (включая категоризованные)
•   Action Bars
•   Формы
•   Возможность создания и редактирования документов
•   Навигаторы
•   Секции
•   Поиск
•   Бизнес логика на основе LotusScript или Java™
Виды

●
    Три возможности в xPages
        ▬
            View Control (самый простой вариант)
        ▬
            Data Table Control (более гибкий вариант в сравнении с View
               Control)
        ▬
            Repeat Control (создаются вручную, максимальная гибкость)
Виды

●
    Для простых видов используйте view control
●
    Repeat Control для сложных ситуаций
        ▬
            Несколько строк вида
        ▬
            Вывод RichText
        ▬
            Полный контроль
●
    Категоризованые виды
        ▬
            Проще всего использовать “View Control”
        ▬
            View control сам покажет “twistie” для колонок категорий
        ▬
            Категория читается напрямую из дизайна вида
●
    Встроенные виды с фильтром по категории
        ▬
            При настройке источника данных можно использовать свойство
              “categoryFilter”
Постраничный вывод

●   Domino использует формулы для перелистывания

●   В XPages при использовании View Control постраничный вывод
      работает автоматически

      ●   Repeat Controls требуют
            небольшой настройки
Панель действий

●   В Domino была фиксированная Панель действий с возможностью
    произвольного добавления кнопок

●   В XPages есть кнопки, которые можно разместить в любом месте.
Формы

●   Существующие формы используются как схема данных
●   Значения по умолчанию, вычисления
      продолжают работать
●   Подключаются к XPage через
●   “Data Source”
Секции

●
    В Lotus Notes есть секции двух типов
         ▬
             Стандартные
         ▬
             С контролем доступа
●
    В XPages есть Section Control
●
    Свойства – сходны с таковыми в Notes
●
    Можно сделать “контроль доступа” при помощи правила
      видимости
Поиск

●
    В Domino есть встроенные формы для поиска и вывода
      результатов, также разработчик может создать свои.
●
    В XPages существуют обе эти возможности
●
    Самый простой способ - добавить свойство “search” в источник
      данных для данной XPage
●
    Например, можно извлечь ключевое слово
      из URL - “param.searchValue”
●
    Необязательный параметр “searchMaxDocs”
      позволяет ограничить количество
      выводимых документов
Поиск

●
    Поле ввода должно быть связано переменной в памяти
Поиск

●
    Добавьте Link control для отправки запроса
●
    Можно использовать событие onClick для формирования адреса
      страницы с результатами и извлечения поискового ключа
●
    Пример вычисляемого URL:
                 ▬
                     “xpage.xsp?searchValue=" + viewScope.searchValue
Бизнес логика

●   Вся бизнес логика в ваших существующих приложениях скорее
      всего основана на Lotuscript и Java агентах
●   Стандартным языком для XPages является
      Server Side JavaScript (SSJS)
●   SSJS полностью поддерживает объектную модель Domino
●   Вы можете использовать @Formula но не LotusScript
Rich Text

 ●
     XPages упрощает работу с Rich Text
 ●
     Готовый к использованию Dojo Rich Text Control

 ●
     Автоматическая фильтрация XSS
Опережающий ввод

●
    Можно включить для любого поля
●
    При включении нужно указать вид Notes из которого будут
      подбираться варианты
Валидация значений

●   Настраивается для каждого поля
●   В самом общем случае просто проверяет заполненность поля и
       количество символов
Улучшенная валидация

●
    Более эффективным способом является использование
      “валидаторов”
●
    Можно добавить любое нужное число валидаторов
Валидация значений – вывод сообщений
пользователям
●
    Можно использовать “Display Error” control для определения
      места вывода сообщения об ошибке пользователям.
●
    Нужно просто перетащить этот control на страницу и связать его с
      полем которое имеет валидацию
Загрузка и выгрузка файлов

• Элемент не требует кодирования, нужно
    просто разместить на странице
• Следует указать в какое поле
    загружать файл
План презентации

•   Несколько слов об XPages

•   Обновление «старых» приложений

•   Новые возможности в Designer 8.5.2
Улучшения в Domino Designer 8.5.2

•   Запуск агентов из навигатора
•   Электронная подпись
    приложения
•   Новый HTML редактор для
    passthru HTML в формах и
    страницах
    Eclipse HTML editor
•   Новое окно открытия БД
•   Выбор языка
    программирования “по
    умолчанию”
8.5.2 App Dev Enhancements: Designer

•   Палитра данных
    • Изменение порядка полей
    • Распознавание типов данных
•   Перетаскивание новых
    элементов в режиме source
•   Новые контролы Check Box
    Group и Radio Button Group
    controls
•   Управление режимом
    открытия окон для Notes
    клиента
Учёт версии Domino Designer

•   С версии 5.0.1 в элементах дизайна сохранялся номер версии DD
    (поле $DesignerVersion
•   В 8.5.x это значение видно в свойствах любого элемента
•   Для XPages и Custom Controls, это поле указывает какая версия
    XPages требуется для работы данного элемента
Долгожданное изменение ...

•   Новые полноцветные
    иконки (gif, jpeg, bmp,
    or png)
Антолий Киреев           123317 Россия, Москва,
Технический специалист   Пресненская наб. 10,
ПО Lotus                 (корпус А - IBM)
                         Tel +7 495 775 8800
                         anatoly.kireev@ru.ibm.com
Вы также можете почитать