Top Banner
37

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

Jan 13, 2016

Download

Documents

Mariah Rice
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DAT329 SQL Server 2005 (code named “Yukon”): A Platform For Web Services Srik Raghavan Microsoft Corporation.
Page 2: DAT329 SQL Server 2005 (code named “Yukon”): A Platform For Web Services Srik Raghavan Microsoft Corporation.

DAT329DAT329

SQL Server 2005 (code named “Yukon”):SQL Server 2005 (code named “Yukon”):

A Platform For Web ServicesA Platform For Web Services

DAT329DAT329

SQL Server 2005 (code named “Yukon”):SQL Server 2005 (code named “Yukon”):

A Platform For Web ServicesA Platform For Web Services

Srik RaghavanSrik RaghavanMicrosoft CorporationMicrosoft Corporation

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

AgendaAgendaAgendaAgenda

Statement of Vision - GoalsStatement of Vision - Goals

Architecture Architecture

Request/Response formatRequest/Response format

SecuritySecurity

PerformancePerformance

SQLXML comparisonSQLXML comparison

Best PracticesBest Practices

QuestionsQuestions

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

Vision StatementVision StatementVision StatementVision Statement

Provide an open “standards” based Provide an open “standards” based mechanism to access SQL Servermechanism to access SQL ServerOutreachOutreach

Ubiquitous data accessUbiquitous data access

InteroperabilityInteroperabilityBased on standards such as Based on standards such as HTTP, SOAP 1.1 and 1.2, XSD and HTTP, SOAP 1.1 and 1.2, XSD and WSDL 1.1.WSDL 1.1.

Comply with latest Web Services Comply with latest Web Services Specifications as applicableSpecifications as applicable

OutreachOutreachUbiquitous data accessUbiquitous data access

InteroperabilityInteroperabilityBased on standards such as Based on standards such as HTTP, SOAP 1.1 and 1.2, XSD and HTTP, SOAP 1.1 and 1.2, XSD and WSDL 1.1.WSDL 1.1.

Comply with latest Web Services Comply with latest Web Services Specifications as applicableSpecifications as applicable

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

SQL Server Access SQL Server Access ProtocolsProtocolsSQL Server Access SQL Server Access ProtocolsProtocols

TDS/TDS/TCPTCP

NamedNamedPipesPipes

TDS/TDS/TCPTCP

NamedNamedPipesPipes

ODBC, ODBC, OLE DB, OLE DB, Ado.NetAdo.Net

ODBC, ODBC, OLE DB, OLE DB, Ado.NetAdo.Net

SQL SERVERSQL SERVER

SOAP/SOAP/HTTPHTTP

SOAP/SOAP/HTTPHTTP

SQL XMLSQL XMLIISIIS

SQL XMLSQL XMLIISIIS

Unix ClientUnix ClientUnix ClientUnix Client

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

Platform RequirementsPlatform RequirementsPlatform RequirementsPlatform Requirements

Windows Server 2003, Windows XP Windows Server 2003, Windows XP SP2SP2

Kernel Mode Http.Sys support Kernel Mode Http.Sys support

No requirement for IIS No requirement for IIS

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

SQL SERVERSQL SERVER

Architecture DiagramArchitecture DiagramArchitecture DiagramArchitecture Diagram

RPC AccessRPC Access

Batch AccessBatch Access

WSDL requestWSDL request

EndpointEndpointEndpointEndpoint

StoredStoredProcedureProcedure

StoredStoredProcedureProcedure

WSDLWSDLGeneratorGenerator

WSDLWSDLGeneratorGenerator

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

Endpoints ExampleEndpoints ExampleEndpoints ExampleEndpoints Example

An endpoint has a An endpoint has a namename

A set of options for A set of options for transport (HTTP) – transport (HTTP) – the URLthe URL

A set of options for A set of options for the payload (SOAP) the payload (SOAP) - methods callable - methods callable at that URLat that URL

create endpoint create endpoint DemoDemo as HTTP (as HTTP ( authentication = authentication =

( integrated ),( integrated ), path = path = '/sql/demo','/sql/demo',

ports = ( clear),ports = ( clear), state = startedstate = started))for soap (for soap ( webmethod webmethod

'http://test.ms.com'.'te'http://test.ms.com'.'testproc1‘stproc1‘

(name = (name = demodb.dbo.testproc1),demodb.dbo.testproc1),

batches = enabled,batches = enabled, wsdl = defaultwsdl = default))

3333

2222

1111

1111

2222

3333

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

Endpoints – Security ModelEndpoints – Security ModelEndpoints – Security ModelEndpoints – Security Model

Authentication TypesAuthentication Types

Basic, Digest, Integrated (NTLM, Kerberos)Basic, Digest, Integrated (NTLM, Kerberos)

SQL Auth (WsSecurity Username token )SQL Auth (WsSecurity Username token )

Prevent credentials from being sent in the Prevent credentials from being sent in the clearclear

Enforce SSL when using BASIC or LOGIN_TYPE Enforce SSL when using BASIC or LOGIN_TYPE = MIXED= MIXED

IP FilteringIP Filtering

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

WSDL RequestWSDL RequestWSDL RequestWSDL Request

Describes the application (services) Describes the application (services) that endpoint exposesthat endpoint exposes

Request for WSDLRequest for WSDLhttp://<SITE>:<PORT>/<PATH>?WSDLhttp://<SITE>:<PORT>/<PATH>?WSDLhttp://http://myserver/sql/demo?wsdlmyserver/sql/demo?wsdl

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

Create Endpoint, Request WSDLCreate Endpoint, Request WSDL

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

WSDL - SupportWSDL - SupportWSDL - SupportWSDL - Support

Dynamic generationDynamic generation

WSDL – Out of the Box SupportWSDL – Out of the Box Support

ComplexComplex

Rich type description for parameters and results Rich type description for parameters and results using XSD complex typesusing XSD complex types

SimpleSimple

Minimal descriptionMinimal description

Increased interoperabilityIncreased interoperabilityhttp://myserver/sql/demo?wsdlsimplehttp://myserver/sql/demo?wsdlsimple

Extensible – use custom stored procedureExtensible – use custom stored procedureWSDL=sp_nameWSDL=sp_name

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

Custom WSDL ArchitectureCustom WSDL ArchitectureCustom WSDL ArchitectureCustom WSDL Architecture

WSDL WSDL QueryStringQueryStringWSDL WSDL

QueryStringQueryString

Invoke CustomInvoke CustomWSDL ProcWSDL Proc

Invoke CustomInvoke CustomWSDL ProcWSDL Proc

Generate OutputGenerate OutputGenerate OutputGenerate Output

TransformTransformTransformTransform

Invoke InternalInvoke InternalWSDL GeneratorWSDL GeneratorInvoke InternalInvoke InternalWSDL GeneratorWSDL Generator

SQL SERVERSQL SERVERSQL SERVERSQL SERVER

OutputOutputOutputOutput

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

Custom WSDL GeneratorCustom WSDL Generator

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

SOAP Request - BatchSOAP Request - BatchSOAP Request - BatchSOAP Request - Batch

<sqlbatch <sqlbatch xmlns="http://schemas.microsoft.com/SQLServexmlns="http://schemas.microsoft.com/SQLServer/2001/12/SOAP">r/2001/12/SOAP">

<BatchCommands>SELECT EmployeeID, LoginID, <BatchCommands>SELECT EmployeeID, LoginID, Gender FROM Employee Where EmployeeID=@x  ;Gender FROM Employee Where EmployeeID=@x  ;

</BatchCommands></BatchCommands>

  <Parameters><Parameters>

        <SqlParameter name="x" sqlDbType="Int" <SqlParameter name="x" sqlDbType="Int" xmlns="http://schemas.microsoft.com/SQLServexmlns="http://schemas.microsoft.com/SQLServer/2001/12/SOAP/types/SqlParameter">r/2001/12/SOAP/types/SqlParameter">

                    <Value xsi:type="xsd:string">1</Value><Value xsi:type="xsd:string">1</Value>

          </SqlParameter></SqlParameter>

  </Parameters></Parameters>

</sqlbatch></sqlbatch>

Equivalent in TDS to Declaring parameters Equivalent in TDS to Declaring parameters Invoking sp_executesqlInvoking sp_executesql

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

SOAP- RPC RequestSOAP- RPC RequestSOAP- RPC RequestSOAP- RPC Request<?xml version="1.0" encoding="utf-8"?><?xml version="1.0" encoding="utf-8"?><soap:Envelope <soap:Envelope

xmlns:soap="http://schemas.xmlsoap.org/soap/envexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" lope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<soap:Body><soap:Body> <GetCustInfo <GetCustInfo

xmlns="http://Adventure-Works/Customers/">xmlns="http://Adventure-Works/Customers/"><CustomerID>1</CustomerID><CustomerID>1</CustomerID>

</GetCustInfo></GetCustInfo> </soap:Body></soap:Body></soap:Envelope></soap:Envelope>

Is similar to (over TDS, in a batch)Is similar to (over TDS, in a batch) EXEC demodb.dbo.GetCustInfoEXEC demodb.dbo.GetCustInfo

<?xml version="1.0" encoding="utf-8"?><?xml version="1.0" encoding="utf-8"?><soap:Envelope <soap:Envelope

xmlns:soap="http://schemas.xmlsoap.org/soap/envexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" lope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<soap:Body><soap:Body> <GetCustInfo <GetCustInfo

xmlns="http://Adventure-Works/Customers/">xmlns="http://Adventure-Works/Customers/"><CustomerID>1</CustomerID><CustomerID>1</CustomerID>

</GetCustInfo></GetCustInfo> </soap:Body></soap:Body></soap:Envelope></soap:Envelope>

Is similar to (over TDS, in a batch)Is similar to (over TDS, in a batch) EXEC demodb.dbo.GetCustInfoEXEC demodb.dbo.GetCustInfo

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

SOAP Responses SOAP Responses SOAP Responses SOAP Responses

User Defined Functions are simple User Defined Functions are simple For example, a return value of an For example, a return value of an nvarchar(100) is mapped to “string”, nvarchar(100) is mapped to “string”, with max length facet as 100with max length facet as 100

Stored Procedures are harderStored Procedures are harder No fixed schema for what it returns. No fixed schema for what it returns. Mapped to return an array of valuesMapped to return an array of values

SQL Batch return type is the same as SQL Batch return type is the same as a stored proca stored proc

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

SOAP Response SOAP Response SOAP Response SOAP Response

ResultStream ofResultStream ofSqlRowSet - output of SELECT …SqlRowSet - output of SELECT …

SqlXml – output of SELECT .. FOR XMLSqlXml – output of SELECT .. FOR XML

SqlMessage – Error, Warning, Print SqlMessage – Error, Warning, Print messagesmessages

SqlRowCount – Rows affectedSqlRowCount – Rows affected

SqlResultCode – Return code for SPSqlResultCode – Return code for SP

Errors/FaultsErrors/Faults

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

SOAP HeadersSOAP HeadersSOAP HeadersSOAP Headers

Used in both requests and responsesUsed in both requests and responses

SESSIONSSESSIONS

SQL Login credentialsSQL Login credentials

Parity with TDS Parity with TDS

Initial database …. Initial database ….

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

Session SupportSession SupportSession SupportSession Support

Sessions must be enabled on endpointSessions must be enabled on endpoint

Conceptually similar to using cookiesConceptually similar to using cookies

Sessions can span connectionsSessions can span connections

Sessions initiated and terminated Sessions initiated and terminated through SOAP headerthrough SOAP header

Session timeout can be configured in Session timeout can be configured in endpoint and through initiate requestendpoint and through initiate request

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

Session Request/ResponseSession Request/ResponseSession Request/ResponseSession Request/Response<SOAP-ENV:Header<SOAP-ENV:Header   

xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envexmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”lope/”

    xmlns:sqloptions=”http://schemas.microsoft.com/SQLSexmlns:sqloptions=”http://schemas.microsoft.com/SQLServer/2001/12/SOAP/Options”>rver/2001/12/SOAP/Options”>

        <!-- create a new session, with explicit timeout --<!-- create a new session, with explicit timeout -->>

        <sqloptions:sqlSession initiate=”true” <sqloptions:sqlSession initiate=”true” timeout=”12”/>timeout=”12”/>

</SOAP-ENV:Header></SOAP-ENV:Header>

<SOAP-ENV:Header<SOAP-ENV:Header   

xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envexmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”lope/”

    xmlns:sqloptions=”http://schemas.microsoft.com/SQLSexmlns:sqloptions=”http://schemas.microsoft.com/SQLServer/2001/12/SOAP/Options”>rver/2001/12/SOAP/Options”>

        <!-- create a new session, with explicit timeout --<!-- create a new session, with explicit timeout -->>

        <sqloptions:sqlSession initiate=”true” <sqloptions:sqlSession initiate=”true” timeout=”12”/>timeout=”12”/>

</SOAP-ENV:Header></SOAP-ENV:Header><SOAP-ENV:Header<SOAP-ENV:Header   

xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envexmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”lope/”

    xmlns:sqloptions=”http://schemas.microsoft.com/SQLSexmlns:sqloptions=”http://schemas.microsoft.com/SQLServer/2001/12/SOAP/Options”>rver/2001/12/SOAP/Options”>

        <!-- response to creating a new session, or <!-- response to creating a new session, or enlisting in an existing session -->enlisting in an existing session -->

        <sqloptions:sqlSession sessionId=” AAAAADreaLE=” <sqloptions:sqlSession sessionId=” AAAAADreaLE=” timeout=”12”/>timeout=”12”/>

</SOAP-ENV:Header></SOAP-ENV:Header>

<SOAP-ENV:Header<SOAP-ENV:Header   

xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envexmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”lope/”

    xmlns:sqloptions=”http://schemas.microsoft.com/SQLSexmlns:sqloptions=”http://schemas.microsoft.com/SQLServer/2001/12/SOAP/Options”>rver/2001/12/SOAP/Options”>

        <!-- response to creating a new session, or <!-- response to creating a new session, or enlisting in an existing session -->enlisting in an existing session -->

        <sqloptions:sqlSession sessionId=” AAAAADreaLE=” <sqloptions:sqlSession sessionId=” AAAAADreaLE=” timeout=”12”/>timeout=”12”/>

</SOAP-ENV:Header></SOAP-ENV:Header>

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

WS-Security SupportWS-Security SupportWS-Security SupportWS-Security Support

Support WsSecurity Username token Support WsSecurity Username token headers. Used for SQLAuth.headers. Used for SQLAuth.

Do not support Encryption and Do not support Encryption and Signature from WS-Security spec.Signature from WS-Security spec.

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

WS-Security Header - SQL AuthWS-Security Header - SQL AuthWS-Security Header - SQL AuthWS-Security Header - SQL Auth

<SOAP-ENV:Header><SOAP-ENV:Header>                        <wsse:Security  xmlns:wsse=<wsse:Security  xmlns:wsse=                                               

"http://schemas.xmlsoap.org/ws/2003/06/se"http://schemas.xmlsoap.org/ws/2003/06/secext">cext">

                        <wsse:UsernameToken><wsse:UsernameToken>       

                        <wsse:Username>sqluser</wsse:<wsse:Username>sqluser</wsse:Username>Username>

                        <wsse:Password Type=<wsse:Password Type=                                               

"wsse:PasswordText">pass-word1</wsse:Pass"wsse:PasswordText">pass-word1</wsse:Password>word>

                        </wsse:UsernameToken></wsse:UsernameToken>                        </wsse:Security></wsse:Security></SOAP-ENV:Header></SOAP-ENV:Header>

<SOAP-ENV:Header><SOAP-ENV:Header>                        <wsse:Security  xmlns:wsse=<wsse:Security  xmlns:wsse=                                               

"http://schemas.xmlsoap.org/ws/2003/06/se"http://schemas.xmlsoap.org/ws/2003/06/secext">cext">

                        <wsse:UsernameToken><wsse:UsernameToken>       

                        <wsse:Username>sqluser</wsse:<wsse:Username>sqluser</wsse:Username>Username>

                        <wsse:Password Type=<wsse:Password Type=                                               

"wsse:PasswordText">pass-word1</wsse:Pass"wsse:PasswordText">pass-word1</wsse:Password>word>

                        </wsse:UsernameToken></wsse:UsernameToken>                        </wsse:Security></wsse:Security></SOAP-ENV:Header></SOAP-ENV:Header>

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

Smart ClientsSmart ClientsSmart ClientsSmart Clients

Clients consume WSDL to Clients consume WSDL to generate proxy codegenerate proxy code

In Microsoft® Visual Studio® .NET In Microsoft® Visual Studio® .NET “Add Web Reference”“Add Web Reference”

Command line wsdl.exe Command line wsdl.exe

For example…For example…object[] sqlbatch(string BatchCommands,object[] sqlbatch(string BatchCommands,

ref SqlParameter[] ref SqlParameter[]

Parameters);Parameters);

string testfunc1(string p1);string testfunc1(string p1);

object[] testproc1();object[] testproc1();

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

Result Format And Result Format And Language BindingLanguage BindingResult Format And Result Format And Language BindingLanguage Binding

FORMAT = ALL_RESULTSFORMAT = ALL_RESULTSObject [] o = Object [] o = myProcedure(params);myProcedure(params);

FORMAT = ROWSETS_ONLYFORMAT = ROWSETS_ONLYDataSet ds = DataSet ds = myProcedure(myParam);myProcedure(myParam);

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

Smart Client And Perl ClientSmart Client And Perl Client

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

Security FeaturesSecurity FeaturesSecurity FeaturesSecurity Features

Secure By DefaultSecure By Default

Who can create endpoints?Who can create endpoints?Members of the sysadmin roleMembers of the sysadmin role

Users granted CREATE ENDPOINT permission Users granted CREATE ENDPOINT permission

Who can connect to an endpoint?Who can connect to an endpoint?Members of sysadmin role, owner of endpoint, Members of sysadmin role, owner of endpoint, users granted CONNECT permission on the users granted CONNECT permission on the specific endpoint specific endpoint

No Anonymous support for connecting to No Anonymous support for connecting to endpoints endpoints

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

Interoperability TestingInteroperability TestingInteroperability TestingInteroperability Testing

WSI-BPWSI-BP

Jbuilder 9Jbuilder 9

PerlPerl

GlueGlue

Axis 1.1Axis 1.1

WASPWASP

VS.Net (RTM,Everett, Whidbey)VS.Net (RTM,Everett, Whidbey)

Soap Toolkit 3.0Soap Toolkit 3.0

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

SQLXML Versus Native SQLXML Versus Native SOAPSOAPSQLXML Versus Native SQLXML Versus Native SOAPSOAP

Complementary technologiesComplementary technologies

SQLXML offersSQLXML offersTemplates (provides updateable views)Templates (provides updateable views)

Updategrams, Bulkload, Query strings in URLUpdategrams, Bulkload, Query strings in URL

SOAP access offersSOAP access offersNo dependency on IISNo dependency on IIS

~%40 performance improvement over SQLXML~%40 performance improvement over SQLXML

Full support for parameterized Batch executionFull support for parameterized Batch execution

Dynamic WSDLDynamic WSDL

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

Best Practices - SecurityBest Practices - SecurityBest Practices - SecurityBest Practices - Security

Deploy behind firewall/proxy/DMZDeploy behind firewall/proxy/DMZ

Do not open up port to the internetDo not open up port to the internet

Provision endpoints for access by Provision endpoints for access by granting access to only principals who granting access to only principals who need accessneed access

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

Best Practices –App Arch.Best Practices –App Arch.Best Practices –App Arch.Best Practices –App Arch.

Use in heterogeneous environmentsUse in heterogeneous environmentsCan connect to SQL using PerlCan connect to SQL using Perl

Can be used as an alternative for Java Database Can be used as an alternative for Java Database Connectivity (JDBC)Connectivity (JDBC)

Do not use for applications characterized by Do not use for applications characterized by real time highly concurrent access, with real time highly concurrent access, with short duration transactionsshort duration transactions

Do not use for Web farm type scale-out. Not Do not use for Web farm type scale-out. Not a replacement for IISa replacement for IIS

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

QuestionsQuestionsQuestionsQuestions

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

Visit the SQL Server 2005 website: Visit the SQL Server 2005 website: www.microsoft.com/sql/2005www.microsoft.com/sql/2005

Learn more about SQL Server 2005 at TechLearn more about SQL Server 2005 at TechEdEd Hands On Labs Hands On Labs

Rooms 6E and 6FRooms 6E and 6F 13 Hands On Labs13 Hands On Labs

Ask the Experts Ask the Experts Track Cabanas located around CommNetTrack Cabanas located around CommNet Experts Available All WeekExperts Available All Week

Next Steps: SQL Server 2005Next Steps: SQL Server 2005

Exclusive TechExclusive TechEd Offer!Ed Offer!Receive Receive Beta 2Beta 2 of of SQL Server 2005SQL Server 2005

Register for SQL Server 2005 Beta 2 at: Register for SQL Server 2005 Beta 2 at: http://www.msteched.com/SqlBetaBits.aspx

Exclusive TechExclusive TechEd Offer!Ed Offer!Receive Receive Beta 2Beta 2 of of SQL Server 2005SQL Server 2005

Register for SQL Server 2005 Beta 2 at: Register for SQL Server 2005 Beta 2 at: http://www.msteched.com/SqlBetaBits.aspx

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

SQL Server 2005: SQL Server 2005: More SessionsMore Sessions

DAT330DAT330 Tue 3.30 – 4.45Tue 3.30 – 4.45 SQL Server 2005 (code named "Yukon"): Security EnhancementsSQL Server 2005 (code named "Yukon"): Security Enhancements

DAT329DAT329 Tue 5.00 – 6.15Tue 5.00 – 6.15 SQL Server 2005 (code named "Yukon"): A Platform for Web ServicesSQL Server 2005 (code named "Yukon"): A Platform for Web Services

DAT313DAT313 Wed 8.30 – 9.45Wed 8.30 – 9.45 Introducing SQL Server 2005 (code named "Yukon") Data Transformation ServicesIntroducing SQL Server 2005 (code named "Yukon") Data Transformation Services

DAT377DAT377 Wed 10.15 – 11.45Wed 10.15 – 11.45 Data mining in SQL Server 2000 and SQL Server 2005 (code named "Yukon")Data mining in SQL Server 2000 and SQL Server 2005 (code named "Yukon")

DAT317DAT317 Wed 2.00 – 3.15Wed 2.00 – 3.15 SQL Server 2005 (code named "Yukon"): Setup and DeploymentSQL Server 2005 (code named "Yukon"): Setup and Deployment

DAT318DAT318 Wed 3.45 – 5.00Wed 3.45 – 5.00 SQL Server 2005 (code named "Yukon"): .NET Framework-Based Programming in SQL Server 2005 (code named "Yukon"): .NET Framework-Based Programming in the Databasethe Database

DAT323DAT323 Wed 5.30 – 6.45Wed 5.30 – 6.45 SQL Server 2005 (code named "Yukon"): What's New in ReplicationSQL Server 2005 (code named "Yukon"): What's New in Replication

DAT328DAT328 Thu 8.30 – 9.45Thu 8.30 – 9.45 SQL Server 2005 (code named "Yukon"): Introduction to the Unified Dimensional SQL Server 2005 (code named "Yukon"): Introduction to the Unified Dimensional Model in Analysis ServicesModel in Analysis Services

DATC15DATC15 Thu 10.15 – 11.30Thu 10.15 – 11.30 Real Time Analytics: Bringing It All Together Using Analysis ServicesReal Time Analytics: Bringing It All Together Using Analysis Services

DAT321DAT321 Thu 10.15 – 11.30Thu 10.15 – 11.30 SQL Server 2005 (code named "Yukon"): Management ToolsSQL Server 2005 (code named "Yukon"): Management Tools

DAT319DAT319 Thu 1.30 – 2.45Thu 1.30 – 2.45 XML in the Database - the XML Data Type in SQL Server 2005 (code named "Yukon")XML in the Database - the XML Data Type in SQL Server 2005 (code named "Yukon")

DAT340DAT340 Thu 3.15 – 4.30Thu 3.15 – 4.30 Applying and Targeting DTS in SQL Server 2005 (Code Named "Yukon")Applying and Targeting DTS in SQL Server 2005 (Code Named "Yukon")

DAT324DAT324 Thu 5.00 – 6.15Thu 5.00 – 6.15 SQL Server 2005 (code named "Yukon"): Backup and Restore EngineSQL Server 2005 (code named "Yukon"): Backup and Restore Engine

DAT322DAT322 Fri 9.00 – 10.15Fri 9.00 – 10.15 SQL Server 2005 (code named "Yukon"): SQL Server Management Object (SMO), SQL Server 2005 (code named "Yukon"): SQL Server Management Object (SMO), Next Generation SQL-DMONext Generation SQL-DMO

DAT431DAT431 Fri 10.45 – 12.00Fri 10.45 – 12.00 High Availability Technologies in SQL Server 2000 and SQL Server 2005 (code High Availability Technologies in SQL Server 2000 and SQL Server 2005 (code named "Yukon"): A Comparative Studynamed "Yukon"): A Comparative Study

DAT326DAT326 Fri 10.45 – 12.00Fri 10.45 – 12.00 SQL Server 2005 (code named "Yukon"): Be More Efficient with T-SQLSQL Server 2005 (code named "Yukon"): Be More Efficient with T-SQL

DAT325DAT325 Fri 1.00 – 2.15Fri 1.00 – 2.15 SQL Server 2005 (code named "Yukon"): Using the Service Broker to Build SQL Server 2005 (code named "Yukon"): Using the Service Broker to Build Asynchronous, Queued Database ApplicationsAsynchronous, Queued Database Applications

DAT327DAT327 Fri 2.45 – 4.00Fri 2.45 – 4.00 SQL Server 2005 (code named "Yukon"): Inside XQuerySQL Server 2005 (code named "Yukon"): Inside XQuery

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

SQL Server Community sitesSQL Server Community siteshttp://www.microsoft.com/http://www.microsoft.com/sql/community/default.mspxsql/community/default.mspx

List of newsgroupsList of newsgroupshttp://www.microsoft.com/sql/community/newsgroups/default.mspxhttp://www.microsoft.com/sql/community/newsgroups/default.mspx

Locate Local User GroupsLocate Local User Groupshttphttp://www.microsoft.com/communities/://www.microsoft.com/communities/usergroups/default.mspxusergroups/default.mspx

Attend a free chat or web castAttend a free chat or web casthttp://www.microsoft.com/communities/chats/default.mspxhttp://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asphttp://www.microsoft.com/usa/webcasts/default.asp

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

Q1:Q1: Overall satisfaction with the sessionOverall satisfaction with the session

Q2:Q2: Usefulness of the informationUsefulness of the information

Q3:Q3: Presenter’s knowledge of the subjectPresenter’s knowledge of the subject

Q4:Q4: Presenter’s presentation skillsPresenter’s presentation skills

Q5:Q5: Effectiveness of the presentationEffectiveness of the presentation

Please fill out a session evaluation on CommNetPlease fill out a session evaluation on CommNet

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

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