Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum...

60
Arquitectura de Arquitectura de Base de Datos Base de Datos Orientada a Orientada a Servicios (SODA) Servicios (SODA) en SQL Server 2005 en SQL Server 2005 Diego Dagum Diego Dagum Arquitecto .NET Arquitecto .NET Microsoft Chile Microsoft Chile

Transcript of Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum...

Page 1: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Arquitectura de Base Arquitectura de Base de Datos Orientada a de Datos Orientada a Servicios (SODA) en Servicios (SODA) en SQL Server 2005SQL Server 2005

Diego DagumDiego DagumArquitecto .NETArquitecto .NETMicrosoft ChileMicrosoft Chile

Page 2: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

IntroducciónIntroducción

Tradicionalmente los datos fueron Tradicionalmente los datos fueron pasivos, las aplicaciones tenían que pasivos, las aplicaciones tenían que pedir por ellospedir por ellos

Para ello, había que conectarse a bases Para ello, había que conectarse a bases de datos a través de bibliotecas de datos a través de bibliotecas específicasespecíficas

Hoy las empresas replantean sus Hoy las empresas replantean sus sistemas aislados en una nueva sistemas aislados en una nueva arquitectura empresarial que comparta arquitectura empresarial que comparta funcionalidades individuales (servicios) funcionalidades individuales (servicios) a todo el portfolio de aplicacionesa todo el portfolio de aplicaciones

Cómo deben evolucionar las bases de Cómo deben evolucionar las bases de datos para acomodarse a esta nueva datos para acomodarse a esta nueva realidad?realidad?

Page 3: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

AgendaAgenda

Servicios en la Base de Datos?Servicios en la Base de Datos?

SODA en SQL Server 2005SODA en SQL Server 2005Soporte Nativo a Servicios WebSoporte Nativo a Servicios Web

Integración de CLR al Motor de ConsultasIntegración de CLR al Motor de Consultas

Intermediario de Servicios (Intermediario de Servicios (Service BrokerService Broker))

Suscripción a Consultas (Suscripción a Consultas (Query NotificationQuery Notification))

Despliegue y EscalabilidadDespliegue y Escalabilidad

Page 4: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Por Qué Servicios En La Base De Por Qué Servicios En La Base De DatosDatosEvolución De Los Datos De AplicacionesEvolución De Los Datos De Aplicaciones

Originalmente cada aplicación Originalmente cada aplicación determinaba sus propios datos determinaba sus propios datos (modelos, tablas, etc)(modelos, tablas, etc)

Esto hizo que en muchas Esto hizo que en muchas organizaciones los datos estén organizaciones los datos estén multiplicados por doquiermultiplicados por doquier

Inconsistencias difíciles de administrarInconsistencias difíciles de administrar

Baja confiabilidadBaja confiabilidad

Luego las bases de datos comenzaron a Luego las bases de datos comenzaron a brindar servicios de escala empresarialbrindar servicios de escala empresarial

Page 5: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Por Qué Servicios En La Base De Por Qué Servicios En La Base De DatosDatosServicios De Base De Datos A Escala Servicios De Base De Datos A Escala EmpresarialEmpresarialProcedimientos almacenados para Procedimientos almacenados para

concentrar lógica consistente de concentrar lógica consistente de manipulación de datosmanipulación de datos

Reusables entre varias aplicacionesReusables entre varias aplicaciones

Desacoplando estructura de tablas y Desacoplando estructura de tablas y aplicacionesaplicaciones

Participación en contextos Participación en contextos transaccionalestransaccionales

Alta disponibilidad mediante Alta disponibilidad mediante clusterizaciónclusterización, redundancia, etc, redundancia, etc

Hoy, el concepto de Arquitectura Hoy, el concepto de Arquitectura Orientada a Servicios impone Orientada a Servicios impone características adicionalescaracterísticas adicionales

Page 6: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Por Qué Servicios En La Base De Por Qué Servicios En La Base De DatosDatosArquitectura Orientada a Servicios (SOA)Arquitectura Orientada a Servicios (SOA)

Bajo acoplamiento: el contrato es lo Bajo acoplamiento: el contrato es lo único que comparten consumidor y único que comparten consumidor y proveedor de servicioproveedor de servicio

El servicio detrás del contrato puede ser El servicio detrás del contrato puede ser escalado, evolucionado (reimplementado) escalado, evolucionado (reimplementado) independientemente de los consumidoresindependientemente de los consumidores

Los contratos definen mensajes de Los contratos definen mensajes de entrada y salida (la entrada y salida (la lingua franca lingua franca hoy es hoy es XML)XML)

Dentro de las fronteras donde el servicio Dentro de las fronteras donde el servicio “vive”, los datos pueden estar “vive”, los datos pueden estar estructurados diferentementeestructurados diferentemente

Page 7: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Para actuar como proveedor de Para actuar como proveedor de servicios debe:servicios debe:

Proveer soporte a puntos de entradaProveer soporte a puntos de entradaSocket vía TCP, HTTP GET/PUT, SOAP, etcSocket vía TCP, HTTP GET/PUT, SOAP, etc

Recibir requerimientos en protocolos Recibir requerimientos en protocolos estándares (XML), además del TDS estándares (XML), además del TDS propietariopropietario

Contemplar características de Contemplar características de escalabilidad como escalabilidad como poolingpooling, activación y , activación y topología distribuibletopología distribuible

En esta sesión revisaremos qué aporta En esta sesión revisaremos qué aporta SQL Server 2005 al respectoSQL Server 2005 al respecto

Por Qué Servicios En La Base De Por Qué Servicios En La Base De DatosDatosQué Hace a Una Base de Datos “Orientada a Qué Hace a Una Base de Datos “Orientada a Servicios”Servicios”

Page 8: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

AgendaAgenda

Servicios en la Base de Datos?Servicios en la Base de Datos?

SODA en SQL Server 2005SODA en SQL Server 2005Soporte Nativo a Servicios WebSoporte Nativo a Servicios Web

Integración de CLR al Motor de ConsultasIntegración de CLR al Motor de Consultas

Intermediario de Servicios (Intermediario de Servicios (Service BrokerService Broker))

Suscripción a Consultas (Suscripción a Consultas (Query NotificationQuery Notification))

Despliegue y EscalabilidadDespliegue y Escalabilidad

Page 9: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Arquitectura de Base de Datos Arquitectura de Base de Datos Orientada a Servicios en SQL Orientada a Servicios en SQL 20052005Soporte Nativo a Servicios WebSoporte Nativo a Servicios Web

SP y funciones como SP y funciones como [WebMethod][WebMethod]

Integración de CLR al Motor de Integración de CLR al Motor de ConsultasConsultas

Contenedor para incluir extensiones .NET, Contenedor para incluir extensiones .NET, lado a lado con T-SQLlado a lado con T-SQL

Intermediario de Servicios (Intermediario de Servicios (Service Service BrokerBroker))

Cola transaccional expuesta como servicio Cola transaccional expuesta como servicio (más que orientada a mensajes)(más que orientada a mensajes)

Suscripción a Consultas (Suscripción a Consultas (Query Query NotificationNotification))

La BD notifica cambios a otros procesosLa BD notifica cambios a otros procesos

Page 10: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Soporte Nativo a Servicios Soporte Nativo a Servicios WebWebIntroducciónIntroducción

Para conectarse con una base de datos se Para conectarse con una base de datos se requieren piezas que implementen un requieren piezas que implementen un protocolo de comunicación (conocidas como protocolo de comunicación (conocidas como conectores)conectores)

En el caso de SQL Server, el protocolo se llama En el caso de SQL Server, el protocolo se llama Tabular Data StreamTabular Data Stream (TDS) (TDS)

Las plataformas implementan una API para Las plataformas implementan una API para desacoplar los conectores específicos del código desacoplar los conectores específicos del código (ADO.NET, OleDb, JDBC)(ADO.NET, OleDb, JDBC)

Para acceder vía un protocolo estándar como Para acceder vía un protocolo estándar como WS (caso típico de aplicaciones externas y WS (caso típico de aplicaciones externas y legacieslegacies) hay que) hay que

Implementar un servicio web accesible vía IISImplementar un servicio web accesible vía IIS

Este servicio web, debe acceder a la BD vía TDS Este servicio web, debe acceder a la BD vía TDS mediante alguno de los modelos de programación mediante alguno de los modelos de programación (ADO.NET o JDBC)(ADO.NET o JDBC)

Page 11: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Soporte Nativo a Servicios Soporte Nativo a Servicios WebWebDefiniciónDefinición

Procedimientos Procedimientos almacenados y almacenados y funciones se pueden funciones se pueden exponer como WSexponer como WSWindows Server Windows Server 2003 incluye 2003 incluye listenerlistener HTTP a nivel HTTP a nivel kernelkernel (sin IIS)(sin IIS)

También Win XP SP2También Win XP SP2

SQL Server registra SQL Server registra porciones de URL, porciones de URL, que se ‘atan’ que se ‘atan’ ((bindingbinding) a WS) a WSWSDL se genera WSDL se genera automaticamente o automaticamente o se puede se puede personalizarpersonalizar

Listener Listener HTTPHTTP

(HTTP.SYS)(HTTP.SYS)

SQL ServerSQL Server

Modo UsuarioModo Usuario

Modo KernelModo Kernel

Puerto 80Puerto 80

Reg

istr

oR

eg

istr

o

Desp

ach

oD

esp

ach

o

Page 12: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

demo 1demo 1

Soporte Nativo a Servicios WebSoporte Nativo a Servicios Web

Page 13: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Soporte Nativo a Servicios Soporte Nativo a Servicios WebWebBeneficiosBeneficios

SOAP es menos acoplado en TDSSOAP es menos acoplado en TDS

Clientes con dificultades para acceder vía TDS Clientes con dificultades para acceder vía TDS a la base de datos ahora pueden optar por a la base de datos ahora pueden optar por este estándareste estándar

No obstante, allí donde TDS esté disponible, sigue No obstante, allí donde TDS esté disponible, sigue siendo más rico y con mejor performancesiendo más rico y con mejor performance

Algunas caracs. de ADO.NET 2.0 sin equivalencia Algunas caracs. de ADO.NET 2.0 sin equivalencia en WSen WS

Servicios Web requieren menos configuración Servicios Web requieren menos configuración ((firewallsfirewalls, etc) que protocolos propietarios, etc) que protocolos propietarios

Seguridad vía WS-Security, SSL, Kerberos, etcSeguridad vía WS-Security, SSL, Kerberos, etc

Lo esperable es exponer servicios web hacia Lo esperable es exponer servicios web hacia afuera de la organización (integración B2B) o afuera de la organización (integración B2B) o a los a los legacylegacy, dejando TDS para aplicaciones , dejando TDS para aplicaciones internas (EAI)internas (EAI)

Page 14: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

AgendaAgenda

Servicios en la Base de Datos?Servicios en la Base de Datos?

SODA en SQL Server 2005SODA en SQL Server 2005Soporte Nativo a Servicios WebSoporte Nativo a Servicios Web

Integración de CLR al Motor de ConsultasIntegración de CLR al Motor de Consultas

Intermediario de Servicios (Intermediario de Servicios (Service BrokerService Broker))

Suscripción a Consultas (Suscripción a Consultas (Query NotificationQuery Notification))

Despliegue y EscalabilidadDespliegue y Escalabilidad

Page 15: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Integración de CLRIntegración de CLRIntroducciónIntroducción

SP ha resultado ser útil para concentrar lógica SP ha resultado ser útil para concentrar lógica intensiva de acceso a datos en la BDintensiva de acceso a datos en la BD

Extensiones a T-SQL, no obstante, no Extensiones a T-SQL, no obstante, no contemplan otras características como acceso contemplan otras características como acceso a otros recursosa otros recursos

Sistema de archivos, red, memoria, hilos, procesos, Sistema de archivos, red, memoria, hilos, procesos, ……

Tampoco tienen disponibles bibliotecas para Tampoco tienen disponibles bibliotecas para operaciones con tipos de datos (expresiones operaciones con tipos de datos (expresiones regulares, manejo de cadenas, arreglos, etc)regulares, manejo de cadenas, arreglos, etc)

T-SQL implementa un paradigma declarativo, T-SQL implementa un paradigma declarativo, estructurado, sin soporte a cualidades de OOestructurado, sin soporte a cualidades de OO

Un intento previo, Un intento previo, Extended Stored ProceduresExtended Stored Procedures, , permitió definir procedimientos almacenados en permitió definir procedimientos almacenados en C/C++C/C++

Page 16: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Integración de CLRIntegración de CLRDefiniciónDefinición

CLR es un entorno de CLR es un entorno de ejecución administradoejecución administrado

El contenedor coordina El contenedor coordina hilos, memoria, hilos, memoria, concurrenciaconcurrencia

Extensiones Extensiones habilitadashabilitadas

Funciones escalaresFunciones escalares

Funciones que Funciones que devuelven tablasdevuelven tablas

TiposTipos

AgregacionesAgregaciones

ProcedimientosProcedimientos

Motor SQLMotor SQLT-SQLT-SQL

WindowsWindows

SO SQLSO SQL

CLRCLRC#, VB.NET, C#, VB.NET, C++.NET, J#,C++.NET, J#,

… …

ContenedorContenedorSQLCLRSQLCLR

Page 17: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

demo 2demo 2

Integración de CLR al Motor de Integración de CLR al Motor de ConsultasConsultas

Page 18: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

InterfazInterfazin-processin-process

Integración de CLRIntegración de CLRTipos de ConexiónTipos de Conexión

Capa de la APICapa de la API

(interfaz pública, validación y políticas (interfaz pública, validación y políticas de alto nivel)de alto nivel)

ConexióConexiónnen en

contextcontextoo

Acceso a datos Acceso a datos simétricosimétrico

En el motor de datos: En el motor de datos: menos latencia porque menos latencia porque se accede se accede in processin process, , pero mayor pero mayor competencia por CPUcompetencia por CPUFuera del motor: mayor Fuera del motor: mayor latencia aunque latencia aunque servidor se enfoca en servidor se enfoca en acceso a datos y a acceso a datos y a procesar mensajes para procesar mensajes para SOASOA

SeguridadSeguridadSAFE: restringido a CLRSAFE: restringido a CLREXTERNAL_ACCESS: EXTERNAL_ACCESS: acceso a recursos del acceso a recursos del SO y de la red pero no SO y de la red pero no unsafeunsafeUNSAFE: sin UNSAFE: sin restricciones (como restricciones (como extended stored extended stored proceduresprocedures))

Protocolo lado Protocolo lado cliente (TDS, SQL cliente (TDS, SQL

Server)Server)

ConexióConexiónn

regularregular

Transporte lado Transporte lado cliente (TCP, cliente (TCP, Named pipes, Named pipes,

etc)etc)Transp. lado Transp. lado

servidor (TCP, servidor (TCP, Named pipes, Named pipes,

etc)etc)

Protocolo lado Protocolo lado servidor (TDS, servidor (TDS, SQL Server)SQL Server)

Motor de SQL Server 2005Motor de SQL Server 2005

Microsoft.SqlServer.ServerMicrosoft.SqlServer.Server System.Data.SqlClientSystem.Data.SqlClient

Page 19: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Integración de CLRIntegración de CLRBeneficiosBeneficios

Aprovechamiento del modelo de Aprovechamiento del modelo de programación .NETprogramación .NET

Ejecución administrada (GC, verificación de Ejecución administrada (GC, verificación de seguridad, etc)seguridad, etc)

OO (herencia, polimorfismo, encapsulamiento, etc)OO (herencia, polimorfismo, encapsulamiento, etc)

Biblioteca de clases (IO, XML, RegExp, Biblioteca de clases (IO, XML, RegExp, mathmath, etc), etc)

Desarrollo integrado en Visual Studio 2005Desarrollo integrado en Visual Studio 2005

SQLCLR o T-SQL?SQLCLR o T-SQL?T-SQL sigue siendo lo más adecuado para acceso T-SQL sigue siendo lo más adecuado para acceso intensivo a datos (SQLCLR se apoya en T-SQL para intensivo a datos (SQLCLR se apoya en T-SQL para acceder al motor)acceder al motor)

SQLCLR es útil para proceso de cómputo intensivo SQLCLR es útil para proceso de cómputo intensivo con los datos, una vez que estos han sido con los datos, una vez que estos han sido accedidosaccedidos

Como WS vs TDS, ambos modelos son Como WS vs TDS, ambos modelos son complementarioscomplementarios

Page 20: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

AgendaAgenda

Servicios en la Base de Datos?Servicios en la Base de Datos?

SODA en SQL Server 2005SODA en SQL Server 2005Soporte Nativo a Servicios WebSoporte Nativo a Servicios Web

Integración de CLR al Motor de ConsultasIntegración de CLR al Motor de Consultas

Intermediario de Servicios (Intermediario de Servicios (Service BrokerService Broker))

Suscripción a Consultas (Suscripción a Consultas (Query NotificationQuery Notification))

Despliegue y EscalabilidadDespliegue y Escalabilidad

Page 21: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosIntroducciónIntroducción

Los servicios pueden estar preparados para Los servicios pueden estar preparados para consumirse en forma asincrónicaconsumirse en forma asincrónicaTradicionalmente el desarrollador tenía que Tradicionalmente el desarrollador tenía que asegurar que los mensajes se procesen en asegurar que los mensajes se procesen en forma ordenadaforma ordenada

En un primer mensaje, la cabecera de una orden En un primer mensaje, la cabecera de una orden de compra, en los siguientes los ítemsde compra, en los siguientes los ítems

Evitar duplicidades por retransmisionesEvitar duplicidades por retransmisionesNo procesar un ítem dos vecesNo procesar un ítem dos veces

Coordinar servicios relacionados que pueden Coordinar servicios relacionados que pueden no responder todos a un mismo tiempono responder todos a un mismo tiempo

Inventario, pago, contabilidad, despachoInventario, pago, contabilidad, despacho

No mezclar mensajes de consumidores No mezclar mensajes de consumidores concurrentesconcurrentes

Page 22: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosDefiniciónDefinición

Implementación de MOM (Implementación de MOM (message-message-oriented middlewareoriented middleware) en la base de ) en la base de datosdatos

Ambiente de aplicación distribuida para Ambiente de aplicación distribuida para encolar mensajes a servicios en forma encolar mensajes a servicios en forma asíncrona, ordenada, unívoca y asíncrona, ordenada, unívoca y transaccionaltransaccional

Además permite reunir, en grupos Además permite reunir, en grupos conversacionales, diálogos individuales conversacionales, diálogos individuales con servicios de granularidad más finacon servicios de granularidad más fina

Inventario, Pago, Despacho, etcInventario, Pago, Despacho, etc

Page 23: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosCaso 1 – Mensajes IndependientesCaso 1 – Mensajes Independientes

Servicio deServicio deActivación deActivación de

UsuariosUsuarios

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

U1U1 U2U2 U3U3 U4U4 U5U5 U6U6

Page 24: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosCaso 1 – Mensajes IndependientesCaso 1 – Mensajes Independientes

Servicio deServicio deActivación deActivación de

UsuariosUsuarios

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

U2U2 U3U3 U4U4 U5U5 U6U6

U1U1

Page 25: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosCaso 1 – Mensajes IndependientesCaso 1 – Mensajes Independientes

Servicio deServicio deActivación deActivación de

UsuariosUsuarios

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

U3U3 U4U4 U5U5 U6U6

U1U1 U2U2

Page 26: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosCaso 2 – Mensajes RelacionadosCaso 2 – Mensajes Relacionados

Servicio Servicio dede

Reserva Reserva dede

ExcursioExcursionesnes

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

E1E1 P1P1 E2E2 P1P1 P2P2 P2P2 P3P3

Page 27: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosCaso 2 – Mensajes RelacionadosCaso 2 – Mensajes Relacionados

Servicio Servicio dede

Reserva Reserva dede

ExcursioExcursionesnes

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

P1P1 E2E2 P1P1 P2P2 P2P2 P3P3

E1E1

Page 28: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosCaso 2 – Mensajes RelacionadosCaso 2 – Mensajes Relacionados

Servicio Servicio dede

Reserva Reserva dede

ExcursioExcursionesnes

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

P1P1 P1P1 P2P2 P2P2 P3P3

E1E1 E2E2

Page 29: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosCaso 2 – Mensajes RelacionadosCaso 2 – Mensajes Relacionados

Servicio Servicio dede

Reserva Reserva dede

ExcursioExcursionesnes

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

P1P1 P1P1 P2P2 P2P2 P3P3

E2E2

Page 30: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosCaso 2 – Mensajes RelacionadosCaso 2 – Mensajes Relacionados

Servicio Servicio dede

Reserva Reserva dede

ExcursioExcursionesnes

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

P1P1 P2P2 P2P2 P3P3

E2E2P1P1

Page 31: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosCaso 2 – Mensajes RelacionadosCaso 2 – Mensajes Relacionados

Servicio Servicio dede

Reserva Reserva dede

ExcursioExcursionesnes

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

P1P1 P2P2 P2P2 P3P3

E2E2

Page 32: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosCaso 2 – Mensajes RelacionadosCaso 2 – Mensajes Relacionados

Servicio Servicio dede

Reserva Reserva dede

ExcursioExcursionesnes

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

P1P1 P2P2 P3P3

E2E2P2P2

Page 33: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de Servicios

Nuevos objetos en la base de datosNuevos objetos en la base de datosMensajesMensajesContratosContratosColasColasServiciosServicios

Nuevos comandos T-SQLNuevos comandos T-SQLCREATE / ALTER / DROP MESSAGE TYPE <tipo de mensaje>CREATE / ALTER / DROP MESSAGE TYPE <tipo de mensaje>CREATE / ALTER / DROP CONTRACT <contrato> (<tipo de CREATE / ALTER / DROP CONTRACT <contrato> (<tipo de mensaje>)mensaje>)CREATE / ALTER / DROP QUEUE <cola>CREATE / ALTER / DROP QUEUE <cola>CREATE / ALTER / DROP SERVICE <servicio> (contrato) ON QUEUE CREATE / ALTER / DROP SERVICE <servicio> (contrato) ON QUEUE <cola><cola>

BEGIN DIALOG CONVERSATION <conversación>BEGIN DIALOG CONVERSATION <conversación>SEND ON CONVERSACION <conversación> MESSAGE TYPE <tipo de SEND ON CONVERSACION <conversación> MESSAGE TYPE <tipo de mensaje>mensaje>END DIALOGEND DIALOG

GET CONVERSATION GROUP … FROM <cola>GET CONVERSATION GROUP … FROM <cola>RECEIVE … FROM <cola>RECEIVE … FROM <cola>

Page 34: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

demo 3demo 3

Intermediario de ServiciosIntermediario de Servicios

Page 35: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosActivación de Lectores de ColasActivación de Lectores de Colas

El El frameworkframework se encarga de activar se encarga de activar lectores en la medida que la cola se va lectores en la medida que la cola se va llenandollenando

Cada programa lector se ocupa de Cada programa lector se ocupa de terminar luego de cierto tiempo ociosoterminar luego de cierto tiempo ocioso

Si la gestión del servicio es externa a la Si la gestión del servicio es externa a la BD, se emiten eventos de activaciónBD, se emiten eventos de activación

La aplicación externa deberá monitorear La aplicación externa deberá monitorear estos eventos para gestionar sus lectoresestos eventos para gestionar sus lectores

Page 36: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosManejo de Estado de Grupos ConversacionalesManejo de Estado de Grupos Conversacionales

Servicio Servicio dede

Órdenes Órdenes dede

CompraCompra

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

Servicio deServicio deTarjeta deTarjeta de

CréditoCrédito

ServicioServiciodede

InventarioInventario

O1O1 O2O2 O3O3 O4O4

Page 37: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosManejo de Estado de Grupos ConversacionalesManejo de Estado de Grupos Conversacionales

Servicio Servicio dede

Órdenes Órdenes dede

CompraCompra

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

Servicio deServicio deTarjeta deTarjeta de

CréditoCrédito

ServicioServiciodede

InventarioInventario

O1O1

O2O2 O3O3 O4O4

Page 38: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosManejo de Estado de Grupos ConversacionalesManejo de Estado de Grupos Conversacionales

Servicio Servicio dede

Órdenes Órdenes dede

CompraCompra

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

Servicio deServicio deTarjeta deTarjeta de

CréditoCrédito

ServicioServiciodede

InventarioInventario

O1O1 O2O2

O3O3 O4O4

Page 39: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosManejo de Estado de Grupos ConversacionalesManejo de Estado de Grupos Conversacionales

Servicio Servicio dede

Órdenes Órdenes dede

CompraCompra

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

Servicio deServicio deTarjeta deTarjeta de

CréditoCrédito

ServicioServiciodede

InventarioInventario

T1T1

O2O2

O3O3 O4O4

I1I1

Page 40: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosManejo de Estado de Grupos ConversacionalesManejo de Estado de Grupos Conversacionales

Servicio Servicio dede

Órdenes Órdenes dede

CompraCompra

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

Servicio deServicio deTarjeta deTarjeta de

CréditoCrédito

ServicioServiciodede

InventarioInventario

T1T1

O2O2O3O3

O4O4

I1I1

Page 41: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosManejo de Estado de Grupos ConversacionalesManejo de Estado de Grupos Conversacionales

Servicio Servicio dede

Órdenes Órdenes dede

CompraCompra

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

Servicio deServicio deTarjeta deTarjeta de

CréditoCrédito

ServicioServiciodede

InventarioInventario

T1T1

T2T2

O3O3

O4O4

I1I1

I2I2

Page 42: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosManejo de Estado de Grupos ConversacionalesManejo de Estado de Grupos Conversacionales

Servicio Servicio dede

Órdenes Órdenes dede

CompraCompra

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

Servicio deServicio deTarjeta deTarjeta de

CréditoCrédito

ServicioServiciodede

InventarioInventario

T1T1

T2T2

O3O3

O4O4

I1I1

I2I2

Page 43: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosManejo de Estado de Grupos ConversacionalesManejo de Estado de Grupos Conversacionales

Servicio Servicio dede

Órdenes Órdenes dede

CompraCompra

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

Servicio deServicio deTarjeta deTarjeta de

CréditoCrédito

ServicioServiciodede

InventarioInventario

T1T1

T2T2

O3O3

O4O4

I2I2

Page 44: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosManejo de Estado de Grupos ConversacionalesManejo de Estado de Grupos Conversacionales

Servicio Servicio dede

Órdenes Órdenes dede

CompraCompra

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

Servicio deServicio deTarjeta deTarjeta de

CréditoCrédito

ServicioServiciodede

InventarioInventario

T3T3 I3I3

I2I2

O4O4

T2T2

Page 45: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosManejo de Estado de Grupos ConversacionalesManejo de Estado de Grupos Conversacionales

Servicio Servicio dede

Órdenes Órdenes dede

CompraCompra

InstanciaInstanciaProcesadora 1Procesadora 1

InstanciaInstanciaProcesadora 2Procesadora 2

Servicio deServicio deTarjeta deTarjeta de

CréditoCrédito

ServicioServiciodede

InventarioInventario

T2T2

T3T3

O4O4

I3I3

I2I2

Page 46: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosBeneficiosBeneficios

Integridad de datosIntegridad de datosMensaje mal procesado vuelve a la cola y Mensaje mal procesado vuelve a la cola y no se producen cambios (atomicidad no se producen cambios (atomicidad transaccional)transaccional)

Orden y coordinación de mensajes Orden y coordinación de mensajes relacionadosrelacionados

Bajo acoplamientoBajo acoplamientoUn servicio puede ser un SP, un Un servicio puede ser un SP, un método .NET, …método .NET, …

Rendimiento aceptable por Rendimiento aceptable por asincronismoasincronismo

Posibilidad de definir Posibilidad de definir timeouttimeout a la a la conversaciónconversación

Activación automáticaActivación automática

Page 47: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Intermediario de ServiciosIntermediario de ServiciosEjemplos de UsoEjemplos de Uso

TriggersTriggers asincrónicos en sistemas OLTP asincrónicos en sistemas OLTPCommitCommit inmediato mientras el servicio se inmediato mientras el servicio se consume en una transacción separadaconsume en una transacción separada

Sucursales ocasionalmente conectadasSucursales ocasionalmente conectadasMensaje no distribuido queda en la colaMensaje no distribuido queda en la cola

Proceso distribuido a lado servidorProceso distribuido a lado servidorEjemplo de orden de compra (inventario, Ejemplo de orden de compra (inventario, tarjeta)tarjeta)

Consolidación de datos (Call center)Consolidación de datos (Call center)Mensaje al servicio de posición global de Mensaje al servicio de posición global de cliente, para que éste repostée a distintos cliente, para que éste repostée a distintos subsistemassubsistemas

Page 48: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

AgendaAgenda

Servicios en la Base de Datos?Servicios en la Base de Datos?

SODA en SQL Server 2005SODA en SQL Server 2005Soporte Nativo a Servicios WebSoporte Nativo a Servicios Web

Integración de CLR al Motor de ConsultasIntegración de CLR al Motor de Consultas

Intermediario de Servicios (Intermediario de Servicios (Service BrokerService Broker))

Suscripción a Consultas (Suscripción a Consultas (Query NotificationQuery Notification))

Despliegue y EscalabilidadDespliegue y Escalabilidad

Page 49: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Suscripción a ConsultasSuscripción a ConsultasIntroducciónIntroducción

Implementar modelos Productor-Implementar modelos Productor-Consumidor con una BD no es trivialConsumidor con una BD no es trivial

Un problema típico es tener al Un problema típico es tener al Consumidor consultando la BD para Consumidor consultando la BD para determinar que haya registros a determinar que haya registros a consumirconsumir

Esta consulta consume ciclos de CPU y Esta consulta consume ciclos de CPU y otros recursos (conector a BD, tráfico de otros recursos (conector a BD, tráfico de red, etc)red, etc)

A mayor frecuencia, menor performanceA mayor frecuencia, menor performance

A menor frecuencia, menor capacidad de A menor frecuencia, menor capacidad de reacciónreacción

Page 50: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Suscripción a ConsultasSuscripción a ConsultasDefiniciónDefinición

Un cambio en la BD se produce por los Un cambio en la BD se produce por los comandos INSERT, UPDATE, DELETEcomandos INSERT, UPDATE, DELETE

Es posible suscribirse a una consulta, Es posible suscribirse a una consulta, para que dispare una notificación al para que dispare una notificación al cambiar su resultadocambiar su resultado

Esta característica utiliza el Esta característica utiliza el Intermediario de Servicios (Intermediario de Servicios (Service Service BrokerBroker))

Se puede suscribir un servicio propio u Se puede suscribir un servicio propio u ocupar uno ocupar uno defaultdefault ((QueryNotificationServiceQueryNotificationService))

Al distribuirse una notificación se Al distribuirse una notificación se elimina su suscripciónelimina su suscripción

Page 51: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Suscripción a ConsultasSuscripción a ConsultasImplementaciónImplementación

Dos mecanismos de suscripciónDos mecanismos de suscripciónSqlDependencySqlDependency y y SqlNotificationRequestSqlNotificationRequest

SqlDependencySqlDependency se cuelga del se cuelga del dispatcher dispatcher defaultdefault

Sólo hay que especificar un manejador del evento Sólo hay que especificar un manejador del evento OnChangedOnChangedSe puede configurar el mecanismo de transporte Se puede configurar el mecanismo de transporte (HTTP, TCP, etc), un (HTTP, TCP, etc), un timeouttimeout, si la BD va a requerir , si la BD va a requerir autentificarse y si se debe encriptar la notificaciónautentificarse y si se debe encriptar la notificaciónEn ASP.NET 2.0, En ASP.NET 2.0, SqlCacheDependencySqlCacheDependency implementa implementa CacheDependencyCacheDependency encapsulando encapsulando SqlDependencySqlDependency

SqlNotificationRequestSqlNotificationRequest más potente aunque más potente aunque complejocomplejo

Implementa tanto la lógica de esperar por Implementa tanto la lógica de esperar por notificaciones como la de atenderlasnotificaciones como la de atenderlas

Optimización de evaluación de suscripcionesOptimización de evaluación de suscripcionesSuscripciones a una misma consulta se evalúan Suscripciones a una misma consulta se evalúan una sola vezuna sola vez

Page 52: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

1. SqlCommand1. SqlCommandde suscripciónde suscripción

SQL ServerSQL Server

Suscripción a ConsultasSuscripción a ConsultasEsquema Conversacional de Esquema Conversacional de SqlDependencySqlDependency

2. Registro de2. Registro dela suscripciónla suscripción

3. Cambio en3. Cambio enla consultala consultasuscriptasuscripta

4. Mensaje a4. Mensaje ala cola della cola del

IntermediarioIntermediariode Serviciosde Servicios

5. La notificación5. La notificaciónes enviadaes enviada

6. Al recibirse interviene6. Al recibirse intervieneOnChangeEventHandlerOnChangeEventHandler

Page 53: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

demo 4demo 4

Suscripción a ConsultasSuscripción a Consultas

Page 54: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

AgendaAgenda

Servicios en la Base de Datos?Servicios en la Base de Datos?

SODA en SQL Server 2005SODA en SQL Server 2005Soporte Nativo a Servicios WebSoporte Nativo a Servicios Web

Integración de CLR al Motor de ConsultasIntegración de CLR al Motor de Consultas

Intermediario de Servicios (Intermediario de Servicios (Service BrokerService Broker))

Suscripción a Consultas (Suscripción a Consultas (Query NotificationQuery Notification))

Despliegue y EscalabilidadDespliegue y Escalabilidad

Page 55: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Los servicios se pueden instanciar a Los servicios se pueden instanciar a múltiples escalas, en tiempo de múltiples escalas, en tiempo de despliegue (no de desarrollo)despliegue (no de desarrollo)

Escala reducida, junto al motor de Escala reducida, junto al motor de consultas (consultas (DB tierDB tier): menor latencia, mayor ): menor latencia, mayor competencia por CPUcompetencia por CPU

Gran escala, en un proceso separado Gran escala, en un proceso separado ((middle-tiermiddle-tier): mayor latencia, procesos ): mayor latencia, procesos dedicadosdedicados

Escalar la BD por Escalar la BD por clusterizaciónclusterización presenta mayor acoplamiento que presenta mayor acoplamiento que dividir aplicaciones en SOAdividir aplicaciones en SOA

Despliegue y EscalabilidadDespliegue y Escalabilidad

Page 56: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Despliegue y EscalabilidadDespliegue y Escalabilidad

Estas características de SODA puedenEstas características de SODA puedenconvivir en una instancia única de SQL convivir en una instancia única de SQL Server 2005Server 2005

distribuirse de modo de ejecutar SQLCLR distribuirse de modo de ejecutar SQLCLR separado del motor de acceso a datosseparado del motor de acceso a datos

SQL Server 2005SQL Server 2005

SQLCLRSQLCLR

Capa únicaCapa única

SQL Server 2005SQL Server 2005

Capas múltiplesCapas múltiples

CLRCLR

LógicaLógica

Page 57: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

Despliegue y EscalabilidadDespliegue y EscalabilidadTopología de Servicios Ocasionalmente Topología de Servicios Ocasionalmente ConectadaConectada

Usuario de aplicacionesUsuario de aplicacionesbasadas en serviciosbasadas en servicios

ServidorServidorProxyProxy

Nodos deNodos deProcesamientoProcesamiento

de Serviciosde Servicios

Inte

rne

Inte

rne

tt

Page 58: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

ResumenResumen

En un esquema orientado a servicios, las En un esquema orientado a servicios, las bases de datos deben evolucionar de su bases de datos deben evolucionar de su contexto actual (acoplado) a uno más contexto actual (acoplado) a uno más estándarestándarHemos visto que SQL Server 2005 promueve Hemos visto que SQL Server 2005 promueve un esquema abierto, dondeun esquema abierto, donde

Expone funcionalidades como servicios webExpone funcionalidades como servicios webEnriquece las posibilidades de acceso a datos (T-Enriquece las posibilidades de acceso a datos (T-SQL) con las de cómputo sobre los mismos SQL) con las de cómputo sobre los mismos (SQLCLR)(SQLCLR)Provée un esquema asíncrono de coordinación de Provée un esquema asíncrono de coordinación de servicios, garantizando orden e idempotencia de servicios, garantizando orden e idempotencia de mensajes, al tiempo que previene que mensajes mensajes, al tiempo que previene que mensajes relacionados se dispersenrelacionados se dispersenDota a los datos de comportamiento “activo”, Dota a los datos de comportamiento “activo”, liberando a los procesos de preguntar liberando a los procesos de preguntar frecuentemente por novedadesfrecuentemente por novedades

Estas características redundan en mayor Estas características redundan en mayor robustez en los desarrollos, mejora en la robustez en los desarrollos, mejora en la productividad, menos líneas de código y productividad, menos líneas de código y mayor mayor time-to-markettime-to-market

Page 59: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

ReferenciasReferencias

SQL Server Developer CenterSQL Server Developer Centerhttp://http://msdn.microsoft.commsdn.microsoft.com//sqlsql//

Webcasts de Desarrollo con SQL Server Webcasts de Desarrollo con SQL Server 20052005http://http://www.microsoft.comwww.microsoft.com//eventsevents/series/msdnsqlserver2005./series/msdnsqlserver2005.mspxmspx

Orientación a Servicios en SQL Server Orientación a Servicios en SQL Server 20052005http://www.sqlgurus.org/dotnetnuke/Documentos/tabid/57/ItemID/16/Default.aspxhttp://www.sqlgurus.org/dotnetnuke/Documentos/tabid/57/ItemID/16/Default.aspx

Page 60: Arquitectura de Base de Datos Orientada a Servicios (SODA) en SQL Server 2005 Diego Dagum Arquitecto.NET Microsoft Chile.

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

[email protected]://spaces.msn.com/members/diegumzone/