sql server 2005 como servidor de aplicaciones edgar sánchez director regional de microsoft
TRANSCRIPT
![Page 1: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/1.jpg)
SQL Server 2005 como SQL Server 2005 como servidor de aplicacionesservidor de aplicaciones
Edgar SánchezEdgar SánchezDirector Regional de MicrosoftDirector Regional de Microsoft
![Page 2: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/2.jpg)
Lo que veremosLo que veremos
Soporte nativo para servicios de Web Soporte nativo para servicios de Web en SQL Server 2005en SQL Server 2005 Alcance y característicasAlcance y características Escenarios de usoEscenarios de uso
![Page 3: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/3.jpg)
PrerrequisitosPrerrequisitos
Familiaridad con los conceptos de Familiaridad con los conceptos de servicios de Web con XMLservicios de Web con XML
Familiaridad con HTTPFamiliaridad con HTTP
![Page 4: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/4.jpg)
AgendaAgenda
La visiónLa visión ArquitecturaArquitectura Escenarios de aplicaciónEscenarios de aplicación Detalles – endpoint, solicitud/respuestaDetalles – endpoint, solicitud/respuesta Modelo de programaciónModelo de programación SeguridadSeguridad RendimientoRendimiento Comparación con SQLXMLComparación con SQLXML Mejores prácticasMejores prácticas
![Page 5: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/5.jpg)
La visiónLa visión
Proveer un mecanismo basado en Proveer un mecanismo basado en estándares abiertos para acceder a estándares abiertos para acceder a SQL ServerSQL Server
La metaLa meta Acceso ubicuo a datosAcceso ubicuo a datos
InteroperabilidadInteroperabilidad Basado en estándares como HTTP, SOAP Basado en estándares como HTTP, SOAP
1.1 y 1.2, XSD y WSDL 1.11.1 y 1.2, XSD y WSDL 1.1 Cumplir con las últimas especificaciones Cumplir con las últimas especificaciones
de servicios de Web que resulten de servicios de Web que resulten aplicablesaplicables
![Page 6: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/6.jpg)
Protocolos de acceso a SQL Protocolos de acceso a SQL ServerServer
SQL SERVERSQL SERVER
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
![Page 7: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/7.jpg)
Protocolos de acceso a SQL Protocolos de acceso a SQL ServerServer
SQL SERVERSQL SERVER
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.NETSQL XMLSQL XML
IISIISSQL XMLSQL XML
IISIIS
![Page 8: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/8.jpg)
Protocolos de acceso a SQL Protocolos de acceso a SQL ServerServer
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.NETSQL XMLSQL XML
IISIISSQL XMLSQL XML
IISIISSQL SERVERSQL SERVER
SOAP/SOAP/HTTPHTTP
SOAP/SOAP/HTTPHTTP
Unix ClientUnix ClientUnix ClientUnix Client
![Page 9: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/9.jpg)
Requerimientos de plataformaRequerimientos de plataforma
Windows Server 2003, Windows XP Windows Server 2003, Windows XP SP2SP2 Soporte de Http.Sys en modo kernelSoporte de Http.Sys en modo kernel No se requiere Internet Information No se requiere Internet Information
Services (IIS)Services (IIS)
![Page 10: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/10.jpg)
SQL SERVERSQL SERVER
Diagrama de arquitecturaDiagrama de arquitectura
![Page 11: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/11.jpg)
SQL SERVERSQL SERVER
Diagrama de arquitecturaDiagrama de arquitectura
EndpointEndpointEndpointEndpoint
![Page 12: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/12.jpg)
SQL SERVERSQL SERVER
Diagrama de arquitecturaDiagrama de arquitectura
EndpointEndpointEndpointEndpoint
ProcedimientoProcedimientoalmacenadoalmacenado
ProcedimientoProcedimientoalmacenadoalmacenado
![Page 13: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/13.jpg)
SQL SERVERSQL SERVER
Diagrama de arquitecturaDiagrama de arquitectura
EndpointEndpointEndpointEndpoint
ProcedimientoProcedimientoalmacenadoalmacenado
ProcedimientoProcedimientoalmacenadoalmacenado
Acceso RPCAcceso RPC
![Page 14: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/14.jpg)
SQL SERVERSQL SERVER
Diagrama de arquitecturaDiagrama de arquitectura
EndpointEndpointEndpointEndpoint
ProcedimientoProcedimientoalmacenadoalmacenado
ProcedimientoProcedimientoalmacenadoalmacenado
Acceso RPCAcceso RPC
Acceso por lotesAcceso por lotes
![Page 15: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/15.jpg)
SQL SERVERSQL SERVER
Diagrama de arquitecturaDiagrama de arquitectura
EndpointEndpointEndpointEndpoint
ProcedimientoProcedimientoalmacenadoalmacenado
ProcedimientoProcedimientoalmacenadoalmacenado
Acceso RPCAcceso RPC
Acceso por lotesAcceso por lotes
Solicitud WSDLSolicitud WSDL
GeneradorGeneradorWSDLWSDL
GeneradorGeneradorWSDLWSDL
![Page 16: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/16.jpg)
Escenarios de aplicaciónEscenarios de aplicación
Aprovechar la inversión en procedimientos Aprovechar la inversión en procedimientos almacenadosalmacenados Lógica de procedimientos almacenados muy Lógica de procedimientos almacenados muy
asociada con los datosasociada con los datos Servicios de búsquedaServicios de búsqueda
Catálogo de productos, directorio de empleados, Catálogo de productos, directorio de empleados, servicios basados en la ubicaciónservicios basados en la ubicación
Servicios de reportesServicios de reportes Permite también reportes ad-hocPermite también reportes ad-hoc
Escenarios móvilesEscenarios móviles Permite que nuevas clases de dispositivos de Permite que nuevas clases de dispositivos de
tamaño pequeño se conecten a SQL Servertamaño pequeño se conecten a SQL Server Conexiones no atadas a una sesión, la sesión Conexiones no atadas a una sesión, la sesión
permanece incluso si la conexión se cae. Permite permanece incluso si la conexión se cae. Permite tener dispositivos conectados esporádicamente.tener dispositivos conectados esporádicamente.
![Page 17: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/17.jpg)
Escenarios de aplicaciónEscenarios de aplicación (cont.)(cont.) Uso en ambientes heterogéneosUso en ambientes heterogéneos
Se puede conectar Perl a SQL ServerSe puede conectar Perl a SQL Server Se puede usar como una alternativa a Se puede usar como una alternativa a
JDBCJDBC Permite Arquitectura Orientada a Permite Arquitectura Orientada a
ServiciosServicios Aplicaciones desconectadasAplicaciones desconectadas Expone servicios de Web en la capa de Expone servicios de Web en la capa de
datos o en la capa intermediadatos o en la capa intermedia Servicios asincrónicos son posibles con Servicios asincrónicos son posibles con
la integración con SQL Server Service la integración con SQL Server Service BrokerBroker
![Page 18: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/18.jpg)
Ejemplo de EndpointEjemplo de Endpoint
Un endpoint tiene un Un endpoint tiene un nombrenombre
Un conjunto de Un conjunto de opciones para el opciones para el transportetransporte (HTTP) – el (HTTP) – el URLURL
Un conjunto de Un conjunto de opciones para la carga opciones para la carga (SOAP) – métodos (SOAP) – métodos invocables en ese URLinvocables en ese 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://logicstudio.net''http://logicstudio.net'.'testproc1‘.'testproc1‘
(name = (name = demodb.dbo.testproc1),demodb.dbo.testproc1),
batches = enabled,batches = enabled, wsdl = defaultwsdl = default))
3333
2222
1111
1111
2222
3333
![Page 19: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/19.jpg)
Endpoints – Modelo de Endpoints – Modelo de seguridadseguridad No hay acceso anónimoNo hay acceso anónimo Autenticación – dos nivelesAutenticación – dos niveles
Transporte HTTP: Basic, Digest, Integrated Transporte HTTP: Basic, Digest, Integrated (NTLM, Kerberos)(NTLM, Kerberos)
SQL Server: SQL Auth (WsSecurity Username SQL Server: SQL Auth (WsSecurity Username token ) habilitado cuando LOGIN_TYPE=MIXEDtoken ) habilitado cuando LOGIN_TYPE=MIXED
Prevención de envío de credenciales en Prevención de envío de credenciales en claroclaro Forzar SSL cuando se usa BASIC o LOGIN_TYPE Forzar SSL cuando se usa BASIC o LOGIN_TYPE
= MIXED= MIXED Filtrado de IPsFiltrado de IPs
![Page 20: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/20.jpg)
Solicitud WSDLSolicitud WSDL
Describe la aplicación (servicios) que Describe la aplicación (servicios) que el endpoint exponeel endpoint expone
Solicitud del WSDLSolicitud del WSDL http://<SITE>:<PORT>/<PATH>?WSDLhttp://<SITE>:<PORT>/<PATH>?WSDL http://http://myserver/sql/demo?wsdlmyserver/sql/demo?wsdl
![Page 21: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/21.jpg)
Crear Endpoint, solicitar WSDLCrear Endpoint, solicitar WSDL
![Page 22: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/22.jpg)
WSDL - SoporteWSDL - Soporte
Generación dinámicaGeneración dinámica WSDL – Soporte de cajónWSDL – Soporte de cajón
ComplejoComplejo Descripción de tipos rica para parámetros y Descripción de tipos rica para parámetros y
resultados usando tipos complejos XSDresultados usando tipos complejos XSD SimpleSimple
Descripción mínimaDescripción mínima
Interoperabilidad incrementadaInteroperabilidad incrementada http://myserver/sql/demo?wsdlsimplehttp://myserver/sql/demo?wsdlsimple
Extensible – usa un procedimiento Extensible – usa un procedimiento almacenado personalizadoalmacenado personalizado
WSDL=sp_nameWSDL=sp_name
![Page 23: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/23.jpg)
Solicitud SOAP - LoteSolicitud SOAP - Lote
<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>Equivalente en TDS a la declaración de Equivalente en TDS a la declaración de
parámetros invocando a sp_executesqlparámetros invocando a sp_executesql
![Page 24: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/24.jpg)
SOAP- Solicitud RPCSOAP- Solicitud RPC<?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>
Es similar a (sobre TDS, en un lote)Es similar a (sobre TDS, en un lote) 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>
Es similar a (sobre TDS, en un lote)Es similar a (sobre TDS, en un lote) EXEC demodb.dbo.GetCustInfoEXEC demodb.dbo.GetCustInfo
![Page 25: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/25.jpg)
Respuestas SOAPRespuestas SOAP
Las User Defined Functions son Las User Defined Functions son sencillas sencillas Por ejemplo, un valor de retorno de unaPor ejemplo, un valor de retorno de una
nvarchar(100) se mapea a una “string”, nvarchar(100) se mapea a una “string”, con una longitud máxima de 100con una longitud máxima de 100
Los procedimientos almacenados Los procedimientos almacenados son más difícilesson más difíciles No hay un esquema fijo para lo que se No hay un esquema fijo para lo que se
devuelve. Se mapea para devolver un devuelve. Se mapea para devolver un arreglo de valores.arreglo de valores.
El retorno para un lote SQL es el El retorno para un lote SQL es el mismo que para un procedimiento mismo que para un procedimiento almacenadoalmacenado
![Page 26: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/26.jpg)
Respuesta SOAPRespuesta SOAP
ResultStream deResultStream de SqlRowSet – resultado de SELECT …SqlRowSet – resultado de SELECT … SqlXml – resultado de SELECT .. FOR XMLSqlXml – resultado de SELECT .. FOR XML SqlMessage – Mensajes de Error, Warning SqlMessage – Mensajes de Error, Warning
y Printy Print SqlRowCount – Filas afectadasSqlRowCount – Filas afectadas SqlResultCode – Código de retorno del SPSqlResultCode – Código de retorno del SP
Errores/FallasErrores/Fallas
![Page 27: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/27.jpg)
Clientes inteligentesClientes inteligentes
Los clientes consumen WSDL Los clientes consumen WSDL para generar código proxypara generar código proxy EnEn Visual Studio® .NET “Add Web Visual Studio® .NET “Add Web
Reference”Reference” En línea de comandos: wsdl.exe En línea de comandos: wsdl.exe
Por ejemplo…Por ejemplo…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 28: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/28.jpg)
Formato de resultado y Formato de resultado y binding del lenguajebinding del lenguaje FORMAT = ALL_RESULTSFORMAT = ALL_RESULTS
Object [] o = Object [] o = myProcedure(params);myProcedure(params);
FORMAT = ROWSETS_ONLYFORMAT = ROWSETS_ONLY DataSet ds = DataSet ds = myProcedure(myParam);myProcedure(myParam);
![Page 29: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/29.jpg)
Aplicaciones de cliente – Java, Aplicaciones de cliente – Java, cliente inteligente con Visual cliente inteligente con Visual Studio 2005Studio 2005
![Page 30: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/30.jpg)
Soporte de sesionesSoporte de sesiones
Se debe habilitar sesiones en el Se debe habilitar sesiones en el endpointendpoint
Las sesiones pueden extender Las sesiones pueden extender conexionesconexiones
Las solicitudes para conectarse a Las solicitudes para conectarse a sesiones son autenticadassesiones son autenticadas
Las sesiones se inician y terminan a Las sesiones se inician y terminan a través del header SOAPtravés del header SOAP
El timeout de la sesión se puede El timeout de la sesión se puede configurar en el endpoint y en el inicio configurar en el endpoint y en el inicio de la solicitudde la solicitud
![Page 31: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/31.jpg)
Solicitud/Respuesta de sesiónSolicitud/Respuesta de sesión<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>
![Page 32: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/32.jpg)
Solicitud/Respuesta de sesiónSolicitud/Respuesta de sesión<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 33: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/33.jpg)
Soporte de WS-SecuritySoporte de WS-Security
Soporte para token de header tipo Soporte para token de header tipo WsSecurity Username. Usado paraWsSecurity Username. Usado para SQLAuth.SQLAuth.
No soporta No soporta Encryption y Signature de Encryption y Signature de la especificación WS-Security.la especificación WS-Security.
![Page 34: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/34.jpg)
Cabecera WS-Security - SQL AuthCabecera WS-Security - 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 35: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/35.jpg)
Características de seguridadCaracterísticas de seguridad
Seguro por omisiónSeguro por omisión ¿Quién puede crear ¿Quién puede crear endpoints?endpoints?
Miembros del rolMiembros del rol sysadmin sysadmin Usuarios a los que se ha concedido el permisoUsuarios a los que se ha concedido el permiso
CREATE ENDPOINTCREATE ENDPOINT
¿Quién se puede conectar a un ¿Quién se puede conectar a un endpoint?endpoint? Miembros del rolMiembros del rol sysadmin, dueño del endpoint, sysadmin, dueño del endpoint,
usuarios a los que se ha concedido el permiso usuarios a los que se ha concedido el permiso CONNECT en el endpoint específico CONNECT en el endpoint específico
No hay soporte para que un Anónimo se No hay soporte para que un Anónimo se conecte a los econecte a los endpoints ndpoints
![Page 36: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/36.jpg)
Mejores prácticas - SeguridadMejores prácticas - Seguridad
Instalar detrás de Instalar detrás de firewall/proxy/DMZfirewall/proxy/DMZ No abrir el puerto al InternetNo abrir el puerto al Internet
Preparar los endpoints para ser Preparar los endpoints para ser accedidos solo por principales que accedidos solo por principales que necesitan accesonecesitan acceso
![Page 37: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/37.jpg)
SQLXML vs. SOAP nativoSQLXML vs. SOAP nativo
Tecnologías complementariasTecnologías complementarias SQLXML ofreceSQLXML ofrece
Plantillas (provee vistas actualizables)Plantillas (provee vistas actualizables) Updategrams, Bulkload, Query strings en el URLUpdategrams, Bulkload, Query strings en el URL
El acceso SOAP ofreceEl acceso SOAP ofrece No depende de IISNo depende de IIS ~%40 mejora de rendimiento sobre SQLXML~%40 mejora de rendimiento sobre SQLXML Soporte total a la ejecución de lotes Soporte total a la ejecución de lotes
parametrizadosparametrizados WSDL dinámicoWSDL dinámico
![Page 38: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/38.jpg)
Mejores Prácticas – Cuando Mejores Prácticas – Cuando usar / Cuando no usarusar / Cuando no usar
Usar en ambientes heterogéneosUsar en ambientes heterogéneos Se puede conectar a SQL usando Perl, PHP, …Se puede conectar a SQL usando Perl, PHP, … Se puede usar como una alternativa a Java Se puede usar como una alternativa a Java
Database Connectivity (JDBC)Database Connectivity (JDBC)
No usar para aplicaciones caracterizadas No usar para aplicaciones caracterizadas por acceso en tiempo real altamente por acceso en tiempo real altamente concurrente, con transacciones de corta concurrente, con transacciones de corta duraciónduración
No usar para escalamiento estilo granja de No usar para escalamiento estilo granja de Web. No es un reemplazo para IIS.Web. No es un reemplazo para IIS.
![Page 39: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/39.jpg)
Pruebas de interoperabilidadPruebas de interoperabilidad
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 40: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/40.jpg)
ResumenResumen
La visiónLa visión ArquitecturaArquitectura Escenarios de aplicaciónEscenarios de aplicación Detalles – endpoint, solicitud/respuestaDetalles – endpoint, solicitud/respuesta Modelo de programaciónModelo de programación SeguridadSeguridad RendimientoRendimiento Comparación con SQLXMLComparación con SQLXML Mejores prácticasMejores prácticas
![Page 41: SQL Server 2005 como servidor de aplicaciones Edgar Sánchez Director Regional de Microsoft](https://reader038.vdocuments.mx/reader038/viewer/2022103110/54a7a47a497959eb6d8b4a3d/html5/thumbnails/41.jpg)
Webcasts en españolWebcasts en español
Futuros:Futuros: http://www.microsoft.com/spanish/msdn/lahttp://www.microsoft.com/spanish/msdn/la
tam/videotam/video
Grabaciones previas:Grabaciones previas: http://www.microsoft.com/spanish/msdn/http://www.microsoft.com/spanish/msdn/
latam/video/webcast.asplatam/video/webcast.asp