|
Работа с Web-сервисами в корпоративных SOA: Часть 11. Соединение web-сервисов на основе XOP с внешними сервисами при помощи WebSphere Business Modeler и Rational Web Developer для WebSphere
Статьи
→
SOA и Web-сервисы
Введение
В части 7 вы познакомитесь с тем, как приложения web-сервисов на основе XML могут сильно увеличиваться в объеме. Эти web-сервисы, используемые в больших количествах, могут привести к перегрузкам системы, вследствие чего сетевой трафик может застопориться. Чтобы разобраться с этой проблемой, вы пользовались спецификацией XOP (XML-binary Optimized Packaging) для повышения скорости web-сервисов.
Спецификация XOP – это проект стандарта, созданный для более эффективной работы по сравнению с существующими синтаксическими XML-анализаторами. Синтаксические анализаторы выступают больше в роли интерпретаторов и не являются компиляторами. Они менее эффективно справляются с чтением больших файлов, особенно в текстовом формате, по сравнению с чтением меньших текстовых файлов или вычислением простых функций. Даже шифрование может препятствовать работе web-сервисов из-за того, что должны выполняться сложные вычисления с целью достижения желаемых результатов.
В данной статье вы продолжите работу со спецификацией XOP, исследуя возможности соединения внутренних web-сервисов организации, согласованных с пакетом XOP, с внешними web-сервисами, работающими с большой нагрузкой, которые не были обработаны с учётом этой спецификации. Соединение подобного типа приобретает особую важность, когда система накладывает ограничения на полосу пропускания, управление доступом и количество web-запросов.
Разработка моста web-сервисов
Вам необходимо разработать мост web-сервисов, чтобы проверить файлы, входящие с внешних web-сервисов, на степень соответствия с XOP-пакетом. Если тест проходит успешно, то мост web-сервисов пропускает внешние файлы. Если тест завершается неудачей, то мост web-сервисов проводит вторую проверку, чтобы определить размер файлов. Если файлы небольшие, то мост web-сервисов их пропускает. В случае, когда файл не проходит оба теста, мост web-сервисов направляет его во внутренний web-сервис, которым вы можете пользоваться с целью преобразования файла в бинарный формат, чтобы он соответствовал XOP-пакету. Из этой статьи вы также узнаете, как использовать инструментальные средства IBM, чтобы создать внутри моста web-сервисов очереди с целью распределения внешних файлов.
Очереди какого типа вам следует рассматривать? Давайте начнем с простой очереди, а затем перейдем к более сложной. Независимо от типа, вам следует сначала определить характеристики внешних файлов, как единиц, поступающих в очередь моста web-сервиса, а также характеристики целевого web-сервиса, который предназначен для получения этих файлов. На рисунке 1 показаны внешние файлы, поступающие в простую очередь. Жирность шрифта числа указывает на размер файла. Чем больше выделено число, тем больше файл.
Рисунок 1. Простая очередь
Далее вам необходимо определить поведение каждого файла после его поступления в очередь. Задайте себе следующие вопросы:
- Во время нахождения в очереди сможет ли файл справиться с задержкой сервиса?
- Или файл не будет ждать и захочет поступить в другую очередь с более быстрым сервисом?
- Насколько длинной должна быть очередь?
- Какой объем очереди должен быть продублирован?
- Когда очередь достигнет своего порога, каким образом web-сервис должен оповестить отсылающий внешний web-сервис о том, что ему необходимо подождать, прежде чем отправлять файл в очередь в мост web-сервиса?
- Если файл не может ждать, должен ли он быть послан в другую очередь того же самого или другого моста web-сервиса?
Определение пороговой величины размера файла
Каким же образом в очереди моста web-сервиса рассчитывается, файл какого размера является оптимальным? Вам необходимо задать механизм, устанавливающий пороговую величину размера, и создать его на таком уровне, чтобы он оценивал, является ли размер внешнего файла оптимальным. Если файл соответствует пороговому значению или ниже его, то мост web-сервиса выпускает его из очереди для дальнейшей обработки запрашивающей SOA (Service-Oriented Architecture). Если файл превышает размер пороговой величины, web-сервис маркирует его, как слишком большой. Такой файл затем передается в оптимизатор файлов web-сервиса
Когда файл получен оптимизатором файлов, он подвергается процессу XOP-спецификации с целью уменьшения его размера. Затем проверяется, попадает ли он в рамки установленной пороговой величины. Если результаты теста положительные, то файл считается оптимальным. Иначе, вы получите предупреждение о том, что вам необходимо пересмотреть содержимое файла или логику программы.
Создание многоканальной системы обслуживания с несколькими очередями
Проблема при работе только с одной очередью моста web-сервиса заключается в том, что каждый файл должен терпеливо ожидать своего часа. Он не может обойти другой файл впереди него, также как и машина не может обогнать другую, которая едет очень медленно, если дорога состоит из одной полосы. Что же можно сделать в таком случае, спросите вы?
Один из возможных ответов: создать две очереди. Вы уже познакомились с тем, как устанавливается одна очередь моста web-сервиса, чтобы получать файлы, входящие с внешнего web-сервиса. Если файл, находящийся в очереди, не укладывается в рамки размера установленной пороговой величины, он должен быть маркирован и иметь возможность перестроиться из одной очереди в другую. Во время его нахождения в этой второй очереди по приоритетам, файл может быть освобожден для передачи в очередь оптимизатора файлов web-сервиса, который обработает его с помощью спецификации XOP-пакета. Подобной операции будет достаточно, если файл не зависит от других файлов – больших или не очень.
Понимание взаимозависимостей внешних файлов
Вышеупомянутый сценарий применим только тогда, когда мост web-сервиса передает во внутренний web-сервис целый ряд внешних файлов, которые не прикреплены к другому. Что же происходит, когда внешние файлы обладают множественными взаимозависимостями, которые вам надо соединить, чтобы запрашиваемый web-сервис в рамках SOA смог справиться с задачей или целым рядом задач? И что происходит, когда у вас есть два маленьких файла во внутреннем web-сервисе, которые необходимо соединить с большим файлом, ожидающем своей очереди на оптимизацию?
Предположим, что запрашивающий web-сервис выполняет две задачи. Сначала он получает эти два файла от оптимизатора файлов web-сервиса. Затем он сразу же требует соединения этих файлов с третьим, все еще находящимся в очереди моста web-сервиса. После того, как соединение установлено, третий файл отпускается для обработки оптимизатором файлов. Если файл не оптимизирован без учета временных рамок, то производительность запрашивающего web-сервиса может ухудшиться.
Очередь в оптимизаторе файлов web-сервиса одиночная, то есть невозможность файла ждать, пока его оптимизируют, не принимается в ней во внимание. Файл должен линейно дожидаться своей очереди. К моменту его оптимизации производительность запрашивающего web-сервиса снижается.
Создание нелинейных очередей
Для того, чтобы обработать такой файл, который не может ждать, вам необходимо создать нелинейные очереди в оптимизаторе файлов web-сервиса. Когда в принимающую нелинейную очередь из внешнего web-сервиса приходит очень большой файл, оптимизатор файлов может переместить его в другую нелинейную очередь, готовую к немедленной многопоточной оптимизации.
Если больших файлов много, то вам понадобится установить нелинейные очереди с множественными приоритетами, основанные на уровне приоритета и размере каждого файла. Файлы с более высокой степенью приоритета могут быть определены в нелинейную очередь с высоким уровнем приоритета. Соответственно, файлы с более низкой степенью приоритета будут направлены в нелинейную очередь с низким уровнем приоритета. Все остальные файлы, уровень приоритета которых находится между самым высоким и самым низким, могут быть направлены в нелинейную очередь с соответствующим уровнем приоритета.
Для эффективной работы многопоточного режима вам следует убедиться в том, что в операционной системе достаточно ресурсов для осуществления различных частей программы по оптимизации, которую оптимизатор файлов использует для их усечения согласно уровню приоритета и размеру каждого из них. То есть, вы должны создать программу таким образом, чтобы все потоки функционировали параллельно, не вмешиваясь в работу друг друга.
Использование нелинейных выборок
Предположим, что операционная система способна в полной мере осуществлять многопоточную программу, разработанную для уменьшения 10 файлов за один раз. Например, оптимизатор файлов выпускает из очереди 3 больших файла для их дальнейшей обработки программой в многопоточном режиме. Освобождение нелинейной очереди от таких трех крупных файлов позволяет ускорить процесс присоединения файлов к друг другу.
Вы можете использовать Rational Web Developer для создания web-сервиса таким образом, чтобы он выбирал файлы, основываясь на бизнес-процессах, многопоточной схеме, нелинейном алгоритме, уровне приоритета и размере файла. На рисунке 2 показана связь между нелинейной очередью с высокой степенью приоритета и многопоточной оптимизацией в процессе работы.
Рисунок 2. Нелинейная очередь с высоким уровнем приоритета
Установка оптимальной пороговой величины размера
Каким же образом вам следует определять пороговую величину размера тех файлов, которые необходимо оптимизировать? Вы можете воспользоваться WebSphere Business Modeler для того, чтобы помочь и разработчикам, и бизнес-аналитикам в установлении единых временных рамок, который будут способствовать динамическим изменениям в очередях. Определение границ таких рамок зависит от того, насколько интенсивным или менее загруженным является сетевой трафик, каков максимальный период работоспособности и какова полоса пропускания в периоды пиковой нагрузки. Это также зависит от того, каким образом web-сервисы оркестрируются в определенный момент их деятельности, каковы установки внутренней защиты, насколько быстро осуществляется доступ и выполнение, каковы проблемы, связанные со временем задержки, и сколько делается web-запросов за заданный промежуток времени.
Предположим, что пороговая величина размера файлов для оптимизации, каждый из которых имеет высокий уровень приоритета, значительно отличается. Чтобы решить эту проблему, установите три категории очередей с заданным пороговым значением по критериям размера и приоритета:
- Очередь с высоким уровнем приоритета и низким значением пороговой величины размера
- Очередь с высоким уровнем приоритета и средним значением пороговой величины размера
- Очередь с высоким уровнем приоритета и высоким значением пороговой величины размера
Вы должны создать программу таким образом, чтобы все потоки функционировали параллельно, не вмешиваясь в работу друг друга.
Заключение
Из данной статьи вы узнали, что для создания моста web-сервисов, соединяющего web-сервисы на основе XOP-пакета с внешними web-сервисами, необходимо понять взаимозависимости файлов и установить множественные нелинейные очереди. Также очень важным является общение с группой специалистов (включая системных администраторов, бизнес-аналитиков и разработчиков), чтобы обеспечить определение оптимального значения пороговой величины размера файла и оптимальные нелинейные выборки из очередей с высоким уровнем приоритета, а также установить, сколько файлов может быть экспортировано в множественные нелинейные очереди, не вызывая системных перегрузок.
Чтобы облегчить себе задачу, используйте IBM Rational Web Developer для создания web-сервисов, основанных на бизнес-процессах, которые вы моделируете с помощью IBM WebSphere Business Modeler. Эти продукты могут помочь и упростить вашу работу при соединении web-сервисов на основе XOP с внешними web-сервисами.
23.02.2008
Комментарии
Добавить комментарий (анонимные комментарии не публикуются!!!)
Новости и пресс-релизы СМ-Консалт
21.02.2012 12:42:20 Новая статья: IT и психология. Человеческий фактор в парном программировании: почему многие не получают желаемого от его внедрения?
Статья, находящаяся перед вами, открывает цикл статей о человеческом
факторе, Agile-практиках и других полезных приемах, используемых при
управлении командами в ИТ. Объединяет рассматриваемые практики и приемы
одно – они позволяют проявиться положительным эффектам, связанным с
человеческим фактором. И мы объясняем, почему с точки зрения психологии,
это происходит. Так сказать, подводим теоретическую и экспериментальную
базу под то, что себя уже давно зарекомендовало и работает. Или под то,
что работает не у всех, и потому является предметом оживленных споров и
дискуссий. И начинаем мы наши исследования с рассмотрения эффекта
парного программирования через призму экспериментов социальной
психологии.
Отдельную благодарность за рецензию и время, потраченное на прочтение
первого варианта статьи, выражаем Асхату Уразбаеву,
ценные замечания которого позволили не только улучшить данную статью,
но и позволили убедиться в необходимости и востребованности именно цикла
статей!
Читать -->
27.12.2011 16:15:27 Компания "СМ-Консалт" получила отзыв о работах в Федеральной Налоговой Службе (ГНИВЦ ФНС)
Специалистами ООО «СМ-Консалт» в 2010-2011г. был выполнен проект
по настройке и внедрению системы управления жизненным циклом разработки
программных систем в части управления изменениями и конфигурациями на
основе Microsoft Visual Studio Team Foundation Server 2010 для
Филиала Федерального государственного унитарного предприятия «Главный
научно-исследовательский вычислительный центр Федеральной налоговой
службы» в Приволжском Федеральном округе (Филиал ФГУП ГНИВЦ ФНС России в
ПФО).
28.11.2011 15:05:11 Новая статья: "Всегда ли «Да» – это «Да»? Или как нас вынуждают принимать решения"
Мы предлагаем вашему вниманию цикл статей, в основу которых положены
психологические практики и приемы, позволяющие влиять на решения,
принимаемые людьми. Эта идея была логическим продолжением ряда
выступлений с докладами о коммуникациях в проектах разработки и
внедрения ПО. Давайте, не откладывая в долгий ящик, начнем с самого
простого приема убеждения, с которым сталкиваемся ежедневно в магазинах,
в транспорте, в разговорах с коллегами… да мало ли где еще!
Авторы: Новичков Александр и Карабанова Галина.
Читать -->
10.10.2011 11:16:06 Компания «СМ-Консалт» открывает новое направление продаж - ПО Adobe Connect
Программное обеспечение Adobe Connect является гибкой системой
web-коммуникации с высоким уровнем информационной безопасности. Adobe
Connect предоставляет такие важнейшие функции корпоративного
взаимодействия, как деловое общение и совместная работа сотрудников на
уровне предприятий, дистанционное обучение, организация широкомасштабных
сетевых семинаров и презентаций. Система Adobe Connect базируется на
технологии Adobe Flash, а также Air, и поэтому позволяет подключать
сотрудников к единому пространству взаимодействия через web-браузер с
любых устройств.
17.09.2011 21:40:22 Новая статья: "Разработка прикладного программного обеспечения с использованием Rational Unified Process на Иркутском Авиационном заводе"

На сайте СМ-Консалт открыт новый раздел Статьи наших заказчиков об успешных внедрениях IBM Rational и Microsoft. Статьи для данного раздела пишутся нашими заказчиками и рассказывают о сути проектов внедрения технологий IBM и Microsoft. Первая статья, представленная вашему вниманию написана сотрудниками Иркутского Авиационного Завода (ИАЗ).
Иркутский авиазавод имеет длительный опыт разработки программного
обеспечения для информационной поддержки ключевых бизнес-процессов
предприятия. Однако, в связи с увеличивающейся сложностью и повышением
требований к разрабатываемому программному обеспечению, возникла
настоятельная необходимость усовершенствовать процесс разработки:
повысить качество разрабатываемых программных продуктов,
стандартизировать процесс с увеличением его эффективности.
С целью повышения качества программного обеспечения собственной
разработки и сокращения сроков разработки руководство Управления
информационных технологий (УИТ) Иркутского Авиационного Завода в 2006г. приняло решение о внедрении технологии разработки ПО на базе методологии Rational Unified Process и с использованием инструментов автоматизации IBM Rational.
13.09.2011 12:07:29 Новый тренинг «Коммуникации и психология межличностных отношений в ИТ-проектах»

Компания «СМ-Консалт» представляет новый тренинг, организуемый совместно с компанией «КарьерKаб» - «Коммуникации
и психология межличностных отношений в ИТ-проектах.
Тренинг позволит понять, насколько коммуникации в проектах важнее инструментов, что люди и их взаимоотношения зачастую оказываются решающим фактором, определяющим успех проекта. Если более пятидесяти процентов рабочего времени вы тратите на взаимодействие с заказчиком, если вам небезразлична судьба вашей команды и вы хотите, чтобы ваша команда работала как часы, реализуя проекты точно, вовремя и без перерасхода ресурсов - наш тренинг поможет в этом.
01.08.2011 17:44:25 Наша компания получила отзыв о сотрудничестве с ОАО «Нордеа Банк»

В 2010-2011 гг. наши специалисты провели в Нордеа Банке проект по предварительному обследованию, развертыванию инструментальных средств и ряд тренингов по обучению методологии и работе с продуктами IBM Rational: «Методология разработки программных систем IBM Rational Unified Process», «Управление требованиями с использованием IBM Rational RequisitePro», «Управление изменениями в IBM Rational ClearQuest».
24.06.2011 01:27:57 Бесплатный семинар-вебинар «Повышение эффективности IT подразделений и качества разрабатываемого ПО с использованием современных методологий и технологий»
Компании СМ-Консалт , Legal SoftWaveTM и DNA приглашают Вас посетить бесплатный семинар-вебинар, посвященный обзору технологий и методологий, которые позволяют повысить эффективность ИТ подразделений. На семинаре рассматриваются технологии IBM Rational, Microsoft TFS, а также системы аналитической обработки информации (Business Intelligence) (IBM SPSS, Deductor, QlikView и другие).
Планируемая продолжительность семинара - 8 академических часов.
Место проведения: Санкт-Петербург (очно) и Интернет (для всех желающих: приходите сами и приглашайте друзей!).
Дата и время: 14 июля 2011 в 9 00.
ВНИМАНИЕ: если вы не сможете очно приехать на семинар - это не страшно, так как семинар будет транслироваться через интернет в формате вебинара и к нему, после регистрации, смогут присоединиться все желающие. Трансляция будет осуществляться посредством технологии Adobe Connect Pro , это позволит Вам присоединяться к конференции без установки дополнительного ПО - только интернет браузер.
Смотреть программу -->
07.06.2011 13:02:44 Компания "СМ-Консалт" провела серию успешных семинаров для ГНИВЦ ФНС России

Проведенные семинары были посвящены средствам разработки и тестирования программного обеспечения компании Майкрософт для сотрудников ГНИВЦ ФНС России. Слушатели семинаров отметили высокую квалификацию тренеров компании "СМ-Консалт" по организации учебного процесса и повышению квалификации специалистов, прошедших обучение.
Индивидуальный подход при решении любых вопросов, возникающих в процессе обучения, оперативность принятия решений, гарантированное выполнение взятых на себя обязательств и профессионализм позволили провести обучение на самом высоком уровне.
07.12.2010 12:28:15 Мы идем в Твиттер!

Наша компания открыла аккаунт в системе микроблоггинга Twiter.Теперь все официальные и неофициальные новости будут появляться в нашей ленте в Twitter.
Там же возможно будет задать прямые вопросы специалистам СМ-Консалт, по всем вопросам, связанным как с деятельностью компании, так и с техническими аспектов продуктов IBM и собственных решений СМ-Консалт.
Следуйте за нами!
https://twitter.com/cmconscom
11.11.2010 14:14:14 Осенний марафон Microsoft ALM Road Show
Компания СМ-Консалт совместно с образовательным центром Careerlab провели серию семинаров в рамках мероприятий ALM Roadshow 2.0 в крупнейших городах, расположенных на Волге, – крупных научных центрах, в которых ИТ технологии находятся на высоком уровне. Семинары прошли в Самаре, Нижнем Новгороде и Казани. Cеминары были посвящены использованию новых инструментов MS Visual Studio Team System в проектах разработки ПО.
В семинарах принимали участие представители различных ролей процесса разработки ПО: от разработчиков до руководителей предприятий различного уровня. Темы, обсуждаемые в ходе семинара, вызвали большой интерес аудитории и немалое количество вопросов, на которые были предоставлены исчерпывающие ответы. В процессе семинара также было показано большое количество примеров, которые дают представление о возможностях инструментов MS Team System. Средняя оценка за семинар составила 4,6 балла по пятибальной шкале
08.09.2010 18:37:52 Скидки до 30% на программное обеспечение IBM Rational

Компания СМ-Консалт предлагает для всех желающих на льготных условиях приобрести программное обеспечение IBM Rational. Снижение цен связано с тем, что мы стараемся быть как можно ближе к нашим клиентам, многие из которых постепенно начали преодолевать последствия финансового кризиса.Наше предложение поможет с минимальными издержками приобрести ПО IBM Rational, что является хорошим капиталовложением.
Скидки до 1 декабря 2010 года:
- 20% скидки при покупке IBM Rational ClearCase, ClearQuest, CearCase LT, при приобретении пяти и более лицензий*;
- 30% скидки при покупке пяти любых продуктов IBM Rational + решение или тренинг СМ-Консалт*.
Для получения деталей обязательно свяжитесь с нашими менеджерами
|