1 / 35

Módulo 15

Módulo 15. Aplicaciones distribuidas. TEMARIO. Soporte a Bases de Datos Distribuidas SQL 2005 Distributed Services (integrado y mejorado) SQL 2005 Distributed Services Arquitectura Service Broker Notification Services Reporting Services Replication Services.

Download Presentation

Módulo 15

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Módulo 15 Aplicaciones distribuidas

  2. TEMARIO • Soporte a Bases de Datos Distribuidas • SQL 2005 Distributed Services(integrado y mejorado) • SQL 2005 Distributed Services • Arquitectura • Service Broker • Notification Services • Reporting Services • Replication Services

  3. Soporte a Bases de Datos Distribuidas • Soporte a HTTP Web Services • Service Broker • Servicios de Notificación • Reporting Services • Mejoras a la Replicación • Mejoras a consultas distribuidas

  4. SQL 2005 Distributed Services(integrado y mejorado) Enhanced Distributed Queries OLE DB Tracing, EXECUTE AT, ... Enhanced Replication Oracle Publishing, Peer-to-Peer & More Service Broker Asynchronous Messaging Notification Services Notifications & Alerts Reporting Services Enterprise Reporting Native HTTP SOAP Access Web Services SQL Server 2005

  5. SQL 2005 Distributed Services • Soporte HTTP Nativo • Permite alojar SQL Server Web services sin necesidad de un IIS • El soporte de HTTP en forma nativa permite la publicación de datos SQL como SOAP Web services. • Service Broker • Una nueva y escalable arquitectura que provee soporte a mensajería asincrónica. • Servicios de Notificación • Una plataforma para construir aplicaciones altamente escalables con servicios de notificación.

  6. SQL 2005 Distributed Services • Reporting Services • Una plataforma de servidor que soporta creación, distribución y manejo de reportes. • Mejoras en la replicación • El servicio de replicación ofrece mejoras en el manejo, disponibilidad, programabilidad, escalabilidad y performance. • Mejoras en las Consultas Distribuidas • EXECUTE sobre servidores linkeados, soporte a CONTAINS, BULK provider para OPENROWSET

  7. Arquitectura • Creación de un HTTP Endpoint y Definición de Métodos • URL única para escuchar los pedidos HTTP entrantes • Las solicitudes son procesadas por HTTP.sys y la capa SOAP en SQL Server

  8. Soporte WSDL • Generación dinámica • WSDL – Soporte Out of the Box • Compleja • Descripción de tipos para parámetros y resultados en XSD • Simple • Descripción mínima • Interoperabilidad incrementada • Extensible – uso de stored procedures personalizados • WSDL=sp_name

  9. Seguridad - Best Practices • Implementación a través de firewall/proxy/DMZ • No abrir puertos a internet • Proveer puntos de acceso y permisos solamente a los principals que necesiten tenerlos.

  10. ¿Qué es un Service Broker? • Encolado de mensajes asincrónico y garantizado • Plataforma para la construcción de aplicaciones de bases de datos asincrónicas y encoladas • Colas como objetos de DB de primera clase • Manipulación de colas sobre TSQL • Procesamiento de mensajes transaccional • Encolado Distribuido Confiable

  11. Posicionamiento de Service Broker

  12. Terminología de Service Broker • Service Program • Example, TSQL/CLR stored procedure ó function • Queue • Almacena mensajes que son enviados por los programas en servicio • Message Type • Formato de mensaje -- XML • Contract • Conjunto de nombres de tipos de mensajes • Service • Endpoint que es una colección de service programs, queues, message types and contracts

  13. Terminología de Service Broker • Dialogs • Conversación entre el iniciador y el destino • Routes • Direccion a la cual es enviado el mensaje • Remote Service Bindings • Usuarios de Base de datos asociados a un servicio remoto • Service Instances • Instancias de Service Broker • Denominadas con un Identificador Univoco

  14. Transporte de mensajes • Dialog Protocol • Protocolo End-to-end • Delivery único • Delivery ordenado • Symmetric failure • Autenticación y encriptación • Transport Protocol • Formato de mensaje binario, eficiente • Basado en TCP/IP • Bidireccional, multiplexado, maximo-esfuerzo A D B C

  15. Msg-1 Msg-2 Msg-1 Msg-2 Msg-1 Msg-1 Msg-2 State -A State -A State -A One Atomic Transaction One Atomic Transaction SQL Broker X2 X1 DB write Y2 Y1 DB write Z2 Z1 DB write State -B State -B State -B Send! Transactional Semantics Service Instance State -A

  16. Flujo Transaccional • Comenzar el mensaje transaccional • Recibir uno o mas mensajes desde un grupo de conversación. • Devolver el estado de la conversación desde las tablas de la Service Broker DB. • Procesar el mensaje y hacer modificaciones a los datos, basándose en el mensaje • Enviar algún mensaje – Respuestas a mensajes entrantes o mensajes a otros servicios requeridos para procesar el mensaje actual • Leer y procesar mas mensajes desde el grupo de conversación si esta disponible • Actualizar las tablas de estado de la conversación con el nuevo estado • Commitear la transacción.

  17. ¿Qué es Notification Services? • Plataforma para desarrollar y desplegar aplicaciones que generan y envían notificaciones a usuarios • Framework y poderoso Framework para desarrollo • Motor confiable, escalable y de alta performance, que corre aplicaciones de notificación

  18. Operación de notificación

  19. Arquitectura de una aplicación de notificación

  20. Notification Services Application • Define la lógica de la aplicación de notificación • Una o mas por instancia • Enteramente definida por un ‘application definition file’ (ADF XML File) • Schemas para Eventos, Suscripciones, Notificaciones • Reglas • Formateadores de Contenido • Proveedores de Eventos • Protocolos Distribuidos

  21. 1. Modelizar los Events como rows en una tabla SQL 2. Modelizar las subscriptions como rows en una tabla Definiendo Esquemas y Reglas • 3. Utilizar SQL para escribir las reglas de matcheo • 4. Formatear la notificación usando XSLT

  22. “Compilando” una aplicación NS • Nscontrol.exe create • Lee config. / ADF xml files • Crea databases, tables, views, stored procs… • Nscontrol.exe register(en cada máquina que corre el servicio) • Specify Windows/SQL credentials/encryption key • Instalar un multithreaded Windows service por instancia • Habilitar Nscontrol.exe • Activa EP, GP, DP • Comenzar la instancia

  23. Instancia de Notification Services • Hace posible compartir los suscriptores para dos o mas aplicaciones • Multithreaded Windows Service • Hostea threads para Proveedores de Eventos, Generadores y Distribuidores • Multiples instancias por computadora • Test y producción • La instancia puede ocupar varias computadoras • Definido por un archivo de configuracion XML

  24. Solución a problemas en NS • Windows application event log • nsservice.exe.config • Encender modo verbose • Valor Default: warnings and errors (2) • Nscontrol.exe • Verificar estatus de la instancia de notificación • nscontrol status –n [instanceName] • Enable/Disable components • nscontrol [enable | disable]

  25. Reporting Services • Motor de reportes Server-based • Crear reportes • Tabulados • Matriciales • Gráficos • De formas libres • Pueden contener datos de fuentes relacionales y/o multidimensionales • Reportes publicados en la Web • Provee Servicios, herramientas y APIs

  26. Ciclo de vida de un reporte • Soporte para el total del ciclo de vida de un reporte • Autoría • Administración • Publicación

  27. Ciclo de vida de un reporte AUTHORING MANAGEMENT DELIVERY • Central Report Server database • Managed report execution • Secured reports • Web-based Report Manager or custom • Runtime report rendering • Pull • Report Manager • Custom • Push • Emails • File • Custom • Report Definition Language (RDL) • Any .NET managed data provider • Report Designer or custom

  28. Componentes de SQL Server 2005 Reporting Services

  29. Creación de Reportes • Poderoso lenguaje de definición de reportes en XML • Libres / Tabla / Matriz / Gráfico • Parámetros (Dinámico, Jerárquico) • Ordenado / Filtrado / Agrupamientos / Agregados • Interactividad (Drill-down, Drill-through) • Full VB.NET Expression Language • Arquitectura de ejecución de consultas extensible • SQL Server / Analysis Services • OLE DB / ODBC / Oracle • Diseñador de Reportes • Integrado con Visual Studio .NET 2003 • Definiciones publicas permiten herramientas de terceros

  30. Administración de Reportes • Web Service APIs para administración • Interfaz de usuario Web y Win32 • Funciones de administración de reportes • Report Metadata • Name • Description • Connections • Credentials • Parameters • Programado integrado con SQL Server Agent • Propiedades de ejecución (live, cache or snapshot) • Historial de ejecuciones • Arquitectura de seguridad extensible, basada en roles

  31. Publicación de reportes • Una misma definición de un reporte puede ser renderizada a distintos formatos • Formatos Web (HTML 4, HTML 3.2, HTML w/OWC) • Formatos de Impresion (TIFF, RTF, PDF) • Documentos (Excel, XML, CSV) • Suscripciones y publicaciones personalizadas y definidas por un administrador • Selección de formato de salida por suscripción • La distribución puede referenciar a un reporte renderizado • Arquitectura de proveedor de publicación extensible • E-mail, File System, Custom

  32. Arquitectura de Reporting Services Browser Management Custom App Data Sources (SQL, OLE DB, ODBC, Oracle, Custom) Output Formats (HTML, Excel, PDF, Custom) URL WMI Web Service Report Server Report Processing Rendering Data Retrieval Security Delivery SQL Server Catalog Delivery Targets (E-mail, File share, Custom) Security Services (NT, Passport, Custom)

  33. Replication Services • SQL Server 2005 distribuye datos entre multiples DB • Incrementa la disponibilidad de datos, ofreciendo aplicaciones para escalar • Distribuye el “read workload” entre multiples DB • Sincroniza off-line datos con usuarios móviles • Nuevo modelo peer-to-peer provee una nueva topología • Bases de datos sincronizadas transaccionalmente • “read workload” mayor, resulta en disponibilidad de la base de datos mas elevada

  34. Replication Services • Provee fault tolerance • Replicación utilizando protocolos deinternet (http) y secure internet (https) • Incrementa la disponibilidad de datos a usuarios móviles • Sincronización sobre internet • Oracle Publishing • Replicación de Oracle sobre SQL Server • Disponibilidad de datos sobre fuentes diferentes

  35. Distributed Queries Mejorados • EXECUTE with AT linked_server_name EXEC sp_addlinkedserver ‘London', 'SQL Server' GO EXECUTE ('CREATE TABLE InvoiceTbl (InvoiceID int, Amount money)', ‘MyDB') AT London • CONTAINS or FREETEXT • Utilizar four-part names en predicados CONTAINS o FREETEXT para ejecutar queries contra servidores linkeados • Nuevo SQL Profiler Trace Events para ayudar a analizar y solucionar problemas entre los OLE DB Providers y los Distributed Queries.

More Related