IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud
30 Jan 2015•0 j'aime
2 j'aime
Soyez le premier à aimer ceci
afficher plus
•1,415 vues
vues
Nombre de vues
0
Sur Slideshare
0
À partir des intégrations
0
Nombre d'intégrations
0
Télécharger pour lire hors ligne
Signaler
Logiciels
This is the presentation that John Tripp & Phil Riand made at IBMConnectED introducing Darwino, a new full-stack enterprise development platform for social and mobile cloud enabled applications that work natively on mobile devices - even offline.
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
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.
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
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
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.
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.
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
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.
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?
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
…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
A Demo is better than a thousand words – ProjExec Next and Darwino
ProjExec Next Architecture
IBM Connections + ProjExecProjExec Next
JSON Data Replication
Over HTTP/WebSockets
WebSphere Liberty
Postgresql or DB2
JSON Data
Replication
REST Data
Access
- 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
Darwino Components
• Darwino
Studio &
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
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!
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).
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
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
Darwino - Second Generation of Hybrid Applications
Local HTTP Server
Runtime Libraries
Business Logic
Local Database
Mobile Device
Web Component
for 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
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
Fully Integrated With The Broader IBM Platform
IBM Connections
Social Business Toolkit
Mobile Devices
External Data Sources
DB2
WebSphere
Darwino Social APIs
DarwinoRuntime
Darwino Studio
Darwino Application
IBM Worklight, Eclipse
Web Access
IBM Bluemix
Worklight
CloudOn-premises
Domino
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
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%
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
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
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 !
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
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
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