|
Работа с Web-сервисами в корпоративных SOA: Часть 7. Ускорение работы приложений Web-сервисов с помощью спецификации для двоичных XML - Optimized Packaging Specification
Статьи
→
SOA и Web-сервисы
Вступление
В Части 2 настоящей серии, я говорила о том, как вы можете осуществлять производственный процесс создания приложения Web-сервис и определять максимальное количество, имеющих возможность взаимодействовать друг с другом SOA, с которым система сможет справиться без перегрузки SOA. В Части 5 настоящей серии, я обращала Ваше внимание на важность правил производственного процесса, как на самое главное в оптимизации Web-сервис и приводила примеры, как вы можете сократить количество Web-запросов и время их выполнения.
В данной части я расскажу о том, как разрастаются основанные на XML, приложения Web-сервисов. При использовании в больших количествах эти Web-сервисы закупоривают сетевой трафик из-за перегрузок системы. Чтобы решить проблему, я объясню, как вы можете применить XML-двоичную Оптимизированную Упаковочную Спецификацию (см. Ресурсы) для ускорения своих Web-сервисов.
Данный проектный стандарт более эффективен, чем современные XML-анализаторы. Анализаторы ведут себя скорее как интерпретаторы, а не компиляторы. Они не так успешно справляются с чтением масштабных файлов, особенно в текстовом формате, как с чтением небольших файлов или вычислением простых функций. Даже шифрование может прекратить работу Web-сервисов, поскольку для достижения желаемых результатов приходится выполнять сложные вычисления.
Два сценария
В Части 2 я обращала ваше внимание на то, что логичнее извлечь компоненты из бизнес-приложения и реконструировать их как внешние Web-сервисы. Так вы можете изменить код в Web-сервисах и вам не надо будет переконструировать и компилировать масштабное, сложное и длительное приложение.
Приложение, переконструированное в более компактную версию в первой SOA (см. Рисунок 1), может посылать Web-запрос для функционального присоединения к внешнему прототипу Web-сервиса MRP (managed resource prototype) во второй SOA. Web-сервис MRP, в свою очередь, указывает на внешний прототип Web-сервиса CRM (управление взаимоотношениями с клиентами) в третьей SOA. Web-сервис CRM посылает запросы и информацию приложению для дальнейшей обработки.
Рисунок 1. Динамическое соединение с Web-сервисами
Предположим, что множественные Web-запросы для многофакторных Web-сервисов, основанных на XML, могут появиться в любое время. Бизнес-приложение, которое не рассматривалось нами в примере выше, соединяется с другой функцией или крупными производственными системами, которые, в свою очередь, соединяются с множественными Web-сервисами, получающими множественные Web-запросы. При использовании в большом количестве Web-сервисы разрастаются и закупоривают сетевой трафик.
Один метод решения проблемы – применить пакет XOP (см. Рисунок 2) для обработки данных в двоичном формате к обоим Web-сервисам, основанным на XML: как к Web-сервису MRP, так и к Web-сервису CRM.
Рисунок 2. Применение пакета XOP к Web-сервисам.
Во втором сценарии вы можете разработать правила производственного процесса, а затем и основанные на XML Web-запросы, которые вам понадобятся для создания нового Web-сервиса из уже существующих. Если новый Web-сервис- бизнес-логика или центральные данные – обеспечивает лучший или дополнительный сервис или выполняемые функции, вам необходимо сократить или полностью аннулировать излишние Web-запросы, время выполнения, время доступа и полосу пропускания.
Проблема возникает, когда новые Web-сервисы созданы и используются в больших количествах; они будут раздуваться. Как и в первом сценарии, вам надо будет применить к Web-сервисам пакет XOP. В обоих сценариях вам нужно работать с системными администраторами для определения максимального количества Web-сервисов, которые могут быть использованы с пакетами XOP, не вызывая перегрузок системы.
Набор информационных элементов XML (Infoset), предшествующих обработке данных XOP.
Свое объяснение процесса работы XOP я начну с набора информационных элементов XML (Infoset), который похож на сообщение SOAP, описывающее документ XML с элементами: картинка (picture) и подписью (signature). В Листинге 1 я использую жирный шрифт для того, чтобы выделить часть исходного набора информационных элементов XML (Original XML Infoset) и показать, где и какие исходные элементы предшествуют обработке данных XOP.
Листинг 1. XML Infoset предшествует обработке данных XOP
<soap:Envelope
xmlns:soap='http://www.w3.org/2003/05/soap-envelope'
xmlns:xop='http://www.w3.org/2003/12/xop/include'
xmlns:xmlmime='http://www.w3.org/2004/06/xmlmime'>
<soap:Body>
<m:data xmlns:m='http://example.org/stuff'>
<m:photo xmlmime:content-type='image/png'>
/aWKKapGGyQ=
</m:photo>
<m:sig xmlmime:content-type='application/pkcs7-signature'>
Faa7vROi2VQ=
</m:sig>`
</m:data>
</soap:Body>
</soap:Envelope>
|
Как видите, существует два элемента: m:photo и m:sig. Содержание элемента на основе Base64 m:photo представляет собой /aWKKapGGyQ= в то время как base64 запрограммированное содержание элемента m:sig представляет собой Faa7vROi2VQ=. Эти элементы также известны как структурные единицы информации (element information items). Содержанием является дочерним элементом. Не забывайте, что элемент родительский компонент для данного дочернего элемента, который, в свою очередь, является знаковой единицей информации (character information item), означающей, что данная единица содержит буквенно-цифровые знаки. Например, m: photo является исходным родительским компонентом дочернего элемента /aWKKapGGyQ=. Имя дочернего элемента сложно читать и произносить, и в нем легко сделать опечатку.
У вас может и не возникнуть этой проблемы, если вы направите XML Infoset через обработку данных XOP. XOP работает, извлекая Оптимизированное Содержание (Optimized Content) из исходного Infoset (Original Infoset) для создания XOP Infoset. Оптимизированное Содержание представляет собой сокращенное содержание, о котором я только что говорила. В Листинге 2 я выделяю содержание, которое нужно переместить.
Листинг 2. Содержание, которое нужно переместить
<m:photo xmlmime:content-type='image/png'>
/aWKKapGGyQ=
</m:photo>
<m:sig xmlmime:content-type='application/pkcs7-signature'>`
Faa7vROi2VQ=
</m:sig>
|
Infoset, следующий за обработкой данных XOP
Обработка данных XOP включает три этапа. Первый этап – замена текстовых элементов на двоичные элементы в Infoset. Второй этап – присоединение пакета MIME (многоцелевые расширения почтовой службы в Internet -Multipurpose Internet Mail Extensions) прежде чем Infoset будет содержать замещенные элементы. Третий этап – присоединение другого пакета после Infoset.
Этап 1: Замена элементов
Пакет XOP заменяет перемещенное содержание новой структурной единицей информации с именем xop:Include. Элемент xop: Include содержит единицу информации об атрибуте (attribute information item) со ссылкой на часть пакета XOP, в котором находится двоичное изложение данных, перемещенных из исходного элемента. В Листинге 3, я обращаю ваше внимание на xop: Include, который заменяет содержание элементов картинка (picture) и подпись (signature) в исходном Infoset.
Листинг 3. Замена элементов
<m:photo xmlmime:content-type='image/png'>
<xop:Include href='cid:http://example.org/me.png'/>
</m:photo>
<m:sig xmlmime:content-type='application/pkcs7-signature'>
<xop:Include href='cid:http://example.org/my.hsh'/>
</m:sig>
|
Как вы видите, href='cid:http://example.org/me.png'/ является единицей информации об атрибуте элемента picture, в то время как href='cid:http://example.org/my.hsh' является единицей информации об атрибуте для элемента signature.
Новая версия части Infoset (см. Листинг 4). Количество строк остается тем же.
Листинг 4. Новая версия части XML Infoset
<soap:Envelope
xmlns:soap='http://www.w3.org/2003/05/soap-envelope'
xmlns:xop='http://www.w3.org/2003/12/xop/include'
xmlns:xmlmime='http://www.w3.org/2004/06/xmlmime'>
<soap:Body>
<m:data xmlns:m='http://example.org/stuff'>
<m:photo xmlmime:content-type='image/png'>
<xop:Include href='cid:http://example.org/me.png'/>
</m:photo>
<m:sig xmlmime:content-type='application/pkcs7-signature'>
<xop:Include href='cid:http://example.org/my.hsh'/>
</m:sig>
</m:data>
</soap:Body>
</soap:Envelope>
|
Этап 2: Примение процесса MIME раньше Infoset
Для завершения обновления вам необходимо сериализировать исходный InfoSet, используя XOP в пакете MIME Multipart/Related. XOP является более эффективным средством сериализации XML Infoset, обладающего определенными типами содержания элементов XQuery и XPath 2.0.
Присоедините один пакет MIME до обновленния Infoset, а другой после Infoset, для описания документа XML, содержащего элементы picture и signature в текстовом и двоичном форматах соответственно. В Листинге 5 я выделяю, где пакет XOP распознает XML Infoset в текстовом формате (8-бит).
Листинг 5. Часть пакета XOP, предшествующая Infoset
MIME-Version: 1.0
Content-Type: Multipart/Related;boundary=MIME_boundary;
type=text/xml;start= «<mymessage.xml@example.org> «
Content-Description: An XML document with my picture and signature in it
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: mymessage.xml@example.org
|
Этап 3: Присоединение пакета MIME после Infoset.
Листинг 6 показывает, как пакет XOP распознает двоичное представление перемещенных данных.
Листинг 6. Часть пакета XOP после Infoset
--MIME_boundary
Content-Type: image/png
Content-Transfer-Encoding: binary
Content-ID: <http://example.org/me.png>
// binary octets for png
--MIME_boundary
Content-Type: application/pkcs7-signature
Content-Transfer-Encoding: binary
Content-ID: <http://example.org/my.hsh>
// binary octets for signature
--MIME_boundary--
|
Как вы видите, двоичное содержание Content-ID после Infoset, ссылки, указанные в xop: Include element замещают текстовое содержание сообщения до Infoset.
Соединение всех элементов
В Листинге 7 у Вас полный XML Infoset, сериализованный как пакет XOP. Хотя здесь есть дополнительные строки, сам пакет гораздо более эффективен, чем XML-анализатор (parser) для исходного Infoset.
Листинг 7. Сериализация XML Infoset как пакета XOP
MIME-Version: 1.0
Content-Type: Multipart/Related;boundary=MIME_boundary;
type=text/xml;start= «<mymessage.xml@example.org> «
Content-Description: An XML document with my picture and signature in it
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <mymessage.xml@example.org>
<soap:Envelope
xmlns:soap='http://www.w3.org/2003/05/soap-envelope'
xmlns:xop='http://www.w3.org/2003/12/xop/include'
xmlns:xmlmime='http://www.w3.org/2004/06/xmlmime'>
<soap:Body>
<m:data xmlns:m='http://example.org/stuff'>
<m:photo xmlmime:content-type='image/png'>
<xop:Include href='cid:http://example.org/me.png'/>
</m:photo>
<m:sig xmlmime:content-type='application/pkcs7-signature'>
<xop:Include href='cid:http://example.org/my.hsh'/>
</m:sig>
</m:data>
</soap:Body>
</soap:Envelope>
--MIME_boundary
Content-Type: image/png
Content-Transfer-Encoding: binary
Content-ID: <http://example.org/me.png>
// binary octets for png
--MIME_boundary
Content-Type: application/pkcs7-signature
Content-Transfer-Encoding: binary
Content-ID: <http://example.org/my.hsh>
// binary octets for signature
--MIME_boundary--
|
Заключение
Функционирование Web-сервисов с пакетом XOP требует заблаговременного планирования, чтобы определить, как нужно конструировать приложения, чтобы избежать перегрузок во время пика. Вам следует посоветоваться с группой системных администраторов по вопросам технологий кодирования, чтобы знать, какие из этих технологий необходимо использовать в оптимизации Web-сервисов.
Вы увидите, что решение рассматриваемых вопросов упрощает вашу работу по оптимизации Web-сервис приложений. Вы можете использовать ПО от IBM Relational Web Developer для WebSphere® для разработки Web-сервисов, основывающихся на бизнес-процессах, и использовать его с пакетом XOP для аналогичных и множественных SOA. Администраторы убедятся, что решение рассматриваемых вопросов упрощает их работу по управлению и администрированию систем. Они могут определить, какое количество приложений может быть использовано с пакетом XOP в SOA без перегрузок системы.
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 + решение или тренинг СМ-Консалт*.
Для получения деталей обязательно свяжитесь с нашими менеджерами
|