XPages – новый инструмент для разработки приложений Web...
Transcript of XPages – новый инструмент для разработки приложений Web...
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)*
*Отчеты доступны на OpenNTF
FORM Quotation Field Count: 1932
Сравнение платформ
IBM Lotus® Notes® Client Application
Classic Lotus Domino® web Application
XPages application
Сессии постоянные таймаут таймаут
Состояние Полная информация
нет частично
Программирование
LotusScriptJavaScript
LotusScript®JavaScriptJava™
JavaScriptJava™
Интерфейс RichText HTML транслированный из RichText
HTML / Dojo
Поддержка RichText
полная слабая частичная
Сравнение платформ
Notes Client Application
Classic Domino web Application
XPages 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)
Антолий КиреевТехнический специалистПО Lotus
123317 Россия, Москва, Пресненская наб. 10,(корпус А - IBM)
Tel +7 495 775 [email protected]