Data Sync as a Framework

Some of the Asks/Requirements

  • Offline
  • Conflict Detection & Resolution
  • Custom Conflict Resolution
  • Custom Business Logic
  • Multiple Data Sources
  • Data Schema Generation/Management
  • Audit Logging
  • Metrics
  • Security (Authn & Authz)

Some Things that Stand Out

  • Data Schema Generation/Management
  • Custom Conflict Resolution
  • Custom Business Logic

Question

Is this just a Sync Service?

Or does it encapsulate all of my business logic? (the entire app)

What about 'Cloud Apps'?

Client

Sync

Cloud App?

http

GraphQL

Data???

Is there overlap? How do these things fit together?

What if Sync weren't a service?

Sync as a Framework

  • Set of SDKs for building realtime apps and services

 

  • Client Side SDK
    • GraphQL
    • Offline
    • Conflict Handling

 

  • Server Side SDK
    • ​'Batteries Included' SDK to build GraphQL Server
    • Conflict Detection and Resolution
    • Realtime 

Sync Client SDK

Offline Store

GraphQL Client

Offline Mutation Queue

Conflict Handling

audit logging

metrics

conflicts

User Resolver Code

Auth

Middleware

Auth Context Provider

Auth Directives

Subscriptions

Subscription Filtering

Pub Sub

Realtime

Security

Biz Logic

Server Side SDK

= built

= spiked & in progress

= there but needs work

Schema Def

resolver code

GQL engine

Server SDK

engine

server

Client

/grahql

Overview

server

Client

/grahql

Example Application

micro A

micro B

SOAP A

SQL DB

http

SOAP

Sync Framework

By Dara Hayes

Sync Framework

  • 907