integration patterns and practices for cloud and mobile computing

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

Upload: shakil-akhtar

Post on 28-Nov-2014

206 views

Category:

Technology


2 download

DESCRIPTION

Integration patterns and practices for cloud and mobile computing

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!