XPages - новый инструмент для разработки приложений Web 2.0 - Способы модернизации существующих приложений
←
→
Транскрипция содержимого страницы
Если ваш браузер не отображает страницу правильно, пожалуйста, читайте содержимое страницы ниже
XPages – новый инструмент для разработки приложений Web 2.0 Способы модернизации существующих приложений Анатолий Киреев | Lotus Software IT specialist
План презентации • Несколько слов об Xpages • Обновление «старых» приложений • Новые возможности в Designer 8.5.2
План презентации • Несколько слов об XPages • Обновление «старых» приложений • Новые возможности в Designer 8.5.2
Что такое XPage? • Выдержка из анонса • Для целей веб-разработки в Domino Designer 8.5 был представлен новый элемент дизайна, называемый Xpage. Этот элемент дизайна революционно меняет подход к разработке современных веб- приложений в Lotus Domino. Разработчики могут использовать все возможности HTML, XML, CSS и JavaScript для создания новых и модернизации существующих приложений.
Веб-приложение – как оно выглядит теперь Встроенный редактор использует AJAX и Dojo Содержимое документов вынесено на уровень вида
Xpages – инструмент для Web 2.0 • Визуальная разработка • перетаскивание элементов • Быстрый доступ к свойствам • Создан на базе JSF • Поддержка AJAX • частичное обновление любого элемента • предиктивный ввод • В комплект входит Dojo • Доступ к библиотеке компонентов Dojo (редактор форматированного текста, селектор даты/времени и т.п.)
Базовые технологии • HTML • XML • CSS (Cascading Style Sheets) • JavaScript • @Formulas • Java • AJAX (Asynchronous JavaScript and XML) • Dojo Toolkit (JavaScript tools) • JSF (JavaServer Faces)
XPage • Чистый XML • Не используются JSP тэги • Возможность работы с XML кодом • Любые свойства элементов могут быть вычисляемыми
Разработка систем промышленного уровня • Расширяемая архитектура • 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
Вы также можете почитать