СМ-Консалт
 

Работа с Web-сервисами в корпоративных SOA: Часть 5. Оптимизируйте приложения Web-сервисов инструментарием WebSphere Business Integration

Статьи Технологии разработки ПО SOA и Web-сервисы

Введение

В 1 части этой серии я показала, как осуществлять бизнес-логику Web-сервисов так, чтобы приложения Enterprise Application Integration (EAI) могли общаться друг с другом. В 3 части я показала, как Web-сервисы договариваются друг с другом о способе интеграции и применения SOA. Я также рассказала о том, как разработчик может использовать инструментарий Rational®development, чтобы создать приложение, в 4 части.

В данной этой статье я говорю о правилах бизнес-процесса для Web-сервисов как об основном приоритете оптимизации Web-сервисов и SOA. Если разработчики оптимизировали правила процесса, они получают экономию на следующем:

  • количество Web-запросов
  • время выполнения
  • время доступа
  • ненужные данные
  • полоса пропускания

 

Разработчикам следует также принять во внимание схему разделения на сегменты больших баз данных, связанных с одним или несколькими Web-сервисами.


Правила бизнес-процесса

Для снижения заторов в трафике или непроизводительного использования ресурсов при загрузке разработчикам нужно оптимизировать работу Web-сервисов с SOA, используя определенный набор правил бизнес-процесса. Им следует использовать язык Business Process Execution для спецификации Web-сервисов (BPEL4WS) с целью создать новую бизнес-логику, задействовать Web-сервисы, оперировать данными, устранять недостатки или прекращать процесс.

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


Web-запросы

После оптимизации правил бизнес-процесса разработчики могут перейти к созданию Web-запросов, которые нужны им, чтобы построить новый Web-сервис на основе существующих. Не важно, находятся ли Web-сервисы внутри SOA или распределены между ними. Если новый Web-сервис, основанный на бизнес-логике или информации, обеспечивает лучшее качество либо дополнительный сервис или функциональность, разработчикам следует снизить или совсем удалить избыточные Web-запросы. Рисунок 1 показывает, как каждый из двух существующих Web-сервисов посылает избыточный Web-запрос о создании нового Web-сервиса.



Рисунок 1. Избыточный Web-запрос
Избыточный  Web-запрос

Время выполнения

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

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


Время доступа

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

Разработчики должны разбить на модули, оптимизировать и индексировать запросы, чтобы сократить время доступа. Затем они могут поместить Web-запросы в хранилище, из которого они могут повторно использоваться в новом приложении.


Полоса пропускания

Как вам известно, Web-сервисы основаны на XML, и большинство файлов — небольшого размера. Полоса пропускания обычно не является проблемой, и время выполнения и доступа оптимальны. Проблема возникает с большими XML-файлами. Каждый раз, когда вы вносите изменения в файлы на удаленном сервере, вам необходимо заново пересылать сами файлы. Большие графические файлы в несжатом формате могут занимать огромное место на диске и в полосе пропускания, таким образом замедляя время доступа.

Чтобы частично решить эту проблему, разработчикам необходимо передавать только изменения в файлах для нового Web-сервиса. Другие методы сохранения величины прохода включают: кэширование для ускорения загрузки страниц, оптимизация времени парсинга отформатированных в виде текста XML-файлов и компиляция XML-файлов в двоичный файл (нечитаемый).


Ненужные данные

Разработчики должны определить правила фильтрации для исключения данных, которые им не нужны. Правила фильтрации отличаются от правил нормализации, цель которых- сокращение дублирования информации. Необходимо также оптимизировать правила фильтрации и затем сохранить их (формат XML) в хранилище для последующего использования. Можно загрузить правила из хранилища, когда они нужны, и отправить их обратно в хранилище, когда они не требуются. Правила фильтрации также должны включать автоматическое удаление или резервное копирование устаревшей информации и механизм для более быстрого прекращения функционирования больших XML-файлов.


Схемы деления на разделы

Если Web-сервис связан с большой базой данных, следует проследить, как осуществляется доступ к данным, как они фильтруются и распределяются через серверы, особенно если серверы используют разные архитектуры SOA. Разработчикам следует обратить внимание на два положения для обеспечения более быстрого доступа при одновременном сокращении полосы пропуска:

  • Частота обновлений базы данных
  • Обновления размера разделов для базы данных

 

Если большинство разделов базы данных требуют частого обновления, вам следует обдумать схему разделения на блоки: аппаратное, горизонтальное или вертикальное. С другой стороны, если небольшая часть базы данных требует частого обновления, рассмотрите динамическое разделение на блоки.

Аппаратное разделение

Можно использовать RAID (Redundant Array of Independent Disks) для аппаратного разделения на блоки без расчленения таблиц, физически переместив каждую на отдельное дисковое ЗУ. Помещение каждой таблицы на отдельный физический диск может улучшить пропускную способность и эксплуатационную эффективность. Либо вы можете распределить таблицу на несколько дисков для более быстрого сканирования, чем в случае, если та же таблица сохранена на отдельном дисковом ЗУ.

Горизонтальное разделение

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

Вертикальное разделение

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

Динамические разделы

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



Рисунок 2. Динамический и статический разделы
Динамический и статический разделы

Это значит, что нужно создать систему базы данных таким образом, чтобы таблицы базы данных были поделены на модули и оптимизированные разделы двух типов—статические и динамические. Статические разделы можно держать на локальном сервере, пока динамические разделы перемещаются на отдаленный сервер для частого обновления пользователями. Это можно сделать, распределяя таблицы в группе локальных серверов и в группе отдаленных серверов. Этот прием поможет снизить ширину пропускания канала на несколько порядков, когда новый Web-сервис будет обновлять базу данных.


Преодоление языкового расхождения

Разработчики и бизнес-аналитики должны прийти к единому мнению по поводу способов оптимизации Web-сервисов и SOA. Одной из проблем этого подхода является то, что они говорят на разных языках, используют различную терминологию, их фоновые знания различны.

Например, бизнес-аналитики используют модель процессов для выполнения бизнес-запросов, в то время как разработчики используют модели UML (Unified Modeling Language) для обращения к системным возможностям Web-сервисов, которые они хотят оптимизировать. Один из способов решения этой проблемы — интеграция и трансформация моделей UML и BPM (моделирование бизнес-процесса). Это может способствовать хорошей коммуникации и снижению затрат, связанных с неверной передачей данных.


Инструментарий WebSphere Business Integration

Этот инструментарий от IBM — WebSphere®Business Integration (ранее назывывшийся IBM Holosofx) можно использовать для ликвидации пробелов:

  • IBM WebSphere Business Integration Workbench: Это инструмент BPM, который можно использовать для ликвидации пробелов между бизнес-аналитиками или менеджерами и разработчиками в единой рабочей области UML/BPM.
  • IBM WebSphere Business Integration Monitor: При помощи этого инструмента вы можете выводить на экран данные о событиях, осуществленных WebSphere MQ Workflow в реальном времени, и данные о протекании процесса. Просматривая Workflow (делопроизводство) и Business Dashboards (инструментальные панели) с элементами управления бизнесом, торговыми операциями и информационными технологиями, вы можете оптимизировать бизнес и управлять им.
  • IBM WebSphere Business Integration Workbench Server: Этот инструмент обеспечивает возможность управления архивом и осуществления публикаций в сети Web. Это позволяет облегчить совместную технологическую подготовку и моментальный Web-доступ к:
    • Моделям процессов
    • Стратегиям
    • Процедурам
    • Бизнес-правилам
  • IBM WebSphere Business Integration Modeler Advanced Edition: Этот инструмент можно использовать в условиях совместной работы для проектирования в диалоговом режиме, когда оно осуществляется несколькими пользователями. Этот инструмент объединяет в себе соглашения IBM WebSphere Business Integration Workbench Server и IBM WebSphere Business Integration Workbench. Можно запускать WebSphere Business Integration Modeler Advanced Edition на основе Windows®2000 или Windows XP.

 


Заключение

Оптимизация Web-сервисов через SOA требует перспективного планирования того, сколько Web-сервисов опираются на бизнес-правила, которые действительно можно оптимизировать. Разработчикам следует сотрудничать с командой бизнес-аналитиков по поводу того, какую технику моделирования и оптимизации схем использовать, и по сопутствующим проблемам в создании Web-сервисов. Решая проблемы заранее, разработчики видят, что это облегчает их задачу оптимизации Web-сервисов. Они могут разработать и оптимизировать Web-сервисы, которые взаимодействуют и интегрируются друг с другом – внутри одной SOA и в окружении разных SOA.

Аналитики также понимают, что решение проблем заранее значительно облегчает их задачу создания и анализа бизнес-аспектов при оптимизации Web-сервисов. Они могут определить, какие подходы к моделированию и какие схемы использовать, а также сколько Web-сервисов можно оптимизировать в SOA.

23.02.2008

Добавить комментарий (анонимные комментарии не публикуются!!!)

ФИО: 
E-mail: 
Тема: 
Комментарий: 
Оценка:   
 
 
 
 
 
Код подтверждения:
   

Новости СМ-Консалт

Вышла версия BIPULSE 6.2

Мастер-класс для тренеров и руководителей "Работа в аудитории". 1 ступень уже в марте

Обновлено расписание тренингов до марта 2017 года

Новые статьи в библиотеке

Мифы про ГОСТ 34

Примеры отраслевых решений на основе BIPULSE

Практика реализации модуля интеграции для Rational Software Architect, позволяющего преобразовывать низкоуровневое представление процесса из IBM Rational ClearQuest в UML

Что удивляет в русских менеджерах иностранцев

Разработка ПО с использованием лучших мировых практик и инструментов на Иркутском авиационном заводе

Презентация доклада для IT Global Meetup Санкт-Петербург: "Почему Agile так популярен? Взгляд циника и психолога"

Заказчики и истории успеха

Наши тренинги, семинары, курсы

Дружите с нами на FaceBook

Проверить настройки
Компания
Сделано в СМ-Консалт
Услуги 
Компетенция
  • CMC-TotalTest (скоро)
    уникальная разработка автоматизации функционального тестирования. Альтернатива HP UFT, IBM RFT и Microsoft!
  • CMC-Bisquiter
    автоматизированное тестирование АБС "Бисквит"
  • CMC-Formater
    тестирование печатных и экранных форм
  • CMC-TerminalTest
    тестирование терминальных приложений
  • ProjectTracker
    интеграция ALM и MS Project
  • GanttChart
    модуль управления проектами для IBM Rational ClearQuest и TeamConcert
    Все разработки СМ-Консалт >
  • ИТ-консалтинг
  • Автоматизированное тестирование
  • Ручное тестирование
  • Аутсорсинг тестирования
  • Оптимизация бизнес-процессов
  • Внедрение методологии и инструментов ALM
  • Обучение и коучинг
  • Разработка ПО
  • Интеграция
ООО СМ-Консалт (СМК), 2004-2017.
Карта сайта