1 / 27

SYNTACTIC SUGAR

SYNTACTIC SUGAR. MS SQL 2005 – SOA. Petr Krejzl p etr.krejzl@syntacticsugar.com. Obsah. Service Oriented Architecture Web Services v MS SQL 2005 Service Broker. Service Oriented Architecture. Co tomu předcházelo? XML Webové služby

lois-gaines
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related