СМ-Консалт
 

Работа с Web-сервисами в корпоративных SOA: Часть 4.Создайте межплатформенное программное обеспечение SOA

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

Введение

В моей первой статье из серии о корпоративных SOA, «Заполнение системных пробелов предприятия с помощью множественных SOA», я говорила о сценариях заполнения системных пробелов предприятия с помощью множественных SOA, показывая, как Web-сервисы – основанные на данных и бизнес-логике – из одной или более SOA могут многократно применяться и комбинироваться в комплексное приложение, контролируемое организацией.

Во второй статье, «Максимизация функциональной совместимости с внешними Web-сервисами», я дала примеры функциональной совместимости (interoperability) служб без перегрузок по типам SOA -, от простого протокольного сосуществования до сложной функциональной совместимости многоуровневых платформ. Вы научились изаенять тип сервиса, место размещения и платформу для каждого Web-сервисы с целью сделать возможным применение бизнес-процесса созданного приложения.

Часть 3 этой серии, «Объедините свои SOA в трехмерный единый сетевой концентратор (хаб) для увеличения скорости и повышения надежности», объясняет, как можно соединить множественные SOA для Web-сервисов и не для Web-сервисов в единый трехмерный интеграционный хаб для подключения к различным внутренним мэйнфреймовым системам учреждения. В этой статье я объясню, как создать SOA, межплатформенное приложение предприятия в трёхмерном пространстве, используя инструментарий разработки из ПО от компании IBM®Rational®. Вы также узнаете, как компоненты Web-сервиса могут быть скомбинированы в межплатформенное приложение при помощи множественных SOA и как их можно разработать, используя следующие четыре подхода:

  • Нисходящее программирование
  • Восходящее программирование
  • Обходное программирование
  • Встраивание

Для начала посмотрим на каждый подход как с физической, так и с логической перспективы.


Логические и физические Web-сервисы

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

Можно создать межплатформенное приложение SOA для логических Web-сервисов путем определения отношения между бизнес-моделью межплатформенного приложения и компонентами физических Web-сервисов. Чтобы сделать это, моможно использовать Rational Software Architect либо Rational Software Modeler, либо и то и другое для поддержки разработки по модели посредством Unified Modeling Language (UML) и, соответственно, для поддержки UML-моделирования с использованием видеоданных для документирования различных представлений системы.


Нисходящее программирование

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


Рисунок 1. Нисходящее программирование
Нисходящее программирование

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

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

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

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


Восходящее программирование

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


Рисунок 2. Восходящее программирование
Восходящее программирование

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

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

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


Обходное программирование

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


Рисунок 3. Обходное программирование
Обходное программирование

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

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


Метод встраивания

Как с точки зрения физической, так и логической перспективы, встроенный метод – это сочетание предыдущих трех методов на глубине двух-трех слоев в по меньшей мере одном из слоев пирамиды. В примере гнездового двухуровневого встраивающего программирования, можно применить нисходящий метод внутри восходящего (см. рисунок 4) или наоборот. Можно также применить обходной метод в рамках нисходящего или восходящего.


Рисунок 4. Метод встраивания
Метод встраивания

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


Принятие решения о выборе метода

Разработка межплатформенного приложения SOA в открытой архитектуре зависит, например, от того, который из родственных пакетов или пакетов WebSphere®вам надо использовать. Как было упомянуто ранее, можно использовать Rational Software Architect и Rational Software Modeler для моделирования корпоративного межплатформенного программного обеспечения SOA с Web-сервисами в качестве объектов, родственных логических объектов или сочетания того и другого. Можно также использовать Rational Web Developer для WebSphere Software для Linux™, Windows®2000, Windows 2003 Server и Windows XP для того, чтобы облегчить разработку Web-сервисов.


Заключение

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

23.02.2008

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

ФИО: 
E-mail: 
Тема: 
Комментарий: 
Оценка:   
 
 
 
 
 
Код подтверждения:
Помогает планировать и управлять процессом, в ней отображается совместная работа над проектами
   

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

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

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

Бесплатный вебинар 14 декабря в 14 00 по Мск - «Секреты управления ИТ-командой: 10 важных практик, которые сделают команду эффективной»

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

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

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

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

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

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

Отчет, презентация и видео доклада для Октябрьской встречи Петербургского клуба менеджеров проектов в IT - SPM Meetup #36

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

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

Дружите с нами на 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-2016.
Карта сайта