You are on page 1of 60

Integration Patterns and

Practices for Cloud & Mobile


Presented By
SHAKIL AKHTAR

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

Agenda
vEIP

and their usage


vIntegration Best Practices for connected world
vPatterns in Cloud & Mobile Computing
vUse Cases

Never Ending Problem?

Whats so special
vIf

we were to believe Microsoft it would all just be


Web Services
vMicrosoft are not to be believed though, fortunately,
integration is complex
vXML was suppose to simplify things but you can not
retro-fit XML everywhere and in many cases its not a
good choice

Low Latency

vLets

start with defining problem

Introduction
vIntegrating

Enterprise Application can be done in

many ways
vEach way has its own pros and cons
vBest solution depends on requirements
vThings to consider

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

A Quick History of Integration

B2B

EAI,B2B Integration
EDI, RosettaNet, Swift

SOA

Service based orchestration


BPEL4WS, ESB, CEP

SaaS

SaaS-SaaS, SaaS-On-Premise based integration


iPasS platform

Mobile

Fewer Performance Problems


Less service interruptions

Integration Types
vInformation

Portals
vData Replication
vShared Business Function
vService-Oriented Architecture
vDistributed Business Process
vBusiness to Business Integration

EIT-Information portals

vBasic

data aggregation
vSingle source of information

EIT-Data Replication

Data Store A

vData

Data Store B

moves on database tiers


vConsistency is dependent on DBMS information

EIT-Shares Business Function

vMoves

the control to the shared function logic


vTightly couples all clients to the application interfaces

EIT-Service Oriented Architecture

vConnects

distributed applications and exposes


services through a standard contract
vComplex to design and implement

EIT-Distributed Business Process

vSingle

point of invocation
vRequires other integration solutions to function

EIT- Business to Business Integration

vHigher

level of integration
vStill requires an integration solution

Enterprise Integration Style


vFile Transfer
vShared

Database
vRemoting
vMessaging

File Transfer

vSimple, Interoperable, Fast


vUnsafe

Non transactional, Concurrency Issues, Security

vPlatform

dependent
vNot event driven

Shared Database

Data
Store

vSimple, Transactional, Triggers(But


vSlower
vImpedes

Schema evolution

Less with No SQL DBs

not portable)

Remoting
Func-on Call

Reply

vConvenient, Stick

with OO Paradigm, Speed

vCons

Not Interoperable, Hard to version , Not Scalable, Hidden


Complexity

Messaging
Applica-on A

Applica-on A

Applica-on A

Event Layer

Message Bus

vAsynchronous, Efficient, Scalable, Extensible


vCons

Complexity, Longer Response Times, Loss of transactional


Context, Loss of Security Context

Tightly Coupled Interfaces

vRequires

minimum n(n-1)/2 interfaces, where n is the


number of integrated applications

Loosely Coupled Interfaces

vRequires

exactly n interfaces, where n is the number


of integrated applications

EIP and their usage

Enterprise Integration Usually


evolves messaging

Why we need patterns ?


vSolutions

for the same kind problem


vBusiness Integration
vScaling

Did you hear about GoF?

Enterprise Integration Patterns


vSolutions

for the same kind problem


vCommonly used for Application and Business
Integration

Enterprise Integration Pattern

Applying EIP in Internet Banking(IB)

Using EIP Implementation API


ABS

Client-Bank
Java

Oracle procedure
WS
Spring Integration

IB

POS

Porcessing

JDBC

Card-backoffice

Integration Best Practices


for Connected World

Patterns in Cloud & Mobile


Computing

System Integration In Cloud Era

Cloud to Cloud Integration


vIn

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

Cloud communication services


vMessage

Oriented Middleware
vReliable Messaging
vExactly once delivery
vAt-least once delivery

Cloud to Cloud Integration patterns


vOutbound
vInbound
vHybrid
vUI

Integration

Outbound Integrations

Salesforce

vApex

Callout

Use Apex to invoke a WSDL/SOAP or REST service

vForce.com

toolkits

Usually outbound integration

vOutbound

Messaging
vApex Email(Outbound)

Inbound Integrations

Salesforce

vForce.com APIs

SOAP, REST, Chatter REST, Bulk

vApex Web

Services

SOAP, REST

vForce.com

toolkits

Hybrid Integrations

Salesforce

vIntegration

typically initiated by an outbound call from

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

UI Integration

LinkedIn widget
embedded in Visualforce.

A public Force.com Sites


page shown in Facebook.

Integration in the
Enterprise Mobile World

Mobile Integration

Mobile Integration

Enterprise Mobile Integration


Patterns

Enterprise Mobile Integration patterns


vReal Time

Integration
vQueue Based Integration
vEvent Based Integration
vEnterprse Systems APIs

Real-Time Enterprise Systems Integration


MBaaS
SF.com
Connector

Enterprise System
Service

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

SAP
Connector

Real Time Integration


vAccess

Content
vServer Side Script

Access Content
MBaaS
Content
Transformer

Enterprise System
Service

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

Sharepoint
Connector

Server Side Script


MBaaS
Server Side
Script

Enterprise System
Service

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

Oracle DB
Connector

Queue-Based Enterprise
Systems Integration

Queue-Based Integration
MBaaS
Mobile Queue
Service

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

SAP
Application

Event-Based Enterprise
Systems Integration

Event-Based Integration
MBaaS

Channel

Mobile Event
Service

Channel

Corp Network
Siebel
Application

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

__application.pubSub.Subscribe(
channel name);

Enterprise Systems APIs

SaaS

Mobile Platform ( exKidoZen)


LOB Link API

Your Datacenter
Kido
Agent

LOB

LOB

Mobile Integration
SaaS Enterprise

Mobile Testing
Mobile Development

Professional Services

Mobile
Middleware

MDM-MAM

Telcos

On-Premise
Enterprise

Use Cases

IoT

Smart Cities

Summary
vIntegration

style and patterns


vCloud Integration Patterns
vEnterprise Mobile Integration Patterns
vBest Practices

Thank You!

You might also like