SlideShare a Scribd company logo
DEV-1430 Give a New Life to Your Notes/Domino Applications
and Leverage IBM Bluemix, Watson, & Connections
Disclaimer
2
• Some of the techniques exposed in the session might not be documented by
IBM and thus do engage IBM in anyway
• Some of these techniques might not work after an upgrade of either IBM
Connections cloud or IBM Connections on premises
• USE OF THIS INFORMATION IS ENTIRELY AT YOUR OWN RISK.
TRILOGGROUP AND DARWINO INC BEAR NO RESPONSIBILITY FOR
THE CONSEQUENCES OF RELIANCE ON, OR ANY INACCURACY IN,
ANY INFORMATION CONTAINED IN OR SUBMITTED TO THIS SITE.
THESE MATERIALS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESS OR IMPLIED.
About the Speakers
3
• Jesse Gallagher
CTO of I Know Some Guys
Board Member of OpenNTF
• Philippe Riand
CTO of Trilog Group & Darwino Inc.
Former application development chief architect for
IBM Collaboration Services
Chief architect, and inventor, of IBM Domino
XPages
Who Are We?
4
• Darwino is an application development platform targeting mobile, cloud, and IoT
Darwino is well-integrated with IBM platforms, including IBM Connections, IBM
Domino, IBM Bluemix and IBM Watson
darwino.org, a branch of OpenNTF, is the open source organization
providing the Connections integration code shown in this session
We are in the showcase, booth 630
Objectives of the Session
5
• Explain the Darwino architecture
• Demonstrate how Darwino can be used in several common
modernization/extension use cases
Reporting
Modernization of an existing Domino app
Mobile apps with offline use
Integrations/extensions with other platforms
Darwino Architecture
6
Darwino in a Nutshell
A distributed app-development platform for the rapid creation of collaborative
applications (primarily Mobile, Cloud and IOT).
Facilitates focus on the application logic
Encapsulates services within comprehensive and portable APIs
Incorporates an advanced JSON document store (atop of RDBMS), both
mobile and server
Enables synchronization (aka, replication) from Enterprise systems and
provides a seamless offline capability on devices
Java-based, and uses familiar constructs
Use the UI technology and tools you know and want to use
Darwino DB – JSON Document Store
NoSQL, JSON document store with binary attachments
Advanced query capabilities
Native multi-tenant, integrated social features…
Two way replication mechanism
Supports Domino-style capabilities
Response documents, document based security…
Granular security model, down to the document level
Implemented on top of existing relational databases
Takes advantage of the existing RDBMS features
Supports JSON natively
Fully transactional, performance and scalability
Full SQL Queries
Compatible with all the Business Intelligence – Reporting tools
IBM Connect 2017 - Hackathon
9
We won the Hackathon Monday with a Darwino Application
In less than 6 hours, we created an application:
Deployed on IBM Bluemix
Web Application Server, Database…
Fully integrated in IBM Connections Cloud
Authentication, APIs, Community application…
Integrated with IBM Watson Workspace
Created a bot
Provided a mobile experience on top of the web one
Includes offline capability for the Data
IBM Connect 2017 - Hackathon
10
The team was made of 10 people with different skills
No one had experience with Darwino beyond me!
But I did not code myself
We picked up the technologies/tools already known
by the team members
UI – Bootstrap/Sass, ReactJS, Node.js, Atom
Backend – Java, Eclipse
Mobile – Android SDK
Administration – Bluemix, Connections Cloud. IBM Eclipse Bluemix plugin
Github
Slack
Darwino Applied to Domino
Refresh and Extends your Domino Applications
11
Darwino Applied to Domino
Darwino/Domino Replication
13
“Native-like” replication with Domino
Two-way
Creation and modification times and replication data (sequence ID) intact
Shared UNIDs (when compatible)
High data fidelity
Customizable data translation
High performance via C API
Maintains the security model
The database ACL is replicated from Domino and applied to the Darwino DB
It maintains the readers/authors fields
Use Case #1: Reporting and Business Intelligence
Get the value out of your Domino data
14
Reporting on Domino Data? Really?
15
Reporting has always been a weakness for Domino
No standard data API consumable by market tools
Very limited query capabilities
But Darwino now makes it possible, because the data is replicated within an
RDBMS
The JSON content is leveraging the native RDBMS type
Easy to create SQL views, and other artifacts, dedicated to reporting
The Darwino DB can act as a data warehouse, replicated real time with
Domino
Endeavour Reporter
Reporting tool developed in conjunction with Construction Management
Systems in Arkansas, US
Designed based on their production needs, previously filled by DomSQL
Built to address the very common need of Domino shops to do SQL-style
reporting with standardized tools
Streamlines the process of creating Darwino tables in a SQL server and
replicating over the data
The data can then be queried directly via PostgreSQL’s native JSON
syntax or via the created views
For further information, contact Jerry Horani - jhorani@vccusa.com
Endeavour Reporter
Use Case #2: App Conversion
18
Give a new life to your existing applications
The Value of Darwino to Domino Applications
19
Make your existing applications match the current user expectations
Keep Domino apps untouched (keeps data in Domino and leverages existing
business logic, while incrementally enhancing the Darwino app
Reuse existing assets and skills on top of ‘state of the art’ technologies
Developers feel ‘at home’ right from the beginning
Removes many existing Domino barriers (skills, performance, scalability,
capabilities…)
Use the best technologies, based on your skills, needs, and desires…
Provides seamless integration with social services
The Darwino Development Experience
20
Darwino is independent from the development environment
Works with most popular IDEs, including Eclipse
But command line can also be used
Leverages the existing toolkits, like Android SDK or MOE
Delivered as a maven tree of artifact, and OSGi plugins
Darwino Studio is a set of Eclipse tools to simplify development and integration
Develop for all the platforms from one single IDE
Features an application wizard to get started with a few clicks
Provides a UI code generator
Import the data model from external data sources like Domino
Example App: frostillic.us Blog
Existing app is a soup-to-nuts XPages application
The data is classic Domino: parent/response documents, categorized views,
reader/author security
It already went through one migration from WordPress data
21
Demo
22
Use Case #3: Mobile, Offline-Enabled Apps
Android, iOS, and Desktop
23
Offline Mobile Access
Mobile devices share the same database and business logic
Apps work offline, ”Notes client” style
Use the same application in airplane mode, replicate up afterwards
The data could then replicate back to the Domino database
Target Android, iOS (via Multi-OS Engine), and desktop (via SWT)
Example: Discussion DB
Example application that:
• Replicates with Domino
• Supports instances
• Has UIs for each platform
25
Use Case #4: Integrations
Integrate with the broader IBM Platform
26
Darwino+Bluemix
Bluemix is a perfect spot for Darwino application
Provides a JEE server and relational databases (DB2, Postgresql…)
Darwino JEE applications deploy smoothly to WebSphere Liberty locally
and on Bluemix
No special coding required
Darwino will detect the Bluemix runtime and find the configuration options
(database, authentication…)
Initial support for syncing data to DashDB for reporting
Darwino+Connections
28
Seamlessly integrates with IBM Connections both on-premises and cloud
Use IBM Connections as a directory of users
Built-in OAuth support
Access all the Connections services through API helpers
Support for automatically detecting a surrounding Connections Community and
storing data in a unique instance
Support for determining user roles from the surrounding Community
And apply role based security
Darwino+Watson
29
Darwino includes bean-compatible wrappers for the Watson Java API
The Watson result data is JSON, and so can be stored natively anywhere
within a Darwino document
The Social Analyzer does this to include Watson results in documents
that are then queryable directly
<bean name="toneAnalyzerFactory" class="com.darwino.ibm.watson.ToneAnalyzerFactory">
<property name="url">https://gateway.watsonplatform.net/tone-analyzer/api</property>
<property name="user">${socialanalyzer.toneAnalyzer.user}</property>
<property name="password">${socialanalyzer.toneAnalyzer.password}</property>
</bean>
Example Application: Social Analyzer
Available on OpenNTF
Demonstrates integration with
Connections Cloud, Watson, Twitter,
DashDB on Bluemix, and Domino
Runs standalone or embedded in
Connections
Community-based instances and
roles
30
Runner-up in the ICS Worldwide Developer Competition
App Development Story
What Modernizing with Darwino Brings to the Table
31
Things Impractical or “Technically Possible” with Domino
Use Case 1: Reporting
Essentially requires an extra tool, and most have severe limitations
Use Case 2: App Conversion
Modern apps can be written on Domino, but it’s swimming
upstream: wrangling libraries, working around limitations
Use Case 3: Offline Mobile Access
Can’t be done out of the box
Use Case 4: Integrations
Most involve significant extra work to emulate things much easier
in Darwino
32
The Work You Don’t Have To Do
Standard dev toolchain:
Easily consume third-party dependencies
Modern web server technologies
Built client-side apps or use any Java-compatible framework
Modern client tooling (easy to use npm, bower, etc.)
Straightforward building with Jenkins, etc.
State-of-the-art technologies with active developer communities
33
The Work You Don’t Have To Do
Darwino-provided:
Cross-platform deployment
Web, desktop, iOS, and Android
Shared UI or native-tailored to each
Consistent data layer and business logic
Including common utility library and services framework to build upon
Advanced NoSQL data store with SQL benefits
Built-in integrations with common environments
34
35 2/24/2017
Q&A - Thank you

More Related Content

PDF
DEV-1430 IBM Connections Integration
PDF
Presenting Data – An Alternative to the View Control
PDF
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
PPTX
Big Data With Graphs
PPT
Training on webwroks1
PDF
The Notes/Domino Application Development Competitive Advantage - IamLUG
PDF
Show110 | Using the XPages Extension Library for the Real World
PDF
Hands On With OpenSocial and Embedded Experiences
DEV-1430 IBM Connections Integration
Presenting Data – An Alternative to the View Control
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Big Data With Graphs
Training on webwroks1
The Notes/Domino Application Development Competitive Advantage - IamLUG
Show110 | Using the XPages Extension Library for the Real World
Hands On With OpenSocial and Embedded Experiences

What's hot (20)

PPT
Developing Java Web Applications
PPT
Java Development on Bluemix
ODP
JMP102 Extending Your App Arsenal With OpenSocial
PPTX
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
ODP
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
PDF
Using Cool New Frameworks in (Mobile) Domino Apps
ODP
JMP103 : Extending Your App Arsenal With OpenSocial
PDF
RIM Casual Meetup - Bandung #DevIDBdg
PDF
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
PPT
Engage - Expanding XPages with Bootstrap Plugins for ultimate usability
PPTX
BlackBerry WebWorks
PDF
Understanding Docker and IBM Bluemix Container Service
PPTX
Hybrid Mobile Development with Apache Cordova and
PDF
Cordova 3, apps para android
PDF
EVOLVE'14 | Enhance | Anshul Chhabra & Akhil Aggrawal | Cisco - AEM High Avai...
ODP
IBM Connect2014 JMP106
PDF
Xcc layout-options
PDF
App.Next - The Future of Domino Application Development
PPTX
Web Apps atop a Content Repository
PDF
Uklug 2011 client management
Developing Java Web Applications
Java Development on Bluemix
JMP102 Extending Your App Arsenal With OpenSocial
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Using Cool New Frameworks in (Mobile) Domino Apps
JMP103 : Extending Your App Arsenal With OpenSocial
RIM Casual Meetup - Bandung #DevIDBdg
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage - Expanding XPages with Bootstrap Plugins for ultimate usability
BlackBerry WebWorks
Understanding Docker and IBM Bluemix Container Service
Hybrid Mobile Development with Apache Cordova and
Cordova 3, apps para android
EVOLVE'14 | Enhance | Anshul Chhabra & Akhil Aggrawal | Cisco - AEM High Avai...
IBM Connect2014 JMP106
Xcc layout-options
App.Next - The Future of Domino Application Development
Web Apps atop a Content Repository
Uklug 2011 client management
Ad

Viewers also liked (20)

PPTX
IBM Connect 2017 - Beyond Domino Designer
PDF
OpenNTF Domino API (ODA): Super-Charging Domino Development
PDF
IBM Connect 2017: Refresh and Extend IBM Domino Applications
PPTX
One Firm's Wild Ride to The Cloud
ODP
XPages is Workflow's new best friend
PDF
GraphQL 101
PPTX
DEV-1129 How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Rea...
PDF
DEV-1185: IBM Notes Performance Boost - Reloaded – IBM Connect 2017
PDF
DEV-1550: Why Java 8? Or, What's a Lambda? – IBM Connect 2017
PDF
Connect 2017 DEV-1420 - Blue Mix and Domino – Complementing Smartcloud
PDF
Socialytics: Accelerating IBM Connections Adoption with Watson Analytics
PDF
Your App Deserves More – The Art of App Modernization
PDF
18+ Ways To Help Clients Love You
PDF
IBM Notes Performance Boost - Reloaded (DEV-1185)
PDF
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
PDF
Agile and continuous delivery – How IBM Watson Workspace is built
PDF
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
PDF
IBM Presents the IBM Notes and Domino Roadmap
PPTX
AnDevCon: Introduction to Darwino
PPTX
Humanización del software
IBM Connect 2017 - Beyond Domino Designer
OpenNTF Domino API (ODA): Super-Charging Domino Development
IBM Connect 2017: Refresh and Extend IBM Domino Applications
One Firm's Wild Ride to The Cloud
XPages is Workflow's new best friend
GraphQL 101
DEV-1129 How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Rea...
DEV-1185: IBM Notes Performance Boost - Reloaded – IBM Connect 2017
DEV-1550: Why Java 8? Or, What's a Lambda? – IBM Connect 2017
Connect 2017 DEV-1420 - Blue Mix and Domino – Complementing Smartcloud
Socialytics: Accelerating IBM Connections Adoption with Watson Analytics
Your App Deserves More – The Art of App Modernization
18+ Ways To Help Clients Love You
IBM Notes Performance Boost - Reloaded (DEV-1185)
IBM Connect 2017: Back from the Dead: When Bad Code Kills a Good Server
Agile and continuous delivery – How IBM Watson Workspace is built
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Presents the IBM Notes and Domino Roadmap
AnDevCon: Introduction to Darwino
Humanización del software
Ad

Similar to DEV-1467 - Darwino (20)

PPTX
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
PPTX
Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10
PDF
Microsoft Azure Overview Infographic
PPTX
01 introduction to darwino
PPTX
Bluemix overview - UK WebSphere Integration User Group
PPTX
Android platform
PDF
Convertigo Mobility Platform | Mobile Application Development for Enterprises...
PPTX
Mobile Apps Develpment - A Comparison
PDF
OPEN SOURCE TECHNOLOGY: Docker Containers on IBM Bluemix
DOCX
Ibm bluemix
PDF
D-DAY 2015 Hybrid Cloud IBM
PDF
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
PDF
Cloud Native Patterns with Bluemix Developer Console
PPTX
App Development Evolution: What has changed?
PPTX
The App Evolution
PDF
InterConnect 2015: 3962 Docking DevOps
PDF
IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)
DOC
Abhilash_Documentum
DOC
Abhilash_Documentum
PDF
Introduction to Bluemix and Watson
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10
Microsoft Azure Overview Infographic
01 introduction to darwino
Bluemix overview - UK WebSphere Integration User Group
Android platform
Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Mobile Apps Develpment - A Comparison
OPEN SOURCE TECHNOLOGY: Docker Containers on IBM Bluemix
Ibm bluemix
D-DAY 2015 Hybrid Cloud IBM
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Cloud Native Patterns with Bluemix Developer Console
App Development Evolution: What has changed?
The App Evolution
InterConnect 2015: 3962 Docking DevOps
IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)
Abhilash_Documentum
Abhilash_Documentum
Introduction to Bluemix and Watson

More from Jesse Gallagher (7)

PPTX
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
PPTX
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
PPTX
OpenNTF Webinar May 2021 - Jesse
PPTX
CollabSphere 2020 - NSF ODP Tooling
PPTX
Engage 2019 - De04. Java with Domino After XPages
PPTX
CollabSphere 2018 - Java in Domino After XPages
PPTX
MWLUG 2016 - AD106
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
OpenNTF Webinar May 2021 - Jesse
CollabSphere 2020 - NSF ODP Tooling
Engage 2019 - De04. Java with Domino After XPages
CollabSphere 2018 - Java in Domino After XPages
MWLUG 2016 - AD106

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
Teaching material agriculture food technology
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
A Presentation on Artificial Intelligence
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Approach and Philosophy of On baking technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
KodekX | Application Modernization Development
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
MYSQL Presentation for SQL database connectivity
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Diabetes mellitus diagnosis method based random forest with bat algorithm
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Teaching material agriculture food technology
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
A Presentation on Artificial Intelligence
NewMind AI Monthly Chronicles - July 2025
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Approach and Philosophy of On baking technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
KodekX | Application Modernization Development
Digital-Transformation-Roadmap-for-Companies.pptx
Understanding_Digital_Forensics_Presentation.pptx
MYSQL Presentation for SQL database connectivity

DEV-1467 - Darwino

  • 1. DEV-1430 Give a New Life to Your Notes/Domino Applications and Leverage IBM Bluemix, Watson, & Connections
  • 2. Disclaimer 2 • Some of the techniques exposed in the session might not be documented by IBM and thus do engage IBM in anyway • Some of these techniques might not work after an upgrade of either IBM Connections cloud or IBM Connections on premises • USE OF THIS INFORMATION IS ENTIRELY AT YOUR OWN RISK. TRILOGGROUP AND DARWINO INC BEAR NO RESPONSIBILITY FOR THE CONSEQUENCES OF RELIANCE ON, OR ANY INACCURACY IN, ANY INFORMATION CONTAINED IN OR SUBMITTED TO THIS SITE. THESE MATERIALS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED.
  • 3. About the Speakers 3 • Jesse Gallagher CTO of I Know Some Guys Board Member of OpenNTF • Philippe Riand CTO of Trilog Group & Darwino Inc. Former application development chief architect for IBM Collaboration Services Chief architect, and inventor, of IBM Domino XPages
  • 4. Who Are We? 4 • Darwino is an application development platform targeting mobile, cloud, and IoT Darwino is well-integrated with IBM platforms, including IBM Connections, IBM Domino, IBM Bluemix and IBM Watson darwino.org, a branch of OpenNTF, is the open source organization providing the Connections integration code shown in this session We are in the showcase, booth 630
  • 5. Objectives of the Session 5 • Explain the Darwino architecture • Demonstrate how Darwino can be used in several common modernization/extension use cases Reporting Modernization of an existing Domino app Mobile apps with offline use Integrations/extensions with other platforms
  • 7. Darwino in a Nutshell A distributed app-development platform for the rapid creation of collaborative applications (primarily Mobile, Cloud and IOT). Facilitates focus on the application logic Encapsulates services within comprehensive and portable APIs Incorporates an advanced JSON document store (atop of RDBMS), both mobile and server Enables synchronization (aka, replication) from Enterprise systems and provides a seamless offline capability on devices Java-based, and uses familiar constructs Use the UI technology and tools you know and want to use
  • 8. Darwino DB – JSON Document Store NoSQL, JSON document store with binary attachments Advanced query capabilities Native multi-tenant, integrated social features… Two way replication mechanism Supports Domino-style capabilities Response documents, document based security… Granular security model, down to the document level Implemented on top of existing relational databases Takes advantage of the existing RDBMS features Supports JSON natively Fully transactional, performance and scalability Full SQL Queries Compatible with all the Business Intelligence – Reporting tools
  • 9. IBM Connect 2017 - Hackathon 9 We won the Hackathon Monday with a Darwino Application In less than 6 hours, we created an application: Deployed on IBM Bluemix Web Application Server, Database… Fully integrated in IBM Connections Cloud Authentication, APIs, Community application… Integrated with IBM Watson Workspace Created a bot Provided a mobile experience on top of the web one Includes offline capability for the Data
  • 10. IBM Connect 2017 - Hackathon 10 The team was made of 10 people with different skills No one had experience with Darwino beyond me! But I did not code myself We picked up the technologies/tools already known by the team members UI – Bootstrap/Sass, ReactJS, Node.js, Atom Backend – Java, Eclipse Mobile – Android SDK Administration – Bluemix, Connections Cloud. IBM Eclipse Bluemix plugin Github Slack
  • 11. Darwino Applied to Domino Refresh and Extends your Domino Applications 11
  • 13. Darwino/Domino Replication 13 “Native-like” replication with Domino Two-way Creation and modification times and replication data (sequence ID) intact Shared UNIDs (when compatible) High data fidelity Customizable data translation High performance via C API Maintains the security model The database ACL is replicated from Domino and applied to the Darwino DB It maintains the readers/authors fields
  • 14. Use Case #1: Reporting and Business Intelligence Get the value out of your Domino data 14
  • 15. Reporting on Domino Data? Really? 15 Reporting has always been a weakness for Domino No standard data API consumable by market tools Very limited query capabilities But Darwino now makes it possible, because the data is replicated within an RDBMS The JSON content is leveraging the native RDBMS type Easy to create SQL views, and other artifacts, dedicated to reporting The Darwino DB can act as a data warehouse, replicated real time with Domino
  • 16. Endeavour Reporter Reporting tool developed in conjunction with Construction Management Systems in Arkansas, US Designed based on their production needs, previously filled by DomSQL Built to address the very common need of Domino shops to do SQL-style reporting with standardized tools Streamlines the process of creating Darwino tables in a SQL server and replicating over the data The data can then be queried directly via PostgreSQL’s native JSON syntax or via the created views For further information, contact Jerry Horani - jhorani@vccusa.com
  • 18. Use Case #2: App Conversion 18 Give a new life to your existing applications
  • 19. The Value of Darwino to Domino Applications 19 Make your existing applications match the current user expectations Keep Domino apps untouched (keeps data in Domino and leverages existing business logic, while incrementally enhancing the Darwino app Reuse existing assets and skills on top of ‘state of the art’ technologies Developers feel ‘at home’ right from the beginning Removes many existing Domino barriers (skills, performance, scalability, capabilities…) Use the best technologies, based on your skills, needs, and desires… Provides seamless integration with social services
  • 20. The Darwino Development Experience 20 Darwino is independent from the development environment Works with most popular IDEs, including Eclipse But command line can also be used Leverages the existing toolkits, like Android SDK or MOE Delivered as a maven tree of artifact, and OSGi plugins Darwino Studio is a set of Eclipse tools to simplify development and integration Develop for all the platforms from one single IDE Features an application wizard to get started with a few clicks Provides a UI code generator Import the data model from external data sources like Domino
  • 21. Example App: frostillic.us Blog Existing app is a soup-to-nuts XPages application The data is classic Domino: parent/response documents, categorized views, reader/author security It already went through one migration from WordPress data 21
  • 23. Use Case #3: Mobile, Offline-Enabled Apps Android, iOS, and Desktop 23
  • 24. Offline Mobile Access Mobile devices share the same database and business logic Apps work offline, ”Notes client” style Use the same application in airplane mode, replicate up afterwards The data could then replicate back to the Domino database Target Android, iOS (via Multi-OS Engine), and desktop (via SWT)
  • 25. Example: Discussion DB Example application that: • Replicates with Domino • Supports instances • Has UIs for each platform 25
  • 26. Use Case #4: Integrations Integrate with the broader IBM Platform 26
  • 27. Darwino+Bluemix Bluemix is a perfect spot for Darwino application Provides a JEE server and relational databases (DB2, Postgresql…) Darwino JEE applications deploy smoothly to WebSphere Liberty locally and on Bluemix No special coding required Darwino will detect the Bluemix runtime and find the configuration options (database, authentication…) Initial support for syncing data to DashDB for reporting
  • 28. Darwino+Connections 28 Seamlessly integrates with IBM Connections both on-premises and cloud Use IBM Connections as a directory of users Built-in OAuth support Access all the Connections services through API helpers Support for automatically detecting a surrounding Connections Community and storing data in a unique instance Support for determining user roles from the surrounding Community And apply role based security
  • 29. Darwino+Watson 29 Darwino includes bean-compatible wrappers for the Watson Java API The Watson result data is JSON, and so can be stored natively anywhere within a Darwino document The Social Analyzer does this to include Watson results in documents that are then queryable directly <bean name="toneAnalyzerFactory" class="com.darwino.ibm.watson.ToneAnalyzerFactory"> <property name="url">https://gateway.watsonplatform.net/tone-analyzer/api</property> <property name="user">${socialanalyzer.toneAnalyzer.user}</property> <property name="password">${socialanalyzer.toneAnalyzer.password}</property> </bean>
  • 30. Example Application: Social Analyzer Available on OpenNTF Demonstrates integration with Connections Cloud, Watson, Twitter, DashDB on Bluemix, and Domino Runs standalone or embedded in Connections Community-based instances and roles 30 Runner-up in the ICS Worldwide Developer Competition
  • 31. App Development Story What Modernizing with Darwino Brings to the Table 31
  • 32. Things Impractical or “Technically Possible” with Domino Use Case 1: Reporting Essentially requires an extra tool, and most have severe limitations Use Case 2: App Conversion Modern apps can be written on Domino, but it’s swimming upstream: wrangling libraries, working around limitations Use Case 3: Offline Mobile Access Can’t be done out of the box Use Case 4: Integrations Most involve significant extra work to emulate things much easier in Darwino 32
  • 33. The Work You Don’t Have To Do Standard dev toolchain: Easily consume third-party dependencies Modern web server technologies Built client-side apps or use any Java-compatible framework Modern client tooling (easy to use npm, bower, etc.) Straightforward building with Jenkins, etc. State-of-the-art technologies with active developer communities 33
  • 34. The Work You Don’t Have To Do Darwino-provided: Cross-platform deployment Web, desktop, iOS, and Android Shared UI or native-tailored to each Consistent data layer and business logic Including common utility library and services framework to build upon Advanced NoSQL data store with SQL benefits Built-in integrations with common environments 34
  • 35. 35 2/24/2017 Q&A - Thank you