andevcon: introduction to darwino
TRANSCRIPT
A New Way For DevelopingBusiness Applications
About The Speaker
Philippe Riand– CTO of Trilog Group– Former application development chief architect for IBM Collaboration Services– Launcher and main contributor of several successful open source projects
in the IBM eco-system
Trilog Group At Glance
Original inventor of XPages acquired by IBM, used by thousands of businesses Leader in Social Project Management – ProjExec 40+ Countries 9 Languages Winner of 11 IBM Awards
International Software CompanyFounded in 1997 with offices in the United States, Europe and Middle East
Proven Success at Leading Companies
The Demand For True Mobile Business Applications
True, rich, responsive mobile applications– 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)– Great UI matching today’s standard (material design…)– Should be platform-agnostic
Should not need to be a “rip and replace” – Needs to leverage previous investment in technology and people– Should leverage existing processes and data
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 with legacy systems, or social platforms
Provides seamless offline capability Adapts to what the developer knows in term of UI, programming languages and
databases For today and tomorrow’s applications: Android, iOS, Brillo…
Darwino – What is Behind the Hood?
Full stack of components: back-end, runtime, studio… Supports all platforms: web, mobile native or hybrid applications
– Advanced hybrid architecture
Provides high performance JSON document store on all the platforms Encapsulate many services within comprehensive and portable APIs (user profiles,
communities, files…), with offline cache Focus on Java as the portable language for the business logic
– The same business logic can run equally on the server and on the devices– Android and J2EE developers feel at home
Darwino Components
• Darwino Studio & Designer
• HTML/Web• Native
Mobile
• REST Services
• DarwinoDB
JSON Data Store
Business Logic
Development tools
UI Component
s
- Darwino provides all the components to create rich, highly interactive social mobile applications
- 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 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, 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!
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– Full transactional, with commit thresholds– Data filtering for synchronizing data subsets– Customizable functional replication logic (conflicts, error recovery…)
DarwinoDB acts as a mobile front-end database to any data, including big data– Synchronizes between Darwino DB JSON stores, or external data sources– Public APIs for creating custom synchronization adapters
Remote servers are accessed through HTTP/WebSockets, 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 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 - RoboVM- Java JSON store APIs- Business logic services- UI widgets- Data adapters (views, …)
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
Leverages any library, without the need of adapters– Angular Material, Polymer, Ionic, Bootstrap, JQuery…
Native UI is provided for common components, like the settings pages
Darwino – Cross Platform Architecture
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
Darwino Studio – Start in Minutes
Darwino leverages the state of the art development tools– Eclipse, Maven, Android SDK, RoboVM…– Will support Android Studio and Gradle
Wizards to get started in minutes– With builders to copy resources and handle
internationalization
Darwino Value Proposition: 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 legacy systems
– Integrating business processes and legacy applications Darwino enables organizations to move to the cloud while retaining sensitive data
– Supports instant deployment to cloud infrastructures: Heroku, 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%
Thank You! Questions?