10 domino integration
TRANSCRIPT
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!