Data Synchronization between Enterprise DataStore and External WebSite DataStore
I've an enterprise database store used by some rich applications and a website with it own database store.
Enterprise application work with local data and some of these data (like orders,prices ...) have to be "synchronized" to the web site da开发者_如何学Ctastore.
On the other side, internet customers are able to edit their profile which have to be "synchronized" to the enterprise datastore too.
Basically i need this architecture :
WebSite => WebSite Database <=> || Internet || <=> Enterprise Database <= Rich Applications
- Merge Replication
- Service Broker
- Synch Framework
Pick your poisson. Merge replication is probably the easiest to deploy. Service Broker is the most performant, but requires a steep learning curve. Synch Framework is not really appropiate, unless you plan to deploy datasets on the client too (mobile devices).
You can do a pull or push from the WebSite Database (WSDB) to the Enterprise Database (EDB) and vice-versa. It depends on what type of latency you are comfortable with. If you want near real-time syncing, go with a push. Otherwise the EBD can pull from the WSDB every hour or so through web service methods or REST calls (and vice-versa).
Push Example:
- Customer updates profile and pushes "Submit" button.
- WebSite calls web service method PushCustomerInfo(params) on EDB.
Pull Exmaple: Every hour EBD calls web service method GetCustomerInfo that returns a Customer object on WSDB.
精彩评论