<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru"><title type="html">BizTalk and around</title><subtitle type="html">Stas Kondratyev (MSFT)</subtitle><id>http://blogs.technet.com/stanko/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.technet.com/stanko/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2008-06-11T18:04:00Z</updated><entry><title>BizTalk Hotrod #6</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2009/04/23/biztalk-hotrod-6.aspx" /><id>http://blogs.technet.com/stanko/archive/2009/04/23/biztalk-hotrod-6.aspx</id><published>2009-04-23T13:54:50Z</published><updated>2009-04-23T13:54:50Z</updated><content type="html">&lt;p&gt;Вышел 6 номер журнала BizTalk Hotrod.  &lt;p&gt;В новом выпуске:  &lt;ul&gt; &lt;li&gt;Обзор утилит для авторматизации командной разработки решений на BizTalk  &lt;li&gt;Подробный разбор решений различных задач при формировании карт преобразований  &lt;li&gt;Обзор принципов наименования разрабатываемых артефактов и инструмента верификации их соблюдения  &lt;li&gt;и многое другое.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;последний номер журнала можно скачать здесь - &lt;a title="http://biztalkhotrod.com/Documents/BizTalk_HotRod_Issue6_Q2_2009.pdf" href="http://biztalkhotrod.com/Documents/BizTalk_HotRod_Issue6_Q2_2009.pdf"&gt;http://biztalkhotrod.com/Documents/BizTalk_HotRod_Issue6_Q2_2009.pdf&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3229683" width="1" height="1"&gt;</content><author><name>yaroslav</name><uri>http://blogs.technet.com/members/yaroslav.aspx</uri></author><category term="BizTalk" scheme="http://blogs.technet.com/stanko/archive/tags/BizTalk/default.aspx" /><category term="Hotrod" scheme="http://blogs.technet.com/stanko/archive/tags/Hotrod/default.aspx" /></entry><entry><title>Managed Services Engine – February 2009 CTP</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2009/03/03/managed-services-engine-february-2009-ctp.aspx" /><id>http://blogs.technet.com/stanko/archive/2009/03/03/managed-services-engine-february-2009-ctp.aspx</id><published>2009-03-03T11:10:41Z</published><updated>2009-03-03T11:10:41Z</updated><content type="html">&lt;p&gt;Сегодня вышла новая версия MSE (Managed Services Enginge) – бесплатное средство для построения серсвис-ориентированной инфраструктуры и виртуализации сервисов. Мы уже &lt;a href="http://blogs.technet.com/stanko/archive/2008/12/18/managed-services-engine.aspx"&gt;рассказывали о нём недавно&lt;/a&gt;.  &lt;p&gt;Основные нововведения в этой версии:  &lt;ul&gt; &lt;li&gt;Совершенно новая консоль управления, созданная на базе технологии WPF (см. ниже).  &lt;li&gt;Поддержка REST сервисов  &lt;li&gt;Мастер импорта метаданных  &lt;li&gt;и дргуие дополнительные компоненты&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Скачать последнюю версию &lt;/strong&gt;&lt;strong&gt;MSE&lt;/strong&gt; можно здесь: &lt;a href="http://www.codeplex.com/servicesengine"&gt;http://www.codeplex.com/servicesengine&lt;/a&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/stanko/WindowsLiveWriter/ManagedServicesEngineFebruary2009CTP_9D29/Capture.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Capture" border="0" alt="Capture" src="http://blogs.technet.com/blogfiles/stanko/WindowsLiveWriter/ManagedServicesEngineFebruary2009CTP_9D29/Capture_thumb.png" width="644" height="456"&gt;&lt;/a&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3208604" width="1" height="1"&gt;</content><author><name>yaroslav</name><uri>http://blogs.technet.com/members/yaroslav.aspx</uri></author><category term="SOA" scheme="http://blogs.technet.com/stanko/archive/tags/SOA/default.aspx" /><category term="MSE" scheme="http://blogs.technet.com/stanko/archive/tags/MSE/default.aspx" /></entry><entry><title>BizTalk Hotrod номер 5</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2009/02/05/biztalk-hotrod-5.aspx" /><id>http://blogs.technet.com/stanko/archive/2009/02/05/biztalk-hotrod-5.aspx</id><published>2009-02-05T12:21:00Z</published><updated>2009-02-05T12:21:00Z</updated><content type="html">&lt;P&gt;Вышел 5 номер журнала BizTalk Hotrod, о котором я упоминал в предыдущем посте. Его можно скачать здесь - &lt;A href="http://biztalkhotrod.com/Documents/BizTalk%20HotRod%20Magazine%20Q1%202009.pdf"&gt;http://biztalkhotrod.com/Documents/BizTalk%20HotRod%20Magazine%20Q1%202009.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3197381" width="1" height="1"&gt;</content><author><name>stas</name><uri>http://blogs.technet.com/members/stas.aspx</uri></author><category term="BizTalk" scheme="http://blogs.technet.com/stanko/archive/tags/BizTalk/default.aspx" /><category term="Hotrod" scheme="http://blogs.technet.com/stanko/archive/tags/Hotrod/default.aspx" /></entry><entry><title>HotRod</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2009/01/21/hotrod.aspx" /><id>http://blogs.technet.com/stanko/archive/2009/01/21/hotrod.aspx</id><published>2009-01-22T00:25:00Z</published><updated>2009-01-22T00:25:00Z</updated><content type="html">&lt;P&gt;Я почему-то до этого не упоминал очень полезный ресурс, полный статей&amp;nbsp;по разработке различных компонентов BizTalk Server, советов, и т.п.&amp;nbsp;- электронный журнал BizTalk HotRod.&lt;/P&gt;
&lt;P&gt;Исправляюсь :) Вы можете закачать его номера вот с этого сайта - &lt;A href="http://biztalkhotrod.com/Issues.aspx" mce_href="http://biztalkhotrod.com/Issues.aspx"&gt;http://biztalkhotrod.com/Issues.aspx&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3188628" width="1" height="1"&gt;</content><author><name>stas</name><uri>http://blogs.technet.com/members/stas.aspx</uri></author><category term="BizTalk" scheme="http://blogs.technet.com/stanko/archive/tags/BizTalk/default.aspx" /><category term="Hotrod" scheme="http://blogs.technet.com/stanko/archive/tags/Hotrod/default.aspx" /></entry><entry><title>Создание сервис-ориентированной инфраструктуры с помощью Managed Services Engine</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2008/12/18/managed-services-engine.aspx" /><id>http://blogs.technet.com/stanko/archive/2008/12/18/managed-services-engine.aspx</id><published>2008-12-18T12:41:39Z</published><updated>2008-12-18T12:41:39Z</updated><content type="html">&lt;p&gt;Практически все организации сегодня в своей информационной инфраструктуре тем или иным способом используют сервисы, и всё большая часть из них имеет целенаправленную стратегию развития информационной инфраструктуры в соответствии с принципами сервис-ориентированной архитектуры (&lt;b&gt;SOA&lt;/b&gt;). На любом уровне зрелости информационной инфраструктуры перед организацией стоят задачи управления, мониторинга, миграции своих сервисов, и чем больше сервисов организация использует, тем острее необходимы инструменты по их централизованному управлению. В данный момент на рынке существуют множество решений по управлению сервис-ориентированной инфраструктурой (&lt;a href="http://en.wikipedia.org/wiki/SOA_Governance"&gt;SOA Governance&lt;/a&gt;), например &lt;a href="http://www.amberpoint.com/"&gt;AmberPoint&lt;/a&gt; или &lt;a href="http://www.soa.com/"&gt;SOA Software&lt;/a&gt;.  &lt;p&gt;Кроме них существует ещё один интересный инструмент - &lt;b&gt;&lt;a href="http://www.codeplex.com/servicesengine"&gt;Managed Services Engine&lt;/a&gt;&lt;/b&gt;&lt;b&gt; (MSE&lt;/b&gt;&lt;b&gt;)&lt;/b&gt; – позволяющий формировать сервис-ориентированную инфраструктуру за счет виртуализации сервисов. Данный инструмент разрабатывается при участии Microsoft Services и предоставляется бесплатно.  &lt;p&gt;&lt;b&gt;MSE&lt;/b&gt; представляет собой репозиторий сервисов, предоставляющий возможности версионности и абстракции сервисов, маршрутизации и преобразования вызовов, применения различных политик и многое другое. Эта функциональность помогает организациям быстрее развертывать свои сервисы и координировать процесс изменений, а возможность применения политик позволяет подключать собственные расширения, например, для реализации мониторинга соответствия уровню обслуживания (SLA) и др.  &lt;p&gt;Сценариев, в которых MSE может использоваться множество. Например, в случаях когда необходимо:  &lt;ul&gt; &lt;li&gt;Быстро предоставить доступ партнеру к внутреннему сервису, в котором ранее не было предусмотрено никакой авторизации и шифрования данных.  &lt;li&gt;Снизить кол-во некорректных вызовов сервисов за счёт дополнительной верификации входных сообщений.  &lt;li&gt;Плавно мигрировать с одной версии сервиса на другую. То есть сделать так чтобы старые и новые приложения использовали одну и туже входную точку, но обращались к тем версиям сервиса, для которых они проектировались.  &lt;li&gt;Реализовать мониторинг вызова сервисов без изменения реализации самих сервисов. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;и во многих других случаях.  &lt;p&gt;Архитектурно MSE состоит из нескольких модулей: Messanger, Broker и Dispatcher реализованных на технологиях .Net Framework (в частности WCF), а так же репозитория сервисов использующего SQL Server для хранения метаданных.  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="mse" border="0" alt="mse" src="http://blogs.technet.com/blogfiles/stanko/WindowsLiveWriter/ManagedServicesEngine_B27D/mse_3.png" width="615" height="509"&gt;  &lt;p&gt;Консоль управления MSE вполне доступна для понимания и легка в использовании.  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="OpVerScreen" border="0" alt="OpVerScreen" src="http://blogs.technet.com/blogfiles/stanko/WindowsLiveWriter/ManagedServicesEngine_B27D/OpVerScreen_3.png" width="627" height="370"&gt;  &lt;p&gt;&lt;strong&gt;Скачать последнюю версию MSE&lt;/strong&gt; можно здесь: &lt;a href="http://www.codeplex.com/servicesengine"&gt;http://www.codeplex.com/servicesengine&lt;/a&gt;  &lt;p&gt;Так же существует расширенная версия, включающая в себя дополнительные возможности, например, мониторинг с помощью BizTalk BAM, и др. Она предоставляется заказчикам через Microsoft Services в рамках проектов по созданию сервис-ориентированной инфраструктуры.  &lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3170705" width="1" height="1"&gt;</content><author><name>yaroslav</name><uri>http://blogs.technet.com/members/yaroslav.aspx</uri></author><category term="SOA" scheme="http://blogs.technet.com/stanko/archive/tags/SOA/default.aspx" /><category term="MSE" scheme="http://blogs.technet.com/stanko/archive/tags/MSE/default.aspx" /></entry><entry><title>BizTalk Server 2009 Beta</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2008/12/15/biztalk-server-2009-beta.aspx" /><id>http://blogs.technet.com/stanko/archive/2008/12/15/biztalk-server-2009-beta.aspx</id><published>2008-12-15T10:37:00Z</published><updated>2008-12-15T10:37:00Z</updated><content type="html">&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-fareast-language: RU; mso-bidi-language: AR-SA"&gt;&lt;FONT face=verdana,geneva size=2&gt;BizTalk Server 2009 beta доступен для скачивания через сайт &lt;A href="http://connect.microsoft.com/"&gt;http://connect.microsoft.com/&lt;/A&gt;. Вам потребуется регистрация на сайте, для доступа к бетте.&lt;/FONT&gt;&lt;/&lt; SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ansi-language: EN-US; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-fareast-language: RU; mso-bidi-language: AR-SA"&gt;&lt;FONT face=verdana,geneva size=2&gt;ESB Guidance 2.0 CTP так же доступен для скачивания на &lt;/FONT&gt;&lt;A href="http://www.codeplex.com/esb" mce_href="http://www.codeplex.com/esb"&gt;&lt;FONT face=verdana,geneva size=2&gt;http://www.codeplex.com/esb&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3168852" width="1" height="1"&gt;</content><author><name>stas</name><uri>http://blogs.technet.com/members/stas.aspx</uri></author><category term="BizTalk" scheme="http://blogs.technet.com/stanko/archive/tags/BizTalk/default.aspx" /><category term="ESB" scheme="http://blogs.technet.com/stanko/archive/tags/ESB/default.aspx" /><category term="ESB 2.0" scheme="http://blogs.technet.com/stanko/archive/tags/ESB+2.0/default.aspx" /><category term="BizTalk 2009" scheme="http://blogs.technet.com/stanko/archive/tags/BizTalk+2009/default.aspx" /></entry><entry><title>Веб-каст 16.12.2008</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2008/12/11/16-12-2008.aspx" /><id>http://blogs.technet.com/stanko/archive/2008/12/11/16-12-2008.aspx</id><published>2008-12-11T14:04:00Z</published><updated>2008-12-11T14:04:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;В следующий вторник, 16 декабря, мы проведем &lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #1f497d"&gt;очередной вебкаст, в котором&amp;nbsp;расскажем вам о примере автоматизации процесса бронирования билетов компании &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #1f497d; mso-ansi-language: EN-US"&gt;Contoso&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;. В этом примере мы постарались сделать акцент на использовании стандартных возможностей таких продуктов, как &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #1f497d; mso-ansi-language: EN-US"&gt;BizTalk Server &lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;для интеграции систем, управления бизнес процессом а также для сбора аналитической информации о процессах, &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #1f497d; mso-ansi-language: EN-US"&gt;Forms Services &lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;для заполнения заявок на бронирование билетов сотрудниками компании, &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #1f497d; mso-ansi-language: EN-US"&gt;Excel Services &lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;для отображения собраной аналитической информации а также &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="COLOR: #1f497d; mso-ansi-language: EN-US"&gt;MOSS &lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d"&gt;для интеграции уровня представления и предоставления единой точки входа для разных классов пользователей системы.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #1f497d"&gt;Ссылка для регистрации на веб-каст: &lt;A href="http://www.microsoft.com/Rus/events/detail.mspx?eventid=1032398823" mce_href="http://www.microsoft.com/Rus/events/detail.mspx?eventid=1032398823"&gt;http://www.microsoft.com/Rus/events/detail.mspx?eventid=1032398823&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #1f497d"&gt;Присоединяйтесь! &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3166751" width="1" height="1"&gt;</content><author><name>stas</name><uri>http://blogs.technet.com/members/stas.aspx</uri></author><category term="BizTalk" scheme="http://blogs.technet.com/stanko/archive/tags/BizTalk/default.aspx" /><category term="MOSS" scheme="http://blogs.technet.com/stanko/archive/tags/MOSS/default.aspx" /><category term="BPM" scheme="http://blogs.technet.com/stanko/archive/tags/BPM/default.aspx" /></entry><entry><title>WCF адаптер для очередей Oracle AQ</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2008/11/20/wcf-oracle-aq.aspx" /><id>http://blogs.technet.com/stanko/archive/2008/11/20/wcf-oracle-aq.aspx</id><published>2008-11-20T14:05:53Z</published><updated>2008-11-20T14:05:53Z</updated><content type="html">&lt;p&gt;Продолжая &lt;a href="http://blogs.technet.com/stanko/archive/2008/11/18/biztalk-wcf-lob-adapter-sdk.aspx"&gt;предыдущий пост&lt;/a&gt;, поделюсь опытом разработки транзакционного WCF адаптера для очередей Oracle Advanced Queuing (AQ). &lt;/p&gt; &lt;p&gt;&lt;b&gt;Предыстория&lt;/b&gt;  &lt;p&gt;Перед нами (&lt;a href="http://www.microsoft.com/services/microsoftservices/default.mspx"&gt;MCS&lt;/a&gt;) возникла задача показать возможность интеграции информационных систем построенных на Oracle с помощью BizTalk. В силу многих причин было принято решение не использовать хранимые процедуры и не подключаться к таблицам напрямую, а передавать данные в виде отдельных сообщений через очереди Oracle. Одним из требований была возможность гарантированной доставки, чтобы данные не удалялись из источника пока не попадут в следующее надежное хранилище, но и не попадали в следующие хранилище пока не удалятся из источника. Проще говоря, передача данных должна осуществляться в рамках транзакции.  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/stanko/WindowsLiveWriter/WCFOracleAQ_C633/clip_image002_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="129" alt="clip_image002" src="http://blogs.technet.com/blogfiles/stanko/WindowsLiveWriter/WCFOracleAQ_C633/clip_image002_thumb.jpg" width="646" border="0"&gt;&lt;/a&gt;  &lt;p&gt;Для решения этой задачи нужно было найти существующий или разработать собственный адаптер, который бы умел подсоединяться к AQ и забирать данные внутри транзакции объединяющей источник данных (в данном случае AQ) и BizTalk MessageBox. На момент выбора адаптера для Oracle AQ у партнеров Microsoft уже существовали адаптеры умеющие работать с Oracle AQ, но все они имели некоторые ограничения, например отсутствие поддержки транзакций. Поэтому было принято решение разработать свой адаптер с помощью &lt;a href="http://www.microsoft.com/biztalk/technologies/wcflobadaptersdk.mspx"&gt;WCF LOB Adapter SDK&lt;/a&gt;.  &lt;p&gt;&lt;b&gt;Разработка адаптера&lt;/b&gt;  &lt;p&gt;Для решения задачи взаимодействия с AQ было рассмотрено множество вариантов, вот некоторые из них:  &lt;ul&gt; &lt;li&gt;JMS – нужен адаптер для JMS, подтверждение возможности транзакционной передачи получено не было.  &lt;li&gt;SOAP – дополнительное звено и необходимость развертывания веб-сервера на стороне базы данных. Транзакционность тоже под большим вопросом.  &lt;li&gt;PL\SQL через ODP.NET – нужна установка Oracle Client и ODP.NET. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;В итоге единственным приемлемым вариантом удовлетворявшим большинству требований оказался PL\SQL, который предоставляет простые команды для работы с очередями AQ, а ODP.NET предоставляет прозрачный интерфейс для работы с .NET транзакциями.  &lt;p&gt;После выбора способа взаимодействия дальнейшая реализация WCF адаптера заняла минимальное кол-во времени, включая поддержку транзакций и выгрузку метаданных для использования в BizTalk решении. Это говорит не столько об опытности Microsoft Consulting Services :), сколько о простоте инструментария WCF LOB Adapter SDK. Так что если перед вами стоит задача подключения к одной из унаследованных систем, или системе для которой ни у Microsoft ни у партнеров нет адаптера, вы можете написать его самостоятельно, это не так сложно как может показаться.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3156902" width="1" height="1"&gt;</content><author><name>yaroslav</name><uri>http://blogs.technet.com/members/yaroslav.aspx</uri></author><category term="WCF" scheme="http://blogs.technet.com/stanko/archive/tags/WCF/default.aspx" /><category term="Oracle" scheme="http://blogs.technet.com/stanko/archive/tags/Oracle/default.aspx" /><category term="BizTalk" scheme="http://blogs.technet.com/stanko/archive/tags/BizTalk/default.aspx" /><category term="Transactions" scheme="http://blogs.technet.com/stanko/archive/tags/Transactions/default.aspx" /><category term="AQ" scheme="http://blogs.technet.com/stanko/archive/tags/AQ/default.aspx" /></entry><entry><title>Разработка транзакционных адаптеров для BizTalk с помощью WCF LOB Adapter SDK</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2008/11/18/biztalk-wcf-lob-adapter-sdk.aspx" /><id>http://blogs.technet.com/stanko/archive/2008/11/18/biztalk-wcf-lob-adapter-sdk.aspx</id><published>2008-11-18T11:57:00Z</published><updated>2008-11-18T11:57:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT face=Calibri size=3&gt;Сегодня я расскажу о том, как разработать &lt;B style="mso-bidi-font-weight: normal"&gt;собственный адаптер для BizTalk&lt;/B&gt; с помощью &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/biztalk/technologies/wcflobadaptersdk.mspx"&gt;&lt;FONT face=Calibri size=3&gt;WCF LOB Adapter SDK&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;и сделать его &lt;B style="mso-bidi-font-weight: normal"&gt;транзакционным&lt;/B&gt;.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Перед началом разработки адаптера нужно убедиться, что у вас уже установлено:&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;BizTalk Server 2006 R2&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN lang=RU style="FONT-FAMILY: Symbol; mso-ansi-language: RU; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Visual Studio 2005 SP1&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;.NET Framework 3.0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;WCF LOB Adapter SDK 1.1&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;После этого, открыв &lt;/SPAN&gt;Visual&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;Studio&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt; 2005, вы увидите в списке шаблонов проектов &lt;/SPAN&gt;WCF&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;LOB&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;Adapter&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT face=Calibri size=3&gt;Можно попробовать сразу начать писать адаптер с нуля, используя шаблон, но если нет опыта, рекомендую выполнить &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb798134.aspx"&gt;&lt;FONT face=Calibri size=3&gt;пошаговый пример разработки эхо-адаптера&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;. Если времени совсем нет, можно посмотреть исходный код готового эхо-адаптера, он поставляется вместе с&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;WCF LOB Adapter SDK. Его&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;можно&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;найти&lt;/SPAN&gt;&lt;SPAN lang=RU&gt; &lt;/SPAN&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;тут&lt;/SPAN&gt;: C:\Program Files\WCF LOB Adapter SDK\Documents\Samples. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;Кстати в состав готового эхо-адаптера так же входит проект для сборки установочного &lt;/SPAN&gt;msi&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt; пакета, позволяющий автоматизировано развертывать адаптер на других компьютерах.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT face=Calibri size=3&gt;Как мы уже писали &lt;/FONT&gt;&lt;A href="http://blogs.technet.com/stanko/archive/2008/04/17/webcast-biztalk-adapter-pack.aspx"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;ранее&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;, большой плюс WCF адаптеров в том, что их можно вызывать не только из BizTalk, но и из любого&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;.NET приложения. Во &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb798115.aspx"&gt;&lt;FONT face=Calibri size=3&gt;втором примере&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; как раз демонстрируется, как это сделать.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Поддержка транзакций&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;После того как мы научились создавать &lt;/SPAN&gt;WCF&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;SPAN lang=RU&gt;адаптер, можем усложнить задачу и сделать его транзакционным. Зачем это нужно. Например, если вы хотите быть уверены &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;в том, что данные не удаляться из источника пока они не попадут в надежное хранилище, например &lt;/SPAN&gt;&lt;/SPAN&gt;BizTalk&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;SPAN lang=RU&gt;Message Box. Для этого нужно чтобы запись в Message Box и удаление уже считанных данных из источника производилось в одной транзакции. Сначала это может показаться сложной задачей, ведь прежде чем попасть в Message Box сообщение может проходить сложную обработку в &lt;/SPAN&gt;&lt;/SPAN&gt;receive&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;SPAN lang=RU&gt;pipeline, используя большое кол-во компонентов. Сразу возникает много вопросов, как создать транзакцию, как заставить BizTalk использовать эту же транзакцию при записи сообщения в Message Box, кто всем этим процессом будет управлять? Ответ прост, практически всю работу по созданию и управлению транзакцией берёт на себя WCF LOB Adapter &lt;/SPAN&gt;&lt;/SPAN&gt;Framework&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;, нужно только указать, что мы хотим использовать транзакции. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;Для исходящих (outbound) операций&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;, транзакция создается автоматически. То есть метод&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Execute&lt;/B&gt; в &lt;B style="mso-bidi-font-weight: normal"&gt;IOutboundHandler&lt;/B&gt;,&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;будет выполняться внутри &lt;B style="mso-bidi-font-weight: normal"&gt;TransactionScope&lt;/B&gt;, созданного WCF LOB Adapter &lt;/SPAN&gt;Framework&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt; и если проверить значение переменной Transaction.Current, &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;то мы увидим, что оно не null. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;Для входящих (inbound) операций&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt; включить транзакции немного сложнее, существует 2 способа, для одностороннего (oneway) типа канала и канала запрос-ответ (&lt;/SPAN&gt;request&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;-&lt;/SPAN&gt;reply&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;). Реализовать 1й намного проще, начнем с него.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;Односторонний (OneWay)&lt;/SPAN&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l2 level1 lfo1"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT face=Calibri size=3&gt;В конструкторе вашего адаптера установите &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;свойство &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/microsoft.servicemodel.channels.common.messagingsettings.supportstransactedinbound.aspx"&gt;&lt;FONT face=Calibri size=3&gt;SupportsTransactedInbound&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; в true&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l2 level1 lfo1"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;В методе &lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;CreateBindingElements&lt;/B&gt;&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=RU&gt;вашего &lt;/SPAN&gt;&lt;/SPAN&gt;Binding&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;SPAN lang=RU&gt;класса, добавьте в начало коллекции &lt;/SPAN&gt;&lt;/SPAN&gt;BindingElements&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;SPAN lang=RU&gt;элемент &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;OneWayBindingElement&lt;/B&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Обратите внимание, что его нужно добавлять только во время работы адаптера, то есть в случаях когда адаптер выполняет выгрузку метаданных этот элемент добавлять нельзя. Для этой цели можно добавить к списку свойств адаптера дополнительную булевою переменную. Её мы будем устанавливать только когда адптер выполняется, например, когда настраиваем параметры адаптера в свойствах BizTalk Receive location. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l2 level1 lfo1"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;После этого WCF будет самостоятельно создавать транзакцию и вызывать ваш метод TryReceive внутри неё. Так же он самостоятельно выполнит фиксацию транзакции после того как ваше сообщение попадет в MessageBox. Если же при обработке сообщения в pipeline произойдет исключение, то выполниться откат транзакции.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; TEXT-INDENT: 0.25in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;Примечание: В &lt;/SPAN&gt;BizTalk&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt; нужно создать &lt;/SPAN&gt;OneWay&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;receive&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;SPAN lang=RU&gt;порт.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Запрос-ответ (Request-Reply):&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l0 level1 lfo2"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT face=Calibri size=3&gt;В конструкторе вашего адаптера установите &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;свойство &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/microsoft.servicemodel.channels.common.messagingsettings.supportstransactedinbound.aspx"&gt;&lt;FONT face=Calibri size=3&gt;SupportsTransactedInbound&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; в false&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l0 level1 lfo2"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;В методе &lt;B style="mso-bidi-font-weight: normal"&gt;TryReceive&lt;/B&gt; создайте транзакцию самостоятельно.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l0 level1 lfo2"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Присвойте сообщению созданную транзакцию с помощью &lt;B style="mso-bidi-font-weight: normal"&gt;TransactionMessageProperty.Set&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l0 level1 lfo2"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;В методе &lt;B style="mso-bidi-font-weight: normal"&gt;Reply&lt;/B&gt; вашей реализации &lt;B style="mso-bidi-font-weight: normal"&gt;IInboundReply&lt;/B&gt; зафиксируйте транзакцию.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt 0.25in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;Примечание: В &lt;/SPAN&gt;BizTalk&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt; нужно создать &lt;/SPAN&gt;Request&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;-&lt;/SPAN&gt;Reply&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;/SPAN&gt;receive&lt;SPAN style="mso-ansi-language: RU"&gt; &lt;SPAN lang=RU&gt;порт.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Поддержка транзакций источником данных&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT face=Calibri size=3&gt;Если ваш источник данных транзакционный и его SDK умеет работать с механизмом транзакций .NET, то вам, скорее всего, ничего не придется делать. Например, Oracle провайдер &lt;/FONT&gt;&lt;A href="http://www.oracle.com/technology/tech/windows/odpnet/index.html"&gt;&lt;FONT face=Calibri size=3&gt;ODP.NET&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; такую поддержку имеет, и если открыть соединение внутри .&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;NET&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt; транзакции (&lt;B style="mso-bidi-font-weight: normal"&gt;TransactionScope&lt;/B&gt;) то все операции с базой данных Oracle будут выполняться в этой транзакции.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Заключение&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Если вы всё сделали правильно, то вы получили WCF адаптер, который вы можете использовать в своих решениях построенных на BizTalk Server или в любых других .NET приложениях.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN lang=RU style="mso-ansi-language: RU"&gt;&lt;FONT face=Calibri size=3&gt;P.S. В следующей версии WCF LOB Adapter SDK реализация односторонних операций станет ещё проще, достаточно будет установить одно свойство. О выходе новой версии мы обязательно сообщим, так что заходите на наш &lt;/FONT&gt;&lt;A href="http://blogs.technet.com/stanko"&gt;&lt;FONT face=Calibri size=3&gt;блог&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; почаще, либо получайте обновления автоматически через &lt;/FONT&gt;&lt;A href="http://blogs.technet.com/stanko/rss.xml"&gt;&lt;FONT face=Calibri size=3&gt;RSS&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3155713" width="1" height="1"&gt;</content><author><name>yaroslav</name><uri>http://blogs.technet.com/members/yaroslav.aspx</uri></author><category term="WCF" scheme="http://blogs.technet.com/stanko/archive/tags/WCF/default.aspx" /><category term="BizTalk" scheme="http://blogs.technet.com/stanko/archive/tags/BizTalk/default.aspx" /><category term="Transactions" scheme="http://blogs.technet.com/stanko/archive/tags/Transactions/default.aspx" /></entry><entry><title>BizTalk Server Performance Optimization Guide на MSDN и TechNet</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2008/07/21/biztalk-server-performance-optimization-guide-msdn-technet.aspx" /><id>http://blogs.technet.com/stanko/archive/2008/07/21/biztalk-server-performance-optimization-guide-msdn-technet.aspx</id><published>2008-07-21T07:15:00Z</published><updated>2008-07-21T07:15:00Z</updated><content type="html">Я уже &lt;A class="" href="http://blogs.technet.com/stanko/archive/2008/06/18/biztalk-performance-optimization-guide.aspx" mce_href="http://blogs.technet.com/stanko/archive/2008/06/18/biztalk-performance-optimization-guide.aspx"&gt;упоминал ранее&lt;/A&gt; о вышедшем недавно документе по оптимизации производительности BizTalk Server. Теперь он так же доступен on-line на &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc558617.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc558617.aspx"&gt;MSDN&lt;/A&gt; и &lt;A class="" href="http://technet.microsoft.com/en-us/library/cc558617.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc558617.aspx"&gt;TechNet&lt;/A&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3091763" width="1" height="1"&gt;</content><author><name>stas</name><uri>http://blogs.technet.com/members/stas.aspx</uri></author></entry><entry><title>Pipeline компонент для парсинга DBF и Excel сообщений</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2008/07/21/pipeline-dbf-excel.aspx" /><id>http://blogs.technet.com/stanko/archive/2008/07/21/pipeline-dbf-excel.aspx</id><published>2008-07-21T06:25:00Z</published><updated>2008-07-21T06:25:00Z</updated><content type="html">&lt;P&gt;Мэтт Мелески недавно &lt;A class="" href="http://www.objectsharp.com/cs/blogs/matt/archive/2007/06/15/test.aspx" mce_href="http://www.objectsharp.com/cs/blogs/matt/archive/2007/06/15/test.aspx"&gt;опубликовал пост&lt;/A&gt;, в котором он описывает созданный им Pipeline компонент для преобразования в вид XML входящих сообщений через интерфейс ODBC (используя ADO.NET).&lt;/P&gt;
&lt;P&gt;Код компонента доступен для скачивания.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3091749" width="1" height="1"&gt;</content><author><name>stas</name><uri>http://blogs.technet.com/members/stas.aspx</uri></author></entry><entry><title>ARIS интегрирован с BizTalk Server!</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2008/06/20/aris-biztalk-server.aspx" /><id>http://blogs.technet.com/stanko/archive/2008/06/20/aris-biztalk-server.aspx</id><published>2008-06-20T09:26:00Z</published><updated>2008-06-20T09:26:00Z</updated><content type="html">&lt;P&gt;Два дня назад, IDS Scheer анонсировали интеграцию ARIS с BizTalk Server 2006 R2! &lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.prweb.com/releases/2008/6/prweb1028234.htm" mce_href="http://www.prweb.com/releases/2008/6/prweb1028234.htm"&gt;Прочитать анонс&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.itbusiness.ca/it/client/en/CDN/News.asp?id=48864" mce_href="http://www.itbusiness.ca/it/client/en/CDN/News.asp?id=48864"&gt;Статья&amp;nbsp;в новостях&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3074849" width="1" height="1"&gt;</content><author><name>stas</name><uri>http://blogs.technet.com/members/stas.aspx</uri></author></entry><entry><title>BizTalk Performance Optimization Guide</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2008/06/18/biztalk-performance-optimization-guide.aspx" /><id>http://blogs.technet.com/stanko/archive/2008/06/18/biztalk-performance-optimization-guide.aspx</id><published>2008-06-18T14:40:00Z</published><updated>2008-06-18T14:40:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Недавно опубликован документ по оптимизации производительности BizTalk решений&amp;nbsp;- &lt;SPAN lang=EN-US style="mso-ansi-language: EN-US"&gt;&lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=98ECF11A-9A8E-4939-8CEF-2BC5536DC792&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=98ECF11A-9A8E-4939-8CEF-2BC5536DC792&amp;amp;displaylang=en"&gt;Microsoft® BizTalk® Server Performance Optimizations Guide&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3073422" width="1" height="1"&gt;</content><author><name>stas</name><uri>http://blogs.technet.com/members/stas.aspx</uri></author><category term="BizTalk" scheme="http://blogs.technet.com/stanko/archive/tags/BizTalk/default.aspx" /></entry><entry><title>Постер BAM</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2008/06/11/bam.aspx" /><id>http://blogs.technet.com/stanko/archive/2008/06/11/bam.aspx</id><published>2008-06-11T17:18:00Z</published><updated>2008-06-11T17:18:00Z</updated><content type="html">&lt;P&gt;К серии BizTalk постеров, недавно был добавлен постер Business Activity Monitoring, наглядно показывающий жизненный цикл реализации&amp;nbsp;BAM решения: создание модели бизнес аналитиками, соединение модели и реализации конечного решения разработчиками, развертывание системными администратороми и использование информации конечными пользователями.&lt;/P&gt;
&lt;P&gt;Enjoy. &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C2A332C7-687A-448A-BBDF-5FEC51476BF6&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C2A332C7-687A-448A-BBDF-5FEC51476BF6&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=C2A332C7-687A-448A-BBDF-5FEC51476BF6&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3069485" width="1" height="1"&gt;</content><author><name>stas</name><uri>http://blogs.technet.com/members/stas.aspx</uri></author><category term="BizTalk" scheme="http://blogs.technet.com/stanko/archive/tags/BizTalk/default.aspx" /></entry><entry><title>Июньские MSDN веб-касты о WCF/WF</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/stanko/archive/2008/06/11/msdn-wcf-wf.aspx" /><id>http://blogs.technet.com/stanko/archive/2008/06/11/msdn-wcf-wf.aspx</id><published>2008-06-11T17:04:00Z</published><updated>2008-06-11T17:04:00Z</updated><content type="html">&lt;P&gt;Начиная со следующей среды (18.06) наши коллеги из Редмонда организуют серию MSDN веб-кастов о WCF и WF. &lt;/P&gt;
&lt;P&gt;Ссылки на касты доступны здесь: &lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: RU; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-fareast-language: RU; mso-bidi-language: AR-SA"&gt;:&lt;SPAN style="COLOR: #1f497d"&gt;&amp;nbsp; &lt;A href="http://www.microsoft.com/events/series/msdnnetframework35.aspx?tab=webcasts&amp;amp;id=liveall" mce_href="http://www.microsoft.com/events/series/msdnnetframework35.aspx?tab=webcasts&amp;amp;id=liveall"&gt;http://www.microsoft.com/events/series/msdnnetframework35.aspx?tab=webcasts&amp;amp;id=liveall&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: RU; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-fareast-language: RU; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="COLOR: #1f497d"&gt;&lt;FONT face=Arial color=#000000 size=2&gt;Программа следующая:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; 
&lt;TABLE class=MsoNormalTable style="MARGIN: auto auto auto 30.6pt; WIDTH: 662pt; BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 0cm 0cm 0cm" cellSpacing=0 cellPadding=0 width=883 border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 414.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=bottom noWrap width=553&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Webcast Title&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 153.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=bottom noWrap width=204&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Date/ Time&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 94.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=bottom noWrap width=126&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Presenter&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 414.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=553&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black"&gt;&lt;A href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032379027&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Beyond the Endpoints with Windows Communication Foundation&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 153.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=204&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: right" align=right&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;6/18/2008 10:00 AM&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt; PST&lt;SPAN style="COLOR: black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 94.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=126&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Juval Lowy&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 2"&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 414.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=553&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black"&gt;&lt;A href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032379979&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#0000ff size=3&gt;geekSpeak: Workflow Services in .NET 3.5 with Jon Flanders&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 153.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=204&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: right" align=right&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;6/18/2008 12:00 PM&lt;/SPAN&gt;&lt;SPAN style="COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'; mso-themecolor: dark2"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;PST&lt;SPAN style="COLOR: black"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 94.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=126&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Jon Flanders&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 3"&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 414.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=553&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;A href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032380765&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#0000ff size=3&gt;Calling Services from Silverlight 2.0&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 153.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=204&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: right" align=right&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;6/23/2008 09:00 AM&lt;SPAN style="COLOR: #1f497d; mso-themecolor: dark2"&gt; &lt;/SPAN&gt;PST&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 94.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=126&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Jon Flanders&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 4"&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 414.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=553&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;A href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032380767&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#0000ff size=3&gt;Windows Communication Foundation and Windows Workflow Foundation Integration in Depth&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 153.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=204&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: right" align=right&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;6/25/2008 10:00 AM&lt;SPAN style="COLOR: #1f497d; mso-themecolor: dark2"&gt; &lt;/SPAN&gt;PST&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 94.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=126&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Jesus Rodriguez&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 5; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 414.45pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=553&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;A href="http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032380769&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT color=#0000ff size=3&gt;Windows Workflow Communication in Depth&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 153.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=204&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: right" align=right&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;6/26/2008 09:00 AM&lt;SPAN style="COLOR: #1f497d; mso-themecolor: dark2"&gt; &lt;/SPAN&gt;PST&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; BACKGROUND: #dbe5f1; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f0f0f0; WIDTH: 94.5pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" vAlign=top noWrap width=126&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;FONT size=3&gt;Matt Milner&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3069473" width="1" height="1"&gt;</content><author><name>stas</name><uri>http://blogs.technet.com/members/stas.aspx</uri></author><category term="WCF" scheme="http://blogs.technet.com/stanko/archive/tags/WCF/default.aspx" /><category term="SOA" scheme="http://blogs.technet.com/stanko/archive/tags/SOA/default.aspx" /></entry></feed>