Microsoft Sync Framework, el futuro

Slides:



Advertisements
Presentaciones similares
Cable & Wireless Panamá. Entrar a Inicio, Programas y buscar Windows Live.
Advertisements

Como Configurar el Internet
Windows Mobile 1. Configurar una cuenta de Correo Personal Configurar Yahoo! Microsoft Confidential2 Inicio Fin.
New Form Factors for Applications Introducción Windows Vista provee muchas formas para conectar al usuario con los datos –Colaboración usando Peer-to-Peer,
Mejoras en la gestión de calendarios en Exchange Server 2007
© 2006 Microsoft Corporation. All rights reserved.
3/24/2017 4:00 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
3/24/2017 4:02 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
De BDC a BCS Gustavo Velez Overview El problema y la solución Arquitectura Listas Externas (SharePoint Designer) Visual Studio 2010.
Windows Vista y Office System 2007 Juntos para los desarrolladores Diego Gonzalez, [C# MVP] Lagash Systems SA
Virtual Desktop Infrastructure (VDI) from Microsoft
3/29/ :02 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Mario Cortés Flores Consultor SharePoint en Renacimiento Coordinador SUGES Coautor de:
Infraestructura de la información crucial
Database Mounting Tool (Dsamain.exe) Mediante esta nueva herramienta y una de las mejoras de la nueva versión de Ntdsutil… podemos generar y examinar.
3/29/2017 1:27 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
LOW COST COMPUTER SYSTEM for QUALITY EVALUATION and PRESERVATION of GRAINS STORED in POLYMER BAGS Dra. Claudia Pons Researcher CONICET – LIFIA - CAETI.
Introducción a la nueva consola de administración de Exchange 2007 Angel Sánchez Clemares Ingeniero de Soporte David Cervigón IT.
WINDOWS SMALL BUSINESS SERVER 2011 ESSENTIALS. Miguel Hernández Consultor Preventa I.T.
Desarrollo Entrega continua Rodrigo Corral
Vendiendo Microsoft Office 2010 Office 2010 Licenciamiento Office 2010 Licenciamiento Pablo Rovira Jefe de Producto Pablo Rovira.
BITLOCKER Fernando Guillot Paulo Dias IT Pro Evangelist Microsoft
Antonio Gámir TSP – Windows Client Microsoft Ibérica.
Antonio Gámir Optimized Desktop Specialist Microsoft Ibérica.
para desarrolladores Minimizar el cambio Concentrarse en estabilidad, confiabilidad y rendimiento. Ayudar a mejorar la productividad Reducir la curva.
Service Pack 3 SQL Server 2005 Marcos Celada Microsoft Support Services
David Cervigón Luna IT Pro Evangelist Microsoft Ibérica
Se trata de un nuevo tipo de Controlador de Dominio No puede escribir en su base de datos fruto de peticiones externas No se le permite tener replicación.
Las PyMEs son máquinas de crecimiento PyMEs representan hasta un 75% de todos los empleos en algunas economías (PyMEs) con conocimientos en tecnología.
© 2006 Microsoft Corporation. All rights reserved.
A demanda elástica De amplio Acceso Servicios medibles Recursos mancomunados.
Hogar y Micro Empresas Pequenas Empresas Medianas Empresas Enterprise 1-4 PCs 50+ PCs PCs PCs OEM Microsoft Open License Microsoft Open Value.
Creciendo Capacidades de los Socios!!. Agenda Presentación del Equipo Programa MPA (Microsoft Partner Academy) Canales de Comunicación - Redes Sociales.
Alejandro García Sánchez Readiness Champion.. Licenciamiento para Pequeñas y Medianas Empresas Como Elegir el licenciamiento Correcto Preguntas y Respuestas.
Programa AER Para Socios ES Guadalupe Navarro.
Construyendo Soluciones de Aplicaciones Integradas con Formularios usando Microsoft 2007 Office System.
Overview Alejandro Ponicke Asesor de Comunidades IT Microsoft Cono Sur.
Silverlight Pablo Michelis Gerente de Relaciones Académicas Microsoft Cono Sur.
Microsoft Windows Server 2008 ”La Nueva Plataforma de Trabajo en Red”
WINDOWS 7 FIN DE SOPORTE. ¿Qué es el fin de soporte? En Microsoft existe el compromiso de proporcionar productos seguros. Nuestra política mundial de.
Autenticación David Martos Arquitecto de Software. Spenta Consulting
Isabel Gómez Desarrollo & Plataforma Microsoft Ibérica.
Pasos a seguir para asociar un MCP o una persona a la empresa
 Nicolás Padula Core Technologies Consultant  Maximiliano Stibel Core Technologies Consultant.
Vendiendo Microsoft Office 2010 Office 2010 Presentación del producto Office 2010 Presentación del producto Pablo Rovira Jefe de.
Crear Referencias Febrero 10, Ingresar al portal Ingresar a la siguiente url: Ya que se haya entrado a la URL.
¿Cómo crear y lanzar la encuesta de satisfacción? (Csat) Febrero 17, 2011.
¡Bienvenido a tu nuevo Office!. ¡Instalá tu Office en todos tus dispositivos móviles! Colaboración en línea de tus archivos con todos tus compañeros de.
Access y Microsft Flow.
Office365 Telefónica España Dirección de Marketing de Empresas.
Bing SMB Advertisers – Search Ads
Bienvenidos.
Sponsors Sponsors. Sponsors Sponsors Agradecimiento especial Sponsors Agradecimiento especial.
Microsoft Virtual Academy
Business Intelligence Specialist MTA Database Fundamentals MCSA SQL Server 2012/2014 MCSE Business Intelligence MCSE Data Management and Analytics.
Windows Server Update Services (WSUS) – Actualizaciones Corporativas.
24 Es el 6 de noviembre. Más Números
5/25/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
© 2007 Microsoft Corporation. All rights reserved
Capítulo 12 El Futuro es tuyo 6/2/ :54 PM
Optimización de SQL Server para IOT
Streaming de datos con Power BI
• SQL Server Integration Services SSIS
Expande tu audiencia de clientes con Bing Ads
Windows Server Management Marketing
11/24/2018 3:55 PM Dios es susurro y brisa,
¿Estás ahí Dios? Soy Yo, Perro...
Reconnect(); - Sevilla
(Nos agrada su presencia en este lugar)
Anuncios de Mayo 2019 Mes de las Damas
Transcripción de la presentación:

Microsoft Sync Framework, el futuro josemiguel.torres Microsoft Sync Framework, el futuro

agenda Entornos de sincronización Que és Microsoft Sync Framework MS Sync Framework 2.0 y v.next SQL Azure DataSync Sync Services for ADO.NET 1.0/2.0 Sumario Recursos

Patrón ocasionalmente conectado

Tecnologías actuales Merge Replication RDA Custom NO Detecta y resuelve conflictos Inicialización automática de esquema de BDD cliente Herramienta RAD Alto coste desarrollo Poco reutilizable Orientado a Servicios Seguimiento incremental de cambios Detección y resolución de conflictos Inicialización automática de esquema de BDD cliente Propagación de modificaciones sobre esquema

Microsoft Sync Framework Interfaz Usuario Respuesta rápida Experiencia usuario rica Servicios Acceso desde cualquier lugar. Alta disponibilidad Sincronización siempre disponible. Optimización comunicaciones Únicamente se propagan las modificaciones. Coste hardware Uso frecuente caché de datos Extensiones para colaboración. Sincronización aún y cuando el servidor no está disponible.

Microsoft Sync Framework? Resolviendo problemas de una sola vez Se ha apostado por la capacidad y la flexibilidad Capacidad: soluciona problemas complejos de sincronización Detección y resolución de conflictos Sincronizaciones atómicas antes problemas externos Fácil de usar y escalable Flexible Independiente de las réplicas Independiente de los protocolos Independiente de los tipos de datos Independiente de las tipologias de red © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Qué aporta Microsoft Sync Framework? Facilita la sincronización entre participantes Facilita la participación de EndPoints propios. Proveedores built-in integrados : V1: Sistema de archivos, RSS, ADO.NET V2: SQL Azure, Live Mesh?, ADO.NET Data Services y más Herramientas integradas y experiencia de usuario Sync Services for ADO.NET SyncToy  Project Codename “Anchorage” Sync Live Mesh SmugMug Syncable Store © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Proveedores específicos Sync File System Provider Relational Provider Simple Sharing Extensions (SSE) Provider

Higher-level services Quiero obtener mi servidor offline Higher-level services Quiero sincronizar estos proveedores Quiero crear nuevos proveedores Built-in Endpoints Sync Runtime

En tres pasos… Inicialización y configuración de los proveedores Configurar el agente de sincronización Seguimiento de resultados

Uso de Microsoft Sync Framework Cómo se lleva a cabo la sincronización Sync Application Sync Orchestrator changes changes Sync Provider Sync Provider Data Store Data Store changes changes © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Uso de Microsoft Sync Framework Qué debo desarrollar Aplicaciones Sync para sincronizar orígenes de datos. Utilizar built-in, proveedores de terceros o propios. Desarrollar Providers para tus orígenes y aplicaciones Utilizar Sync Runtime Elige: rendimiento vs complejidad © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Aplicacion Sync Así de fácil! 12/4/2017 9:50 AM Aplicacion Sync SyncOrchestrator orch = new SyncOrchestrator(); orch.LocalProvider = new FileSyncProvider( guid1, “c:\\temp\\myfolder”); orch.RemoteProvider = new LiveMeshProvider( guid2, new NetworkCreditial( username, password), “MyMeshFolder”); orch.Synchronize(); Así de fácil! © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Sync Framework and Live Framework Partnership App Store ? App Cloud LOE Web App Browser Sync Framework Live Framework Provider Client LOE Client LOE Sync Provider Sync Runtime App © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Actores Que hay saber de MSF (Provider dev.) 12/4/2017 9:50 AM Actores Que hay saber de MSF (Provider dev.) ReplicaData ItemData Version Knowledge ... © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

MS Sync Framework v2 Mejorado el filtrado Conflictos A nivel de columna “Negociación” de filtros Mejorado rendimiento Conflictos Resolución esp. restricciones Mejorado el logging © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

On-Premises Applications Windows Azure Platform 12/4/2017 9:50 AM SQL Azure Data Sync Sync On-Premises Applications Sync Windows Azure Platform © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

On-Premises Sync Application Windows Azure Platform 12/4/2017 9:50 AM SQL Azure Data Sync On-Premises Sync Application Windows Azure Platform Sync Application Sync Orchestrator SQL Server SQL Azure SQL Server Sync Provider SQL Azure Sync Provider Sync Runtime © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Clientes Sync Framework Credit Suisse Relational PIM Data SyncToy Files SharePoint 2010 Favorites Relational Lists SharePoint Workspace 2010 (Groove) PricewaterhouseCoopers

DEMO FileSync

Servicios de sincronización para ADO.NET SyncGroup SyncTable SyncTable Sync Agent SyncTable SyncTable SQL Server SQL Server Compact 3.5 Sync Provider DB Sync Provider for SQL Server

Microsoft Sync Framework Tipologías Offline Información en caché Usuarios desconectados Collaboration Contactos, calendario y otros datos en cualquier lugar. Sincronización P2P Colaboración / Offline Microsoft Sync Framework

Offline de 2 capas Client Database SQL Server SyncCommand SyncCommand Sync Agent Local Sync Provider SyncCommand SyncCommand SyncCommand Remote Sync Provider SyncGroup Client Database SyncTable SyncTable SQL Server SyncTable SyncTable

Exponiendo la solucion a N capas SyncCommand SyncCommand Sync Agent SqlCeClient SyncProvider SyncCommand SyncCommand SyncCommand Server Sync Provider Transport SyncGroup SQL Server Compact 3.5 SyncTable SyncTable SQL Server SyncTable SyncTable

DEMO Local DataBase Cache

Situémonos… Envíame los cambios Aplica estos cambios idPieza Descripcion 1 Pieza 1 2 Pieza 2 3 Pieza 3 Modo Sincronización SyncTable’s Proveedor Remoto Sync Agent Envíame los cambios Para aplicar más tarde Aplica estos cambios Que me envió la otra parte idPieza Descripcion 1 Pieza 1 2 Pieza 2 3 Pieza 3 Proveedor Local

Proveedor remoto idPieza Descripcion 1 Pieza 1 2 Pieza 2 3 Pieza 3 1.- Inserta estas filas… 2.- Modifica estas filas… 3.- Elimina estas filas…. idPieza Descripcion 1 Pieza 1 2 Pieza 2 3 Pieza 3 Proveedor Remoto Sync Agent 1.- ¿Qué filas se han añadido? 2.- ¿Qué filas se han modificado? 3.- ¿Qué filas se han eliminado? idPieza Descripcion 1 Pieza 1 2 Pieza 2 3 Pieza 3 Proveedor Local

Seguimiento de cambios Uso de Change Tracking SQL Server 2008 Personalizado Otros… Seguimiento de cambios

Configurando SQL Server 2008 Una característica [nueva] de SQL Server 2008. Almacena y gestiona todas y cada una de la modificaciones acontecidas sobre un cualquier registro. [Metadata] Se habilita a nivel de base de datos, y por cada tabla. Retiene las modificaciones durante un periodo especificado. Permite el seguimiento a nivel de columna. SQL Server provee un conjunto de funciones Si no utilizamos Change Tracking, ¿entonces qué?

Servidores personalizados Si no utilizamos Change Tracking, utilizamos técnicas invasivas contra la base de datos. Se trata de identificar a nivel de fila cuándo [y quién] ha modificado o insertado la fila. Para las eliminaciones se utilizan tablas tombstone, mediante desencadenadores. idPieza Descripcion InsertId InsertTimeStamp UpdateId UpdateTimestamp 1 Pieza 1 A {000-000-A} B {000-000-C} 2 Pieza 2 {000-000-B} Null 3 Pieza 3 {000-000-D} {000-000-E}

DEMO SQL Server

Proveedor remoto SyncAdapter DataAdapter idPieza Descripcion 1 Pieza 1 Select Incremental Inserts Select Incremental Updates Select Incremental Deletes Sync Agent SyncAdapter DataAdapter SelectCommand InsertCommand Connection UpdateCommand Proveedor Remoto DeleteCommand Select Conflict Updated Rows… Podriamos mostrar un clase DbServerSyncProvider Select Conflict Deleted Rows… idPieza Descripcion 1 Pieza 1 2 Pieza 2 3 Pieza 3

Proveedor remoto ¿Cómo identifico las filas insertadas? idPieza SELECT * FROM Pieza WHERE [[han sido insertados desde la última vez] SELECT * FROM Pieza WHERE [han sido modificados desde la ultima vez] Sync Agent SELECT * FROM Pieza WHERE [han sido eliminadosdesde la ultima vez] Proveedor Remoto INSERT INTO Pieza (Descripcion) VALUES (‘xxxxx’) UPDATE Pieza SET Descripcion = ‘xxxx’ WHERE idPieza = ? DELETE Pieza WHERE idPieza = ? ¿Cómo identifico las filas insertadas? idPieza Descripcion 1 Pieza 1 2 Pieza 2 3 Pieza 3 ¿Y las modificadas y eliminadas? ¿Cómo sabremos cuál fue la ultima vez?

Entendiendo las variables de sesión ¿Cuál es la versión actual? Variables del contexto de la sincronización que denotan la versión actual. ¿Cuál es la versión de la última sincronización? Variables del contexto de la sincronización que denotan la versión de la última sincronización. ¿Quién ha modificado? Variables que identifican quién o qué cliente (consumidor) ha modificado. ¿Es la primera inicialización? …

DEMO Proveedor Remoto

Proveedor de sincronización local Almacena la información de estado de las tablas locales que van a intervenir en la sincronización. Propaga las modificaciones acontecidas en las tablas hacía el proveedor remoto, desde la última sincronización. Aplica las modificaciones incrementales acontecidas en el proveedor remoto a la base de datos local. Detección de conflictos. Existe un proveedor específico para SQL Server Compact 3.5. Establece toda la complejidad y comportamiento de forma transparente para el desarrollador.

Inicializar la base de datos local Únicamente se requiere de la existencia del archivo de base de datos. Se propaga TODA la definición de la tabla que interviene en la sincronización, excepto: La restricciones FOREIGN KEY, UNIQUE y DEFAULT. Podemos intervenir en la creación del esquema en tiempo de ejecución. Foreign key, unique y default

DEMO Proveedor Local

Manejo de conflictos Conflictos se detectan a nivel de fila. Los errores durante la sincronización son un tipo de conflicto. Importante evitar conjunto de datos susceptibles de conflicto innecesariamente. Uso recomendado de Filtros. Pueden tener lugar tanto en el Servidor como en el Cliente. Tipos: Cliente elimina y servidor actualiza (un mismo registro) Cliente inserta y servidor inserta (un mismo registro) Cliente actualiza y servidor elimina (un mismo registro) Cliente actualiza y servidor actualiza (un mismo registro)

Mostrar ejemplo de base de datos cache… DEMO Control de conflictos

Resources Sync Developer Center http://msdn.microsoft.com/sync SDK (including documentation) Whitepapers Samples (including several end-to-end) Sync Blog http://blogs.msdn.com/sync Announcements Tips and Tricks SQL Labs www.sqlserviceslabs.com Cutting edge prototypes and pre-release functionality

¡¡¡Muchas gracias!!!! josemiguel@desarrollomobile.net Blog: http://josemigueltorres.net Twitter: http://twitter.com/alegrebandolero ¡¡¡Muchas gracias!!!! josemiguel@desarrollomobile.net