DAT329 SQL Server 2005 (code named “Yukon”): A Platform For Web Services Srik Raghavan Microsoft Corporation.

Slides:



Advertisements
Similar presentations
Getting Started with Oracle and .NET
Advertisements

Faith Allington Program Manager Microsoft Corporation WSV322.
31242/32549 Advanced Internet Programming Advanced Java Programming
SOAP.
Web Services and AIXM. Introduction Subramanyam “Subbu” Nadavala Contractor, L-3 Communications FAA Air Traffic Organization (ATO) Information Technology.
Building and Using Web Services with ASP.NET Rob Howard Program Manager.NET Framework Team Microsoft Corp.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
XML Web Services in Visual Studio ®.NET NameTitleCompany.
CSE 636 Data Integration Web Services.
DEV450 Visual Studio: Best Practices For Debugging Managed Applications Habib Heydarian Scott Nonnenberg Program Managers Microsoft Corporation.
Prashanth Kumar Muthoju
Varun Sharma Security Engineer | ACE Team | Microsoft Information Security
Oracle Developer Tools for Visual Studio.NET Christian Shay Principal Product Manager Oracle Corporation Prerequisites for presentation:
DAT304 Leveraging XML and HTTP with Sql Server Irwin Dolobowsky Program Manager Webdata Group.
Nikola Dudar Program Manager Microsoft Corporation Session Code: DTL 311.
May 30 th – 31 st, 2006 Sheraton Ottawa. Microsoft Certificate Lifecycle Manager Saleem Kanji Technology Solutions Professional - Windows Server Microsoft.
Ins and Outs of Authenticating Users Requests to IIS 6.0 and ASP.NET Chris Adams Program Manager IIS Product Unit Microsoft Corporation.
DBA230 Introducing SQL Server 2000 Reporting Services Jason Carlson Product Unit Manager SQL Server Microsoft Corporation.
Introduction to SQL 2005 Security Nick Ward SQL Server Specialist Nick Ward SQL Server Specialist
XML Web Services in Visual Studio.NET Peter Ty Developer Evangelist.NET and Developer Group.
Native Support for Web Services  Native Web services access  Enables cross platform interoperability  Reduces middle-tier dependency (no IIS)  Simplifies.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Module 14: WCF Send Adapters. Overview Lesson 1: Introduction to WCF Send Adapters Lesson 2: Consuming a Web Service Lesson 3: Consuming Services from.
ARC312 Tools For Architecture: Designing For Deployment Alex Torone Program Manager Microsoft Corporation Bill.
Developing Reporting Solutions with SQL Server
Tom Castiglia Hershey Technologies
DAT305 Boost Your Data-Driven Application Development Using SQL Server Centric.NET Code Generator Pascal Belaud Microsoft France.
ArcGIS Server and Portal for ArcGIS An Introduction to Security
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
.Net and Web Services Security CS795. Web Services A web application Does not have a user interface (as a traditional web application); instead, it exposes.
DAT 379 XML Today And Tomorrow Mark Fussell Lead Program Manager Microsoft Corporation.
DAT 330 Building Web Services with SQL Server and SQLXML 3.0 Alexander Vaschillo Lead Program Manager WebData XML Group Microsoft Corporation.
SQL Server 2012 Session: 1 Session: 3 Introduction to SQL Server 2012 Data Management Using Microsoft SQL Server.
Developing Web Services Using ASP.NET and WSE That Interoperate with the Windows Communications Foundation ("Indigo") Mark Fussell COM432 Lead Program.
PHP PDO & PHP SOAP Introduce. Agenda What is PHP PDO and PHP SOAP? Setup PHP PDO to connect database, query database and close the connection. Setup SOAP.
Instructions You must bring your own laptop, your presentation and a power supply Technical staff is present in all to assist with network, audio and video.
Chapter 10 Intro to SOAP and WSDL. Objectives By study in the chapter, you will be able to: Describe what is SOAP Exam the rules for creating a SOAP document.
1 Introduction to Web Application Introduction to Web Services.
DAT356 Hackers Paradise SQL Injection Attacks Doug Seven, Microsoft MVP Cofounder of SqlJunkies.com
Ins and Outs of Authenticating Users Requests to IIS 6.0 and ASP.NET Chris Adams Program Manager IIS Product Unit Microsoft Corporation.
XML and Web Services (II/2546)
ASP.NET Web Services.  A unit of managed code installed under IIS that can be remotely invoked using HTTP.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
DAT377 Data Mining In SQL Server 2000 And SQL Server 2005 (Code Named “Yukon”) Paul Bradley Principal, Data Mining Technology Apollo Data Technologies.
Access Services Introduction & Setup Requirements Kipp Sorensen, Soren Innovations.
DAT325 SQL Server 2005 (Codenamed “Yukon”): Using the Service Broker To Build Asynchronous, Queued Database Applications Roger Wolter Program Manager.
DBA331 Managing a Microsoft SQL Server 2000 Reporting Services Implementation Brian Welcker Group Program Manager SQL Server Microsoft Corporation.
Developing SQL Server 2000 Reporting Services Applications Brian Welcker Group Program Manager SQL Server Reporting Services Microsoft Corporation.
EBIZ302 Jupiter Business Process Automation and Web Services David Fong Program Manager.
DAT 405 Extreme SqlXml Irwin Dolobowsky Program Manager – SqlXml Microsoft Corporation.
Endpoints Lesson 17. Skills Matrix Endpoints Endpoints provide a reliable, securable, scalable messaging system that enables SQL Server to communicate.
DAT 378 SQL Server 2000 Bringing The Best of Reporting Services and Analysis Services Together Sean Boon Program Manager, BI Systems
Pete LePage Senior Product Manager Microsoft Corporation WUX310.
DAT 354: Building SQL Server Reporting Services Applications Brian Welcker Group Program Manager SQL Server Reporting Services Microsoft Corporation.
ASP.NET 2.0 Security Alex Mackman CM Group Ltd
In this session, you will learn to: Understand managed code Create managed database objects Define the Hypertext Transfer Protocol endpoints Implement.
Developing Custom ASP.NET Providers For Membership And Role Manager Stefan Schackow PRS404 Program Manager – Web Platform and Tools Microsoft Corporation.
Building More Powerful ASP.NET Applications with IIS7 Michael Volodarsky COM303 Program Manager Microsoft Corporation.
Jim Fawcett CSE681 – SW Modeling & Analysis Spring 2005
Introducing SQL Server 2000 Reporting Services
SQL Server Security & Intrusion Prevention
Sabri Kızanlık Ural Emekçi
Visual Studio Tools for Office 2005
ADO.NEXT Advances in Data Access for 2008
TechEd /4/2018 3:19 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
DAT328 SQL Server 2005 (Codenamed “Yukon”): Introduction To UDM “The Unified Dimensional Model In Analysis Services” Ariel Netz Group Program Manager.
TechEd /11/ :54 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Web Services Enhancements 2.0
Presentation transcript:

DAT329 SQL Server 2005 (code named “Yukon”): A Platform For Web Services Srik Raghavan Microsoft Corporation

AgendaAgenda Statement of Vision - Goals Architecture Request/Response format SecurityPerformance SQLXML comparison Best Practices Questions

Vision Statement Provide an open “standards” based mechanism to access SQL Server Outreach Ubiquitous data access Interoperability Based on standards such as HTTP, SOAP 1.1 and 1.2, XSD and WSDL 1.1. Comply with latest Web Services Specifications as applicable Outreach Ubiquitous data access Interoperability Based on standards such as HTTP, SOAP 1.1 and 1.2, XSD and WSDL 1.1. Comply with latest Web Services Specifications as applicable

SQL Server Access Protocols TDS/TCPNamedPipesTDS/TCPNamedPipesODBC, OLE DB, Ado.NetODBC, Ado.Net SQL SERVER SOAP/HTTPSOAP/HTTP SQL XML IIS IIS Unix Client

Platform Requirements Windows Server 2003, Windows XP SP2 Kernel Mode Http.Sys support No requirement for IIS

SQL SERVER Architecture Diagram RPC Access Batch Access WSDL request EndpointEndpoint StoredProcedureStoredProcedure WSDLGeneratorWSDLGenerator

Endpoints Example An endpoint has a name A set of options for transport (HTTP) – the URL A set of options for the payload (SOAP) - methods callable at that URL create endpoint Demo as HTTP ( as HTTP ( authentication = ( integrated ), authentication = ( integrated ), path = '/sql/demo', ports = ( clear), path = '/sql/demo', ports = ( clear), state = started state = started) for soap ( webmethod webmethod ' stproc1‘ ' stproc1‘ (name = demodb.dbo.testproc1), (name = demodb.dbo.testproc1), batches = enabled, batches = enabled, wsdl = default wsdl = default)

Endpoints – Security Model Authentication Types Basic, Digest, Integrated (NTLM, Kerberos) SQL Auth (WsSecurity Username token ) Prevent credentials from being sent in the clear Enforce SSL when using BASIC or LOGIN_TYPE = MIXED IP Filtering

WSDL Request Describes the application (services) that endpoint exposes Request for WSDL

Create Endpoint, Request WSDL

WSDL - Support Dynamic generation WSDL – Out of the Box Support Complex Rich type description for parameters and results using XSD complex types Simple Minimal description Increased interoperability Extensible – use custom stored procedure WSDL=sp_name

Custom WSDL Architecture WSDL QueryString Invoke Custom WSDL Proc Invoke Custom WSDL Proc Generate Output TransformTransform Invoke Internal WSDL Generator Invoke Internal WSDL Generator SQL SERVER OutputOutput

Custom WSDL Generator

SOAP Request - Batch SELECT EmployeeID, LoginID, Gender FROM Employee Where ; SELECT EmployeeID, LoginID, Gender FROM Employee Where ;</BatchCommands> <Parameters> 1 1 </SqlParameter> </Parameters></sqlbatch> Equivalent in TDS to Declaring parameters Invoking sp_executesql

SOAP- RPC Request <CustomerID>1</CustomerID></GetCustInfo> </soap:Envelope> Is similar to (over TDS, in a batch) EXEC demodb.dbo.GetCustInfo EXEC demodb.dbo.GetCustInfo <CustomerID>1</CustomerID></GetCustInfo> </soap:Envelope> Is similar to (over TDS, in a batch) EXEC demodb.dbo.GetCustInfo EXEC demodb.dbo.GetCustInfo

SOAP Responses User Defined Functions are simple For example, a return value of an nvarchar(100) is mapped to “string”, with max length facet as 100 Stored Procedures are harder No fixed schema for what it returns. Mapped to return an array of values No fixed schema for what it returns. Mapped to return an array of values SQL Batch return type is the same as a stored proc

SOAP Response ResultStream of SqlRowSet - output of SELECT … SqlXml – output of SELECT.. FOR XML SqlMessage – Error, Warning, Print messages SqlRowCount – Rows affected SqlResultCode – Return code for SP Errors/Faults

SOAP Headers Used in both requests and responses SESSIONS SQL Login credentials Parity with TDS Initial database ….

Session Support Sessions must be enabled on endpoint Conceptually similar to using cookies Sessions can span connections Sessions initiated and terminated through SOAP header Session timeout can be configured in endpoint and through initiate request

Session Request/Response <SOAP-ENV:Header xmlns:SOAP- ENV=” xmlns:SOAP- ENV=” xmlns:sqloptions=” rver/2001/12/SOAP/Options”> xmlns:sqloptions=” rver/2001/12/SOAP/Options”> </SOAP-ENV:Header><SOAP-ENV:Header xmlns:SOAP- ENV=” xmlns:SOAP- ENV=” xmlns:sqloptions=” rver/2001/12/SOAP/Options”> xmlns:sqloptions=” rver/2001/12/SOAP/Options”> </SOAP-ENV:Header> <SOAP-ENV:Header xmlns:SOAP- ENV=” xmlns:SOAP- ENV=” xmlns:sqloptions=” rver/2001/12/SOAP/Options”> xmlns:sqloptions=” rver/2001/12/SOAP/Options”> </SOAP-ENV:Header><SOAP-ENV:Header xmlns:SOAP- ENV=” xmlns:SOAP- ENV=” xmlns:sqloptions=” rver/2001/12/SOAP/Options”> xmlns:sqloptions=” rver/2001/12/SOAP/Options”> </SOAP-ENV:Header>

WS-Security Support Support WsSecurity Username token headers. Used for SQLAuth. Do not support Encryption and Signature from WS-Security spec.

WS-Security Header - SQL Auth <SOAP-ENV:Header> <wsse:Security xmlns:wsse= <wsse:Security xmlns:wsse= " soap.org/ws/2003/06/secext"> " soap.org/ws/2003/06/secext"> sqluser sqluser <wsse:Password Type= <wsse:Password Type= "wsse:PasswordText" >pass-word1 "wsse:PasswordText" >pass-word1 </SOAP-ENV:Header><SOAP-ENV:Header> <wsse:Security xmlns:wsse= <wsse:Security xmlns:wsse= " soap.org/ws/2003/06/secext"> " soap.org/ws/2003/06/secext"> sqluser sqluser <wsse:Password Type= <wsse:Password Type= "wsse:PasswordText" >pass-word1 "wsse:PasswordText" >pass-word1 </SOAP-ENV:Header>

Smart Clients Clients consume WSDL to generate proxy code In Microsoft® Visual Studio®.NET “Add Web Reference” Command line wsdl.exe For example… object[] sqlbatch(string BatchCommands, ref SqlParameter[] Parameters); ref SqlParameter[] Parameters); string testfunc1(string p1); object[] testproc1();

Result Format And Language Binding FORMAT = ALL_RESULTS Object [] o = myProcedure(params); FORMAT = ROWSETS_ONLY DataSet ds = myProcedure(myParam);

Smart Client And Perl Client

Security Features Secure By Default Who can create endpoints? Members of the sysadmin role Users granted CREATE ENDPOINT permission Who can connect to an endpoint? Members of sysadmin role, owner of endpoint, users granted CONNECT permission on the specific endpoint No Anonymous support for connecting to endpoints

Interoperability Testing WSI-BP Jbuilder 9 PerlGlue Axis 1.1 WASP VS.Net (RTM,Everett, Whidbey) Soap Toolkit 3.0

SQLXML Versus Native SOAP Complementary technologies SQLXML offers Templates (provides updateable views) Updategrams, Bulkload, Query strings in URL SOAP access offers No dependency on IIS ~%40 performance improvement over SQLXML Full support for parameterized Batch execution Dynamic WSDL

Best Practices - Security Deploy behind firewall/proxy/DMZ Do not open up port to the internet Provision endpoints for access by granting access to only principals who need access

Best Practices –App Arch. Use in heterogeneous environments Can connect to SQL using Perl Can be used as an alternative for Java Database Connectivity (JDBC) Do not use for applications characterized by real time highly concurrent access, with short duration transactions Do not use for Web farm type scale-out. Not a replacement for IIS

QuestionsQuestions

Visit the SQL Server 2005 website: Learn more about SQL Server 2005 at Tech  Ed Hands On Labs Rooms 6E and 6F 13 Hands On Labs Ask the Experts Track Cabanas located around CommNet Experts Available All Week Next Steps: SQL Server 2005 Exclusive Tech  Ed Offer! Receive Beta 2 of SQL Server 2005 Register for SQL Server 2005 Beta 2 at: Exclusive Tech  Ed Offer! Receive Beta 2 of SQL Server 2005 Register for SQL Server 2005 Beta 2 at:

SQL Server 2005: More Sessions DAT330 Tue 3.30 – 4.45 SQL Server 2005 (code named "Yukon"): Security Enhancements DAT329 Tue 5.00 – 6.15 SQL Server 2005 (code named "Yukon"): A Platform for Web Services DAT313 Wed 8.30 – 9.45 Introducing SQL Server 2005 (code named "Yukon") Data Transformation Services DAT377 Wed – Data mining in SQL Server 2000 and SQL Server 2005 (code named "Yukon") DAT317 Wed 2.00 – 3.15 SQL Server 2005 (code named "Yukon"): Setup and Deployment DAT318 Wed 3.45 – 5.00 SQL Server 2005 (code named "Yukon"):.NET Framework-Based Programming in the Database DAT323 Wed 5.30 – 6.45 SQL Server 2005 (code named "Yukon"): What's New in Replication DAT328 Thu 8.30 – 9.45 SQL Server 2005 (code named "Yukon"): Introduction to the Unified Dimensional Model in Analysis Services DATC15 Thu – Real Time Analytics: Bringing It All Together Using Analysis Services DAT321 Thu – SQL Server 2005 (code named "Yukon"): Management Tools DAT319 Thu 1.30 – 2.45 XML in the Database - the XML Data Type in SQL Server 2005 (code named "Yukon") DAT340 Thu 3.15 – 4.30 Applying and Targeting DTS in SQL Server 2005 (Code Named "Yukon") DAT324 Thu 5.00 – 6.15 SQL Server 2005 (code named "Yukon"): Backup and Restore Engine DAT322 Fri 9.00 – SQL Server 2005 (code named "Yukon"): SQL Server Management Object (SMO), Next Generation SQL-DMO DAT431 Fri – High Availability Technologies in SQL Server 2000 and SQL Server 2005 (code named "Yukon"): A Comparative Study DAT326 Fri – SQL Server 2005 (code named "Yukon"): Be More Efficient with T-SQL DAT325 Fri 1.00 – 2.15 SQL Server 2005 (code named "Yukon"): Using the Service Broker to Build Asynchronous, Queued Database Applications DAT327 Fri 2.45 – 4.00 SQL Server 2005 (code named "Yukon"): Inside XQuery

SQL Server Community sites List of newsgroups Locate Local User Groups Attend a free chat or web cast

Q1:Overall satisfaction with the session Q2:Usefulness of the information Q3:Presenter’s knowledge of the subject Q4:Presenter’s presentation skills Q5:Effectiveness of the presentation Please fill out a session evaluation on CommNet

© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.