SlideShare une entreprise Scribd logo
1  sur  13
Domino Integration
The Goal
• “Native-like” replication with Domino
– Two-way
– Creation and modification times intact
– Shared UNIDs (when compatible)
– High data fidelity
• A few caveats:
– Rich text is converted to MIME (XPage-style)
– Esoteric data types (COLLATION, HIGHLIGHTS, etc.) are ignored
• There may be a future option for binary/Base64 replication
Side Topic: Darwino Replicators
• The Domino replicator is an example of any number of possible third-party
connectors
• Darwino replication is intended to be generic and adaptable: all that’s
needed is for a server component to respond to HTTP requests in the
expected way
• Domino’s data similarity to Darwino happens to make it (sort of)
straightforward, but any data expressable as documents could be replicated
bidirectionally with Darwino
Sync Admin Database
Sync Admin Database
• Low-dependency XPages application
– Not flashy, but it keeps compatibility high
• NSF stores:
– Overall configuration
– Database adapters
– Scheduled replicators
– Replication history stubs
Database Adapters
• Adapters control the
translation of NSF notes
to JSON and back
• Written in a Groovy DSL
Database Adapters
• Adapters define:
– The NSF to connect to
– The Darwino store
information
– Forms and fields to
adapt
– Translations
Database Adapters (Cont’d)
• By default, an empty DSL will do a “best match” conversion of documents
– Does not enforce any consistency between documents
• The “Generate From Database” action inspects a specified database and
generates a first-pass DSL from it
– A generated DSL from a database will create its “schema” based on the forms in
the database, not the document data
• Since adapters are written in Groovy, any JVM classes can be used
• For advanced cases, adapters can be deployed via a plugin, either as Groovy
or as Java
Replication Service
• Controls replication
pushed from Domino to
Darwino
• Shows status of active
replications
Replication Service
• Connections are similar
to names.nsf
connections
• Can combine multiple
replicators per
scheduled connection
Darwino-Pushed Replication
• Replication can also be configured in the Darwino application, rather than
pushed from Domino
• To Darwino, the Domino server looks like just another Darwino server - the
adapter plugins provide API-compatible REST services
• This is the original way and may be preferred in situations where Domino
does not have direct access to the JDBC data store
• Newly-created Darwino apps have the code necessary for this commented
out with descriptions in the JEE project
Connection Beans
• Configures Darwino
JDBC beans
• Similar to standard
JDBC configuration
• Can also be configured
in darwino-beans.xml
Thank you for your attention!

Contenu connexe

Tendances

CouchDB Talk JChris NYC
CouchDB Talk JChris NYCCouchDB Talk JChris NYC
CouchDB Talk JChris NYC
Chris Anderson
 
NSF to PST Converter
NSF to PST ConverterNSF to PST Converter
NSF to PST Converter
colleenlopez
 

Tendances (20)

Espresso - Shahnawaz Saifi & Kiran Chand - DevOps Bangalore meetup March 28...
Espresso -  Shahnawaz Saifi & Kiran Chand  - DevOps Bangalore meetup March 28...Espresso -  Shahnawaz Saifi & Kiran Chand  - DevOps Bangalore meetup March 28...
Espresso - Shahnawaz Saifi & Kiran Chand - DevOps Bangalore meetup March 28...
 
Introduction about Mongo DB for Beginners
Introduction about Mongo DB for Beginners Introduction about Mongo DB for Beginners
Introduction about Mongo DB for Beginners
 
Office Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van HorenbeeckOffice Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van Horenbeeck
 
World Wide Web
World Wide WebWorld Wide Web
World Wide Web
 
UWP apps development - Part 3
UWP apps development - Part 3UWP apps development - Part 3
UWP apps development - Part 3
 
[WSO2Con EU 2017] File Processing and Websockets with Ballerina
[WSO2Con EU 2017] File Processing and Websockets with Ballerina[WSO2Con EU 2017] File Processing and Websockets with Ballerina
[WSO2Con EU 2017] File Processing and Websockets with Ballerina
 
CouchDB Talk JChris NYC
CouchDB Talk JChris NYCCouchDB Talk JChris NYC
CouchDB Talk JChris NYC
 
Understanding and building big data Architectures - NoSQL
Understanding and building big data Architectures - NoSQLUnderstanding and building big data Architectures - NoSQL
Understanding and building big data Architectures - NoSQL
 
Ftp connector
Ftp connectorFtp connector
Ftp connector
 
Introduction to Apache HBase
Introduction to Apache HBaseIntroduction to Apache HBase
Introduction to Apache HBase
 
Web subjects
Web subjectsWeb subjects
Web subjects
 
Not your dad's h base new
Not your dad's h base newNot your dad's h base new
Not your dad's h base new
 
Webttl
WebttlWebttl
Webttl
 
Alfresco Day Roma 2015: Full Stack Load Testing
Alfresco Day Roma 2015: Full Stack Load TestingAlfresco Day Roma 2015: Full Stack Load Testing
Alfresco Day Roma 2015: Full Stack Load Testing
 
HBase Introduction
HBase IntroductionHBase Introduction
HBase Introduction
 
Hadoop introduction
Hadoop introductionHadoop introduction
Hadoop introduction
 
A Bird and the Web
A Bird and the WebA Bird and the Web
A Bird and the Web
 
No sql databases
No sql databasesNo sql databases
No sql databases
 
NSF to PST Converter
NSF to PST ConverterNSF to PST Converter
NSF to PST Converter
 
PHP Training: Module 1
PHP Training: Module 1PHP Training: Module 1
PHP Training: Module 1
 

En vedette

Space mouse sameer kumar telikicherla
Space mouse   sameer kumar telikicherlaSpace mouse   sameer kumar telikicherla
Space mouse sameer kumar telikicherla
Sameer Telikicherla
 

En vedette (20)

IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
 
05 darwino db
05   darwino db05   darwino db
05 darwino db
 
SFD 2014: Multiplatform App Development with Migeran
SFD 2014: Multiplatform App Development with MigeranSFD 2014: Multiplatform App Development with Migeran
SFD 2014: Multiplatform App Development with Migeran
 
Migeran Tech Talk at Prezi HQ
Migeran Tech Talk at Prezi HQMigeran Tech Talk at Prezi HQ
Migeran Tech Talk at Prezi HQ
 
06 web applications
06   web applications06   web applications
06 web applications
 
15 darwino script & command line
15   darwino script & command line15   darwino script & command line
15 darwino script & command line
 
09 business apis
09   business apis09   business apis
09 business apis
 
Migeran: iOS Apps in Java at Budapest New Tech Meetup
Migeran: iOS Apps in Java at Budapest New Tech MeetupMigeran: iOS Apps in Java at Budapest New Tech Meetup
Migeran: iOS Apps in Java at Budapest New Tech Meetup
 
07 darwino rest services
07   darwino rest services07   darwino rest services
07 darwino rest services
 
02 configuration
02   configuration02   configuration
02 configuration
 
01 introduction to darwino
01   introduction to darwino01   introduction to darwino
01 introduction to darwino
 
Cooking Eclipse Plugins with BDD, Cucumber, SWTBot and Tycho
Cooking Eclipse Plugins with BDD, Cucumber, SWTBot and TychoCooking Eclipse Plugins with BDD, Cucumber, SWTBot and Tycho
Cooking Eclipse Plugins with BDD, Cucumber, SWTBot and Tycho
 
Multi-OS Engine Technology Overview
Multi-OS Engine Technology OverviewMulti-OS Engine Technology Overview
Multi-OS Engine Technology Overview
 
MOE: Cross Platform Mobile Apps in Java
MOE: Cross Platform Mobile Apps in JavaMOE: Cross Platform Mobile Apps in Java
MOE: Cross Platform Mobile Apps in Java
 
Cross-Platform Native Apps in Java (budapest.mobile)
Cross-Platform Native Apps in Java (budapest.mobile)Cross-Platform Native Apps in Java (budapest.mobile)
Cross-Platform Native Apps in Java (budapest.mobile)
 
04 darwino concepts and utility classes
04   darwino concepts and utility classes04   darwino concepts and utility classes
04 darwino concepts and utility classes
 
MWLUG 2016 - AD106
MWLUG 2016 - AD106MWLUG 2016 - AD106
MWLUG 2016 - AD106
 
Space mouse sameer kumar telikicherla
Space mouse   sameer kumar telikicherlaSpace mouse   sameer kumar telikicherla
Space mouse sameer kumar telikicherla
 
Space mouse
Space mouseSpace mouse
Space mouse
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similaire à 10 domino integration

Drill architecture 20120913
Drill architecture 20120913Drill architecture 20120913
Drill architecture 20120913
jasonfrantz
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
Don Demcsak
 
MongoDB at eBay
MongoDB at eBayMongoDB at eBay
MongoDB at eBay
MongoDB
 

Similaire à 10 domino integration (20)

MongoDB
MongoDBMongoDB
MongoDB
 
HDFS_architecture.ppt
HDFS_architecture.pptHDFS_architecture.ppt
HDFS_architecture.ppt
 
Drill architecture 20120913
Drill architecture 20120913Drill architecture 20120913
Drill architecture 20120913
 
MongoDB
MongoDBMongoDB
MongoDB
 
Got documents?
Got documents?Got documents?
Got documents?
 
Database and Java Database Connectivity
Database and Java Database ConnectivityDatabase and Java Database Connectivity
Database and Java Database Connectivity
 
Got documents Code Mash Revision
Got documents Code Mash RevisionGot documents Code Mash Revision
Got documents Code Mash Revision
 
Solving Your Backup Needs Using MongoDB Ops Manager, Cloud Manager and Atlas
Solving Your Backup Needs Using MongoDB Ops Manager, Cloud Manager and AtlasSolving Your Backup Needs Using MongoDB Ops Manager, Cloud Manager and Atlas
Solving Your Backup Needs Using MongoDB Ops Manager, Cloud Manager and Atlas
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
 
MongoDB.local Austin 2018: Solving Your Backup Needs Using MongoDB Ops Manage...
MongoDB.local Austin 2018: Solving Your Backup Needs Using MongoDB Ops Manage...MongoDB.local Austin 2018: Solving Your Backup Needs Using MongoDB Ops Manage...
MongoDB.local Austin 2018: Solving Your Backup Needs Using MongoDB Ops Manage...
 
MongoDB.local DC 2018: Solving Your Backup Needs Using MongoDB Ops Manager, C...
MongoDB.local DC 2018: Solving Your Backup Needs Using MongoDB Ops Manager, C...MongoDB.local DC 2018: Solving Your Backup Needs Using MongoDB Ops Manager, C...
MongoDB.local DC 2018: Solving Your Backup Needs Using MongoDB Ops Manager, C...
 
The Dev-Admin Chimera: Customising Connections (with Gab Davis)
The Dev-Admin Chimera: Customising Connections (with Gab Davis)The Dev-Admin Chimera: Customising Connections (with Gab Davis)
The Dev-Admin Chimera: Customising Connections (with Gab Davis)
 
Hadoop training in bangalore
Hadoop training in bangaloreHadoop training in bangalore
Hadoop training in bangalore
 
What We Wish We Had Known: Becoming an IBM Connections Administrator
What We Wish We Had Known: Becoming an IBM Connections AdministratorWhat We Wish We Had Known: Becoming an IBM Connections Administrator
What We Wish We Had Known: Becoming an IBM Connections Administrator
 
NoSQL and MongoDB
NoSQL and MongoDBNoSQL and MongoDB
NoSQL and MongoDB
 
Cloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation inCloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation in
 
MongoDB 2.4 and spring data
MongoDB 2.4 and spring dataMongoDB 2.4 and spring data
MongoDB 2.4 and spring data
 
Introduction to Hadoop Administration
Introduction to Hadoop AdministrationIntroduction to Hadoop Administration
Introduction to Hadoop Administration
 
Scylla Summit 2016: Compose on Containing the Database
Scylla Summit 2016: Compose on Containing the DatabaseScylla Summit 2016: Compose on Containing the Database
Scylla Summit 2016: Compose on Containing the Database
 
MongoDB at eBay
MongoDB at eBayMongoDB at eBay
MongoDB at eBay
 

Plus de darwinodb

Plus de darwinodb (7)

17 open ntf-v30-darwinoorg
17   open ntf-v30-darwinoorg17   open ntf-v30-darwinoorg
17 open ntf-v30-darwinoorg
 
16 endeavour reporter
16   endeavour reporter16   endeavour reporter
16 endeavour reporter
 
14 integrating watson services
14   integrating watson services14   integrating watson services
14 integrating watson services
 
13 deploying cloud applications
13   deploying cloud applications13   deploying cloud applications
13 deploying cloud applications
 
12 ibm connections integration
12   ibm connections integration12   ibm connections integration
12 ibm connections integration
 
11 advanced replication
11   advanced replication11   advanced replication
11 advanced replication
 
08 mobile development
08   mobile development08   mobile development
08 mobile development
 

Dernier

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Dernier (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

10 domino integration

  • 2. The Goal • “Native-like” replication with Domino – Two-way – Creation and modification times intact – Shared UNIDs (when compatible) – High data fidelity • A few caveats: – Rich text is converted to MIME (XPage-style) – Esoteric data types (COLLATION, HIGHLIGHTS, etc.) are ignored • There may be a future option for binary/Base64 replication
  • 3. Side Topic: Darwino Replicators • The Domino replicator is an example of any number of possible third-party connectors • Darwino replication is intended to be generic and adaptable: all that’s needed is for a server component to respond to HTTP requests in the expected way • Domino’s data similarity to Darwino happens to make it (sort of) straightforward, but any data expressable as documents could be replicated bidirectionally with Darwino
  • 5. Sync Admin Database • Low-dependency XPages application – Not flashy, but it keeps compatibility high • NSF stores: – Overall configuration – Database adapters – Scheduled replicators – Replication history stubs
  • 6. Database Adapters • Adapters control the translation of NSF notes to JSON and back • Written in a Groovy DSL
  • 7. Database Adapters • Adapters define: – The NSF to connect to – The Darwino store information – Forms and fields to adapt – Translations
  • 8. Database Adapters (Cont’d) • By default, an empty DSL will do a “best match” conversion of documents – Does not enforce any consistency between documents • The “Generate From Database” action inspects a specified database and generates a first-pass DSL from it – A generated DSL from a database will create its “schema” based on the forms in the database, not the document data • Since adapters are written in Groovy, any JVM classes can be used • For advanced cases, adapters can be deployed via a plugin, either as Groovy or as Java
  • 9. Replication Service • Controls replication pushed from Domino to Darwino • Shows status of active replications
  • 10. Replication Service • Connections are similar to names.nsf connections • Can combine multiple replicators per scheduled connection
  • 11. Darwino-Pushed Replication • Replication can also be configured in the Darwino application, rather than pushed from Domino • To Darwino, the Domino server looks like just another Darwino server - the adapter plugins provide API-compatible REST services • This is the original way and may be preferred in situations where Domino does not have direct access to the JDBC data store • Newly-created Darwino apps have the code necessary for this commented out with descriptions in the JEE project
  • 12. Connection Beans • Configures Darwino JDBC beans • Similar to standard JDBC configuration • Can also be configured in darwino-beans.xml
  • 13. Thank you for your attention!