SlideShare uma empresa Scribd logo
1 de 19
Developers: Burmak AlexanderMirov YuriyKovalev Igor Trainer: Alexeev Peter XAM XReplicator project
Contents About XAM Technology Why replication? What we’ve done Architecture XReplicator library XUtility Demonstration Resources
About XAM Technology eXtensible Access Method Technology providing a unified interface between applications and storage systems Industry standard API for Fixed Content Aware Storage Makes developers independent from hardware Easy migration between storages and applications
Why replication? Benefits of data replication Reliability Accessibility Performance Security Shortage of analogues of client applications 		for XAM Storage Systems replication
What we’ve done XReplicator library, which enables XAM storages replication  XUtility, which uses XReplicator API and provides console user interface XOnce, a Domain-Specified Language to make easy query to storage
Architecture XReplicator XUtility XAM VIM VIM VIM
XReplicator library Replication – use RBaseAlgorithm or algorithm from third-party developers XSystems collection manipulation Direction of replication – mode parameter (in, out, inout) Constraint for XSystem synchronization data: XAM Query Set of XUID Configuration (XConfig) Logging
Replication – RBaseAlgorithm Uses replication history (state of storage after replication) Serialization/Deserialization to/from file Uses XAM import/export mechanism Solves “dirty” commit time problem Saves timeCommit and timeSynchronize parameters Solves conflicts of similar XSets Supports XReplicator modes and constraints
Logger Logs information about replication, exceptions and configuration changes Logs statistics about replication Two types of log format: XML Simple Supports log levels Log entry content – time, method, level, message Uses proxy-classes for incapsulation Log file(s) settings – path, append, size limit , count
XReplicator API architecture XConfig RAlgorithm XReplicator factory XHashSet InvocationHandler XReplicator XReplicator Module (Guice) XAM
XUtility features Remote control Banning enabled Multiple connections Scripting Reading text file with XUtility commands and executing it (like a command language) Program args enabled (e.g. for third party planners) Encrypt Blowfish encryption Corporate security raise Out of the box planner for replication
XUtility features Multithreading Every command runs in a different thread Enabled background threads (e.g remote control, planner) Commands to manage threads (e.g monitor, kill) Extensibility Dynamic plugins loading enabled (plugin = simple impl. of XOperation)
XUtility architecture Parameters XOp. Thread XOp. Thread Plugin 1 Plugin N XOperation Collector XUtility Operation  Set XReplicator Thread  Set XAM
XOnce features Implements XAM Query Similar SQL Uses MPS Flexible Saves time
XOnce in action XOnceAPI Select from myXSystem 	where "my.field" < 5    to myCollection XAM API XSet query = myXSystem.createXSet(XSet.MODE_RESTRICTED); query.createProperty(XSet.XAM_JOB_COMMAND,     false, XSet.XAM_JOB_QUERY); XStreamqueryStream = query.createXStream( XSet.XAM_JOB_QUERY_COMMAND, false, XAMLibrary.TEXT_PLAIN_MIME_TYPE); queryStream.write ("select quot;.xset.xuidquot; where quot;my.fieldquot; < 5”.getBytes()); queryStream.close(); query.submitJob(); boolean finished = false; while (!finished) {   if (query.containsField(XSet.XAM_JOB_ERROR))     if (query.getString(XSet.XAM_JOB_ERRORHEALTH).equals XSet.XAM_JOB_ERRORHEALTH_ERROR)) { query.haltJob();       throw new QueryException(); }   if (query.getString(XSet.XAM_JOB_STATUS).equals     (XSet.XAM_JOB_STATUS_COMPLETE)) {     finished = true; } } //.........
XReplicator Demonstration
Resources www.snia.org – XAM 1.0.1 developer.emc.com – Many help about XAM groups.google.com/groups/xam-developers-group – Many help too code.google.com/p/google-guice/ – GuiceIoC and DI www.jetbrains.com/mps/ – MPS. Needed to create DSL XOnce maven.apache.org – Maven build manager www.junit.org – Unit tests
XReplicaton on Open Source XReplicator.sourceforge.net
Thank you for attention! Questions?

Mais conteúdo relacionado

Semelhante a XReplicator

.Net framework
.Net framework.Net framework
.Net frameworkteach4uin
 
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...Rafael Ferreira da Silva
 
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...HostedbyConfluent
 
Operating system concepts
Operating system conceptsOperating system concepts
Operating system conceptsGreen Ecosystem
 
UXComm: Universal XML Communicator, an Agent Architecture
UXComm: Universal XML Communicator, an Agent ArchitectureUXComm: Universal XML Communicator, an Agent Architecture
UXComm: Universal XML Communicator, an Agent ArchitectureGeorge Vanecek
 
Bloombase StoreSafe Specifications
Bloombase StoreSafe SpecificationsBloombase StoreSafe Specifications
Bloombase StoreSafe SpecificationsBloombase
 
Microservice and Service Fabric talk
Microservice and Service Fabric talkMicroservice and Service Fabric talk
Microservice and Service Fabric talkDaniel Kreuzhofer
 
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easyIEEEMEMTECHSTUDENTSPROJECTS
 
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easyIEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easyIEEEFINALYEARSTUDENTPROJECTS
 
Railo Presentation Railo 3.1
Railo Presentation Railo 3.1Railo Presentation Railo 3.1
Railo Presentation Railo 3.1Rhinofly
 
TechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityTechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityRobb Boyd
 
Influx db talk-20150415
Influx db talk-20150415Influx db talk-20150415
Influx db talk-20150415Richard Elling
 
AMF Testing Made Easy! DeepSec 2012
AMF Testing Made Easy! DeepSec 2012AMF Testing Made Easy! DeepSec 2012
AMF Testing Made Easy! DeepSec 2012Luca Carettoni
 
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationLaurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationAjax Experience 2009
 
Azure deployments and ARM templates
Azure deployments and ARM templatesAzure deployments and ARM templates
Azure deployments and ARM templatesgjuljo
 
LINQ to XML
LINQ to XMLLINQ to XML
LINQ to XMLukdpe
 

Semelhante a XReplicator (20)

Fuse technology-2015
Fuse technology-2015Fuse technology-2015
Fuse technology-2015
 
.Net framework
.Net framework.Net framework
.Net framework
 
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
 
Libra Library OS
Libra Library OSLibra Library OS
Libra Library OS
 
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
 
Operating system concepts
Operating system conceptsOperating system concepts
Operating system concepts
 
UXComm: Universal XML Communicator, an Agent Architecture
UXComm: Universal XML Communicator, an Agent ArchitectureUXComm: Universal XML Communicator, an Agent Architecture
UXComm: Universal XML Communicator, an Agent Architecture
 
Bloombase StoreSafe Specifications
Bloombase StoreSafe SpecificationsBloombase StoreSafe Specifications
Bloombase StoreSafe Specifications
 
Microservice and Service Fabric talk
Microservice and Service Fabric talkMicroservice and Service Fabric talk
Microservice and Service Fabric talk
 
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
2014 IEEE JAVA DATA MINING PROJECT Xs path navigation on xml schemas made easy
 
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easyIEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
IEEE 2014 JAVA DATA MINING PROJECTS Xs path navigation on xml schemas made easy
 
Railo Presentation Railo 3.1
Railo Presentation Railo 3.1Railo Presentation Railo 3.1
Railo Presentation Railo 3.1
 
System Integrity
System IntegritySystem Integrity
System Integrity
 
TechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityTechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching Programmability
 
Influx db talk-20150415
Influx db talk-20150415Influx db talk-20150415
Influx db talk-20150415
 
AMF Testing Made Easy! DeepSec 2012
AMF Testing Made Easy! DeepSec 2012AMF Testing Made Easy! DeepSec 2012
AMF Testing Made Easy! DeepSec 2012
 
Laurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus PresentationLaurens Van Den Oever Xopus Presentation
Laurens Van Den Oever Xopus Presentation
 
Azure deployments and ARM templates
Azure deployments and ARM templatesAzure deployments and ARM templates
Azure deployments and ARM templates
 
LINQ to XML
LINQ to XMLLINQ to XML
LINQ to XML
 
Rit 2011 ats
Rit 2011 atsRit 2011 ats
Rit 2011 ats
 

Último

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Último (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

XReplicator

  • 1. Developers: Burmak AlexanderMirov YuriyKovalev Igor Trainer: Alexeev Peter XAM XReplicator project
  • 2. Contents About XAM Technology Why replication? What we’ve done Architecture XReplicator library XUtility Demonstration Resources
  • 3. About XAM Technology eXtensible Access Method Technology providing a unified interface between applications and storage systems Industry standard API for Fixed Content Aware Storage Makes developers independent from hardware Easy migration between storages and applications
  • 4. Why replication? Benefits of data replication Reliability Accessibility Performance Security Shortage of analogues of client applications for XAM Storage Systems replication
  • 5. What we’ve done XReplicator library, which enables XAM storages replication XUtility, which uses XReplicator API and provides console user interface XOnce, a Domain-Specified Language to make easy query to storage
  • 7. XReplicator library Replication – use RBaseAlgorithm or algorithm from third-party developers XSystems collection manipulation Direction of replication – mode parameter (in, out, inout) Constraint for XSystem synchronization data: XAM Query Set of XUID Configuration (XConfig) Logging
  • 8. Replication – RBaseAlgorithm Uses replication history (state of storage after replication) Serialization/Deserialization to/from file Uses XAM import/export mechanism Solves “dirty” commit time problem Saves timeCommit and timeSynchronize parameters Solves conflicts of similar XSets Supports XReplicator modes and constraints
  • 9. Logger Logs information about replication, exceptions and configuration changes Logs statistics about replication Two types of log format: XML Simple Supports log levels Log entry content – time, method, level, message Uses proxy-classes for incapsulation Log file(s) settings – path, append, size limit , count
  • 10. XReplicator API architecture XConfig RAlgorithm XReplicator factory XHashSet InvocationHandler XReplicator XReplicator Module (Guice) XAM
  • 11. XUtility features Remote control Banning enabled Multiple connections Scripting Reading text file with XUtility commands and executing it (like a command language) Program args enabled (e.g. for third party planners) Encrypt Blowfish encryption Corporate security raise Out of the box planner for replication
  • 12. XUtility features Multithreading Every command runs in a different thread Enabled background threads (e.g remote control, planner) Commands to manage threads (e.g monitor, kill) Extensibility Dynamic plugins loading enabled (plugin = simple impl. of XOperation)
  • 13. XUtility architecture Parameters XOp. Thread XOp. Thread Plugin 1 Plugin N XOperation Collector XUtility Operation Set XReplicator Thread Set XAM
  • 14. XOnce features Implements XAM Query Similar SQL Uses MPS Flexible Saves time
  • 15. XOnce in action XOnceAPI Select from myXSystem where "my.field" < 5 to myCollection XAM API XSet query = myXSystem.createXSet(XSet.MODE_RESTRICTED); query.createProperty(XSet.XAM_JOB_COMMAND, false, XSet.XAM_JOB_QUERY); XStreamqueryStream = query.createXStream( XSet.XAM_JOB_QUERY_COMMAND, false, XAMLibrary.TEXT_PLAIN_MIME_TYPE); queryStream.write ("select quot;.xset.xuidquot; where quot;my.fieldquot; < 5”.getBytes()); queryStream.close(); query.submitJob(); boolean finished = false; while (!finished) { if (query.containsField(XSet.XAM_JOB_ERROR)) if (query.getString(XSet.XAM_JOB_ERRORHEALTH).equals XSet.XAM_JOB_ERRORHEALTH_ERROR)) { query.haltJob(); throw new QueryException(); } if (query.getString(XSet.XAM_JOB_STATUS).equals (XSet.XAM_JOB_STATUS_COMPLETE)) { finished = true; } } //.........
  • 17. Resources www.snia.org – XAM 1.0.1 developer.emc.com – Many help about XAM groups.google.com/groups/xam-developers-group – Many help too code.google.com/p/google-guice/ – GuiceIoC and DI www.jetbrains.com/mps/ – MPS. Needed to create DSL XOnce maven.apache.org – Maven build manager www.junit.org – Unit tests
  • 18. XReplicaton on Open Source XReplicator.sourceforge.net
  • 19. Thank you for attention! Questions?