|
Моделирование SOA: Часть 2. Спецификация сервиса
Статьи
→
SOA и Web-сервисы
Контекст статьи
В первой статье серии, «Моделирование SOA: Часть 1. Идентификация сервиса», рассказывалось о принципах идентификации сервисов, отвечающих бизнес-требованиям. Сначала мы определили, какие бизнес-задачи должны быть решены и какие цели достигнуты для реализации бизнес-миссии. Затем мы смоделировали бизнес-операции и бизнес-процессы, необходимые для выполнения задач и достижения целей. После этого мы рассмотрели бизнес-процесс как кооперацию сервисов, представляющую собой контракт о требованиях к сервису, который должен выполняться нашим будущим решением. Впоследствии мы использовали этот контракт о требованиях как вспомогательное средство для идентификации сервисов и потенциальных взаимоотношений между ними. Благодаря этому мы получили формальный механизм идентификации значимых для бизнеса сервисов с привязкой к бизнес-целям и бизнес-задачам, для выполнения которых они предназначены.
В предыдущей статье мы также рассмотрели возможность максимизации потенциала SOA-решения путем идентификации значимых для бизнеса сервисов. Мы спроектировали топологию сервиса с учетом бизнес-требований и снова ассоциировали сервисы с кооперациями сервисов, представляющими собой контракт о требованиях к сервису, которые должны удовлетворяться решением.
В этой статье мы продолжим определение SOA-решения путем моделирования подробной спецификации каждого сервиса. Спецификации будут описывать соглашения между потребителями и изготовителями сервиса. Такие соглашения включают информацию о предоставляемых и запрашиваемых интерфейсах, ролях, которые эти интерфейсы выполняют в спецификации сервисов, а также правилах и протоколах, определяющих взаимодействие ролей.
Описание спецификации сервиса
Теперь можно приступить к моделированию деталей спецификации сервиса. В спецификации необходимо определить все, что нужно потенциальному потребителю, чтобы он мог решить, нужен ли ему этот сервис, а также предоставить информацию о том, как использовать сервис. Кроме того, спецификация должна определять все, что должен знать поставщик сервиса для его успешного использования. Таким образом, спецификация сервиса является промежуточным звеном, или соглашением, между потребностями потребителя и функциями, предоставляемыми поставщиками.
В идеале эта информация должна размещаться в одном месте. Это значительно облегчит поиск ресурсов для сервисов многократного использования в спецификации репозиториев и получение всей необходимой информации, при этом не придется перемещаться между множеством различных документов или искать связанные элементы. Как минимум, спецификация включает следующую информацию:
- Имя сервиса, отражающее его назначение;
- Предоставляемые и запрашиваемые интерфейсы, при помощи которых определяются функциональные средства, предоставляемые сервисом и средства, запрашиваемые его потребителями. Примечание: речь здесь идет не о способе реализации сервиса, а о взаимодействии между потребителями и поставщиками сервиса;
- Все протоколы, определяющие правила или порядок использования функциональных средств;
- Ограничения, являющиеся отражением задач, которые должен решать сервис при успешном применении, а также критериев оценки успешного применения.
- Характеристики, которые, по мнению потребителя, должны быть предоставлены поставщиком, например, стоимость, доступность, производительность, размер, соответствие задаче, информация о конкурентах и т. д.;
- Политики использования сервиса, например политики обеспечения безопасности и объем транзакций для поддержания безопасности и целостности или для восстановления из состояния неработоспособности до состояния успешного выполнения данного сервиса или любого запрашиваемого сервиса.
Как и во всех остальных статьях данной серии, мы воспользуемся имеющимися инструментами IBM® Rational® и IBM® WebSphere®для создания артефактов решения и их взаимной привязки, благодаря чему мы сможем проверить соответствие нашего решения требованиям и более эффективно управлять изменениями. В таблице 1 представлен процесс, который мы будем использовать для разработки примера, а также инструменты, которые мы будем применять для создания артефактов. Кроме того, мы адаптируем универсальный язык моделирования (UML) к моделированию сервисов, добавив профиль IBM® Software Services Profile к UML-моделям в IBM® Rational® Software Architect.
Таблица 1. Разработка ролей процессов, задач и инструментов
| Роль | Задача | Инструменты |
| Бизнес-исполнитель |
Формулирование бизнес-задач и целей |
IBM® Rational® RequisitePro® |
| Бизнес-аналитик |
Анализ бизнес-требований |
IBM® WebSphere® Business Modeler |
| Разработчик архитектуры программного обеспечения |
Разработка архитектуры решения |
IBM Rational Software Architect |
| Разработчик Web-сервисов |
Реализация решения |
IBM® Rational® Application Developer и IBM® WebSphere® Integration Developer |
Пересмотр идентификации сервисов
Давайте начнем с пересмотра бизнес-требований и идентифицированных нами сервисов, которые должны обеспечивать их выполнение (об этом подробно рассказывалось в статье «Моделирование SOA: Часть 1. Идентификация сервиса»). На рисунке 1 бизнес-требования показаны в виде кооперации ролей в бизнесе, ответственностей ролей и правил взаимодействия ролей.
Рисунок 1. Контракт о требованиях к сервису
Кооперация сервисов представляет собой контракт для требований, созданный на основе бизнес процесса и определяющий функции, которые должно обеспечивать решение сервиса. Это архитектурно-нейтральная, и, тем не менее, формальная спецификация требований, которая не должна излишне ограничивать SOA-решение. Под понятием «архитектурно-нейтральная» мы подразумеваем следующее: контракт для требований определяет, какие именно функции должно выполнять решение, но не определяет, как оно будет их выполнять.
На рисунке 2 показана сводная схема идентифицированных спецификаций сервисов, которые будут придавать законченный вид решению и использовать зависимости, показывающие, как по мнению разработчика следует их использовать.
Рисунок 2. Топология сервиса
И, наконец, на рисунке 3 показано, как можно использовать эти сервисы для выполнения бизнес-требований.
Рисунок 3. Как сервисы выполняют контракт о требованиях к сервисам
На этом разговор об идентификации сервисов и их связи с бизнес-требованиями можно считать законченным. Далее в статье объясняется, как моделировать детали спецификации сервисов. Спецификации сервисов представляют собой уточнение интерфейсов, показанных на рисунке 2. Они определяют многие из деталей, перечисленных в общем описании.
Когда интерфейсы будут готовы, нам все еще не будет известно, какие участники сервиса предоставляют или запрашивают сервисы, описываемые этими интерфейсами, как реализуются функции сервисов, которые, возможно, используются другими сервисами. Об этом мы поговорим в следующей статье, посвященной реализации сервисов.
Типы спецификаций сервисов
Спецификация сервиса должна предоставлять следующую информацию:
- Имя сервиса, отражающее назначение сервиса или функцию, которую он выполняет;
- Предоставляемые и запрашиваемые интерфейсы, описывающие функциональные возможности сервиса. Каждая функциональная возможность содержит следующие компоненты:
- Имя, которое часто представляет собой глагольную фразу, объясняющую, что делает данная функциональная возможность;
- Все обязательные или дополнительные операции ввода и вывода данных;
- Все необходимые предпосылки, которые должны выполнить потребители до использования функциональной возможности;
- Все постусловия, которые потребители вправе ожидать, а поставщики обязаны предоставить после успешного использования функциональной возможности;
- Все исключения или условия отказа, которые могут иметь место в том случае, если функциональную возможность по каким-либо причинам невозможно будет предоставить даже при выполнении всех предпосылок.
- Все протоколы связи или правила, определяющие, когда или в каком порядке можно использовать функциональные возможности;
- Все функции, которые, по расчетам поставщика, должны быть обеспечены потребителями для использования сервиса или для взаимодействия с ним;
- Требования, которые должен выполнять любой изготовитель сервиса в процессе предоставления сервиса;
- Ограничения, являющиеся отражением задач, которые должен решать сервис при успешном применении, а также критериев оценки успешного применения;
- Характеристики сервиса, которые, по мнению потребителя, должны предоставить поставщики, а именно: Стоимость, доступность, производительность, размер, соответствие задаче, информация о конкурентах и т. д.;
- Политики использования сервиса, например политики обеспечения безопасности и объем транзакций для поддержания безопасности и целостности или для восстановления из состояния неработоспособности до состояния успешного выполнения данного сервиса или любого требуемого сервиса.
Понятно, что это довольно объемная информация, в данной статье не предполагается ее изучение в полном объеме. В частности, мы не будем рассматривать характеристики или политики сервисов. Это достаточно сложная тема, которая требует отдельной статьи. Кроме того, характеристики и политики могут быть специфичными для конкретного поставщика сервиса, а не только для интерфейса конкретного сервиса. Вместо этого мы сосредоточимся на изучении основ, необходимых для определения и использования сервисов.
В следующих разделах мы займемся уточнением всех идентифицированных ранее спецификаций сервисов, показанных на рисунке 2, в следующем порядке: мы начнем с самой простой спецификации сервиса, не определяющей протоколы, затем рассмотрим спецификацию, которая предлагает простой протокол запросов/ответов, и наконец, более сложный сервис, который использует многофазный протокол и взаимодействие между потребителем и поставщиком.
Сервис планирования
Спецификация сервиса планирования, которая показана на рисунке 4, очень проста. Сервис предлагает две функциональных возможности: возможность отвечать на запросы о производственном планировании и возможность создавать расписание доставки. До сих пор, насколько нам известно, для этой ситуации не существует протокола, определяющего использование этих функциональных возможностей, поэтому обе функциональных возможности могут использоваться потребителем в любом порядке.
Рисунок 4. Спецификация сервиса планирования
Спецификация сервиса планирования представляет собой простой UML-интерфейс, созданный в пакете производства. Он предоставляет две сервисных операции. Каждая из этих операций может иметь необходимые предпосылки и постусловия и, кроме того, порождать исключительные ситуации. Необходимо, чтобы параметры операций сервиса представляли собой либо данные сервиса (сообщения), либо примитивные типы. Это гарантирует, что параметры не будут делать предположений о том, как выполняется вызов по ссылке или по значению, где размещаются данные сервиса (в каком адресном пространстве), работает ли потребитель или поставщик сервиса с копией данных или некоторым персистентным источником данных, и т. д. Все это необходимо для того, чтобы обеспечить отсутствие ограничений на место развертывания сервиса по отношению к другим сервисам. Об определении данных сервиса рассказывается в разделе Модель данных сервиса далее в этой статье.
Сервис доставки
Протокол сервиса доставки отличается меньшей сложностью. Потребитель, желающий организовать доставку продукции, запрашивает сервис доставки. Однако оператору доставки может потребоваться определенное время на то, чтобы определить, где находятся продукты, есть ли они на складе или их необходимо изготовить, и найти самый рентабельный вариант доставки. Следовательно, до получения расписания доставки может пройти некоторое время. Потребители, как правило, не хотят ждать, пока расписание будет составлено, потому что это могло бы либо помешать параллельному выполнению другой работы, либо привести к ненужной загрузке системных ресурсов длительными процессами.
Поэтому ИТ-архитекторы приняли решение использовать простой протокол запросов/ответов, или обратного вызова, между потребителем и поставщиком. Потребитель запрашивает доставку, а затем, через некоторое время, отвечает на запрос оператора доставки, чтобы получить готовое расписание. Чтобы создать модель этого протокола, нам необходимо определить роли изготовителя и потребителя, их ответственности, а также протоколы или правила их взаимодействия. Это очень важно, потому что оператор доставки не сможет отправить расписание, если не получит запрос на доставку.
Спецификация сервиса предоставляет информацию обо всем, что нужно знать о сервисе, включая требования, которым вы должны соответствовать, чтобы использовать сервис (такие требования иногда называют «соглашением об использовании» (см. статью Дэниелса (Daniels) и Чизмана (Cheesman)), и требования, которым должен удовлетворять реализатор сервиса (их иногда называют «соглашением о реализации»). Это почти та же информация, которая необходима для сбора бизнес-требований; за исключением предметной области и уровня детализации. Это вполне понятно, потому что в спецификации в контракте о требованиях к сервису мы определяем, как взаимодействуют между собой потребитель и поставщик сервиса.
В данном случае для определения спецификации сервиса мы используем абстрактный класс, как показано на рисунке 5.
Рисунок 5. Спецификация сервиса доставки
Спецификация ShippingService определяет две роли:
- Роль «оператор доставки» это роль поставщика сервиса. Данная роль отвечает за выполнение ответственностей, связанных с доставкой; эти ответственности определяются ее типом интерфейс доставки;
- Роль «оператор заказов» отвечает за обработку расписания доставки. Об этом говорит тип роли,
ScheduleProcessing.
Нет необходимости в назначении таких ролей, как поставщик и потребитель. В потенциально долгосрочном диалоге возможны произвольные отклонения, которые могут способствовать вовлечению в него многих участников. Кроме того, о том, кто является потребителем и поставщиком сервиса, нетрудно догадаться по тому факту, что спецификация сервиса реализует предоставляемый интерфейс доставки и использует запрашиваемый интерфейс ScheduleProcessing.
Между ролями оператора доставки и оператора заказов мы видим соединительную линию. Она показывает, что протокол вызывает определенное взаимодействие ролей. Элемент «взаимодействие» requestShipping, который принадлежит к классу ShippingService, показывает, в чем именно заключается взаимодействие.
Взаимодействие ShippingService определяет поведенческие или динамические аспекты взаимодействия между ролями оператора доставки и оператора заказов. Оно показывает, что роль оператора заказов сначала отправляет сообщение requestShipping (или вызывает операцию requestShipping роли оператора доставки), а затем, иногда с некоторой задержкой по времени, отвечает на сообщение processSchedule, полученное от роли оператора доставки. Во взаимодействии участвуют два жизненных цикла: оператора заказов и оператора доставки. Эти экземпляры объектов представляют собой свойства ролей оператора заказов и оператора доставки в классе спецификации сервиса. То есть обмен сообщениями между описанными ролями происходит через соединительную линию между ними. Это простой шаблон запросов/ответов или внешнего вызова, обычный для многих протоколов сервисов.
Протокол ShippingService можно было бы определить с помощью любого поведения UML 2: деятельности, взаимодействия, конечного автомата, протокола конечного автомата или неясного поведения (кода). Какое из них выбрать, зависит от специалиста, создающего модель, стиля, который он предпочитает, или применимости предметной области задачи.
Сервис инвойсирования
Вычисление первоначальной и окончательной цены для счета требует использования несколько более сложного протокола для определения взаимодействия между ролями оператора заказов и оператора инвойсирования. Очевидно, что операцию initiatePriceCalculation необходимо вызывать раньше операции completePriceCalculation. После этого оператор заказов должен быть готов обработать окончательный счет.
Мы можем документировать описанный протокол при помощи абстрактного класса, который определяет роли оператора инвойсирования и заказов, их ответственности и протокол (диалог или правила), по которому они будут взаимодействовать. Это похоже на спецификацию ShippingService, за исключением того, что взаимодействие более сложное, чем обычный диалог запрос/ответ. Здесь мы имеем дело с последовательностью, в которой необходимо вызывать функциональные возможности, чтобы обеспечить корректное использование сервиса.
Данный протокол документирован в спецификации сервиса InvoicingService , которая показана на рисунке 6. Обратите внимание на то, что эта спецификация сервиса также реализует прецедент Invoicing. Прецеденты можно использовать для представления специфичных требований сервисов. Спецификация сервиса состоит из двух ролей: «оператор инвойсирования» и «оператор заказов». Эти роли имеют, соответственно, тип реализуемого интерфейса «Invoicing „и используемого интерфейса InvoiceProcessing . Данные интерфейсы инкапсулируют ответственности ролей (функциональные возможности или операции сервиса или требования). Деятельность InvoicingService в спецификации сервиса определяет протокол использования операций сервиса, реальное взаимодействие, которое может происходить между ролями „оператор заказов“ и „оператор инвойсирования“.
Рисунок 6. Спецификация InvoicingService
InvoicingService это класс, который определяет протокол диалога, связи или правила взаимодействия между ролями оператора заказов и оператора счетов. Детали протокола фиксируются в поведении ownedBehavior данного класса, который используется для определения корректных шаблонов взаимодействия для использования этого сервиса. В этом случае протокол определяется в форме деятельности UML.
Протокол показывает, что оператор заказов должен сначала инициировать вычисление цены, и только после этого пытаться получить окончательный расчет цены. После этого оператор заказов должен быть готов ответить на запрос (в данном случае, обратный вызов) на обработку окончательного счета. Некоторые потребители, запрашивающие сервис инвойсирования, могут выполнять и другие действия помимо упомянутых трех, но протокол ограничивает определение последовательности этих специфических действий. Обратите внимание на то, что элемент ActivityPartitions в деятельности InvoicingService представляет роли или свойства в классе InvoicingService. Действие вызова операции, принадлежащее к какой-либо секции, показывает, что вызов осуществляется в роли, которую представляет данная секция (целевой входной точкой действия является роль, изображаемая секцией деятельности).
В данном случае имеет место только одно взаимодействие между оператором заказов и сервисом инвойсирования, поэтому класс спецификации сервиса имеет только одно поведение ownedBehavor. В других ситуациях между потребителем и поставщиком может быть несколько взаимодействий, каждое из которых использует отдельный протокол. Спецификация сервиса будет содержать поведение ownedBehavior, определяющее шаблоны взаимодействия для каждого из этих диалогов.
На данный момент нам неизвестно, какой поставщик сервиса реализует InvoicingService . Мы также не знаем, какой потребитель сервиса мог бы его использовать. Нам известно только то, что должен сделать любой потребитель, чтобы использовать этот сервис, а также то, что должен делать любой поставщик для того, чтобы его реализовать.
Спецификация приобретения
И наконец, последняя спецификация определяет обработку заказов на приобретение (рисунок 7).
Рисунок 7. Спецификация сервиса приобретения
Так же, как и спецификация сервиса планирования, сервис приобретения представляет собой простой интерфейс, имеющий только одну операцию, которая предоставляет функцию обработки заказов на приобретение покупателю, который возвращает заполненный счет. В качестве побочного действия этой операции заказанные товары производятся (если нужно) и доставляются покупателю.
Интерфейс этого сервиса представляет собой функциональную возможность, определенную в исходном бизнес-процессе „Обработка заказов на приобретение“. Он также представляет сервис, идентифицированный и разработанный на основе бизнес-процесса.
Возвращаемся к топологии сервиса
На данный момент спецификации сервиса определены более полно, поэтому мы можем вернуться к топологии сервиса, показанной на рисунке 3. Вспомним, что на этом рисунке показано, как можно использовать экземпляры идентифицированных сервисов, чтобы обеспечить выполнение контракта о требованиях к сервису. Однако на этой диаграмме не слишком много информации о самих сервисах, о том, как они подключаются друг к другу или о том, какие протоколы используются в процессе их взаимодействий. Наша спецификация сервиса готова, теперь можно приступить к созданию новой диаграммы, показывающей, как участники, использующие эти сервисы, могут взаимодействовать, чтобы обеспечить выполнение описанных требований. Мы будем возвращаться к этой диаграмме в следующей статье серии, „Моделирование SOA: Часть 3. Реализация сервиса“, в которой она будет использоваться в качестве исходной точки для разработки окончательного интегрированного решения сервисов, описанных в данном примере.
На рисунке 8 показан абстрактный компонент „Обработка заказов“, предоставляющий контекст для демонстрации другого представления топологии сервиса. Его элементы представляют участников процесса обработки заказов, которые будут предоставлять и/или запрашивать сервисы, необходимые для выполнения требований контракта „Обработка заказов на приобретение“. Мы не знаем точно, чем еще характеризуются эти элементы (они не имеют типов), но можем определить, что они должны делать, указав выполняемые ими роли в спецификации сервисов, определяющей, как они должны взаимодействовать и каким требованиям удовлетворять.
Рисунок 8. Подробная схема взаимодействия сервисов
Линии, соединяющие элементы компонента „Обработка заказов“, показывают ожидаемые взаимодействия между этими подкомпонентами. Подписи над соединительными линиями соответствуют именам соответствующих им контрактов, которые в этом случае являются протоколами для соответствующих спецификаций сервисов. Они показывают, что эти элементы должны будут предоставлять и запрашивать интерфейсы, определяемые спецификацией сервиса, и использовать указанные интерфейсы в соответствии с протоколом спецификации сервиса. То, как именно это будет происходить, моделируется в описаниях реализации сервисов, о которой будет рассказано в следующей статье данной серии.
Мы также видим, что все эти элементы будут взаимодействовать особым образом, позволяющим обеспечить выполнение требований контракта „Обработка заказов на приобретение“. Таким образом, Обработка заказов объединяет два момента:
- Потребители и поставщики (или участники) сервиса должны выполнять бизнес-требования;
- Подключения и протоколы, которые показывают, как эти участники взаимодействуют для выполнения указанных требований.
Модель данных сервиса
Модель данных системы взаимоотношений с клиентами, Customer Relationship Management (CRM), определенная в пакете org::crm, определяет все данные, используемые всеми операциями сервиса в модели „Обработка заказов на приобретение“ в данном примере (рисунок 9). Пакет CRM представляет собой проект модели данных сервиса «Управление взаимоотношениями с клиентами“, которую можно повторно использовать в нескольких сервисах, даже если эти сервисы предоставляются разными организациями. В данной статье мы не рассматриваем вопросы обнаружения и нормализации данных сервиса, а также их отношения к персистентным сущностям или физическим источникам данных. Ее тема описание данных сервиса и документирование модели.
Рисунок 9. Модель предметной области сервисов CRM
Каждый тип данных <<message>> на рисунке 9 представляет данные сервиса. Данные сервиса это данные, которые участвуют в обмене сообщениями между потребителями и поставщиками сервисов. Типы данных параметров для операций сервиса относятся либо к сообщениям, либо к примитивным типам.
Примечание:
сообщения данных сервиса и сообщения языка описания Web-сервисов Web Services Description Language (WSDL) это не одно и то же. Операция сервиса может иметь любое количество входов и выходов с типами сообщений или примитивными типами. Проект операций сервиса может предусматривать использование общих входа, выхода и сообщений об ошибках, но это не является обязательным, в результате может возникнуть нежелательное сцепление данных штампа.
Сообщения представляют собой объекты передачи данных (объекты DTO), которые можно свободно использовать для обмена данными между адресными пространствами в распределенных средах. Поставщики и потребители сервисов не делают никаких предположений о том, где на самом деле размещаются данные и, следовательно, допускают, что имеют дело с копией некоторого представления реальных персистентных данных предметной области. Сообщения не имеют идентификаторов. Они являются ценными объектами, потому что их тождество определяется по значению их содержания, а не по идентификаторам.
Сообщения содержат данные, участвующие в обмене между потребителями и поставщиками сервиса в потенциально распределенной среде. Поставщики сервисов часто нуждаются в доступе к персистентным данным, чтобы использовать их в проектах своих реализаций. Взаимосвязь между данными сервиса и персистентными данными предметной области, используемыми в реализации сервиса, должна поддерживаться поставщиком сервиса и его реализацией функциональных возможностей сервиса. Часто данные сервиса представляют собой выборку и проекцию (или представление) данных предметной области. Однако способ извлечения данных сервиса из предметной области и обновления предметной области данными сервиса определяется реализацией сервиса. Объекты данных сервиса (объекты SDO) это очень полезный механизм реализации сообщений с данными сервиса. Они также имеют функции управления наборами изменений и автоматической фиксации изменений в персистентных хранилищах. Реализации участников сервиса могут использовать эти функции, однако нет необходимости решать их в модели.
Модель данных использует стереотип <<id>> для идентификации атрибутов, которые уникальным образом идентифицируют экземпляры содержащего их класса. К этой теме мы будем неоднократно обращаться при моделировании сервисов, потому что Web-сервисы и особенно язык исполнения бизнес-процессов для Web-сервисов (Business Process Execution Language for Web Services, BPEL) используют бизнес-данные для корреляции экземпляров или идентификации объекта по значению.
Что дальше
В этой статье мы создали детализированную модель спецификации сервиса для каждого из идентифицированных сервисов. Такие спецификации включают предоставляемые и запрашиваемые интерфейсы, роли, которые эти интерфейсы выполняют в спецификации сервисов, а также правила и протоколы, определяющие взаимодействие ролей. Спецификации сервисов определяют соглашение между требованиями потребителя и сервисами поставщика, которое сопоставляет потребности и возможности.
В следующей статье данной серии, «Моделирование SOA: часть 3. Реализация сервиса», подробно объясняется, как реализуются сервисы на практике. При реализации сервиса сначала решают, какие компоненты какими сервисами будут предоставляться. Это решение оказывает немаловажное влияние на доступность, распределение, безопасность, объем транзакций и связанность сервиса. После того, как решение будет принято, можно определить модель реализации функциональных возможностей каждого сервиса, а значит и то, как в действительности будут использоваться запрашиваемые сервисы. Затем мы воспользуемся функцией преобразования UML-SOA, входящей в состав пакета Rational Software Architect, для создания решения Web-сервисов, которое можно будет использовать непосредственно в Rational Application Developer или WebSphere Integration Developer для реализации, тестирования и развертывания готового решения.
19.02.2008
Комментарии
- FJSPYevhHBPJOpiH
Автор: aMc5gw , [url=http://ouqdtrsujrmv.com/]ouqdtrsujrmv[/url], [link=http://fjbtlplvctub.com/]fjbtlplvctub[/link], http://rjyroiblwbei.com/ · 29.04.2012 11:01:48 aMc5gw , [url=http://ouqdtrsujrmv.com/]ouqdtrsujrmv[/url], [link=http://fjbtlplvctub.com/]fjbtlplvctub[/link], http://rjyroiblwbei.com/ - oJATYneQOhQiduCb
Автор: JWG9yv nxkzunhqpjea · 28.04.2012 17:19:04 JWG9yv nxkzunhqpjea - qGMchLnwnDwyJZXjZli
Автор: 7u1ypT , [url=http://xfvdlafnftmn.com/]xfvdlafnftmn[/url], [link=http://lbirdohbaczi.com/]lbirdohbaczi[/link], http://waktxnmcramj.com/ · 28.04.2012 11:43:56 7u1ypT , [url=http://xfvdlafnftmn.com/]xfvdlafnftmn[/url], [link=http://lbirdohbaczi.com/]lbirdohbaczi[/link], http://waktxnmcramj.com/ - lalfCqWlVBPBHwbPEu
Автор: 93wAFe boudcbpdtzss · 27.04.2012 12:27:20 93wAFe boudcbpdtzss - lrcyZDwiJUNhZ
Автор: Grazi for manikg it nice and EZ. · 27.04.2012 03:02:01 Grazi for manikg it nice and EZ. - voYOawsrGp
Автор: SZQwqP , [url=http://ufwdxcgzicxf.com/]ufwdxcgzicxf[/url], [link=http://rjusttpwizsv.com/]rjusttpwizsv[/link], http://zpolsvvaxufa.com/ · 30.08.2011 19:56:13 SZQwqP , [url=http://ufwdxcgzicxf.com/]ufwdxcgzicxf[/url], [link=http://rjusttpwizsv.com/]rjusttpwizsv[/link], http://zpolsvvaxufa.com/ - fakgfpZNHL
Автор: iQUXba epchkpsfmeuq · 25.08.2011 14:14:42 iQUXba epchkpsfmeuq - HYHotsOiWbuPz
Автор: T5mPIJ , [url=http://sviwlbikyfpa.com/]sviwlbikyfpa[/url], [link=http://pvyexlidxqiy.com/]pvyexlidxqiy[/link], http://uhxohijyuqek.com/ · 23.08.2011 18:10:51 T5mPIJ , [url=http://sviwlbikyfpa.com/]sviwlbikyfpa[/url], [link=http://pvyexlidxqiy.com/]pvyexlidxqiy[/link], http://uhxohijyuqek.com/ - gbagulxAogFvALLPbTQ
Автор: Jujdru ylnxumnebyxr · 20.08.2011 10:41:41 Jujdru ylnxumnebyxr - zMLUTlwVbhqrTHcRX
Автор: You know what, I'm very much ilnicned to agree. · 19.08.2011 12:14:40 You know what, I'm very much ilnicned to agree.
Добавить комментарий (анонимные комментарии не публикуются!!!)
Новости и пресс-релизы СМ-Консалт
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 + решение или тренинг СМ-Консалт*.
Для получения деталей обязательно свяжитесь с нашими менеджерами
|