EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful...

23
EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS Philip Hayes & Josh Waldman Mobile Practice Team 30th June 2016 #redhat #rhsummit 1

Transcript of EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful...

Page 1: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

EASILY EXPOSINGLEGACY SYSTEMS TOYOUR MOBILE APPS

Philip Hayes & Josh WaldmanMobile Practice Team30th June 2016

#redhat #rhsummit

1

Page 2: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

PRESENTERS

#redhat #rhsummit

Josh Waldman

Mobile Practice Team Lead

Philip Hayes

Mobile Practice Architect

2

Page 3: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

AGENDA

#redhat #rhsummit

Start with Discovery

What are Legacy Systems?

Integration considerations

Scaleability, Security, and Control

Best Practices

Case Study: SOAP XML integration

Open discussion

3

Page 4: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

START WITH DISCOVERY Identifying legacy systems and how we connect is just one part of a full discoverysession

#redhat #rhsummit

Identify businessdrivers, use cases, and

challenges

Identify potentialtechnologies and

solutions

Create an action planto address

opportunities

4

Page 5: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

WHAT ARE LEGACYSYSTEMS?YO U F I R S T !

Who can give us an example of a legacy system they have?

#redhat #rhsummit

5

Page 6: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

#redhat #rhsummit

6

Page 7: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

WHAT ARE LEGACYSYSTEMS?

#redhat #rhsummit

Any system not designed to interact with mobile

7

Page 8: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

INTEGRATION CONSIDERATIONS

#redhat #rhsummit

8

Page 9: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

INTEGRATIONCONSIDERATIONS

#redhat #rhsummit

Service 1

Service 2

Service 3

9

Page 10: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

INTEGRATIONCONSIDERATIONS

#redhat #rhsummit

Service 1

Service 2

Service 3

Who can tell us an issue with this setup?

10

Page 11: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

INTEGRATIONCONSIDERATIONS

#redhat #rhsummit

Service 1

Service 2

Service 3

Mobile

Middleware

11

Page 12: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

TYPICAL ARCHITECTURE

#redhat #rhsummit

MBaaS

Services

Cloud

Application

Cloud

Application

App 1

App 2

12

Auth

Services

RESTful APIRESTful API

RESTful APIRESTful API

Page 13: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

SCALABILITY, SECURITYAND CONTROL

#redhat #rhsummit

13

Page 14: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

SCALABILITY, SECURITY,AND CONTROL

Solution must scale without overloading legacy systemNode.js, caching

Access to exposed endpoints must be securePlatform level security

Access to endpoints must be controlled (BYOD)Device / user level security

Deployment processesDEVOPs best practices

#redhat #rhsummit

14

Page 15: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

BEST PRACTICES

#redhat #rhsummit

15

Page 16: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

BEST PRACTICESTesting (unit & end to end)CI / CD integrationOffline SyncLoad testingHealth monitoringMessage queuesMalformed data handlingOffline accessStand-alone solution vs re-usable servicesKeep it simple (CRUD interface)Intelligent cachingTroubleshooting tools

#redhat #rhsummit

16

Page 17: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

C A S E S T U DY: S OA P X M L I N T E G R AT I O N

#redhat #rhsummit

17

Page 18: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

SOAP XML INTEGRATION

#redhat #rhsummit

Cloud

Application

MBaaS

Service

App

Auth

Services

RESTful APIRESTful API

Soap Server

SOAP xml

Cache

18

Page 19: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

HANDS ON DEMO

Node.js SOAP interfaceCaching MBaaS ServiceCloud app consuming MBaaS ServiceSecurity and controlData source for forms integration

#redhat #rhsummit

19

Page 20: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

OPEN DISCUSSION

#redhat #rhsummit

20

Page 21: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

SOURCE CODE

https://github.com/feedhenry-staff/soap-demo

#redhat #rhsummit

21

Page 22: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

LEARN. NETWORK.EXPERIENCE OPEN SOURCE.

#redhat #rhsummit

22

Page 23: EASILY EXPOSING LEGACY SYSTEMS TO YOUR MOBILE APPS · Auth Services RESTful API RESTful API RESTful API. SCALABILITY, SECURITY AND CONTROL #redhat #rhsummit 13. SCALABILITY, SECURITY,

23