data replication - synchronization tool for tcia
TRANSCRIPT
Google Summer of Code 2011
Data Replication Synchronization Tools
Pradeeban KathiraveluIST ULisboa / INESC-ID
Agenda
Background and Assumptions
Front-end
Back-end
Design Alternatives
Design Choice
Good to have
Background
TCIA MySQL database is the data source.
Users are downloading series or data of higher granularity.
Collection
Patients same patientStudies meta dataSeries meta dataImages raw file
Initial Assumptions
The existing download manager may be used in the client side.
Front-End
Front-End
User logs in
Clicks the Download Updates option.
(browser)
Front-end / Back-end
Front-end / Back-end
CXF/JAX-RS RESTful APIs.
GET
Follow the existing REST APIs in downloading.
Back-end
A Pub-Sub Solution
Update subscriptions for new downloads.
Publish and store the new updates for the subscribersTill they log in again.
Database integration and query management
TCIA data store is a MySQL database.
Back-end: Alternatives
The Pub-Sub solution
CXF/JMS Transport [1]
With Hazelcast [2]
Database integration and query management
Hazelcast distributed queries
Using CXF
[1] https://cxf.apache.org/docs/jms-transport.html
[2] http://java.dzone.com/articles/publish-and-subscribe
Combinations
Entirely Hazelcast
Except for CXF/JAX-RS RESTful invocations
Entirely CXF
With CXF/JMS for Pub/Sub
CXF and Hazelcast
CXF/JAX-RS and CXF/JMS
Hazelcast distributed queries
Apache Camel for integration
Way too many components (?)
Design Choice
Entirely Hazelcast
With CXF/JAX-RS RESTful invocations.
Why?
Simplicity
Pub-Sub and query management - both handled by Hazelcast.
Pub-Sub query updates could be stored seamlessly in-memory and in database.
Good to have
Develop into OSGi bundles to plug into Bindaas.
Thank you..
Muokkaa otsikon tekstimuotoa napsauttamalla
Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso