01 introduction to darwino

21
Introduction to Darwino A New Way To Develop Business Applications For IBM Business Partners

Upload: darwinodb

Post on 15-Apr-2017

65 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 01   introduction to darwino

Introduction to Darwino

A New Way To Develop Business ApplicationsFor IBM Business Partners

Page 2: 01   introduction to darwino

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

Page 3: 01   introduction to darwino

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

Page 4: 01   introduction to darwino

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

Page 5: 01   introduction to darwino

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.

Page 6: 01   introduction to darwino

Darwino Applied to IBM Domino

APIs

Mobile AccessOnline-Offline

Web Access

Domino Server

Notes/XPagesAccess

Domino infrastructureuntouched

Darwino ApplicationRuns on a standard JEE server and RDBMS

On the cloud and on premises

2 way replication betweenDomino and Darwino

Page 7: 01   introduction to darwino

Demo

IBM Notes

iOS Android

Web

Desktop

Page 8: 01   introduction to darwino

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!

Page 9: 01   introduction to darwino

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, …

Page 10: 01   introduction to darwino

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!

Page 11: 01   introduction to darwino

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

Page 12: 01   introduction to darwino

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!

Page 13: 01   introduction to darwino

Web Browser and Hybrid Native Mobile UIPure 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 componentsiOS 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

Page 14: 01   introduction to darwino

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

Page 15: 01   introduction to darwino

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

Page 16: 01   introduction to darwino

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 theIBM Cloud Services

Keeps the Legacy Applications RunningOn Premises or on the Cloud

Fast Track Cognitive + Cloud Applications

Mobile/IOT Web

APIs

Page 17: 01   introduction to darwino

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

Page 18: 01   introduction to darwino

Discover Darwino through the Playground

http://playground.darwino.com

Page 19: 01   introduction to darwino

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

Page 20: 01   introduction to darwino

Road Map

201720162015

Introduced Darwino @ IBM ConnectED

Winner 2015 IBM ConnectED

App Dev Throwdown

Launched Darwino 1.0 @ IBM Connect

Summer 2016Release 1.1

Fall 2016Release 1.5

IBM Connect 2017Release 2.0

Runner upICS Worldwide development

contest

Page 21: 01   introduction to darwino

Thank you for your attention!