General introduction to the Darwino platform, and how to enhance your existing IBM Domino/Notes applications, providing a mobile UI, deploying to the cloud, and leveraging IBM Watson services
2. About the Presenters
• Jesse Gallagher
– CTO of I Know Some Guys
– Board Member of OpenNTF
• Philippe Riand
– CTO of Trilog Group
– Former application development chief architect for IBM
Collaboration Services
• Chief architect, and inventor, of IBM Domino XPages
3. The Issue with Domino Applications
• Domino is a great platform running many business critical apps
– But users have new requirements (web, mobile, social…)
• The CIO challenge:
– Investment in the platform is decreasing, when not cancelled
– Skilled developers are rare and expensive
– Most of these applications were built years/decades ago, targeting the Notes
client, and are very hard to maintain
• “Automated Migration” is a lure that does not effectively fully solve the
problem
4. Towards the Ideal Solution
• Keep your existing infrastructure untouched and running, while providing a
true new user experience
– Mobile access with offline access
– Incrementally add new features, while keeping the existing ones
– Avoid any disruption to your users base
• Create a new application, based on state-of-the-art, non proprietary
technologies, leveraging the existing Domino apps
– Seamlessly leverage the existing data and business logic
• Optimize your infrastructure costs by moving to the cloud
5. Darwino As a Platform
• A distributed app-development platform for the rapid creation of
collaborative and cognitive applications (primarily Mobile, Cloud and IOT).
– Full stack of components: 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;
– Create apps tightly integrated with IBM Connections and Watson services;
– Choose between cloud and on-premises deployment;
– Java-based, and uses familiar constructs, UI.
6. Darwino Applied to IBM Domino
APIs
Mobile Access
Online-Offline
Web Access
Domino Server
Notes/XPages
Access
Domino infrastructure
untouched
Darwino Application
Runs on a standard JEE server and RDBMS
On the cloud and on premises
8. Non Intrusive Domino Applications Modernization
• Incrementally enhance existing Notes/Domino applications
– No need to fully migrate, and rewrite, the whole application from the beginning!
– Don’t modify the existing applications and let them run as is
– Avoid user disruption while providing new features
– Focus first on the most important features to provide
– Eventually, get rid of Domino, or move it to a managed cloud
• Targets Mobile, Web and iOT
– Create modern web applications with the technology you choose (AngularJS, ReactJS,
Vaadin…)
– Create state-of-the-art mobile applications that even work offline, at a low cost
– Share most of the code between web and mobile
• Get quick value to the customer and make him want more!
9. Adapt to the Customer Infrastructure Strategy
• Seamlessly run on premises or in the cloud, with no code change but configuration
settings
• Deploy to the existing on-premises infrastructure
– Web Application Server (IBM Websphere, Red Hat JBoss, any container: even Tomcat or Jetty)
– Database (IBM DB2, Microsoft SQL Server, … or open source like Postgresql)
– Directory (IBM Tivoli, Microsoft AD, Oracle DS, or social platforms like IBM Connections)
– Keep all the processes in place (backup, security, go to production…)
• Deploy to the cloud of choice and leverage its services
– IBM Bluemix, including IBM Connections cloud integration
– IBM Websphere Liberty, IBM Compose Postgresql or DB2
– Microsoft Azure (Soon: integration with Microsoft Azure AD, Office 365, Sharepoint)
• Tomcat, MS SQL Server, …
10. Darwino DB
• The foundational component that makes everything possible
– NO-SQL, JSON document store, including semi structured data and binary attachments
– Granular security model, down to the document level
– Extensive MongoDB like query and data transformation language, including full text search
– Native multi-tenancy capability to support cloud based security
– Multi-point data replication between clients and servers, across platforms
– Integrated social features: tagging, rating, voting, sharing, commenting, …
– Fully transactional
• Based on top of existing relational databases
– Takes advantage of the existing RDBMS features, including the new JSON capability
– The missing piece between NoSQL and NewSQL!
11. Darwino DB – Domino Connector
• Two way data replication between Darwino and Domino
• Most accurate Domino replication in the market, carrying and handling Domino meta-
data
– UNID, SequenceID, Creation and Modification dates, …
– Beyond me, there are 2 known IBM champions working on it
• Handles file attachments, rich text fields…
• Fully customizable by code, including some data transformation and Domino code
invocation
• And more to come…
– Use of patterns to execute data transformation, like field grouping (Groovy based DSL)
– Replication controlled through a management database
– Templates for existing databases
12. Enterprise Platform Integration: IBM Connections
• Equally supports IBM Connections cloud and on-premises
• IBM Connections as a user directory
– Use the directory to authenticate users, get profiles information, …
– Authenticate to IBM Connections using Basic or OAuth
• Integrates seamlessly with community apps
– Handles the community ID as a tenant ID for data storage
– Provides dynamic security based on the user status in the community
– Darwino studio features a wizard for deploying to IBM Cloud
• On the work: the same for Microsoft Office 365, Azure and Sharepoint!
13. Web Browser and Hybrid Native Mobile UI
Pure web
- JSON store client JS APIs
- JSON store server side Java APIs
- AngularJS, Polymer
- CSS frameworks: Bootstrap, Ionic, Material Design
Hybrid
- Application shell
- Local server with data and services access
Android components
iOS Components – Multi OS Engine (MOE)
- Java JSON store APIs
- Business logic services
- UI widgets
- Data adapters (views, …)
Use The Technology That Best Suits Your Needs
• Darwino does not preclude or prescribe any particular technology but
provides components libraries to support the application and its UI
14. Darwino – Next Generation of Hybrid Applications
• Darwino provides a framework to make your Web and Mobile applications 100%
portable across platforms and devices
– Same architecture on the server and the devices
– Clean separation between the UI and the business logic
– Portable URLs, whenever the resources are local or remote
– Smart proxy with caching capability
– Hybrid extensions to leverage the native capabilities
• Makes the offline mode seamless to the application
– Both the data and the business logic are provided offline
• Directly leverages any JS library, without the need of adapters
– Angular Material, Polymer, Ionic, Bootstrap, JQuery…
• Native UI is provided for common components, like the settings pages
15. Advanced Mobile Hybrid Architecture
• The mobile application starts a
local, lightweight, secure HTTP
server
– Ensures the full code portability
– Provides seamless offline
experience
• Same architecture, and code, for
desktop applications
16. Built-in Watson Services
- Translation
- Tone Analyzer
- … all
Desktop
Connections Cloud
- Profiles, Files, Communities…
- Integrated as Community Apps
- One click deployment
Replicates with DashDB
- Data Analytics
- Business Intelligence
Two way replication with Domino
- Existing applications remain untouched
- Selective replication to Darwino
- Leverages the existing business logic
Legacy Access
- Notes/XPages
Darwino Application
- Deployed on Bluemix
- Leverages IBM
Compose/Softlayer
-> Postgresql, DB2…
Leverage all the
IBM Cloud Services
Keeps the Legacy Applications Running
On Premises or on the Cloud
Fast Track Cognitive + Cloud Applications
Mobile/IOT Web
APIs
17. Development Tools
• Darwino leverages the state of the art development tools
– Eclipse, Maven, Android SDK, Multi OS Engine…
– Will support Android Studio and Gradle in the future
• Wizards to get started in minutes
– Generates a series of projects
19. Open Source Community to be Started
• Open source community dedicated to Darwino
• Hosted on OpenNTF as a new “branch”, follows all the OpenNTF processes
• Source code repository using Git
http://darwino.org
20. Road Map
201720162015
Introduced Darwino
@ IBM ConnectED
Winner 2015
IBM ConnectED
App Dev
Throwdown
Launched Darwino 1.0
@ IBM Connect
Summer 2016
Release 1.1
Fall 2016
Release 1.5
IBM Connect 2017
Release 2.0
Runner up
ICS Worldwide
development
contest