IBM Workplace Managed Client (прежде, IBM Workplace Client Technology, Rich Edition) привносит функциональность совместной работы, управляемой сервером, на рабочий стол пользователя. Эта совместная работа "управляется" с сервера, на котором администратор принимает решение, какие приложения и содержимое подходят для каждого пользователя. Клиентское рабочее место управляется через предоставление ресурсов (provisioning), при котором компоненты приложения (например, подключаемые модули и функциональные возможности) загружаются на клиентскую машину с сервера администратора по требованию. Workplace Managed Client основан на Eclipse-архитектуре, которая служит интегрированной средой построения специализированных и расширяемых приложений.
IBM Workplace Managed Client Developer Toolkit - это инструментальная Eclipse-программа, предназначенная для разработчиков приложений, которые хотят расширить IBM Workplace Managed Client новыми приложениями. Существующий процесс создания новых приложений и развертывания их на сервере Workplace предназначен для корпоративной среды и, следовательно, несколько усложнен. В отличие от него инструментальная программа обеспечивает возможность создания и развертывания простого приложения, даже если вы не имеете предыдущего опыта работы с Workplace. Она предназначена для разработчиков, являющихся новичками в технологии Managed Client, и предоставляет функциональные возможности для быстрого построения визуальных приложений. Разработчики могут выполнять тестирование и отладку непосредственно на клиентском рабочем месте, не обладая расширенными знаниями процесса развертывания приложений, ресурсы для которых предоставляются сервером. Кроме того, инструментальная программа обеспечивает функциональность, упрощающую развертывание сервера. За счет использования большого количества мастеров программа уменьшает время, необходимое для создания и развертывания приложений. Вы можете загрузить инструментальную программу с этого Web-сайта.
В данной статье описывается IBM Workplace Managed Client Developer Toolkit. Мы предполагаем, что вы являетесь разработчиком приложений с некоторым опытом работы с продуктами IBM Workplace и Eclipse.
Workplace Managed Client Developer Toolkit
Как упоминалось ранее, IBM Workplace Managed Client основан на архитектуре Eclipse. IBM Workplace Managed Client Developer Toolkit предоставляется как расширение среды разработки подключаемых модулей Eclipse (plug-in development environment - PDE). Инструментальная программа может использоваться с Eclipse IDE или с IBM Rational Application Developer IDE.
Целью данной инструментальной программы является помощь в создании и развертывании приложений Workplace Managed Client. Для этого имеется важная функциональная возможность программы - Application Wizard. Она упрощает процесс создания приложений Workplace Managed Client. Приложение Workplace Managed Client состоит из нескольких индивидуальных проектов, поэтому инструментальная программа предоставляет навигатор, позволяющий визуализировать проекты приложения в контексте самого приложения. Механизм тестирования и отладки предоставляют вам возможность тестировать и отлаживать приложения непосредственно из Eclipse или Rational Application Developer IDE. Для облегчения развертывания приложения на сервере Workplace Collaboration Services для управляемого предоставления ресурсов пользователям-клиентам имеется функциональность экспорта развертываемого набора приложения Workplace Managed Client. Развертываемый набор состоит из нескольких файлов, организованных так, чтобы упростить развертывание на основном сервере. Мы рассмотрим эти функции подробно в следующих разделах.
Приложения Workplace Managed Client
Приложение Workplace Managed Client является новым типом проекта, предоставляемым инструментальной программой. Этот тип является расширением типа проекта функциональности среды разработки подключаемых модулей Eclipse и содержит элементы проекта, но также позволяет специфицировать заголовок приложения и пиктограмму приложения. Заголовок приложения и пиктограмма отображаются в зоне переключателя клиентского приложения.
Проект приложения ссылается на проект схемы страницы и подключаемые модули, обеспечивающие физическое представление для каждого раздела схемы страницы. Концептуальная структура приложения Workplace Managed Client показана на рисунке 1.
Рисунок 1. Структура приложения Structure of a Workplace Managed Client
Как будет описано в разделе Application Navigator ниже, физическая структура приложения не отражает этот концептуальный вид. Инструментальная программа предоставляет Application Wizard для упрощения создания таких приложений Workplace Managed Client (см. рисунок 2).
Рисунок 2. Application Wizard
Используя Application Wizard, разработчик, ведомый им, быстро проходит процесс создания нового проекта приложения Workplace Managed Client. Первый шаг - указать заголовок приложения и пиктограмму приложения, которые будут использоваться для идентификации приложения во время его работы на клиенте. По умолчанию мастер создает новый проект схемы страницы для приложения. Для выполнения этого шага Application Wizard запускает второй мастер - Page Layout Wizard.
Проект схемы страницы предоставляет общую схему страницы приложения. Вы можете выбрать схему из нескольких предопределенных схем при создании страницы приложения. Каждая из этих схем представлена в виде кнопки-изображения, которая описывает расположение, как показано на рисунке 3. Пользователи Rational Application Developer IDE могут определять дополнительные схемы, кроме этих предопределенных в инструментальной программе, либо могут отредактировать схему существующей страницы.
Рисунок 3. Определение схемы страницы
Каждый сегмент схемы может содержать один или несколько видов (view). При выборе нескольких видов они могут отображаться в приложении, располагаясь друг за другом или как группа закладок. Для управления способом отображения видов могут быть установлены атрибуты вида. Эти виды позволяет определить Page Layout Wizard, показанный на рисунке 4.
Рисунок 4. Определение видов для схемы страницы
Виды - это стандартные компоненты пользовательского интерфейса Eclipse. Вы можете использовать инструментальную программу для создания начального вида для каждого сегмента схемы; также можно выбрать существующие виды либо указать ссылки для видов, которые уже существуют на сайте обновления клиента или сервера. Виды, которые автоматически создавались инструментальной программой, содержат простой текстовый элемент управления "Hello Planet", расположенный в композиции (composite) вида. Композиция затем может быть изменена при помощи визуального редактора Eclipse для Java. Визуальный редактор - это функциональность Eclipse для разработки приложений, имеющих графический пользовательский интерфейс.
После создания приложения для перекомпоновки его схемы можно обратиться к компоненту Page Layout Editor. Он имеет аналогичный Page Layout Wizard пользовательский интерфейс, показанный на рисунке 5. Используя этот редактор, вы можете выполнить перекомпоновку видов или создать новые. Он также позволяет вам изменить параметры каждого вида, что влияет на способ его отображения пользователю.
Рисунок 5. Page Layout Editor
При помощи Application Wizard вы можете легко создать новое приложение Workplace Managed Client, используя Page Layout Wizard для создания схемы и создания или выбора видов приложения. Теперь, когда у нас есть приложение, давайте перейдем к компоненту Application Navigator.
Существующие в Eclipse навигаторы являются проектно-ориентированными. Нет способа просмотреть коллекцию проектов (таких, которые составляют приложение Workplace Managed Client application) в виде отдельной сущности. Вместо этого проект приложения содержит XML-файл, детализирующий проекты компонентов приложения. Как упоминалось ранее, проект приложения Workplace Managed Client основан на существующем типе проекта Eclipse-функциональности. Этот XML-файл, который детализирует проекты компонентов приложения, называется feature.xml. Каждый из этих проектов компонентов показан как еще один проект в виде. Поэтому структуру приложения может быть трудно увидеть (рисунок 6).
Рисунок 6. Существующий Eclipse Resource Navigator
Наше решение заключалось в создании нового навигатора, предназначенного для отображения приложений Workplace Managed Client. Этот навигатор предоставляет понятный вид структуры приложения, отображая компоненты приложения как субпроекты проекта приложения (см. рисунок 7).
Рисунок 7. Вид той же рабочей области в Workplace Managed Client Application Navigator
Оба навигатора отображают одну и ту же рабочую область, но Application Navigator собрал проекты в проекты приложений Workplace Managed Client. В иерархии каждого проекта Workplace Managed Client Application вы можете увидеть компонент Page Layout и View Projects. Проекты компонентов из проекта приложения могут быть развернуты и изменены (см. рисунок 8). Это только представление рабочей области; проекты остаются физически разделенными, что отображено в других видах, например, Resource Navigator.
Рисунок 8. Проекты компонентов приложения Workplace Managed Client
В Application Navigator отображаются только проекты Workplace Managed Client Application; другие проекты скрыты с целью уменьшения беспорядка. Навигатор также предоставляет контекстно-чувствительные меню, позволяющие разработчику выполнять задания с проектом приложения. Теперь, когда у нас имеется приложение, и мы можем легко разработать его при помощи навигатора, давайте перейдем к тестированию его на Workplace Managed Client.
Выполнение приложений на клиентском рабочем месте
Обычно процесс тестирования приложения Workplace Managed Client, в основном, такой же, как и развертывание этого приложения в корпоративной среде. То есть, он сложен и длителен по времени. Требуется, чтобы приложение было развернуто на сервере Workplace (как описано в следующем разделе) и затем предоставлено клиенту для тестирования. Существует также альтернативный процесс, который использует создание новой перспективы (perspective) для определения схемы, и индивидуальные особенности пользователя, использующего эту перспективу. Но эти действия должны быть выполнены пользователем вручную. Ни одно из этих решений не подходит идеально для итеративной разработки.
В отличие от этих решений в Workplace Managed Client Developer Toolkit есть возможность легко запускать приложение непосредственно на клиентском рабочем месте. Это означает, что вы можете исключить процесс конфигурирования, необходимый для успешного развертывания приложения на сервере Workplace и предоставления его ресурсов клиенту. Вместо этого данный шаг нужно сделать только один раз - тогда, когда вы убедитесь, что приложение функционирует корректно.
Одна из главных причин необходимости предоставления ресурсов приложения серверу Workplace перед возможностью тестирования этого приложения состоит в том, что клиент нуждается в информации о том, как разместить страницу и классы для каждого вида. Эта информация предоставляется в виде файла на языке Rich Client Platform Markup Language (RCPML). RCPML - это XML-подобный язык разметки, описывающий приложение Workplace Managed Client. Он указывает схему вида, службы, необходимые для поддержки работы приложения, и требуемые функциональные возможности. Он также предоставляет необязательные встроенные (inline) данные. Таким образом, он позволяет клиенту определить схему приложения, необходимые функциональные возможности и подключаемые модули для формирования пользовательского интерфейса. Инструментальная программа генерирует необходимый RCPML и выполняет приложение непосредственно из временной рабочей области. Клиент, при работе в таком режиме тестирования, не влияет на приложения, доступные при автономной работе клиента.
Приложение Workplace Managed Client содержит файл схемы (ibm-portal-topology.xml) в проекте схемы страницы, описывающий, как приложение должно отображаться на клиентском рабочем месте. Когда инструментальная программа компонует приложение Workplace Managed Client, она выполняет XML-преобразование этого файла схемы и формирует RCPML, описывающий схему.
Еще одним неудобством процесса запуска по умолчанию является то, что пользователь должен вручную добавлять такие детали конфигурации, как classpath, расположение клиентского приложения, аргументы для успешного его запуска. Этот процесс подвержен ошибкам. Решением явилось создание нового конфигурационного типа запуска, предназначенного для приложений Workplace Managed Client. Этот новый тип автоматизирует процесс, заполняя необходимые поля (см. рисунок 9).
Рисунок 9. Конфигурация запуска Workplace Managed Client
Конфигурация запуска Workplace Managed Client основана на существующей конфигурации запуска Eclipse PDE. Хотя большинство полей может быть оставлено в их значениях по умолчанию, некоторые заслуживают дальнейших пояснений.
Для удаления данных рабочей области перед каждым запуском выберите "Clear workspace data before launching". Это, однако, удалит полномочия клиента, требуя повторной аутентификации соединения с сервером. Для выдачи запроса, удалять ли данные рабочей области перед запуском данной конфигурации, выберите "Ask for confirmation before clearing", и при каждом запуске этой конфигурации будет появляться диалоговое окно для подтверждения.
При использовании конфигурации запуска PDE поле Program to Run устанавливается в org.eclipse.ui.ide.workbench, что запускает систему времени исполнения (вторую копию Eclipse с подключаемыми модулями в рабочей области). В отличие от этого программой по умолчанию, которая запускается при использовании конфигурации запуска Workplace Managed Client Developer Toolkit, является com.ibm.rcp.platform.RCPApplication. Она запускает Workplace Managed Client с выбранным приложением Workplace Managed Client.
В Eclipse SDK не входит Java Runtime Environment (JRE); он использует предустановленную JRE. Версия JRE, используемая при запуске клиентского приложения, должна быть установлена в версию, поставляемую с клиентским приложением, поскольку она обеспечивает соответствующий контекст защиты и использует соответствующую виртуальную машину. При работе с Windows эта JRE может быть найдена в каталоге <Client>\rcp\eclipse\features\com.ibm.rcp.jre.win32.feature_1.2.0\jre. Аналогично, в Linux, JRE можно найти в каталоге <Client>/rcp/eclipse/features/com.ibm.rcp.jre.linux.feature_1.2.0/jre, где <Client> - это месторасположение Workplace Managed Client.
Как упоминалось ранее, для запуска клиентского приложения вы должны установить различные аргументы для виртуальной машины Java и самой клиентской программы. Для виртуальной машины к ним относятся настройки classpath для клиента (для предоставления необходимых JAR-файлов) и месторасположение клиентского приложения на машине.
Самым значительным из аргументов для клиентской программы является аргумент pbcache, который указывает клиентскому коду pagebuilder использовать указанный каталог в качестве каталога кэша страницы вместо расположения по умолчанию в <workspace>\.metadata\.plugins\com.ibm.rcp.pagebuilder. Каталог кэша страницы содержит RCPML, описывающий приложения для отображения. При запуске приложений на клиентском рабочем месте мы хотим, чтобы каталогом кэша страницы был каталог RCPML, расположенный в проекте схемы страницы приложения Workplace Managed Client. Например:
<Eclipse_workspace>\viewInteraction\com.ibm.wcttoolkit.sample.viewInteraction.MainPage\PortalConfiguration\.RCPML
Более подробная информация по доступным аргументам приведена в "Руководстве пользователя по IBM Workplace Client Technology API Toolkit", поставляемом с IBM Workplace Collaboration Services API Toolkit.
Для значительного упрощения процесса запуска приложения эти поля аргументов заполняются автоматически при создании новой конфигурации запуска IBM Workplace Managed Client. После корректной установки JRE и Target Platform (инструкции приведены в документации по инструментальной программе) все, что вам нужно - выбрать приложение, создать новую конфигурацию запуска (редактирование не нужно) и нажать кнопку Run. Будет запущен Workplace Managed Client и выбранное вами приложение (см. рисунок 10).
Рисунок 10. Приложение Workplace Managed Client Application работает на клиентском рабочем месте
Примечание: Хотя инструментальная программа не требует работы сервера для выполнения приложения, необходимо выполнить аутентификацию Workplace Managed Client на сервере, по крайней мере, один раз перед тем, как он сможет работать. Поэтому разработчикам нужен доступ к серверу, когда они впервые устанавливают клиентское приложение или в первый раз выполняют приложения из новой рабочей области.
Следующим шагом после полного тестирования и корректного функционирования приложения является развертывание его на сервере Workplace Collaboration Services, из которого можно предоставлять ресурсы для Workplace Managed Client на пользовательских машинах.
Развертывание приложения Workplace Managed Client на сервере Workplace
Для расширения пользовательского интерфейса Workplace Managed Client новыми приложениями каждое приложение должно быть развернуто на сервере IBM Workplace Collaboration Services, а затем предоставлено с него клиентам Workplace Managed Client. Для представления видов приложения используются портлеты. Портлеты формируют RCPML, описывающий каждую секцию схемы. Клиентское приложение интерпретирует этот RCPML и соответствующим образом компонует перспективу и виды, помещая, при необходимости, новые компоненты.
Для развертывания вашего приложения Workplace Managed Client на сервере Workplace и предоставления его ресурсов клиентскому приложению вам понадобится сайт обновлений (update site) для файлов компонентов (функциональные возможности, подключаемые модули и изображения), страница портала и портлеты-заполнители для этой страницы. Эти портлеты содержат информацию, необходимую для генерирования RCPML на сервере. Каждый вид представляется экземпляром заполняющего портлета. С целью облегчения развертывания приложения на сервере Workplace Collaboration Services для управляемого предоставления ресурсов пользователям в инструментальную программу был включен мастер Export Wizard (см. рисунок 11). Этот мастер предназначен для экспорта приложения Workplace Managed Client в виде готового к развертыванию набора (deployable set).
Рисунок 11. Export Wizard
Первым шагом процесса развертывания является выполнение Export Wizard, который пакетирует проект приложения Workplace Managed Client в JAR-файлы для сайта обновления. При этом создаются: каталог features, содержащий JAR-файлы функциональности для приложения, каталог plugins, содержащий JAR-файлы подключаемых модулей (один на каждый вид а Page Layout), и каталог images, содержащий пиктограмму для приложения.
Следующий шаг - поместить эти файлы на сайт обновлений. Файлы должны быть скопированы на сервер вручную. Файл сайта обновлений site.xml, предоставляющий манифест файлов на сайте, должен быть обновлен для включения нового содержимого. Хотя мастер не обновляет этот файл автоматически, он предоставляет фрагменты, которые должны быть в него добавлены. Более подробная информация по сайтам обновлений приведена в статье developerWorks: Lotus "Развертывание обновлений в IBM Workplace".
Последним шагом в процессе развертывания является создание и заполнение страниц и портлетов для приложения на сервере. Это самый сложный шаг. К счастью, мастер создает соответствующий сценарий XMLAccess, основанный на проекте Page Layout, для развертывания приложения на сервере. Он также предоставляет инструкции, как развернуть приложение с созданными файлами.
Итак, с использованием мастера, шаги для выполнения развертывания приложения Workplace Managed Client на сервере таковы:
- Скопировать файлы на сайт обновлений.
- Обновить файл site.xml предоставленным XML-фрагментом.
- Выполнить предоставленный сценарий XMLAccess в соответствии с инструкциями.
Используя инструментальную программу Workplace Managed Client Developer Toolkit, вы можете быстро и легко установить приложение для распространения на клиентское рабочее место. Эта инструментальная программа обеспечивает поддержку тестирования и отладки приложения путем автоматизации процесса запуска приложения на клиентском рабочем месте. Она помогает и в процессе развертывания. Каждая из этих функциональных возможностей значительно упрощает процесс разработки клиентских приложений.
- Примите участие в обсуждении материала на форуме.
- Оригинал статьи "Introduction to the IBM Workplace Managed Client Developer Toolkit".
- Программа IBM Workplace Managed Client Developer Toolkit может быть загружена с alphaWorks.
- Информация по IBM Workplace Managed Client приведена на странице продукта.
- Вы можете загрузить IBM Workplace Collaboration Services API Toolkit отсюда. С инструментальной программой поставляется "Руководство пользователя IBM Workplace Client Technology API Toolkit".
- В статье developerWorks: Lotus "Введение в IBM Workplace Client Technology API" рассматривается настройка IBM Workplace Collaboration Services API Toolkit для создания приложений Workplace Managed Client.
- Посетите страницу продукта IBM Workplace Managed Client для получения дополнительной информации по Managed Client.
- Дополнительная информация по Workplace Collaboration Services приведена в статье developerWorks: Lotus "Новые функциональные возможности IBM Workplace Collaboration Services 2.5".
- Подключайтесь к сообществу developerWorks, принимая участие в блогах developerWorks.