xpages – новый инструмент для разработки приложений web...

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

Upload: others

Post on 09-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

XPages – новый инструмент для разработки приложений Web 2.0

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

Анатолий Киреев | Lotus Software IT specialist

Page 2: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

План презентации

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

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

• Новые возможности в Designer 8.5.2

Page 3: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

План презентации

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

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

• Новые возможности в Designer 8.5.2

Page 4: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Что такое XPage?

• Выдержка из анонса• Для целей веб-разработки в Domino Designer 8.5 был представлен

новый элемент дизайна, называемый Xpage. Этот элемент дизайна революционно меняет подход к разработке современных веб-приложений в Lotus Domino. Разработчики могут использовать все возможности HTML, XML, CSS и JavaScript для создания новых и модернизации существующих приложений.

Page 5: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Веб-приложение – как это было раньше

Page 6: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Веб-приложение – как оно выглядит теперь

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

Dojo

Содержимоедокументов вынесено

на уровень вида

Page 7: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Xpages – инструмент для Web 2.0

• Визуальная разработка• перетаскивание элементов• Быстрый доступ к свойствам

• Создан на базе JSF• Поддержка AJAX

• частичное обновление любого элемента

• предиктивный ввод

• В комплект входит Dojo• Доступ к библиотеке

компонентов Dojo (редактор форматированного текста, селектор даты/времени и т.п.)

Page 8: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Базовые технологии

• HTML• XML• CSS (Cascading Style Sheets)• JavaScript• @Formulas• Java• AJAX (Asynchronous JavaScript and XML)• Dojo Toolkit (JavaScript tools)• JSF (JavaServer Faces)

Page 9: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

XPage

• Чистый XML• Не используются JSP тэги• Возможность работы с XML

кодом• Любые свойства элементов

могут быть вычисляемыми

Page 10: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Разработка систем промышленного уровня

• Расширяемая архитектура• Custom Controls• Возможность использования Java кода и внешних библиотек

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

• Встроенная поддержка локализации и интернационализации

Page 11: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Что такое XPage?

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

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

источники данных

Page 12: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

План презентации

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

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

• Новые возможности в Designer 8.5.2

Page 13: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Проанализируйте своё приложение

• Каков объём кода, отвечающего за интерфейс?− События полей− Hide When формулы

• Какие формы используют “Refresh field on keyword change”?• Используется ли шифрование в вашем приложении?• Используется ли и как используется Rich Text?

Page 14: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Пример отчёта (DXL Magic)*

*Отчеты доступны на OpenNTF

FORM Quotation Field Count: 1932

Page 15: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Сравнение платформ

IBM Lotus® Notes® Client Application

Classic Lotus Domino® web Application

XPages application

Сессии постоянные таймаут таймаут

Состояние Полная информация

нет частично

Программирование

LotusScriptJavaScript

LotusScript®JavaScriptJava™

JavaScriptJava™

Интерфейс RichText HTML транслированный из RichText

HTML / Dojo

Поддержка RichText

полная слабая частичная

Page 16: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Сравнение платформ

Notes Client Application

Classic Domino web Application

XPages application

Обновление Любое Общее Общее / частичное

Шифрование / Подпись

Да Нет Обсуждается

Расположение элементов

Свободное, обычно 2 фрейма, форма — полный экран

Свободное СвободноеРекомендую OneUI

Секции Стандартные &С контролем доступа

Стандартные Стандартные (ACL обсуждается)

Hide when По абзацам По абзацам + HTML DOM

Нет

Page 17: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Главные вопросы

• Последовательность изменений● Виды● Простые формы● Сложные формы

• Какой внешний вид выбрать?● Перенос 1:1● OneUI

• Новый корпоративный стиль

• Хороший шанс “подчистить хвосты”

Page 18: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

“Взаимозаменяемые” элементы

• Виды (включая категоризованные)

• Action Bars

• Формы

• Возможность создания и редактирования документов

• Навигаторы

• Секции

• Поиск

• Бизнес логика на основе LotusScript или Java™

Page 19: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Виды

● Три возможности в xPages▬ View Control (самый простой вариант)▬ Data Table Control (более гибкий вариант в сравнении с View

Control)▬ Repeat Control (создаются вручную, максимальная гибкость)

Page 20: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Виды

● Для простых видов используйте view control● Repeat Control для сложных ситуаций

▬ Несколько строк вида▬ Вывод RichText▬ Полный контроль

● Категоризованые виды▬ Проще всего использовать “View Control”▬ View control сам покажет “twistie” для колонок категорий▬ Категория читается напрямую из дизайна вида

● Встроенные виды с фильтром по категории▬ При настройке источника данных можно использовать свойство

“categoryFilter”

Page 21: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Постраничный вывод

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

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

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

Page 22: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Панель действий

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

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

Page 23: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Формы

● Существующие формы используются как схема данных● Значения по умолчанию, вычисления

продолжают работать● Подключаются к XPage через● “Data Source”

Page 24: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

● В Lotus Notes есть секции двух типов▬ Стандартные▬ С контролем доступа

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

видимости

Секции

Page 25: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Поиск

● В Domino есть встроенные формы для поиска и вывода результатов, также разработчик может создать свои.

● В XPages существуют обе эти возможности● Самый простой способ - добавить свойство “search” в источник

данных для данной XPage● Например, можно извлечь ключевое слово

из URL - “param.searchValue”● Необязательный параметр “searchMaxDocs”

позволяет ограничить количествовыводимых документов

Page 26: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Поиск

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

Page 27: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Поиск

● Добавьте Link control для отправки запроса● Можно использовать событие onClick для формирования адреса

страницы с результатами и извлечения поискового ключа● Пример вычисляемого URL:

▬ “xpage.xsp?searchValue=" + viewScope.searchValue

Page 28: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Бизнес логика

● Вся бизнес логика в ваших существующих приложениях скорее всего основана на Lotuscript и Java агентах

● Стандартным языком для XPages являетсяServer Side JavaScript (SSJS)

● SSJS полностью поддерживает объектную модель Domino● Вы можете использовать @Formula но не LotusScript

Page 29: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Rich Text

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

● Автоматическая фильтрация XSS

Page 30: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Опережающий ввод

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

подбираться варианты

Page 31: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Валидация значений

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

количество символов

Page 32: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Улучшенная валидация

● Более эффективным способом является использование “валидаторов”

● Можно добавить любое нужное число валидаторов

Page 33: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Валидация значений – вывод сообщений пользователям

● Можно использовать “Display Error” control для определения места вывода сообщения об ошибке пользователям.

● Нужно просто перетащить этот control на страницу и связать его с полем которое имеет валидацию

Page 34: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Загрузка и выгрузка файлов

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

• Следует указать в какое полезагружать файл

Page 35: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

План презентации

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

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

• Новые возможности в Designer 8.5.2

Page 36: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Улучшения в Domino Designer 8.5.2

• Запуск агентов из навигатора• Электронная подпись

приложения• Новый HTML редактор для

passthru HTML в формах и страницахEclipse HTML editor

• Новое окно открытия БД• Выбор языка

программирования “по умолчанию”

Page 37: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

8.5.2 App Dev Enhancements: Designer

• Палитра данных• Изменение порядка полей• Распознавание типов данных

• Перетаскивание новых элементов в режиме source

• Новые контролы Check Box Group и Radio Button Group controls

• Управление режимом открытия окон для Notes клиента

Page 38: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Учёт версии Domino Designer

• С версии 5.0.1 в элементах дизайна сохранялся номер версии DD (поле $DesignerVersion

• В 8.5.x это значение видно в свойствах любого элемента

• Для XPages и Custom Controls, это поле указывает какая версия XPages требуется для работы данного элемента

Page 39: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Долгожданное изменение ...

• Новые полноцветныеиконки (gif, jpeg, bmp,or png)

Page 40: XPages – новый инструмент для разработки приложений Web 2 · XPages application Сессии постоянные таймаут таймаут

Антолий КиреевТехнический специалистПО Lotus

123317 Россия, Москва, Пресненская наб. 10,(корпус А - IBM)

Tel +7 495 775 [email protected]