Publicité
Publicité

Contenu connexe

Publicité
Publicité

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

  1. SPOT104: Lightning-Fast Development of Native Mobile Apps for IBM Connections and IBM Connections Cloud Dr. John Tripp, Trilog Group Philippe Riand, Trilog Group
  2. 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.
  3. 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
  4. 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
  5. 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.
  6. 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.
  7. 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
  8. 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.
  9. 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?
  10. 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
  11. …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
  12. A Demo is better than a thousand words – ProjExec Next and Darwino
  13. 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
  14. 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
  15. 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!
  16. 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).
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. Value Proposition
  24. 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%
  25. 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
  26. 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
  27. FAQ / Concluding Thoughts
  28. 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 !
  29. 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
  30. 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
  31. Thank You! Questions? Learn more at Booth S6!
  32. 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.
  33. 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
Publicité