Open Source solution for Mobile Enterprise Application System

Post on 14-Apr-2017

596 views 0 download

transcript

Open Source solution for Mobile Enterprise Applications

Hanoi – 2015 OctBy Thuc, Vu Xuan

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

Email: vu.xuan.thuc@vsi-international.com vxthuc@yahoo.com

Mobile: +84 912 083 463

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

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

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

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

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

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

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

mBaaS: UserGrid solution

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

Mobile Backend: StrongLoop Connector

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/

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/

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

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

- Used with dependency security component

Mobile Backend: WSO2 Enterprise Mobility Manager

Mobile Data Security

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

MEA: Proportion between front/back end

Is that enough?: Anything else? – follow SLCD

Roadmap for approaching MEAs

Front End

Mobile Service

Connector to Legacy backend

IDM and API Gateway

Logging

Application Store

Analytic tool

MDM

MEA: What’s next?

DEMO Mobile Application with Usergrid

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