Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

SQL Broker Piotr Grodzicki. Princip Jedná se o asynchronní službu pro obousměrnou komunikaci Je integrovanou součástí SQL serveru Komunikace probíhá mezi.

Podobné prezentace


Prezentace na téma: "SQL Broker Piotr Grodzicki. Princip Jedná se o asynchronní službu pro obousměrnou komunikaci Je integrovanou součástí SQL serveru Komunikace probíhá mezi."— Transkript prezentace:

1 SQL Broker Piotr Grodzicki

2 Princip Jedná se o asynchronní službu pro obousměrnou komunikaci Je integrovanou součástí SQL serveru Komunikace probíhá mezi endpointy Obsah komunikace lze šifrovat Komunikuje se pomocí zpráv Zprávy dojdou pouze jednou a ve správném pořadí

3 Komponenty pro Service Broker Služba Konverzace Queue Service Contract Message Type Contract Service Program Begin Dialog Send Message End Conversation Service Program Receive Message Target Queue

4 Message Type Validace : NONE EMPTY WELL_FORMED_XML, VALID_XML WITH SCHEMA COLLECTION CREATE MESSAGE TYPE HelloWorldMessage VALIDATION = WELL_FORMED_XML ;

5 Contract CREATE CONTRACT HelloWorldContract (HelloWorldMessage SENT BY INITIATOR, HelloWorldResponse SENT BY TARGET);

6 Queue (fronta) CREATE QUEUE dbo.TargetQueue WITH STATUS = ON, ACTIVATION ( PROCEDURE_NAME = dbo.usp_HelloWorld MAX_QUEUE_READERS = 5, EXECUTE AS SELF ) ON PRIMARY;

7 Service (služba) CREATE SERVICE TargetService ON QUEUE dbo.TargetQueue (HelloWorldContract, HelloUniverseContract);

8 Konverzace jediná SQL Server Instance Service Program Begin Dialog Send Message End Conversation Service Program Receive Message Target Queue Různé SQL Server Instance Service Program Receive Message Target Queue Transmission Queue Service Program Begin Dialog Send Message End Conversation

9 Dialog BEGIN DIALOG FROM SERVICE InitiatorService TO SERVICE 'TargetService' ON CONTRACT HelloWorldContract;

10 Message (zpráva) SEND ON MESSAGE TYPE HelloWorldMessage (N' Hello, World! ');

11 Odesilatel UNIQUEIDENTIFIER ; BEGIN DIALOG FROM SERVICE InitiatorService TO SERVICE 'TargetService' ON CONTRACT HelloWorldContract; SEND ON MESSAGE TYPE HelloWorldMessage (N' Hello, World! ');

12 Příjemce BEGIN TRANSACTION ; WAITFOR ( GET CONVERSATION FROM dbo.TargetQueue); WHILE 1 = 1 BEGIN RECEIVE = = = CAST(message_body AS XML) FROM dbo.TargetQueue WHERE conversation_group_id ; = N'HelloWorldMessage‘ BEGIN SEND ON MESSAGE TYPE HelloWorldResponse (N' Right Back At You! ') END END END; COMMIT TRANSACTION ;

13 Příjem zpráv Příjem zprávy lze automatizovat pomocí uložené procedury – připojí se ke frontě Tato procedura může zajistit odeslání odpovědi Neúspěšné čtení zprávy –5 pokusů –Poté se zastaví fronta –Lze použít notifikaci

14 Děkuji za pozornost Piotr Grodzicki programátor databázový specialista


Stáhnout ppt "SQL Broker Piotr Grodzicki. Princip Jedná se o asynchronní službu pro obousměrnou komunikaci Je integrovanou součástí SQL serveru Komunikace probíhá mezi."

Podobné prezentace


Reklamy Google