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 
v EIP and their usage 
v Integration Best Practices for connected world 
v Patterns in Cloud & Mobile Computing 
v Use Cases
Never Ending Problem?
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
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
A Quick History of Integration 
B2B • EAI,B2B Integration 
• EDI, RosettaNet, Swift 
• Service based orchestration 
SOA • BPEL4WS, ESB, CEP 
SaaS • iPasS platform 
• SaaS-SaaS, SaaS-On-Premise based integration 
Mobile • Less service interruptions 
• Fewer Performance Problems
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
EIT-Information portals 
v Basic data aggregation 
v Single source of information
EIT-Data Replication 
Data 
Store 
A 
Data 
Store 
B 
v Data moves on database tiers 
v Consistency is dependent on DBMS information
EIT-Shares Business Function 
v Moves the control to the shared function logic 
v Tightly couples all clients to the application interfaces
EIT-Service Oriented Architecture 
v Connects distributed applications and exposes 
services through a standard contract 
v Complex to design and implement
EIT-Distributed Business Process 
v Single point of invocation 
v Requires other integration solutions to function
EIT- Business to Business Integration 
v Higher level of integration 
v Still requires an integration solution
Enterprise Integration Style 
v File Transfer 
v Shared Database 
v Remoting 
v Messaging
File Transfer 
v Simple, Interoperable, Fast 
v Unsafe 
§ Non transactional, Concurrency Issues, Security 
v Platform dependent 
v Not event driven
Shared Database 
Data 
Store 
v Simple, Transactional, Triggers(But not portable) 
v Slower 
v Impedes Schema evolution 
§ Less with No SQL DBs
Remoting 
v Convenient, Stick with OO Paradigm, Speed 
v Cons 
§ Not Interoperable, Hard to version , Not Scalable, Hidden 
Complexity 
Func-on 
Call 
Reply
Messaging 
Applica-on 
A 
Applica-on 
A 
Applica-on 
A 
Event Layer 
Message Bus 
v Asynchronous, Efficient, Scalable, Extensible 
v Cons 
§ Complexity, Longer Response Times, Loss of transactional 
Context, Loss of Security Context
Tightly Coupled Interfaces 
v Requires minimum n(n-1)/2 interfaces, where n is the 
number of integrated applications
Loosely Coupled Interfaces 
v Requires exactly n interfaces, where n is the number 
of integrated applications
EIP and their usage
Enterprise Integration Usually 
evolves messaging
Why we need patterns ? 
v Solutions for the same kind problem 
v Business Integration 
v Scaling
Did you hear about GoF?
Enterprise Integration Patterns 
v Solutions for the same kind problem 
v Commonly used for Application and Business 
Integration
Enterprise Integration Pattern
Applying EIP in Internet Banking(IB)
Using EIP Implementation API 
ABS Client-Bank 
Oracle procedure Java 
WS 
Spring Integration 
IB 
POS JDBC 
Porcessing Card-backoffice
Integration Best Practices 
for Connected World
Patterns in Cloud & Mobile 
Computing
System Integration In Cloud Era
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
Cloud communication services 
v Message Oriented Middleware 
v Reliable Messaging 
v Exactly once delivery 
v At-least once delivery
Cloud to Cloud Integration patterns 
v Outbound 
v Inbound 
v Hybrid 
v UI Integration
Outbound Integrations 
Salesforce 
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)
Inbound Integrations 
Salesforce 
v Force.com APIs 
§ SOAP, REST, Chatter REST, Bulk 
v Apex Web Services 
§ SOAP, REST 
v Force.com toolkits
Hybrid Integrations 
Salesforce 
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
UI Integration 
LinkedIn widget 
embedded in Visualforce. 
A public Force.com Sites 
page shown in Facebook.
Int e g r a t i on in the 
Enterprise Mobile World
Mobile Integration
Mobile Integration
Enterprise Mobile Integration 
Patterns
Enterprise Mobile Integration patterns 
v Real Time Integration 
v Queue Based Integration 
v Event Based Integration 
v Enterprse Systems APIs
Real-Time Enterprise Systems Integration 
Enterprise System 
Var mySAP= App.Services(‘SAP’).Login({credentials}); 
Var mySF= App.Services(‘SF’).Login({credentials}); 
mySAP.Invoke(‘invokeRFC’, {parameters}); 
mySF.Invoke(‘GetLeads’, {parameters}); 
Service 
SAP 
Connector 
MBaaS 
Corp Network 
SF.com 
Connector
Real Time Integration 
v Access Content 
v Server Side Script
Access Content 
Var mySAP= App.Services(‘SP’).Login({credentials}); 
mySF.Invoke(‘GetItem’, {parameters}); 
Enterprise System 
Service 
Sharepoint 
Connector 
MBaaS 
Corp Network 
Content 
Transformer
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
Queue-Based Enterprise 
Systems Integration
Queue-Based Integration 
Mobile Queue 
Service 
JSONObject msg = new JSONObject(... Queue 
queue = myApplication.Queue("myQueue"); 
queue.Enqueue(msg, mOnEnqueueCallback); 
SAP 
Application 
MBaaS 
Corp Network
Event-Based Enterprise 
Systems Integration
Event-Based Integration 
MBaaS Channel 
Mobile Event 
Service 
Channel 
Corp Network 
Siebel 
Application 
__application.pubSub.Subscribe( 
“channel name”); 
_application.pubSub.Publish( 
“channel name”, {message});
Enterprise Systems APIs 
Mobile Platform ( ex- 
KidoZen) 
SaaS 
Your Datacenter 
Kido LOB 
Agent 
LOB 
LOB Link API
Mobile Integration 
Mobile 
Middleware 
MDM-MAM 
On-Premise 
Enterprise 
SaaS Enterprise Mobile Testing 
Professional Services 
Telcos 
Mobile Development
Use Cases
IoT
Smart Cities
Summary 
v Integration style and patterns 
v Cloud Integration Patterns 
v Enterprise Mobile Integration Patterns 
v Best Practices
Thank You!

Integration patterns and practices for cloud and mobile computing

  • 1.
    Integration Patterns and Practices for Cloud & Mobile Presented By SHAKIL AKHTAR
  • 2.
    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
  • 3.
    Agenda v EIPand their usage v Integration Best Practices for connected world v Patterns in Cloud & Mobile Computing v Use Cases
  • 4.
  • 5.
    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
  • 6.
    Introduction v IntegratingEnterprise 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
  • 7.
    A Quick Historyof Integration B2B • EAI,B2B Integration • EDI, RosettaNet, Swift • Service based orchestration SOA • BPEL4WS, ESB, CEP SaaS • iPasS platform • SaaS-SaaS, SaaS-On-Premise based integration Mobile • Less service interruptions • Fewer Performance Problems
  • 8.
    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
  • 9.
    EIT-Information portals vBasic data aggregation v Single source of information
  • 10.
    EIT-Data Replication Data Store A Data Store B v Data moves on database tiers v Consistency is dependent on DBMS information
  • 11.
    EIT-Shares Business Function v Moves the control to the shared function logic v Tightly couples all clients to the application interfaces
  • 12.
    EIT-Service Oriented Architecture v Connects distributed applications and exposes services through a standard contract v Complex to design and implement
  • 13.
    EIT-Distributed Business Process v Single point of invocation v Requires other integration solutions to function
  • 14.
    EIT- Business toBusiness Integration v Higher level of integration v Still requires an integration solution
  • 15.
    Enterprise Integration Style v File Transfer v Shared Database v Remoting v Messaging
  • 16.
    File Transfer vSimple, Interoperable, Fast v Unsafe § Non transactional, Concurrency Issues, Security v Platform dependent v Not event driven
  • 17.
    Shared Database Data Store v Simple, Transactional, Triggers(But not portable) v Slower v Impedes Schema evolution § Less with No SQL DBs
  • 18.
    Remoting v Convenient,Stick with OO Paradigm, Speed v Cons § Not Interoperable, Hard to version , Not Scalable, Hidden Complexity Func-on Call Reply
  • 19.
    Messaging Applica-on A Applica-on A Applica-on A Event Layer Message Bus v Asynchronous, Efficient, Scalable, Extensible v Cons § Complexity, Longer Response Times, Loss of transactional Context, Loss of Security Context
  • 20.
    Tightly Coupled Interfaces v Requires minimum n(n-1)/2 interfaces, where n is the number of integrated applications
  • 21.
    Loosely Coupled Interfaces v Requires exactly n interfaces, where n is the number of integrated applications
  • 22.
  • 23.
  • 24.
    Why we needpatterns ? v Solutions for the same kind problem v Business Integration v Scaling
  • 25.
    Did you hearabout GoF?
  • 26.
    Enterprise Integration Patterns v Solutions for the same kind problem v Commonly used for Application and Business Integration
  • 27.
  • 28.
    Applying EIP inInternet Banking(IB)
  • 29.
    Using EIP ImplementationAPI ABS Client-Bank Oracle procedure Java WS Spring Integration IB POS JDBC Porcessing Card-backoffice
  • 30.
    Integration Best Practices for Connected World
  • 31.
    Patterns in Cloud& Mobile Computing
  • 32.
  • 33.
    Cloud to CloudIntegration 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
  • 34.
    Cloud communication services v Message Oriented Middleware v Reliable Messaging v Exactly once delivery v At-least once delivery
  • 35.
    Cloud to CloudIntegration patterns v Outbound v Inbound v Hybrid v UI Integration
  • 36.
    Outbound Integrations Salesforce 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)
  • 37.
    Inbound Integrations Salesforce v Force.com APIs § SOAP, REST, Chatter REST, Bulk v Apex Web Services § SOAP, REST v Force.com toolkits
  • 38.
    Hybrid Integrations Salesforce 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
  • 39.
    UI Integration LinkedInwidget embedded in Visualforce. A public Force.com Sites page shown in Facebook.
  • 40.
    Int e gr a t i on in the Enterprise Mobile World
  • 41.
  • 42.
  • 43.
  • 44.
    Enterprise Mobile Integrationpatterns v Real Time Integration v Queue Based Integration v Event Based Integration v Enterprse Systems APIs
  • 45.
    Real-Time Enterprise SystemsIntegration Enterprise System Var mySAP= App.Services(‘SAP’).Login({credentials}); Var mySF= App.Services(‘SF’).Login({credentials}); mySAP.Invoke(‘invokeRFC’, {parameters}); mySF.Invoke(‘GetLeads’, {parameters}); Service SAP Connector MBaaS Corp Network SF.com Connector
  • 46.
    Real Time Integration v Access Content v Server Side Script
  • 47.
    Access Content VarmySAP= App.Services(‘SP’).Login({credentials}); mySF.Invoke(‘GetItem’, {parameters}); Enterprise System Service Sharepoint Connector MBaaS Corp Network Content Transformer
  • 48.
    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
  • 49.
  • 50.
    Queue-Based Integration MobileQueue Service JSONObject msg = new JSONObject(... Queue queue = myApplication.Queue("myQueue"); queue.Enqueue(msg, mOnEnqueueCallback); SAP Application MBaaS Corp Network
  • 51.
  • 52.
    Event-Based Integration MBaaSChannel Mobile Event Service Channel Corp Network Siebel Application __application.pubSub.Subscribe( “channel name”); _application.pubSub.Publish( “channel name”, {message});
  • 53.
    Enterprise Systems APIs Mobile Platform ( ex- KidoZen) SaaS Your Datacenter Kido LOB Agent LOB LOB Link API
  • 54.
    Mobile Integration Mobile Middleware MDM-MAM On-Premise Enterprise SaaS Enterprise Mobile Testing Professional Services Telcos Mobile Development
  • 55.
  • 56.
  • 57.
  • 58.
    Summary v Integrationstyle and patterns v Cloud Integration Patterns v Enterprise Mobile Integration Patterns v Best Practices
  • 60.