Microsoft TechDays Коршиков Андрей Фёдорович ведущий инженер-программист ЗАО «НИПИ «ИнжГео» MCT, MCITP, MCPD.

Презентация:



Advertisements
Похожие презентации
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Advertisements

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Microsoft TechDays Илья Рудь MCT ЦКО «Специалист»
Windows ® Azure Platform. Создание сервера SQL Azure Создание базы данных Создание правил брандмауэра Управление базой данных Содержание.
Windows ® Azure Platform. Управление пользователями и ролями Управление правилами брандмауэра Содержание.
Microsoft TechDays Владимир Безмалый MVP Consumer Security Microsoft Security Trusted Adviser.
Windows ® Azure Platform. Обзор возможностей ДEМО: Получение информации и управление приложением в «облаке» Содержание.
24%24% 71%71% Silverlight ?????? infoinfo Браузер somedomain.com.
Как продвигается тестирование? Как происходит сборка? Мы устраняем дефекты? На сколько качественно мы чиним дефекты? Мы готовы к выпуску?
Microsoft TechDays Илья Рудь MCT ЦКО «Специалист»
Microsoft TechDays Абраменко Денис Инженер IBS Datafort.
Microsoft TechDays Иван Андреев.
Microsoft TechDays Сергей Поляков Developer Evangelist Microsoft.
Microsoft TechDays Дмитрий Сошников Академический евангелист, Майкрософт Россия
Новый цикл разработки Интерфейс для создания Silverlight приложений.
Microsoft TechDays Павел Дугаев Специалист по технологиям Microsoft.
Microsoft TechDays Дмитрий Сошников Академический евангелист, Майкрософт Россия
Microsoft TechDays Игнатов Максим Разработчик e-Legion
Microsoft TechDays Иван Андреев.
Microsoft TechDays Никоноров Евгений Ведущий разработчик EPAM Systems.
Транксрипт:

Microsoft TechDayshttp:// Коршиков Андрей Фёдорович ведущий инженер-программист ЗАО «НИПИ «ИнжГео» MCT, MCITP, MCPD

Microsoft TechDayshttp:// Обеспечивает инфраструктуру для создания решений, которые: Ориентированы на базу данных Безопасные Надежные Масштабируемые Слабосвязанные Распределенные

Microsoft TechDayshttp:// Асинхронные триггеры Пакетная обработка Распределенная обработка заказов Консолидация данных для клиентских приложений

Microsoft TechDayshttp:// Тип объекта Описание Тип сообщенийОпределяет допустимые сообщения для обмена между службами КонтрактЗадает тип сообщений и их направление в общении Очередь Хранит сообщения до отправки и после получения как результирующий набор СлужбаОтражает адресуемую конечную точку для взаимодействия служб Служебная программаОбрабатывает сообщения из очередей и применяет бизнес-логику Служебная программа Контракт ОчередьТип сообщений Служба

Microsoft TechDayshttp:// КонструкцияОписание СообщениеДанные, которыми обмениваются две службы Диалоговое общение Общение, предполагающее отправку и получение сообщений двумя службами Группа сообщений Группа связанных сообщений с уникальным идентификатором Маршрут Сетевой адрес и дополнительное имя службы, используемые для перенаправления сообщений при общении между разными экземплярами SQL Server Привязка удаленной службы Связь между пользователем локальной базы данных и удаленной службой

Microsoft TechDayshttp:// Служба SubmitExpense Контракт ProcessExpense Тип сообщения (Initiator) ExpenseClaim Тип сообщения (Target) ClaimResponse Служба ProcessExpense Очередь ExpenseQueue Хранимая процедура ExpenseResult сообщение Хранимая процедура SubmitExpense сообщение Очередь ExpenseQueue сообщение 6 6 Хранимая процедура ProcessExpense Сообщение ExpenseClaim Сообщение ClaimResponse 1 1

Microsoft TechDayshttp:// Система безопасности транспорта Безопасность двустороннего общения InitiatingServiceTargetService DB1.TgtUsr DB2.TgtUsr DB1.IniUsrDB2.IniUsr Привязка удаленной службы IniUsr:InitiatingSer vice Главный ключ Привязка удаленной службы TgtUsr:TargetServ ice

Microsoft TechDayshttp:// Включить безопасное взаимодействие 3 3 Включить компонент Service Broker 2 2 Проверить состояние компонента Service Broker 1 1 SELECT name, is_broker_enabled FROM sys.databases SELECT name, is_broker_enabled FROM sys.databases ALTER DATABASE AdventureWorks SET ENABLE_BROKER ALTER DATABASE AdventureWorks SET ENABLE_BROKER CREATE MASTER KEY ENCRYPTION BY PASSWORD '23987hxJ#KL95234nl0zBe' CREATE MASTER KEY ENCRYPTION BY PASSWORD '23987hxJ#KL95234nl0zBe'

Microsoft TechDayshttp:// CREATE MESSAGE TYPE message_type_name [AUTHORIZATION owner_name] [VALIDATION = {NONE | EMPTY | WELL_FORMED_XML | VALID_XML WITH SCHEMA COLLECTION schema_collection_name}] CREATE MESSAGE TYPE [//Adventure-Works.com/Expenses/ExpenseClaim] VALIDATION = WELL_FORMED_XML CREATE MESSAGE TYPE [//Adventure-Works.com/Expenses/ClaimResponse] VALIDATION = VALID_XML WITH SCHEMA COLLECTION awschemas CREATE MESSAGE TYPE [//Adventure-Works.com/Expenses/ExpenseClaim] VALIDATION = WELL_FORMED_XML CREATE MESSAGE TYPE [//Adventure-Works.com/Expenses/ClaimResponse] VALIDATION = VALID_XML WITH SCHEMA COLLECTION awschemas

Microsoft TechDayshttp:// CREATE CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission] ( [//Adventure-Works.com/Expenses/ExpenseClaim] SENT BY INITIATOR, [//Adventure-Works.com/Expenses/ClaimResponse] SENT BY TARGET ) CREATE CONTRACT contract_name [ AUTHORIZATION owner_name ] ( { message_type_name SENT BY { INITIATOR | TARGET | ANY } | [ DEFAULT ] } [,...n] )

Microsoft TechDayshttp:// CREATE QUEUE queue_name [ WITH [ STATUS = { ON | OFF } [, ] ] [ RETENTION = { ON | OFF } [, ] ] [ ACTIVATION ( [ STATUS = { ON | OFF }, ] PROCEDURE_NAME = stored_procedure_name, MAX_QUEUE_READERS = max_readers, EXECUTE AS { SELF | 'user_name' | OWNER } ) ]] CREATE QUEUE ExpenseQueueWithActivation WITH STATUS = OFF, ACTIVATION ( PROCEDURE_NAME = ProcessExpense, MAX_QUEUE_READERS = 5, EXECUTE AS SELF)

Microsoft TechDayshttp:// CREATE SERVICE service_name [ AUTHORIZATION owner_name ] ON QUEUE [ schema_name. ]queue_name [ ( contract_name | [DEFAULT] [,...n ] ) ] CREATE SERVICE [//Adventure-Works.com/SubmitExpense] ON QUEUE ExpensesInitiator ( [//Adventure-Works.com/Expenses/ProcessExpense] ) CREATE SERVICE [//Adventure-Works.com/ProcessExpense] ON QUEUE ExpensesTarget ( [//Adventure-Works.com/Expenses/ProcessExpense] ) CREATE SERVICE [//Adventure-Works.com/SubmitExpense] ON QUEUE ExpensesInitiator ( [//Adventure-Works.com/Expenses/ProcessExpense] ) CREATE SERVICE [//Adventure-Works.com/ProcessExpense] ON QUEUE ExpensesTarget ( [//Adventure-Works.com/Expenses/ProcessExpense] )

Microsoft TechDayshttp:// Отправить сообщение 3 3 Начать диалоговое общение 2 2 Объявить переменную-дескриптор двустороннего общения 1 1 uniqueidentifier BEGIN DIALOG FROM SERVICE [//Adventure-Works.com/SubmitExpense] TO SERVICE '//Adventure-Works.com/ProcessExpense' ON CONTRACT [//Adventure-Works.com/Expenses/ProcessExpense] uniqueidentifier BEGIN DIALOG FROM SERVICE [//Adventure-Works.com/SubmitExpense] TO SERVICE '//Adventure-Works.com/ProcessExpense' ON CONTRACT [//Adventure-Works.com/Expenses/ProcessExpense] uniqueidentifier BEGIN DIALOG FROM SERVICE [//Adventure-Works.com/SubmitExpense] TO SERVICE '//Adventure-Works.com/ProcessExpense' ON CONTRACT [//Adventure-Works.com/Expenses/ProcessExpense] ;SEND ON MESSAGE TYPE [//Adventure-Works.com/Expenses/ExpenseClaim] uniqueidentifier BEGIN DIALOG FROM SERVICE [//Adventure-Works.com/SubmitExpense] TO SERVICE '//Adventure-Works.com/ProcessExpense' ON CONTRACT [//Adventure-Works.com/Expenses/ProcessExpense] ;SEND ON MESSAGE TYPE [//Adventure-Works.com/Expenses/ExpenseClaim]

Microsoft TechDayshttp:// По завершении общения вызвать инструкцию END CONVERSATION 4 4 Проверить тип сообщения и обработать сообщение соответствующим образом 3 3 Вызвать инструкцию RECEIVE 2 2 Объявить переменные для хранения сведений о сообщении 1 1 UNIQUEIDENTIFIER NVARCHAR(256) UNIQUEIDENTIFIER NVARCHAR(256) UNIQUEIDENTIFIER NVARCHAR(256) ;RECEIVE = = = message_body FROM ExpenseQueue UNIQUEIDENTIFIER NVARCHAR(256) ;RECEIVE = = = message_body FROM ExpenseQueue UNIQUEIDENTIFIER NVARCHAR(256) ;RECEIVE = = = message_body FROM ExpenseQueue IF = '//Adventure-Works.com/Expenses/ExpenseClaim') -- … UNIQUEIDENTIFIER NVARCHAR(256) ;RECEIVE = = = message_body FROM ExpenseQueue IF = '//Adventure-Works.com/Expenses/ExpenseClaim') -- … UNIQUEIDENTIFIER NVARCHAR(256) ;RECEIVE = = = message_body FROM ExpenseQueue IF = '//Adventure-Works.com/Expenses/ExpenseClaim') -- … END UNIQUEIDENTIFIER NVARCHAR(256) ;RECEIVE = = = message_body FROM ExpenseQueue IF = '//Adventure-Works.com/Expenses/ExpenseClaim') -- … END

Microsoft TechDayshttp://

SSBDiagnose

Microsoft TechDayshttp:// us#tab1 us).aspx Broker/dp/B001W0ZD36/ref=sr_1_2?ie=UTF8&s=books&qid= &sr=

Microsoft TechDayshttp:// © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.