ibm connected spot104: lightning-fast development of native mobile apps for ibm connections and ibm...

34

Upload: darwinodb

Post on 16-Jul-2015

518 views

Category:

Software


5 download

TRANSCRIPT

Page 1: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud
Page 2: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Dr. John Tripp, Trilog Group

Philippe Riand, Trilog Group

Page 3: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Disclaimer

Trilog Group’s statements regarding its plans, directions, and intent are subject to change or

withdrawal without notice at Trilog Group’s sole discretion.

Information regarding potential future products is intended to outline our general product direction

and it should not be relied on in making a purchasing decision.

The information mentioned regarding potential future products is not a commitment, promise, or

legal obligation to deliver any material, code or functionality. Information about potential future

products may not be incorporated into any contract. The development, release, and timing of any

future features or functionality described for our products remains at our sole discretion.

Page 4: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

About The Speakers

John Tripp

– Chief Evangelist of Trilog Group

– Former Director of Business Information Systems, Team Detroit

– Initial Adopter of XPages technology

– Assistant Professor, Baylor University. Focusing on research into Social Media Impacts.

Philippe Riand

– CTO of Trilog Group

– Former application development chief architect for IBM Collaboration Services

– Chief architect, and inventor, of IBM Domino XPages

– Launcher and main Contributor of several successful OpenNTF projects

XPages Extension Library, Bootstrap for XPages, Domino JDBC Driver, IBM Social Business Toolkit

Page 5: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Agenda

ProjExec and IBM Connections – A Perfect Match

ProjExec 7 – Going Mobile

Challenges of Going Mobile

How we approached the problem

Introducing Darwino

– Scenario/Demo

– Darwino DB

– Darwino Platform

Value Proposition

FAQ and Concluding Thoughts

Page 6: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

ProjExec, the Leading Project Management Software for IBM Connections

Award winning solution tightly integrated with IBM Connections

– Delivers true social project management through the integration of rich project management functionality and the power of IBM Connections

– State of the Art Web 2.0 application, with extensive use of Ajax\ and services

– Based on the technology that became XPages, but runs on WebSphere

– Stores data as XML documents in DB2

Has been extremely successful…BUT

– Users now demand a true mobile experience, and the current technology wasn’t designed around the mobile paradigm.

Page 7: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Mobile Users - Use Case

ProjExec is used to manage the maintenance of nuclear plants, where the timing of downtime is critical

Users must report updates as soon as possible to allow other tasks to begin.

Workers use tablets, on site, to report and monitor status updates

– These workers require a rich, fully-featured mobile experience.

Page 8: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

The Challenges for a Mobile-Enabling an Existing Application

True, rich, responsive mobile app

– Even when the network connection is erratic or inexistent.

– Even with the constraints of bandwidth, storage, and battery life

– Even with the requirements of data security (access rights, encryption)

– Should be platform-agnostic

Should not need to be a “rip and replace”

– Needs to leverage previous investment in technology and people

Page 9: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Mobile applications involve a lot of pieces

Lots of moving parts

– Application Code

– Data Management

– Mobile OS specific components

– Multitenant distributed mobile back-end

– Etc.

Application developers become distracted from building business-value and instead focus on plumbing.

We wanted our developers to focus on adding value to ProjExec, not to worry about the next OS update and related changes.

Page 10: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

How to do this?

We needed to find a solution that:

1. Allowed rapid development of both native and hybrid mobile applications, while providing the best possible user experience.

2. Allowed local storage of a subset of data aggregated from different back-end sources and could synchronize seamlessly with these sources when the connection is available

3. Could run the business logic locally

4. The mobile application must consume the existing data and business logic. We don’t want a new application, but an enhanced one.

5. Allowed our developers to leverage their existing skills and focus on the app, not the minutiae of mobile devices.

Above all…how do we do this while minimizing time to market?

Page 11: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

It didn’t exist …

Even though we knew that our problem was not unique, the platform we needed didn’t exist

What we needed was a lot like IBM Notes

– A full-stack application development platform

– Abstraction and management of the deep technical details

– Document-centric

– Replication

– Allows most developers to focus on the app, not the underlying infrastructure

Page 12: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

…so we built it !

Introducing Darwino

– An open platform for rapidly developing social business applications targeting primarily Mobile and Cloud

– Allows developers to focus on the application, not the specifics of each mobile platform or the wiring of the application to IBM Connections

– Reduces time to value through the use of a full stack of components

– Provides hooks to allow both data and business logic to run locally, and securely, on the mobile device, with next to no additional coding.

– Adapts to what the developer knows in term of UI, programming languages and databases

Page 13: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

A Demo is better than a thousand words – ProjExec Next and Darwino

Page 14: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

ProjExec Next Architecture

IBM Connections + ProjExecProjExec Next

JSON Data Replication

Over HTTP/WebSockets

WebSphere Liberty

Postgresql or DB2

JSON DataReplication

REST DataAccess

- The existing ProjExec application remains unchanged

- The data is replicated to the Darwino JSON Store, that is then replicated “on the fly” to the Darwino Portable JSON Store on the mobile devices

Page 15: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Darwino Components

• DarwinoStudio & Designer

• HTML/Web

• Native Mobile

• REST Services

• DarwinoDB

JSON Data Store

Business Logic

Development tools

UI Components

- Darwino provides all the components to create rich, highly interactive social mobile applications for IBM Connections

- Supports Web and mobile developments

- Included JSON Data Store

- All services as exposed as REST services

- Darwino Studio, for core developers

- Darwino Designer, for citizen developers

Page 16: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

DarwinoDB

The foundational component that makes everything possible

– NO-SQL, JSON based store, including semi structured data and binary attachments

– Designed for social and collaborative applications

– Designed for web and mobile development

– Designed for cloud or on premises deployments

– Allows distributed computing with synchronization between nodes

– Supports mobile Offline user operation

Based on top of existing relational databases

– Takes advantage of the existing RDBMS features, including the JSON access

– Supports very large amount of data

– The missing piece between NoSQL and NewSQL!

Page 17: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

DarwinoDB – Synchronize Any Data, Anywhere

The world’s most advanced data synchronization mechanism

– Multipoint, bi-directional

– Security ensures that only the authorized data are synchronized

– Data filtering for synchronizing data subsets

– Synchronizes between Darwino DB JSON stores, or external data sources

– Customizable functional replication logic

DarwinoDB acts as a mobile front-end database to any data, including big data

– Public APIs for creating custom synchronization adapters

Remote servers are accessed through HTTP, but other transports/protocols can be used (ex: Bluetooth for mobile to mobile data synchronization).

Page 18: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Use The Technology That Best Suits Your Business Needs

Darwino does not preclude or prescribe any particular technology but provides components libraries to support the application and its UI

Web Browser and Hybrid Native Mobile UI

Pure web

- JSON store client JS APIs

- JSON store server side Java APIs

- AngularJS/JQuery components

- CSS frameworks: Bootstrap, Ionic

Hybrid

- Application shell

- Local server with data and services access

Android components

- Java JSON store APIs

- Business logic services

- UI widgets

- Data adapters (views, …)

iOS Components

- iOS JSON store API

- RoboVM components

Page 19: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Mobile Hybrid Applications for Maximum Code Sharing

A hybrid application is a mobile native application that runs within an embedded web browser component

– Android KitKat and iOS now feature high performance web components– UI libraries give a close to native UI experience (Bootstrap, Foundation, Ionic, KendoUI…)

Generally fully written using HTML5, including the UI and the business logic– Through the use of Apache Cordova/PhoneGap

Have several issues:– Performance, as everything runs in the browser– Not robust, for example the context is lost after a page refresh– Cross origin, and authentication, issues when connecting to external services– Hard to write fully portable code across mobile platforms and web (resources URLs, services...)– Many existing JavaScript libraries do not support this mode out of the box

Page 20: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Darwino - Second Generation of Hybrid Applications

Local HTTP Server

Runtime Libraries

Business Logic

Local Database

Mobile Device

Web Componentfor rendering

• The business logic is separated from the UI and is executed as native code (primarily Java)

• The Darwino hybrid application embeds a fast, tiny HTTP server for serving the UI, the web resources and the data

• Both the business logic and the UI code are identical on the local device and the server

• Native UI is provided for common features, like the settings page

Application Server

HTTP Server

Runtime Libraries

Business Logic

Enterprise DatabaseData Synchronization

Online Data Access

Web Browser Access

Page 21: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

A Darwino Application, from a Developer Standpoint

A multi-platform application is made of several projects

– One shared project, containing the common code

• Business logic, Web UI…

– One project per target platform

• J2EE, Android, iOS…

• A studio wizard generates these projects

The projects are standard Eclipse and/or Maven projects

– The dependencies are available in a Maven repository

– Support continuous build and deliveries

– Unit tests done using standard unit test libraries, like JUnit

Page 22: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Fully Integrated With The Broader IBM Platform

IBM Connections

Social Business Toolkit

Mobile Devices

External Data Sources

DB2

WebSphere

Darwino Social APIs

Da

rwin

oR

un

tim

e

Darwino Studio

Darwino Application

IBM Worklight, Eclipse

Web Access

IBM Bluemix

Worklight

Clo

ud

On

-pre

mis

es

Domino

Page 23: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Extend IBM Connections with Social Business Applications

A Darwino application runs directly on the IBM Connections server, leveraging WAS & DB2

Darwino features a series of services that ease the access of IBM Connections data

– JSON wrappers for the commons services: Profiles, Communities, Files…

– Connections data can be cached on the mobile devices for offline and high performance

The multi tenancy capability of the database makes it easy to develop community widgets/gadgets

One of the unique features of DarwinoDB is that any business object has social meta-data attached to it (like, tagging, ranking, commenting, sharing)

– You can socialize a legacy business app by using DarwinoDB on the side to extend the business data model with unstructured social data effectively building a system of engagement

– Use cases: projects, sales opportunities, purchase orders, RFPs, loan origination, products and services, recruiting

– Any forms-based business process is socialized out of the box by virtue of using Darwino

Page 24: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Value Proposition

Page 25: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Business First

Darwino significantly reduces the cost to build mobile, social and cloud business apps – Solves many complex challenges out of the box, so developers can focus on business

requirements

– Eliminates the learning curve for developers to be productive from day one with their existing skills

Darwino enables organizations to rapidly derive more value from IBM Connections– Integrating business processes and legacy apps with IBM Connections is as easy as it gets

Darwino enables organizations to move to the cloud while retaining sensitive data – Supports instant deployment on IBM BlueMix

– Selective secure replication ensures that sensitive data remains on-premises

Darwino apps offer a superior mobile user experience and lower communication costs– User productivity is no longer dependent on wi-fi signal

– Efficient differential replication with data compression reduces wireless data traffic/costs by 80%

Page 26: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

No IBM ISV Left Behind

Darwino lowers the upfront investment barrier for ISVs to build solutions leveraging the breadth of the IBM software portfolio rather than one IBM technology at a time

Eliminates the risk of reliance on a single technology

Eliminates the need for different code streams to address multiple platforms

Opportunity for ISVs to extend the value of existing solutions with minimal investment– Bring existing solutions to IBM Connections, IBM Connections Cloud or IBM BlueMix

– Mobile offline experience is a competitive advantage

Page 27: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Darwino is Domino’s Best Friend !

The DarwinoDB runtime runs on the Domino server and in the Notes client !– Provided as a set of OSGi plug-ins that runs on the Domino server and the Notes client

– No need to run a separate server

DarwinoDB fully synchronizes with the Domino NSF store– Optimized 2 way data synchronization capability between NSFs and the JSON store

– Exposes the NSF store as a virtual, synchronizable, JSON store

– Leverage the Darwino Connectors to synchronize with relational or big data

Connect to DarwinoDB data from every XPages application through REST services and the IBM Social Business Toolkit

Darwino mobile apps enable users to work with Domino data + Connections Data + ANY enterprise data offline, not just Domino data

Darwino Studio as a Domino Designer plug-in for a seamless developer experience

Page 28: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

FAQ / Concluding Thoughts

Page 29: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

What will I get?

DarwinoDB will be the first deliverable and available in multiple editions– DarwinoDB Community Edition

• Licensed at no charge

• Uses SQLite as the physical datastore

• On premises deployment only

• Supports Windows, Linux & Mac

– DarwinoDB Enterprise Edition

• Supports enterprise database systems, like DB2

• Deploys to both on premises and cloud

• Features enterprise data connectors

Darwino Studio to follow later this year– No need to wait for Darwino Studio to start developing Darwino apps !

Page 30: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

When can I get it?

Currently in development stage

Managed beta will start in March-April 2015

Darwino DB beta

Darwino Studio beta

End of Q4 2015Q3 2015End of Q1/2015

Darwino GA

Add to Darwino DB

Finish 1st Release

Finalize Offering

Page 31: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Get Involved!

Darwino is first and foremost a community effort, so your tweets, blogs and feedback are welcome

Get connected at www.darwino.com

Register to be notified of the upcoming beta

Follow DarwinoDB on Twitter, Facebook and YouTube

New blog and enablement materials coming soon

Want to contribute? We have a program for you

Page 32: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Thank You! Questions?

Learn more at Booth S6!

Page 33: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Notices and Disclaimers

Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include

unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED.

IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF

PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided.

Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.

Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results

they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.

References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.

Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational

purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.

It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory

requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products

will ensure that the customer is in compliance with any law.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with

this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers

of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES,

EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right.

IBM, the IBM logo, ibm.com, BrassRing®, Connections™, Domino®, Global Business Services®, Global Technology Services®, SmartCloud®, Social Business®, Kenexa®, Notes®, PartnerWorld®, Prove It!®,

PureSystems®, Sametime®, Verse™, Watson™, WebSphere®, Worklight®, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service

names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.

Page 34: IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud

Engage Online

SocialBiz User Group socialbizug.org

– Join the epicenter of Notes and Collaboration user groups

Social Business Insights blog ibm.com/blogs/socialbusiness

– Read and engage with our bloggers

Follow us on Twitter

– @IBMConnect and @IBMSocialBiz

LinkedIn http://bit.ly/SBComm

– Participate in the IBM Social Business group on LinkedIn

Facebook https://www.facebook.com/IBMConnected

– Like IBM Social Business on Facebook