120 likes | 138 Views
The Replica Management Services: Reptor. Replica Management Services Framework. Replica Manager component glossary. ERM: EDG Replica Manager client interface and API Entry point for all clients ROS: Replication Optimization Service Replica selection based on network metrics (WP7)
E N D
Replica Manager component glossary ERM: EDG Replica Manager client interface and API • Entry point for all clients ROS: Replication Optimization Service • Replica selection based on network metrics (WP7) RSH: Replication Storage Handler • Subscription-based replication RLS: Replica Location Service • Local Replica Catalog services LRC: Logical to Physical file mappings • Replica Location Index services RLI: index on Logical names RMC:Replication Metadata Catalog • An instance of Spitfire with RDBMS backend and specialized schema
VOMS ERM ROS RGMA RMC RSH RLS Replica Management Services for TB2 VO Membership Service Replica Management Services Replica Manager Client Optimization Information Service Replica Metadata File Transfer: GridFTP Subscription Replica Location Service
Implementation ERM: client-side replica manager. Contains all coordination logic. ROS: very lightweight web service (no DB backend) – calls upon WP7 monitors RSH, RLS, RMC: heavyweight web service (with DB backend)
Why not a Manager Service? • Delegation. Current implementation has most logic at the client side ERM. Would like to move to a model where the logic is performed by an RMS service VO Membership Service Replica Manager Service Replica Management Services Replica Manager Client Optimization Information Service Replica Metadata File Transfer: GridFTP Subscription Replica Location Service
ERM implementation • edg-reptor module provides the ERM. • Layout: src/org/edg/data/ • reptor/ • reptor/storage • reptor/catalog • reptor/optimization • reptor/naming • reptor/info • reptor/client
Usage of Factory Pattern • Generic interfaces to functional blocks • If there are several implementations, a factory is provided info/InfoService.java implements info/RGMAInfoService.java info/InfoServiceStub.java info/InfoServiceFactory.java InfoService info = InfoServiceFactory.create(className);
Interfaces • storage/FileHandle • storage/StorageElement • storage/GridFTP * • storage/GlobusURLCopy * • info/InfoService * • naming/NameGenerator * • catalog/ReplicaCatalog * • client/Command • /ReplicaManager • /Configuration * * : With corresponding Factory
Tests • In general, each module must have unit tests for their classes. • Unit tests are collected in • org/edg/data/module/AllTests.java • Functionality tests currently collected in • org/edg/data/module/AllFuncTests.java • Integration tests – ad hoc.. All ERM functionality tests are sort of integration tests. Needs proper integration testing • Validation tests – still missing
Documentation • Javadoc • Help from code • Manpages • User Guide • Installation Guide
Extensions • Immediate: • Collections • Sessions • Mid-term • Pre- Post- Processing • As soon as delegation is solved • Request management (‘transactions’)