IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  SOA и Web-сервисы | WebSphere  >

Создание приложений SOA с применением IBM WebSphere Dashboard Framework

developerWorks
Опции документа
PDF format - Fits A4 and Letter

PDF - Fits A4 and Letter
1,101KB

Загрузить Adobe® Reader®

Опции документа, требующие включения JavaScript, не отображаются

Обсудить

Исходные тексты примера


Выскажите мнение об этой странице

Помогите нам улучшить содержание


Уровень сложности: средний

Чжао Хуэй Ни, инженер-программист, IBM

30.04.2009

Вам нужен новый способ создания приложений на основе сервис-ориентированной архитектуры (SOA)? Познакомьтесь с IBM WebSphere Dashboard Framework. При помощи этого мощного и гибкого инструмента можно создавать информационные панели на основе ролей поверх SOA. Вы узнаете, как использовать эти мощные построители для быстрого создания сложных SOA-приложений без написания объемного кода. Чтобы следить за изложением, нужно хорошо знать IBM WebSphere Portlet Factory, WebSphere Dashboard Framework и Web-сервисы.

Введение

WebSphere Dashboard Framework дополняет WebSphere Portlet Factory, добавляя функции, ориентированные на информационные панели, и набор специальных построителей схем, таких как Record List and Details, Summary Drill Down, Map и Annotation. При помощи объектов, добавленных WebSphere Portlet Factory, включая построитель Service Provider, построитель Service Definition и построитель Service Consumer, можно быстро создавать сервис-ориентированные приложения. В этой статье приводится пример, демонстрирующий, как создать сервис-ориентированное приложение с применением WebSphere Dashboard Framework.

Создание проекта информационной панели

Проект информационной панели включает в себя все объекты, необходимые WebSphere Portlet Factory для создания портлета или Web-приложения. Чтобы реализовать пример из этой статьи, нужно сначала создать проект информационной панели, а затем — модель поставщика сервисов и модель потребителя сервисов приложения SOA. (Можно также загрузить эти модели и импортировать их в проект.) Начнем с приведенных ниже шагов по созданию проекта информационной панели:

  1. Нажмите кнопку New, чтобы открыть окно New Project, затем выберите WebSphere Portlet Factory Project.

    Рисунок 1. Создание проекта WebSphere Portlet Factory
    Создание проекта WebSphere Portlet Factory

Теперь нужно выбрать набор функций, необходимых для этого проекта. В примере в качестве серверного источника данных используется файл Microsoft® Excel:

  1. Выберите набор функций Excel Extension, который содержит атрибуты для интеграции файлов Excel (Рисунок 2).
  2. Выберите набор функций Dashboard Framework. Он содержит объекты для создания высокоуровневых построителей, таких как Record List and Details, который представлен в примере.

    Рисунок 2. Выбор функциональных наборов для проекта
    Выбор функциональных наборов для проекта

Теперь нужно сконфигурировать среду внедрения. В настоящей статье модели исполняются на IBM WebSphere Application Server.

  1. Добавьте конфигурацию проекта, который будет исполняться на WebSphere Application Server. На рисунке 3 приведен пример конфигурации WebSphere Application Server. Возможно, потребуется внести изменения во входные данные в соответствии с вашей средой. В дополнение к этому WebSphere Dashboard Framework позволяет реализовать модель как портлет на сервере портлетов. Поэтому на данном шаге можно добавить конфигурацию для установки на IBM WebSphere Portal Server, если вы хотите создать портлет на сервере портлетов. (Сведения о том, как добавить конфигурацию внедрения, содержатся в справочных документах. Выберите Help > Help Contents в Eclipse, затем выберите тему Deployment в IBM WebSphere Portlet Factory Designer.)

    Рисунок 3. Добавление конфигурации внедрения проекта
    Добавление конфигурации внедрения проекта

  2. Нажмите Finish, чтобы завершить процесс создания проекта и автоматически установить пакет WAR на сервере приложений.

Следующие шаги демонстрируют, как создать модель поставщика сервисов и модель потребителя сервисов для приложения SOA. Можно также взять готовые примеры этих моделей в разделе Download. Чтобы воспользоваться примерами моделей, щелкните на проекте правой кнопкой и выберите Import, чтобы импортировать загруженный пакет в проект.

Создание модели поставщика сервисов

Модель поставщика сервисов предоставляет возможность доступа к данным серверных систем или сервисам и отображает интерфейс для клиентского приложения. Нужные атрибуты (операции сервисов и определение сервиса) можно найти в WebSphere Portlet Factory. Теперь воспользуемся этими построителями для создания модели поставщика сервисов.

Добавление модели в проект

Модель в проекте WebSphere Portlet Factory содержит список обращений к построителям в момент проектирования и работает как приложение или портлет в WebSphere Application Server или WebSphere Portlet Server во время исполнения. Вы можете добавлять в модель построители для создания собственных приложений.

Вот как создается модель приложения-поставщика сервисов:

  1. Для создания в проекте пустой модели щелкните правой кнопкой на только что созданном проекте и выберите New > Others, чтобы открыть окно, показанное на рисунке 4.

    Рисунок 4. Создание модели WebSphere Portlet Factory
    Создание модели WebSphere Portlet Factory

  2. Выберите WebSphere Portlet Factory Model.
  3. Нажмите Next и перейдите на панель Select Model.

    По умолчанию WebSphere Portlet Factory предлагает несколько шаблонов моделей поставщика и потребителя сервисов. Эти шаблоны предназначены только для интеграции с базами данных. Для интеграции других типов источников данных, таких как файлы Excel, источники данных XML или системы хранилища данных, нужно создать другую модель. В данном примере в качестве источника данных используется файл Excel. Чтобы весь процесс создания сервис-ориентированного приложения был понятнее, давайте создадим эту новую модель из пустой модели, показанной на рисунке 5.



    Рисунок 5. Создание пустой модели
    Создание пустой модели

  4. Нажмите Next и введите имя модели.
  5. Нажмите Finish, чтобы завершить процесс создания модели.

Когда модель создана, добавьте в нее построители для создания серверной части сервиса. Эти построители обеспечивают возможность доступа к исходным данным, создания операции сервиса и отображения интерфейсов сервиса.

Добавление построителей процедур доступа к данным

Со стороны сервера данные могут поступать в разных форматах, включая файлы Excel, базу данных, сервер IBM Lotus® Domino® или сервер SAP. Чтобы интегрировать эти системы, WebSphere Portlet Factory содержит длинный список построителей, как показано на рисунке 6.


Рисунок 6. Построители для интеграции с серверной системой
 Построители для интеграции с серверной системой

При помощи этих построителей можно легко добавить в модель возможность доступа к серверной системе без написания длинного кода. Добавим в модель нужные построители и выполним некоторые необходимые настройки. Для упрощения примера в настоящей статье в качестве источника данных используется файл Excel:

  1. Добавьте в модель поставщика сервисов построитель Excel Import – Enhanced (Рисунок 7).

    Рисунок 7. Добавление в модель поставщика сервисов построителя Excel Import – Enhanced
     Добавление в модель построителя Excel Import – Enhanced

  2. В окне Builder Picker выберите Excel Import – Enhanced и нажмите OK, чтобы добавить в модель новый экземпляр построителя, как показано на рисунке 8.

    Рисунок 8. Конфигурация входов построителя Excel Import - Enhancement
    Конфигурация входов построителя Excel Import - Enhancement

Теперь нужно добавить необходимые настройки в конфигурацию входов построителя, чтобы настроить соединение. На рисунке 8 показаны входы построителя, требуемые для этого приложения. Для других входов построителя достаточно оставить значения по умолчанию. (Об использовании этих входов можно подробнее узнать из Справки, нажав кнопку Help > Help Contents в Eclipse и выбрав тему Builder helper в IBM WebSphere Portlet Factory Designer).

  1. Name: Введите имя построителя, например, ExcelDemo. Этот построитель генерирует переменные и методы в соответствии со своим именем .
  2. File To Import: Выберите файл Excel, содержащий необходимые данные. Можно указать файл из проекта или дать ссылку, которую можно будет настроить на этапе прогона программы. Для данного примера выберите из проекта файл Excel, который содержит данные (Рисунок 9). Примечание: Прежде чем выбрать локальный файл, его нужно импортировать в проект. (Файл Excel можно получить в разделе Download .)

    Рисунок 9. Выбор файла Excel
    Выбор файла Excel

  3. 3. Content Selection Method: Этот построитель предоставляет три варианта выбора содержимого из файла Excel. Для данного примера выберите Bounded, чтобы указать диапазон в файле Excel вручную. Диапазон устанавливается на входах следующего построителя.
  4. Sheet: Выберите лист Sheet1 документа Excel.
  5. Upper Left Cell: Укажите левую верхнюю ячейку, с которой начинается первая колонка и первая строка импортируемых данных. Щелкните на ячейке, выбранной в качестве левой верхней (Рисунок 10).

    Рисунок 10. Указание диапазона данных файла Excel
    Указание интервала данных файла Excel

  6. Lower Right Cell: Аналогично левой верхней ячейке, выберите правую нижнюю ячейку, которая находится в последней колонке и последней импортируемой строке.

Создание определения сервиса обработки данных

Построители Service Definition и Service Operation в WebSphere Portlet Factory играют важную роль в создании интерфейса сервиса в модели поставщика сервисов. Построитель Service Definition может создавать сервис с одной или несколькими операциями. Этот сервис можно использовать из другой модели WebSphere Portlet Factory с применением легкого механизма исполнения Java, или же можно сделать его доступным для других приложений посредством Web Services Description Language (WSDL) и SOAP.

Откройте окно Builder Picker еще раз и выберите построитель определения сервиса, чтобы добавить в модель новый экземпляр построителя. Входы этого построителя показаны на рисунке 11. Сервис обработки данных, созданный этим построителем, первоначально представляет собой пустую оболочку, которая не содержит никаких операций. После создания этим построителем оболочки сервиса добавьте в нее нужные сервисы с помощью построителя Service Operation, как показано на рисунке 11.


Рисунок 11. Входы построителя Service Definition
Входы построителя Service Definition

Сервис обработки данных, созданный этим построителем, может применяться в другой модели, если эта модель содержит построитель Service Consumer. При создании сервиса обработки данных при помощи этого построителя можно также выбрать отображение сервиса в качестве сервиса WSDL SOAP. В следующем разделе описано, как представить сервис в качестве Web-сервиса.

Добавление построителя Service Operation

В модели поставщика сервисов для добавления операции к сервису, созданному построителем Service Definition, используется построитель Service Operation. Операция обычно использует некоторую функциональность доступа к данным, имеющуюся в модели. Доступ к данным, как правило, обеспечивается построителями интеграции с сервером (таким как функция SAP, запрос SQL или документ Excel), но может быть предоставлен и связанным Java-объектом или методом запроса данных.

Перечислите только те входы, которые требуются для этого приложения, оставив для других значения по умолчанию (Рисунок 12). (Дополнительную информацию по другим входам можно найти в Справке построителя.)


Рисунок 12. Конфигурирование входов построителя Service Operation
Конфигурирование входов построителя Service Operation
  1. Data Service: Выберите сервис обработки данных, только что добавленный в модель.
  2. Operation Name: Укажите имя операции. На основе этого имени построитель генерирует соответствующую переменную и метод.
  3. Action To Call: Выберите действие или метод, которые будет вызывать эта операция. Нажмите кнопку button и выберите метод, сгенерированный построителем Excel Import – Enhanced, который называется ExcelDeom.getContentXml.
  4. Input Structure Handling: Так как метод ExcelDeom.getContentXml не требует входов, выберите для этого поля значение No inputs.
  5. Result Structure Handling and Result Schema: В этих двух полях укажите схему для возвращаемого результата этой операции. Нажмите кнопку Specify result schema и кнопку button, чтобы выбрать схему, сгенерированную построителем Excel Import – Enhanced.

Мы создали модель поставщика сервисов, которая будет отображать операцию getDemoData для доступа из других моделей потребителей сервисов. Теперь давайте создадим модель потребителя сервисов, которая использует данные, полученные из модели поставщика сервисов, для генерации высокоуровневого отчета для конечного пользователя.



В начало


Создание модели потребителя сервисов

Модель потребителя сервисов работает как клиентское приложение, которое обеспечивает интерфейсы с пользователем. Модель потребителя сервисов в данном примере работает как Web-приложение, которое отображает в таблице данные, полученные от поставщика сервисов.

Добавление модели в проект

Выполните те же шаги, что и в предыдущем разделе, чтобы добавить в проект пустую модель, и назовите ее ServiceConsumer.model.

Добавление в модель построителя потребителя сервисов

Построитель Service Consumer работает с построителями Service Definition и Service Operation. Он используется для доступа к публичному сервису, созданному этими построителями в модели поставщика сервисов.

  1. Нажмите кнопку button рядом с полем Provider Model и выберите модель, созданную в предыдущем разделе.
  2. Поставьте флажок в поле Add All Provider Operations.

Рисунок 13. Конфигурирование входов построителя Service Consumer
Конфигурирование входов построителя Service Consumer

Добавление построителя Record List and Details для отображения данных

Построитель Record List and Details используется для создания страниц, на которых отображаются список записей и подробные данные о записи. Построитель создает или страницу списка записей, или страницу подробных данных. Подробные данные о записи могут поступать из строки списка записей или из другого источника сервиса данных. На рисунке 14 показана только страница списка записей:

  1. Добавьте в модель экземпляр построителя Record List and Detail, выполнив перечисленные ниже шаги, чтобы определить входы построителя.

    Рисунок 14. Конфигурирование входов построителя списка записей
    Конфигурирование входов построителя списка записей

  2. Name: Введите имя в это поле. Построитель генерирует страницу списка и страницу подробных данных согласно введенному здесь имени.
  3. Pages To Create: Поставьте флажок в поле Record List Page и очистите поле Record Detail Page.
  4. Create Main Action: Выберите Yes, чтобы создать в WebApp основное действие, которое вызывает действие инициализации для загрузки данных на страницу списка записей.
  5. Action To Load Data: Нажмите кнопку button и выберите сгенерированный построителем Service Consumer метод, способный возвращать набор данных от поставщика сервисов. Этот метод вызывается основным действием для загрузки данных на страницу списка записей.
  6. Record List Data: Можно задать переменную или сервис данных, в которых будут содержаться данные для отображения на странице списка записей.

Мы создали модель поставщика сервисов и модель потребителя сервисов для своего приложения. Теперь запустим приложение на сервере WebSphere Application Server.



В начало


Исполнение модели

Перед исполнением модели убедитесь в правильности задания конфигурации внедрения проекта. В первом разделе мы добавили конфигурации для WebSphere Application Server и автоматически развернули модели на сервере приложений.

Чтобы исполнить модель потребителя сервисов, нажмите правой кнопкой на эту модель и выберите Run As > Run. Среда разработки запустит браузер для отображения страницы, сгенерированной моделью потребителя сервисов (Рисунок 15).


Рисунок 15. Демонстрация пользовательского интерфейса приложения SOA
Демонстрация UI приложения SOA


В начало


Расширение модели поставщика сервисов

Как уже говорилось, модель поставщика сервисов также может быть представлена в виде Web-сервиса для доступа из других клиентских приложений. Построитель Service Providerпозволяет реализовать модель в виде Web-сервиса.

  1. Вновь откройте построитель Service Provider.
  2. Поставьте флажок в поле Generate WSDL, чтобы разрешить доступ к сервису через WSDL и SOAP (Рисунок 16).

    Рисунок 16. Расширение определения сервиса как Web-сервиса
    Расширение определения службы как Web-сервиса

  3. Определение сервиса обеспечивает также возможность проверить поддержку на этапе проектирования, так что можно попытаться запустить модель поставщика сервисов и посмотреть, как работает построитель. Откройте раздел Testing Support и отметьте поле Add Testing Support (Рисунок 17).

    Рисунок 17. Добавление поддержки тестирования в пользовательский интерфейс построителя
    Добавление поддержки тестирования в пользовательский интерфейс построителя

  4. Сохраните модель и запустите ее снова. Должна появиться страница, сгенерированная этой моделью, как показано на рисунке 18.

    Рисунок 18. Тестирование Web-сервиса
    Тестирование Web-сервиса

  5. На этой странице выберите ссылку View WSDL, чтобы увидеть файл WSDL, сгенерированный Web-сервисом (Рисунке 19).

    Рисунок 19. Файл WSDL, сгенерированный Web-сервисом
    Файл WSDL, сгенерированный Web-сервисом

В соответствии с этим файлом WSDL пользователи могут разрабатывать приложения других видов для Web-сервисов, созданных моделью поставщика сервисов.

Заключение

В настоящей статье показано, как создать приложение SOA с применением WebSphere Dashboard Framework. WebSphere Dashboard Framework предоставляет эффективный способ создания гибких приложений SOA. При этом, инкапсулируя данные и процессы в набор хорошо определенных сервисов, можно достичь высокого уровня повторного использования модулей в рамках проекта информационной панели и даже в других приложениях в масштабе всей организации.




В начало


Загрузка

ОписаниеИмяРазмерМетод загрузки
Пример кода к настоящей статьеDashboardSOASample.zip5 КБHTTP
Информация о методах загрузки


Ресурсы

Научиться

Получить продукты и технологии

Обсудить


Об авторе

Чжао Хуэй (Zhao Hui) работает инженером-программистом в команде разработчиков WebSphere Dashboard Framework лаборатории IBM China Software Development Lab. Он проектирует и разрабатывает базовые построители для WebSphere Dashboard Framework.




Выскажите мнение об этой странице


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



 


 


 


Поделиться этой статьей:

забобрить забобрить memori сохранить в memori




В начало


IBM, логотип IBM, developerWorks, Domino, Lotus и WebSphere — зарегистрированные товарные знаки IBM в США и/или других странах. Adobe, логотип Adobe, PostScript и логотип PostScript — товарные знаки или зарегистрированные товарные знаки Adobe Systems Incorporated в США и/или других странах . Java и все связанные с Java товарные знаки принадлежат Sun Microsystems, Inc. Microsoft и логотип Windows — товарные знаки Microsoft Corporation в США и/или других странах. Другая компания, продукт или название услуги могут быть торговыми марками или знаками обслуживания, принадлежащими иным физическим или юридическим лицам.

IBM обладает всеми авторскими правами касательно информации, расположенной на developerWorks. Использование информации приведенной на этом ресурсе без явного письменного разрешения от IBM или первоначального автора запрещены. Если Вы желаете использовать информацию с developerWorks, пожалуйста воспользуйтесь регистрационной формой для того, чтобы связаться с нами запрос на использование материалов developerWorks Россия.
    IBM в России Конфиденциальность Контакты