Upload
selvaratnam-uthaiyashankar
View
1.490
Download
1
Embed Size (px)
DESCRIPTION
Cloud to Cloud and Cloud to Enterprise Integration
Citation preview
Why Cloud Integration?
• Many useful cloud services
• Enterprises have started using SaaS for their needs
Images from : http://www.sfdcstatic.com/common/assets/img/logo-company.png, http://www.mgitsol.com/wp-content/uploads/Google-Apps-Transparent.png, http://www.sunnysea-residence.com/img/facebook.png, http://aweebitirish.com/wp-content/uploads/2014/04/linkedin-transparent-background.png, http://www.justfreestuff.com/wp-content/uploads/dropbox-300x300.png
Integration Scenarios
• Cloud to Cloud
• Cloud to Enterprise
Images from : http://www.sfdcstatic.com/common/assets/img/logo-company.png, http://www.boldkiln.com/Images/tr/135.png, https://openclipart.org/detail/13272/-by--13272, http://hlgstudios.com/wp-content/uploads/2012/09/sap-logo.png
Challenges in Integration
• Different protocols
• Different message/data formats
• Different APIs
• Point to point integration mess
Image: http://www.nyceestinoored.com/wp-content/uploads/2013/01/how-to-organize-cable.jpg
Cloud Integration Challenges
• Enterprise applications should work with cloud applications
• Cloud applications has their own data storage, user accounts– Relieve users from
• Re-enter data to different applications
• Re-enter their credentials
• Cloud applications should abide by enterprise policies– Governance
– Security
– Provision/de-provision users in various applications
• Overlapping functionalities of applications
iPaaS
• Integration Platform as a Service
• “…is a suite of cloud services enabling development, execution and governance of integration flows connecting any combination of on premises and cloud-based processes, services, applications and data within individual or across multiple organizations.” : Gartner Research
http://www.gartner.com/it-glossary/information-platform-as-a-service-ipaas/
Integration PaaS: Enabling the Global Integrated Enterprise
Tactical Guideline: Use the Gartner iPaaS reference model to evaluate the completeness of
vendors' approaches, but favor adoption of offerings that are able to deliver these
capabilities in a modular, incremental fashion.
An iPaaS offering provides users with a combination of cloud services collectively called integration platform servicesAn iPaaS offering provides users with a combination of cloud services — collectively called integration platform services
— to develop, execute and manage integration flows (that is, custom-developed software and metadata implementing the
"integration logic" needed to connect multiple applications by performing the appropriate message transformation,
routing, protocol conversions, service virtualization, orchestrations, security federation, usage tracking, administration,
monitoring and management, etc.). Integration flows running on iPaaS can connect, in a many-to-many fashion, any
combination of on-premises and off-premises applications, services, processes and data. Integration flows can be
developed by the iPaaS client or by a service provider (e.g., an integration brokerage) via the iPaaS development and life
cycle management platform services. Through the iPaaS monitoring, management and administration platform services,cycle management platform services. Through the iPaaS monitoring, management and administration platform services,
users deploy and administer integration flows, monitor their execution and manage their behavior (e.g., can change
priorities, QoS requirements or security policies). An iPaaS also provides governance platform services
(registry/repository, artifacts life cycle management, policy management and enforcement, as well as governance data
collection). All these services are implemented on a core set of cloud foundation services (often provided and
implemented by a cloud-enabled application platform [CEAP]) providing support for multi-tenancy, elasticity, self-
service support, tracking, metering and billing with assurance of tenant integrity, security and service levels.
The iPaaS services can also be provided to clients in the form of a software product, typically referred to as a cloud-
Page 5
Massimo Pezzini
APN25_135, 11/11
This presentation, including any supporting materials, is owned by Gartner, Inc. and/or its affiliates and is for the sole use of the intended Gartner audience or other authorized recipients. This presentation may contain information that is confidential, proprietary or otherwise legally protected, and it may not be further copied, distributed or publicly displayed without the express written permission of Gartner, Inc. or its affiliates.© 2011 Gartner, Inc. and/or its affiliates. All rights reserved.
p p , yp y
enabled integration platform (CEIP). In most cases the underlying CEAP technology is embedded in the CEIP package,
but at times it must be procured separately (either from the same vendor or a third party).
Characteristics of iPaaS
• Integration Flows – Prepackaged
– Custom developed
• Integration Flow Marketplace– Collaboration
– Self Service
• Monitoring
• Development & Lifecycle Management
Reference : Gartner iPaaS Reference Model
Integration Flows
• Connectors
• Data Mapping & Transformations
• Recipes
• Dishes
Connectors
• Connects to a specific cloud or enterprise application
• Configuration driven
• We have about 100 connectors upto now, and increasing– Can write your own custom connectors
Connector Catalog https://storepreview.wso2.com/store/assets/esbconnector
Data Mapping & Transformations
• XSLT
• XQuery
• Smooks
• Visual Data Mapping
Recipes
• Providing high level abstractions for connector interactions
• Commonly used integration scenarios between any publicly available services/APIs– E.g. Salesforce->Google spread sheet
• Take data from Salesforce using connector
• Do the data mapping / conversion
• Push data to google spread sheet using a connector
• Can have methods– E.g: syncContacts, syncLeads
<template name=”SyncLeads" xmlns=http://ws.apache.org/ns/synapse><parameter name="googlespreadsheet.username"/><parameter name="googlespreadsheet.password"/><parameter name="googlespreadsheet.spreadsheetName"/><parameter name="googlespreadsheet.worksheetName"/><parameter name="googlespreadsheet.batchEnable"/><parameter name="googlespreadsheet.batchSize"/><parameter name="salesforce.username"/><parameter name="salesforce.password"/><parameter name="salesforce.batchSize"/><sequence>
<salesforce.init><username>{get-property('func','salesforce.username')}</username><password>{get-property('func','salesforce.password')}</password><loginUrl>https://login.salesforce.com/services/Soap/u/27.0</loginUrl>
</salesforce.init><salesforce.query>
<batchSize>{get-property('func','salesforce.batchSize')}</batchSize><queryString>select id,name from Account</queryString>
</salesforce.query>
<xslt key="csvConverter2.xslt"/>
<googlespreadsheet.usernameLogin><username>{get-property('func','googlespreadsheet.username')}</username><password>{get-property('func','googlespreadsheet.password')}</password>
</googlespreadsheet.usernameLogin><googlespreadsheet.importCSV>
<spreadsheetName>{get-property('func','googlespreadsheet.spreadsheetName')}</spreadsheetName><worksheetName>{get-property('func','googlespreadsheet.worksheetName')}</worksheetName><batchEnable>{get-property('func','googlespreadsheet.batchEnable')}</batchEnable><batchSize>{get-property('func','googlespreadsheet.batchSize')}</batchSize>
</googlespreadsheet.importCSV></sequence>
</template>
Parameters
Recipes
Read Data
Write Data
Convert Data
Recipes
Creating a Recipe
• From scratch
• Take an existing one and modify it
• Take an existing ESB flow and make it as a recipe
Dishes
• A user can prepare multiple dishes from single recipe– Different parameters
– Different connector configurations
• A dish will be triggered periodically to perform the operation
Dishes<task xmlns="http://ws.apache.org/ns/synapse" name="CarbonTask" class="org.wso2.carbon.recipeexecutor.RecipeMessageExecutor" group="synapse.simple.quartz">
<trigger count="1" interval="100"/>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="recipeParams"><salesforceGooglespreadsheet.syncContacts xmlns="">
<salesforce.username>xxxxxxxx</salesforce.username><salesforce.password>xxxxxx</salesforce.password><salesforce.batchSize>200</salesforce.batchSize><googlespreadsheet.username>xxxx</googlespreadsheet.username><googlespreadsheet.password>xxxxx</googlespreadsheet.password><googlespreadsheet.spreadsheetName>RecipeDemo</googlespreadsheet.spreadsheetName><googlespreadsheet.worksheetName>Recipe1</googlespreadsheet.worksheetName><googlespreadsheet.batchEnable>true</googlespreadsheet.batchEnable><googlespreadsheet.batchSize>10</googlespreadsheet.batchSize>
</salesforceGooglespreadsheet.syncContacts></property><property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="regKey"
value="gov:/recipes/TestRecipe.xml"/></task>
Parameters
Trigger
Dishes
Characteristics of iPaaS
• Integration Flows – Prepackaged
– Custom developed
• Integration Flow Marketplace– Collaboration
– Self Service
• Monitoring
• Development & Lifecycle Management
Reference : Gartner iPaaS Reference Model
Integration Flow Marketplace
• Connector Store • Recipe Store
Monitoring with WSO2 Business Activity Monitor & WSO2 Complex Event Processing
Development & Lifecycle Management
Development & Lifecycle Management
Other Technologies used in Integration
• Stateful, long-lived processes– WSO2 Business Process Server
– BPEL, BPMN
• Messaging– WSO2 Message Broker
– JMS, AMQP, MQTT
SSO and Identity Federation
Identity Provisioning
Cloud Gateway
Thank You