Top Banner
Integration Patterns and Practices for Cloud & Mobile Presented By SHAKIL AKHTAR
60

Integration patterns and practices for cloud and mobile computing

Nov 28, 2014

Download

Technology

Shakil Akhtar

Integration patterns and practices for cloud and mobile computing
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Integration patterns and practices for cloud and mobile computing

Integration Patterns and Practices for Cloud & Mobile

Presented By SHAKIL AKHTAR

Page 2: Integration patterns and practices for cloud and mobile computing

About Me…v Open Source Technologies Enthusiastic v  Independent Architecture &Technology Consultant v TOGAF 9 Certified v TOGAF 9 Foundation Certified v Spring Source Certified Enterprise Integration Specialist v Oracle Certifier Master Java Enterprise Architect (SCEA 5)-All

Levels. v SCJDWS. v SCWCD v SCJP v Spring Source Groovy Grails Training Certified. v Gemfire Cloud Training Certified v Liferay Training Certified

Page 3: Integration patterns and practices for cloud and mobile computing

Agenda

v EIP and their usage v Integration Best Practices for connected world v Patterns in Cloud & Mobile Computing v Use Cases

Page 4: Integration patterns and practices for cloud and mobile computing

Never Ending Problem?

Page 5: Integration patterns and practices for cloud and mobile computing

What’s so special

v If we were to believe Microsoft it would all just be Web Services

v Microsoft are not to be believed though, fortunately, integration is complex

v XML was suppose to simplify things but you can not retro-fit XML everywhere and in many cases it’s not a good choice §  Low Latency

v Lets start with defining problem

Page 6: Integration patterns and practices for cloud and mobile computing

Introduction

v Integrating Enterprise Application can be done in many ways

v Each way has its own pros and cons v Best solution depends on requirements v Things to consider

§  Coupling(logical , temporal) §  Synchronous or Asynchronous §  Overhead §  Data Formats §  Reliability

Page 7: Integration patterns and practices for cloud and mobile computing

A Quick History of Integration

•  EAI,B2B Integration •  EDI, RosettaNet, Swift B2B

•  Service based orchestration •  BPEL4WS, ESB, CEP SOA

•  SaaS-SaaS, SaaS-On-Premise based integration •  iPasS platform SaaS

•  Fewer Performance Problems •  Less service interruptions Mobile

Page 8: Integration patterns and practices for cloud and mobile computing

Integration Types

v Information Portals v Data Replication v Shared Business Function v Service-Oriented Architecture v Distributed Business Process v Business to Business Integration

Page 9: Integration patterns and practices for cloud and mobile computing

EIT-Information portals

v Basic data aggregation v Single source of information

Page 10: Integration patterns and practices for cloud and mobile computing

EIT-Data Replication

v Data moves on database tiers v Consistency is dependent on DBMS information

Data  Store  A   Data  Store  B  

Page 11: Integration patterns and practices for cloud and mobile computing

EIT-Shares Business Function

v Moves the control to the shared function logic v Tightly couples all clients to the application interfaces

Page 12: Integration patterns and practices for cloud and mobile computing

EIT-Service Oriented Architecture

v Connects distributed applications and exposes services through a standard contract

v Complex to design and implement

Page 13: Integration patterns and practices for cloud and mobile computing

EIT-Distributed Business Process

v Single point of invocation v Requires other integration solutions to function

Page 14: Integration patterns and practices for cloud and mobile computing

EIT- Business to Business Integration

v Higher level of integration v Still requires an integration solution

Page 15: Integration patterns and practices for cloud and mobile computing

Enterprise Integration Style

v File Transfer v Shared Database v Remoting v Messaging

Page 16: Integration patterns and practices for cloud and mobile computing

File Transfer

v Simple, Interoperable, Fast v Unsafe

§  Non transactional, Concurrency Issues, Security

v Platform dependent v Not event driven

Page 17: Integration patterns and practices for cloud and mobile computing

Shared Database

v Simple, Transactional, Triggers(But not portable) v Slower v Impedes Schema evolution

§  Less with No SQL DBs

Data  Store  

Page 18: Integration patterns and practices for cloud and mobile computing

Remoting

v Convenient, Stick with OO Paradigm, Speed v Cons

§  Not Interoperable, Hard to version , Not Scalable, Hidden Complexity

Func-on  Call  

Reply  

Page 19: Integration patterns and practices for cloud and mobile computing

Messaging

v Asynchronous, Efficient, Scalable, Extensible v Cons

§  Complexity, Longer Response Times, Loss of transactional Context, Loss of Security Context

Applica-on  A   Applica-on  A   Applica-on  A  

Event Layer

Message Bus

Page 20: Integration patterns and practices for cloud and mobile computing

Tightly Coupled Interfaces

v Requires minimum n(n-1)/2 interfaces, where n is the number of integrated applications

Page 21: Integration patterns and practices for cloud and mobile computing

Loosely Coupled Interfaces

v Requires exactly n interfaces, where n is the number of integrated applications

Page 22: Integration patterns and practices for cloud and mobile computing

EIP and their usage

Page 23: Integration patterns and practices for cloud and mobile computing

Enterprise Integration Usually evolves messaging

Page 24: Integration patterns and practices for cloud and mobile computing

Why we need patterns ?

v Solutions for the same kind problem v Business Integration v Scaling

Page 25: Integration patterns and practices for cloud and mobile computing

Did you hear about GoF?

Page 26: Integration patterns and practices for cloud and mobile computing

Enterprise Integration Patterns

v Solutions for the same kind problem v Commonly used for Application and Business

Integration

Page 27: Integration patterns and practices for cloud and mobile computing

Enterprise Integration Pattern

Page 28: Integration patterns and practices for cloud and mobile computing

Applying EIP in Internet Banking(IB)

Page 29: Integration patterns and practices for cloud and mobile computing

Using EIP Implementation API

IB

WS

ABS Client-Bank

Porcessing Card-backoffice

POS JDBC

Java Oracle procedure

Spring Integration

Page 30: Integration patterns and practices for cloud and mobile computing

Integration Best Practices for Connected World

Page 31: Integration patterns and practices for cloud and mobile computing

Patterns in Cloud & Mobile Computing

Page 32: Integration patterns and practices for cloud and mobile computing

System Integration In Cloud Era

Page 33: Integration patterns and practices for cloud and mobile computing

Cloud to Cloud Integration

v In many ways cloud to cloud integration is no different than other integrations. But they have some unique characteristics

Cloud to cloud Other

RESTful SOAP/WSDL

OAuth authentication Username/Password

JSON XML

No Middleware Middleware Often

Social Data Business/transactional data

No Network Infrastructure req

Network /Infrastructure req

Page 34: Integration patterns and practices for cloud and mobile computing

Cloud communication services

v Message Oriented Middleware v Reliable Messaging v Exactly once delivery v At-least once delivery

Page 35: Integration patterns and practices for cloud and mobile computing

Cloud to Cloud Integration patterns

v Outbound v Inbound v Hybrid v UI Integration

Page 36: Integration patterns and practices for cloud and mobile computing

Outbound Integrations

v Apex Callout §  Use Apex to invoke a WSDL/SOAP or REST service

v Force.com toolkits §  Usually outbound integration

v Outbound Messaging v Apex Email(Outbound)

Salesforce

Page 37: Integration patterns and practices for cloud and mobile computing

Inbound Integrations

v Force.com APIs §  SOAP, REST, Chatter REST, Bulk

v Apex Web Services §  SOAP, REST

v Force.com toolkits

Salesforce

Page 38: Integration patterns and practices for cloud and mobile computing

Hybrid Integrations

v Integration typically initiated by an outbound call from Force.com

v External cloud application then makes a callback to retrieve/update Force.com data

Salesforce

Page 39: Integration patterns and practices for cloud and mobile computing

UI Integration

LinkedIn widget embedded in Visualforce.

A public Force.com Sites page shown in Facebook.

Page 40: Integration patterns and practices for cloud and mobile computing

I n t e g r a t i o n i n t h e Enterprise Mobile World

Page 41: Integration patterns and practices for cloud and mobile computing

Mobile Integration

Page 42: Integration patterns and practices for cloud and mobile computing

Mobile Integration

Page 43: Integration patterns and practices for cloud and mobile computing

Enterprise Mobile Integration Patterns

Page 44: Integration patterns and practices for cloud and mobile computing

Enterprise Mobile Integration patterns

v Real Time Integration v Queue Based Integration v Event Based Integration v Enterprse Systems APIs

Page 45: Integration patterns and practices for cloud and mobile computing

Real-Time Enterprise Systems Integration

Var mySAP= App.Services(‘SAP’).Login({credentials}); Var mySF= App.Services(‘SF’).Login({credentials}); mySAP.Invoke(‘invokeRFC’, {parameters}); mySF.Invoke(‘GetLeads’, {parameters});

Enterprise System Service

SAP Connector

MBaaS

Corp Network

SF.com Connector

Page 46: Integration patterns and practices for cloud and mobile computing

Real Time Integration

v Access Content v Server Side Script

Page 47: Integration patterns and practices for cloud and mobile computing

Access Content

Var mySAP= App.Services(‘SP’).Login({credentials}); mySF.Invoke(‘GetItem’, {parameters});

Enterprise System Service

Sharepoint Connector

MBaaS

Corp Network

Content Transformer

Page 48: Integration patterns and practices for cloud and mobile computing

Server Side Script

Var mySAP= App.Services(‘ORCLDB’).Login({credentials}); mySF.Invoke(‘Query’, {parameters});

Enterprise System Service

Oracle DB Connector

MBaaS

Corp Network

Server Side Script

Page 49: Integration patterns and practices for cloud and mobile computing

Queue-Based Enterprise Systems Integration

Page 50: Integration patterns and practices for cloud and mobile computing

Queue-Based Integration

JSONObject msg = new JSONObject(... Queue queue = myApplication.Queue("myQueue"); queue.Enqueue(msg, mOnEnqueueCallback);

Mobile Queue Service

SAP Application

MBaaS

Corp Network

Page 51: Integration patterns and practices for cloud and mobile computing

Event-Based Enterprise Systems Integration

Page 52: Integration patterns and practices for cloud and mobile computing

Event-Based Integration

Mobile Event Service

MBaaS Channel

Channel

Siebel Application

Corp Network

__application.pubSub.Subscribe( “channel name”);

_application.pubSub.Publish( “channel name”, {message});

Page 53: Integration patterns and practices for cloud and mobile computing

Enterprise Systems APIs

Mobile Platform ( ex-KidoZen)

Your Datacenter

LOB Kido Agent

LOB

SaaS

LOB Link API

Page 54: Integration patterns and practices for cloud and mobile computing

Mobile Integration

Mobile Middleware

MDM-MAM

On-Premise Enterprise

SaaS Enterprise Mobile Testing

Professional Services

Telcos

Mobile Development

Page 55: Integration patterns and practices for cloud and mobile computing

Use Cases

Page 56: Integration patterns and practices for cloud and mobile computing

IoT

Page 57: Integration patterns and practices for cloud and mobile computing

Smart Cities

Page 58: Integration patterns and practices for cloud and mobile computing

Summary

v Integration style and patterns v Cloud Integration Patterns v Enterprise Mobile Integration Patterns v Best Practices

Page 59: Integration patterns and practices for cloud and mobile computing
Page 60: Integration patterns and practices for cloud and mobile computing

Thank You!