On this page

SyncFx 4.0 goes public with a CTP
LiveMesh on Windows 2008
Windows Azure
Dreamway FeedSync session
"Live Mesh" to open in Los Angeles
TechDays07: T-1dia TechdaysDeBolso
Groove & Ray Ozzie na Microsoft
Patrick Tisseghem em Portugal para ensinar Office Information Bridge Framework e Infopath
Webcasts dedicados à banca: 14-18 Fev
Como ler blogs
MSDN Abril: ppt e demo files
Evento MSDN Abril: Patterns & Practices
Offline Application Block
Ray Ozzie comenta o Longhorn



The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

RSS 2.0 | Atom 1.0 | CDF

Send mail to the author(s) E-mail

Total Posts: 121
This Year: 0
This Month: 0
This Week: 0
Comments: 35

Sign In
Pick a theme:

# Thursday, 28 October 2010
Thursday, 28 October 2010 12:01:14 (GMT Daylight Time, UTC+01:00) ( Arquitecturas | OData | Sync/Offline )

The following are the highlights:

  • Server Side Business Logic Extensibility, which allows you to plug your custom business logic into the synchronization runtime on sync service using SyncInterceptors.
  • Service Diagnostic Dashboard, which is a debug option on server side that can be turn on to diagnose the health of the deployed sync services.
  • HTML5 sample source code to demonstrate how to write a offline web application using HTML5 which caches data in Web Storage and can be run across different browsers.

For more information about this public CTP, please read syncfx’s team blog post at:

what to expect from future CTP release:

  • Tooling Wizard: We will add a UI wizard on top of the command line based SyncSvcUtil utility. This wizard will guide you to select tables, columns, and even rows to define a sync scope, provision/de-provision a database and generate server-side/client-side code based on the data schema that you have.
  • iPhone Sample: An updated and improved sample shows you how to develop an offline application on iPhone/iPad with SQLite for a particular remote schema by consuming the protocol directly.
# Saturday, 21 March 2009
Saturday, 21 March 2009 10:53:30 (GMT Standard Time, UTC+00:00) ( SaaS | Sync/Offline )

I've been using Mesh everywhere I can, and once we start using it I think the concept of "My laptop is my life" simply starts to fade way.

Last week my laptop had a problem in the only mechanical part I'm using: the CPU FAN. Since I'm not able to use it until it gets fixed, I've been using borrowed machines in the office and at home. TO ADOPT A NEW MACHINE, my current experience is as simple as:

  • Create an account in the machine (or use my domain account if the machine belongs to the DEVSCOPE domain)
  • Open Outlook and setup my account - autodiscover just works - and some minutes later all my email, calendar and contacts are ready and offline searchable
  • open, sign-in with Live ID, add the device to my ring installing the LiveMesh.exe and configuring it to sign-in in automatically
  • Initially Mesh creates all my folder links in the desktop, so I select all of them and delete them all to keep the desktop clean
  • Then I click only the Mesh folders I will need, and select a proper folder to store them (eg. my documents)

This has worked very, very well and after a week I noticed that I'm already running Mesh on one Windows XP (an old office desktop), two Windows 7 (home and office) and one Windows 2008 Server. Since the last one gave a strange error during the setup, I've decided to post here the workaround:
Live Mesh
This installation is forbidden by system policy.
Details about this problem can be found here.
[80070659] This installation is forbidden by system policy. Contact your system administrator.

the work around found here lead me to add this key with regedit.exe:

Windows Registry Editor Version 5.00


Still a lot of people asks me: Did you backup already your data? I must say not yet, although all my data is already replicated in properly managed servers/services in our hosted services (Exchange Server), corporate servers (CRM, Sharepoint and source code) and the rest is a very complex set of folders have in Mesh, from company docs, to per project folders with partners, to per team folders for the MBA, etc..

So, my life (data) is in the Mesh

# Monday, 27 October 2008
Monday, 27 October 2008 16:46:33 (GMT Standard Time, UTC+00:00) ( Arquitecturas | PDC2008 | SaaS | Sync/Offline )

Windows Azure

Thank you Microsoft for this birthday gift :-)

We are now attending the keynote and the new platform is now being announced and demonstrated on stage. First real app was the

Branding for the new platform is simple and glues many things we have been discussing in the past (e.g. Dreamway FeedSync session).

In November David Chappell is coming to Lisbon for an Architecture meeting and, until then, you can read his latest paper here: Azure_Services_Platform.docx

(to be continued...)

# Thursday, 16 October 2008
Thursday, 16 October 2008 13:33:30 (GMT Daylight Time, UTC+01:00) ( Apresentações | SaaS | Sync/Offline )

Dreamway - Steve Balmer talks to the Portuguese Developers, Developers, Developers, ...

I'm back on stage since leaving Microsoft and although my life is a little overbooked with work+mba+family, I was very happy to join my old team and present my views around the impact of Synchronization on the next wave of Software+Services applications. Here is the abstract from the session:chaves

Dev04: Sync Framework: O motor genérico e extensível para a nova geração de aplicações S+S distribuídas, online e offline.
José António Silva

A Microsoft Sync Framework é uma plataforma extensível que vem tornar mais simples a criação de processos de replicação de informação entre diferentes tipos de arquivo. Nesta Sessão vamos explorar a última versão, já com suporte SQL 2008 (Change Data Capture), fontes de dados FeedSync/AtomPub e para comunicações P2P. Ainda vamos analisar o roadmap deste tipo de subsistema nas novas aplicações S+S/Cloud, no contexto do SQL Server Data Services (Codename “Sitka”) entre outros serviços Live/Online.

The presentation is now available for download and, although it’s a mix of stuff from many sources, my objective was exactly to glue together some of things going on pre-PDC08. After the PDC it will be more clear why I selected these topics.

Download presentation from my skydrive: Presentations

After these first 3 months adapting to my new lifestyle, this nice event with Steve Balmer was a great opportunity to meet my colleagues from Microsoft. Chaves (in the photo) is now an intern and responsible for the community server, a must for technology students!

Thanks everyone that attended my session, and a special THANK YOU to Luis Alves Martins and João Pedro Martins that joined the nice translucent couches and added very good perspectives to our presentation.

# Wednesday, 24 September 2008
Wednesday, 24 September 2008 09:25:29 (GMT Daylight Time, UTC+01:00) ( Arquitecturas | SaaS | Sync/Offline )

I've never been so curious about the PDC's announcements as this year. I have no doubt this moment will be very important not only for the Microsoft's developer community, but anyone in the industry that is starting to see more and more value coming from all the services (building blocks) available on the net. I’m not talking about the “classical” remote functions calls over the net – that become ubiquitous with the SOAP/REST/XML generation. I’m expecting from Microsoft’s new cloud APIs and Services that all these hooks into my laptop I’ve been using lately (live mesh, groove, messenger, outlook, …), that they become building blocks for us to develop new applications. They are already available of course, but there isn’t anything as coherent, extensible and simple as a single runtime that can make the adoption of these new paradigms just explode (the “tipping point”).
Countdown to PDC 2008: This is the Software + Services PDC, Plus a Hard Drive Chock Full o’Bits is a PDC Attendee’s Dream Come True!

I remember .NET 1.0 as the tipping point for the web services generation. It made developers shift from old religious disputes around programming languages (eg. Java), distributed programming (CORBA, DCOM), client vs server programming (win32, applets, CGI, J2EE, J2ME, WAP). This shift has made us all move forward to other discussions, and although we all see the javascript runtime coming back (AJAX), there’s a bunch of new challenges we would all love to solve without having to put dozens of developers building all the plumbing in each project.

How difficult it is today to deploy software on the internet that:

· Is auto-updatable (code), syncs (data), even from P2P layers …

· …and leverages every marginal enhancement deployed on those new laptops;

· Runs online, and offline, and can even optimize bandwidth availability;

· Works from behind firewalls and all those NAT routers out there…

· …without having to use VPNs or explicitly publishing internal addresses+ports;

· Makes data (including web apps) available 24/7, geo dispersed…

· …at a cost that is ridiculous compared to buying any servers/harddrives.

This is my 3rd PDC, and every announcement is making me more confident this Live Mesh runtime, that I’m using for several months already, will open the new opportunity "Windows

# Monday, 19 March 2007
Monday, 19 March 2007 09:14:13 (GMT Standard Time, UTC+00:00) ( Sync/Offline | TechDays07 )

Pois isto está a mesmo a chegar e agora só falta fechar algumas coisas. O stress e ansiedade estão aos níveis máximos e só espero que agora tudo corra como previsto.

Antes de começar a postar já "dentro" do evento, quero ainda anunciar que o Pedro Ivo Faria ( já publicou a versão Pocket da Agenda e Notícias. É só instalar que depois funciona mesmo sem GPRS, tudo offline e com funcionalidade para escolher a agenda também no telemóvel/PDA. Uma aplicação com uma qualidade extraordinária como já nos tem habituado o autor das aplicações para o Mundial e Europeu de Futebol e do campeonato de F1. Eu já instalei :-)

Este ano foi a primeira vez que tivemos estes projectos todos dedicados ao evento. Não sabíamos qual seria a reacção das nossas comunidades uma vez que toda a gente anda cheia de trabalho. Mesmo assim a quantidade e qualidade dos projectos que nos surgiram superou a minhas expectativas e aproveito para deixar aqui o meu desejo para um próximo evento: Criar uma sessão "Making of Techdays" e convidar os autores destes projectos a explicarem como abordaram o desafio.

Parabéns e OBRIGADO!

# Monday, 14 March 2005
Monday, 14 March 2005 00:58:35 (GMT Standard Time, UTC+00:00) ( Sync/Offline )

Microsoft compra a Groove Networks e esta é uma noticia que me agrada bastante. O criador do Lotus Notes e da Groove Networks acaba de se juntar à Microsoft. Acho que agora vamos ter o Sharepoint offline ;-)

Monday, 14 March 2005 00:34:56 (GMT Standard Time, UTC+00:00) ( Apresentações | Arquitecturas | Sync/Offline )

O Patrick é um colega do Jan Tielens na U2U e vem a Portugal para dar formação em Infopath e IBF1.5. Segunda-feira vai estar no Hotel Real Oeiras e o resto da semana dividido entre Lisboa e o Porto. Na segunda-feira eu faço uma keynote onde explico como a arquitectura das aplicações está a mudar do browser para clientes mais desacoplados e com potencial para coisas como o offline. Este foi o tema que apresentei este ano na XATA2005 e pretende ser algo tipo: SmartClients na pós-webização e o papel do Office para inferir contexto nas novas aplicações.

# Tuesday, 18 January 2005
Tuesday, 18 January 2005 23:56:45 (GMT Standard Time, UTC+00:00) ( Arquitecturas | Patterns | Sync/Offline | Web Services )

14 a 18 de Fevereiro vai ser uma semana de webcasts dedicado à área Banca/Seguros/MercadoCapitais. Os temas passam por arquitecturas, Service-Oriented, Message-Oriented, Integração, Migração COM/WinDNA/J2EE para .NET, Interoperabilidade, Offline, SmartClients, Patterns, Anti-Patterns, ...

Por causa do fuso horário as sessões cá em Portugal acontecem tipicamente entre as 4PM e as 10PM.

Mais detalhes em

# Monday, 05 July 2004
Monday, 05 July 2004 15:18:26 (GMT Daylight Time, UTC+01:00) ( Sync/Offline )

Continuo a encontrar muita gente que ainda usa IE Favorites e lê weblogs passeando com o browser pelas páginas web. Serve este post para esclarecer como é que se lê estas coisas de uma forma mais smartclient (e offline)

O truque é instalar um blogreader, por exemplo o newsgator ou o sharpreader, e ir adicionando estes links RSS 2.0 que aparecem na maior parte do blogs. O resto é a beleza de uma infraestrutura XML, simples, desacoplada e distribuída que trata de relacionar posts, links, comentários, referências e, no caso destes blogreaders, permite puxar o conteúdo para o laptop e gerir todos os posts offline ;-)

# Friday, 30 April 2004
Friday, 30 April 2004 10:02:12 (GMT Daylight Time, UTC+01:00) ( Apresentações | Patterns | Sync/Offline )

Os powerpoints da sessão MSDN de Abril já foram publicados e a minha sessão sobre Patterns & Practices também já está disponível para download. Na sessão de Leiria construímos um exemplo de uma aplicação offline integrada com o MapPoint/GPS para reportar "buracos" nas estradas. O código é uma simples adaptação de um dos exemplos e demorou cerca de 1 hora a montar. Como prometido junto o código para download. Para usar a integração com MapPoint é preciso o CD e depois é só premir o botão do meio no mouse para marcar pontos. Cada ponto corresponde a um relatório que será uploaded para o web service assim que houver conectividade.

# Monday, 05 April 2004
Monday, 05 April 2004 13:42:03 (GMT Daylight Time, UTC+01:00) ( Apresentações | Patterns | Sync/Offline )

"Os guias Microsoft® Patterns & Practices contêm as melhores práticas reunidas pela Microsoft e pelos parceiros para a resolução de problemas recorrentes. As recomendações ilustram como desenhar, desenvolver, distribuir e operar soluções tirando partido da plataforma .NET. Neste conjunto de boas práticas encontramos os Application Blocks por exemplo para tratamento de configurações, caching, logging, auto update, funcionamento offline entre outros. Nesta sessão, dirigida a arquitectos e programadores, fazemos um mapa dos recursos disponíveis e de como reutilizar alguns destes blocos de componentes na construção de novas soluções."

Mais detalhes e inscrições em

# Tuesday, 02 March 2004
Tuesday, 02 March 2004 16:20:46 (GMT Standard Time, UTC+00:00) ( Arquitecturas | Patterns | Sync/Offline | Web Services )

Trata-se de mais um bloco de código reutilizável e um conjunto de exemplos que demonstram como fazer aplicações que funcionam online e offline. Com este bloco a aplicação consegue detectar o estado da ligação, guardar dados em cache para utilização offline, e sincronizar dados e tarefas com os servidores assim que a aplicação ficar online.

O objectivo é fugir dos modelos de merge-replication (tightly-coupled) e desenhar sim interacções baseadas em mensagens (SOA) desacopladas. Esta framework usa um mecanismo de store & forward para guardar as mensagens pendentes. Desta forma muitas das complexidades deste tipo de aplicação ficam praticamente transparentes para o developer.

Para trabalhar offline o DataLoaderManager faz download dos dados de referencia necessários. Depois o ReferenceDataCache é usado sempre que o acesso online não está disponível.

Durante o funcionamento offline também é possível preencher tasks (UIP) e a sua efectivação (ex: post para um Web Service) fica queued no Application Service Agent até o ConnectionManager determinar que é possível fazer o upload dos dados.

Acho que este bloco vai ser uma excelente framework não só para aplicações rich-client/mobile mas até mesmo para construir Autonomous Services. Imaginem uma loja online (reference data = catálogo de produtos) que está a aceitar encomendas (task = carrinho de compras) mesmo quando os servidores (armazém/distribuição) estão indisponíveis. Existem muitas aplicações web que ficariam muito mais robustas e escaláveis se o site fosse fácil de replicar por data centers remotos. E o resultado das aplicações fosse uma simples menssagem para um web service assíncrono.

O source code foi desenvolvido neste workspace e bloco já está no msdn para download

# Friday, 14 November 2003
Friday, 14 November 2003 12:53:23 (GMT Standard Time, UTC+00:00) ( PDC 2003 | SAF 2003 | Sync/Offline | Web Services )

Durante as sessões que assisti sobre WinFS e sobre Sincronização/Offline sempre me suscitou curiosidade qual seria a reacção da Groove Networks perante a evolução dos mecanismos de replicação que está acontecer na próxima versão do Windows.

Pois o criador do Lotus Notes, que também esteve no PDC e no SAF, respondeu a todas as minhas questões durante uma entrevista para a EWeek:
Ray Ozzie on Longhorn & Groove Networks

As relações entre WinFS, Offline Syncronization, Peer-to-PeerIndigo são muito interessantes e esperemos que fique cada vez mais simples fazer aplicações offline "expertas".