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
- 832