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

Post on 09-May-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 8800anatoly.kireev@ru.ibm.com

top related