syntactic sugar n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
SYNTACTIC SUGAR PowerPoint Presentation
Download Presentation
SYNTACTIC SUGAR

Loading in 2 Seconds...

  share
play fullscreen
1 / 27
lois-gaines

SYNTACTIC SUGAR - PowerPoint PPT Presentation

96 Views
Download Presentation
SYNTACTIC SUGAR
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. SYNTACTICSUGAR MS SQL 2005 – SOA Petr Krejzl petr.krejzl@syntacticsugar.com

  2. Obsah • Service Oriented Architecture • Web Services v MS SQL 2005 • Service Broker

  3. Service Oriented Architecture • Co tomu předcházelo? • XML • Webové služby • Hromadné nasazení platformě nezávislých web. služeb a XML pro výměnu dat v heterogenním prostředí • SOA – architektura informačních systémů orientovaná na služby

  4. Service Oriented Architecture • Systém volně vázaných (loosely coupled) asynchronních webových služeb • Nemusí být přímé vazby mezi aplikacemi • Databázové servery, aplikační servery, messaging • Modularita • Reusability (ne na úrovni tříd) • Zkracuje se doba vývoje

  5. Web Services • WS = aplikace identifikovaná pomocí URI • WS nabízí aplikační logiku dostupnou přes Internet • WS komunikují pomocí protokolu SOAP (Simple Object Access Protocol) – XML • WSDL (Web Services Description Language) – popis služeb

  6. Web Services – HTTP Endpoints • Jak to funguje v MS SQL 2005? • Nepotřebuje IIS • Potřebuje ale serverový OS (Win Server 2003) - zajišťuje HTTP.sys

  7. Web Services – HTTP Endpoints • Kdy je to vhodné? • Databázově orientovaná aplikace • Žádná další logika – chceme vystavit výsledky uložené procedury

  8. Web Services - HTTP Endpoints CREATE ENDPOINT PocetEndpoint STATE = STARTED AS HTTP ( PATH='/sql', AUTHENTICATION = (INTEGRATED), PORTS = (CLEAR) ) FOR SOAP ( WEBMETHOD 'Sluzba1' (NAME = 'DB.dbo.SP1'), WEBMETHOD'Sluzba2' (NAME = 'DB.dbo.SP2'), WSDL = DEFAULT, DATABASE = 'JmenoDB', NAMESPACE = DEFAULT )

  9. Web Services – HTTP Endpoints • Využití v kódu (C#) • Přidáme Web Reference • Vytvoříme instanci • Zavoláme localhost.Endpoint ws = new localhost.Endpoint(); ws.Credentials = CredentialCache.DefaultCredentials; int vysledek = ws.VratNeco();

  10. Web Services – HTTP Endpoints • DEMO

  11. Service Broker • Message-based komunikační platforma • Umožňuje budovat asynchronní, volně vázané aplikace • Aplikace si vyměňují zprávy nutné k dokončení úlohy

  12. Service Broker • Aplikační vrstva • 2 aplikace, příp. aplikace a procedura • Jedna z nich iniciuje komunikaci – pošle zprávu • Logická vrstva • Komunikace mezi službami (kontrakt) • Kontrakt definuje způsob komunikace – zákazník pošle objednávku, potvrdíme mu převzetí • Definuje se také typ zpráv • Fyzická vrstva • TCP/IP • Fronty zpráv • (bezpečné doručení)

  13. Service Broker - složení • Message – zpráva, která se posílá • Contract – definuje jaké zprávy mohou být přijaty/poslány v rámci úlohy • Úloha – např. poslání objednávky do skladu • Fronta – jsou v ní zprávy • Service – bod, kde se napojí fronta na kontrakt • Dialog – výměna zpráv mezi službami

  14. Service Broker - komunikace

  15. Service Broker - Message • Definuje „šablonu“ posílaných zpráv CREATE MESSAGE TYPE message_type_name [ AUTHORIZATION owner_name ] [ VALIDATION = { NONE | EMPTY | WELL_FORMED_XML | VALID_XML WITH SCHEMA COLLECTIONschema_collection_name } ] CREATE MESSAGE TYPE [//SyntacticSugar/SendOrder] VALIDATION = WELL_FORMED_XML

  16. Service Broker - Contract • Definuje, které zprávy mohou být přijaty/poslány v rámci úlohy CREATE CONTRACT [//SyntacticSugar/OrderContract] ( [//SyntacticSugar/SendOrder] SENT BY INITIATOR, [//SyntacticSugar/OrderReceived] SENT BY TARGET )

  17. Service Broker - Queue • Obsahuje zprávy • Přístup: SELECT nebo RECEIVE • Může být spojena s uloženou procedurou CREATE QUEUE StoreQueue WITH STATUS=ON • STATUS: ON/OFF • MAX_QUEUE_READERS • Jméno procedury

  18. Service Broker - Service • Bod, kde se spojuje fronta s kontraktem CREATE SERVICE [//SyntacticSugar/OrderService] ON QUEUE dbo.StoreQueue ([//SyntacticSugar/BookOrderContract])

  19. Service Broker - Dialog • Vlastní výměna zpráv mezi službami • Každý dialog má unikátní ID DECLARE @Conv_Handler uniqueidentifier BEGIN DIALOG CONVERSATION @Conv_Handler FROM SERVICE [//SyntacticSugar/OrderService] TO SERVICE '//SyntacticSugar/DistributionService' ON CONTRACT [//SyntacticSugar/OrderContract]; SEND ON CONVERSATION @Conv_Handler MESSAGE TYPE [//SyntacticSugar/SendOrder] ('XML');

  20. Service Broker – Message Receiving • Výběr zprávy SELECT CAST(message_body AS XML) FROM dbo.Queue RECEIVE TOP (1) message_body FROM dbo.Queue • Výsledek <order id="3439" customer="22" orderdate="7/15/2005"> <LineItem ItemNumber="1" ISBN="1-59059-592-0" Quantity="1" /> </order>

  21. Service Broker • Konverzace sestává z posílání a přijímaní zpráv • Délka je libovolná • Kterákoliv strana ji může ukončit END CONVERSATION @Conv_Handler;

  22. Service Broker - Dodatky • Při komunikaci mezi různými instancemi DB • ROUTE • Šifrování, certifikáty

  23. Service Broker - Event Notification • Umožňuje asynchronně zachytávat události • Přihlášení uživatelů, DDL atd. • Je potřeba pouze fronta a služba, zbytek udělá systém sám

  24. Service Broker – Event Notification • DEMO

  25. Shrnutí • MS SQL 2005 nabízí webové služby • Service Broker – komunikační platforma pro zasílání zpráv • Notifications • SqlDependency

  26. SYNTACTICSUGAR Děkuji za pozornost

  27. Syntactic Sugar s.r.o. • Specializujeme se navývoj softwarena zakázku na platformě Microsoft Windowss použitím technologií .NET (C#, ASP.NET,Web Services, MS SQL Server…) • Pracujeme na projektech pro klienty z USA,ČR aRakouska • Spolupracujeme s mnohastudenty ze ZČU • Nabízíme studentům získánípraxe, vydělání peněz ipracovní pobytyv USA • Hledáme nové kolegy! • jobs@syntacticsugar.com