Open Source solution for Mobile Enterprise Application System

22
Open Source solution for Mobile Enterprise Applications Hanoi – 2015 Oct By Thuc, Vu Xuan Software Architect – Technical leader, Consultant Vietsoftware International – Mobile Enterprise division Email: [email protected] [email protected] Mobile: +84 912 083 463

Transcript of Open Source solution for Mobile Enterprise Application System

Page 1: Open Source solution for Mobile Enterprise Application System

Open Source solution for Mobile Enterprise Applications

Hanoi – 2015 OctBy Thuc, Vu Xuan

Software Architect – Technical leader, ConsultantVietsoftware International – Mobile Enterprise division

Email: [email protected] [email protected]

Mobile: +84 912 083 463

Page 2: Open Source solution for Mobile Enterprise Application System

Presentation’s purposeThis presentation is for developer, software architect. It’ll help you: Understand use cases for Mobile Enterprise applications

(MEA) Choose right architecture and appropriate open source

solution for each component in Mobile Enterprise Application System

Proposed roadmap for approaching MEA Reference information

Page 3: Open Source solution for Mobile Enterprise Application System

When use Mobile Enterprise Solution? We use Mobile Enterprise Application solution in following cases:Have to make three or more applicationsSupport three or more Mobile platform (OS)Integrating into at least three backend data source

Page 4: Open Source solution for Mobile Enterprise Application System

Remind MEA’s high level architecture Use Hybrid/web for client side and connect to MEAS

Mobile EnterpriseApplication Platform

Web Services

SoftwareApplications

Databases Mobile SDK

Mobile EnterpriseApplication Server

Web Services

SoftwareApplications

Databases Mobile SDK

Page 5: Open Source solution for Mobile Enterprise Application System

Solution for Web / Hybrid Front End

AngularJS for Controlling, routing; follow MVC architecture Bootstrap: making HTML5 component – responsive design JQuery: REST call and other processing Karma: for testing client side JavaScript Grunt: build tool and code optimization

Page 6: Open Source solution for Mobile Enterprise Application System

Mastering Front End: Skill requirements HTML5 CSS3 JavaScript / OOP / Pattern Bootstrap, AngularJS, Karma, Grunt framework Debugging: firebug, IE developer tool

Page 7: Open Source solution for Mobile Enterprise Application System

MEAS: Mobile Backend Components

Infrastructure / OS / Application Server / Load Balancing

Mobile Device Management

Enterprise Application Store

BASIC Authentication Digit Authentication OpenID

LDAP SAML OAuth

Files Push Notification User / Group Social

Database REST / SOAP Cloud Analytics

API Gateway

Logging

Connector componentSecurity and Mobile services component

Page 8: Open Source solution for Mobile Enterprise Application System

Mobile Backend: Security and Mobile services Solution: - UserGrid – An Apache Incubator project - Support multi-tenancy - An mBaaS framework; support native and HTML5 SDK - http://usergrid.apache.org/ - Usergrid is deployed by Korea Telecom, Globo, Apigee - just Usergrid can satisfy all simple mobile application requirement

Page 9: Open Source solution for Mobile Enterprise Application System

mBaaS: UserGrid solution

Page 10: Open Source solution for Mobile Enterprise Application System

Mobile Backend: Connector component Requirement: Can connect to various type of legacy backend system, include: cloud, REST/SOAP, or Database

Solution: - StrongLoop API - https://strongloop.com/node-js/data-and-services-integration/ - Connect to a variety of SQL, NoSQL, big data, messaging and services backends

Page 11: Open Source solution for Mobile Enterprise Application System

Mobile Backend: StrongLoop Connector

Page 12: Open Source solution for Mobile Enterprise Application System

Mobile Backend: Logging system Various solutions, ranging from centralize to distributed logging, with report tools

Solutions:Fluentd: http://www.fluentd.org/Graylog: https://www.graylog.org logstash: http://logstash.net/

Page 13: Open Source solution for Mobile Enterprise Application System

Mobile Backend: Analytics- A lot of analytics tools- Solution can include algorithms, and report tools

Solutions:- Pulsar is an open-source, real-time analytics platform and stream processing framework.- Pulsar : http://gopulsar.io/

Page 14: Open Source solution for Mobile Enterprise Application System

Mobile Backend: API GatewayReplace chaos connection to managed connectionEasy to deploy logging, policy, access management..There are pros and cons

Page 15: Open Source solution for Mobile Enterprise Application System

Mobile Backend: API Gateway solution - OpenIG: https://www.forgerock.com/products/identity-gateway/

- Used with dependency security component

Page 16: Open Source solution for Mobile Enterprise Application System

Mobile Backend: WSO2 Enterprise Mobility Manager

Mobile Data Security

Page 17: Open Source solution for Mobile Enterprise Application System

Mobile Backend: Database solutionSome mBaaS has already provided NoSQL APIs.Usergrid can using a single node or cluster Cassandra.But NoSQL does not have ACID features. In this cases, you need RDBMS and make connection through Connector or though API Gateway

Page 18: Open Source solution for Mobile Enterprise Application System

MEA: Proportion between front/back end

Page 19: Open Source solution for Mobile Enterprise Application System

Is that enough?: Anything else? – follow SLCD

Page 20: Open Source solution for Mobile Enterprise Application System

Roadmap for approaching MEAs

Front End

Mobile Service

Connector to Legacy backend

IDM and API Gateway

Logging

Application Store

Analytic tool

MDM

Page 21: Open Source solution for Mobile Enterprise Application System

MEA: What’s next?

DEMO Mobile Application with Usergrid

Page 22: Open Source solution for Mobile Enterprise Application System

References:Vagrant configuration file for Usergrid: https://github.com/papaiking/usergrid_vagrant Sample Android Push notification project, using apigee mBaas: https://github.com/papaiking/apigee_push Sample Android project for Updating data, using apigee mBaas: https://github.com/papaiking/book_app_apigee