This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Next Generation Salesforce Integration Leveraging ML and Serverless
Abram Van Der Geest, Kalyan Sripathi & Rahul Kamdar
2
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
DISCLAIMERDuring the course of this presentation, TIBCO or its representatives may make forward-looking statements regarding future events, TIBCO’s future results or our future financial performance. Although we believe that the expectations reflected in the forward-looking statements contained in this presentation are reasonable, these expectations or any of the forward-looking statements could prove to be incorrect and actual results or financial performance could differ materially from those stated herein.
TIBCO could experience factors that could cause actual results or financial performance to differ materially from those contained in any forward-looking statement made in connection with this presentation. TIBCO does not undertake to update any forward-looking statements that may be made from time to time or on its behalf.
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. This document is provided for informational purposes only and its contents are subject to change without notice. TIBCO makes no warranties, express or implied, in or relating to this document or any information in it, including, without limitation, that this document, or any information in it, is error-free or meets any conditions of merchantability or fitness for a particular purpose. This document may not be reproduced or transmitted in any form or by any means without our prior written permission.
The material provided is for informational purposes only, and should not be relied on in making a purchasing decision. The information is not a commitment, promise or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion.
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Shifting Patterns Event-driven SaaS connectivity
4
Business Users triggering actions, flows & applications
Events trigger SaaS actions, flows & applications
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Shifting Patterns Technology vs. Persona driven
5
Focused on the tool & improving capabilities around an existing
pattern of development
Focused on the user using the capability and building tooling
around her/his preferences
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Shifting Patterns Algorithmic vs. Learning Driven
6
Conventional programming approach executes a series of steps based on defined flow
Learns with user and machine inputs to improve results for
given data
InputData
Flow of steps
Static generated
Output
InputData
Sample Data
Dynamicpredicted
Output
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
User Persona Amber
7
• Responsible for marketing campaigns
• Is Sassy, savvy and smart
• Likes ease of use
• Wants to be independent
• Spends time on Twitter
• Uses Marketo, Salesforce, Microsoft 365
• Doesn’t care about APIs, REST, Web Services
Wants to connect SaaS apps and data
quickly..
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Most common integration problem?
8
• Move and extract data across apps
• Create filters, rules and relationships
between objects across SaaS
• Not too technical, not overwhelming
• Do it quickly, independently
• Less cost, fast results
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Introducing TIBCO Cloud™ Integration for Salesforce
9
Standalone Service Offering
Targeted for
availability in Salesforce®
AppExchange
Built on Salesforce®
Lightning Platform
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Let’s walk through the capability…
10
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Salesforce Lightning
11
• Event-based triggers on Salesforce objects
• Persisting users selected objects
• Persisting map definition
• Creating dynamic flows and communicating with AWS Lambda™
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
AWS Lambda
12
• Uploading a Flogo®
Golang binary to Lambda
• Flow of flows (Creating flows on the fly)
• Passing data to the dynamic flow
• Pushing data to selected SaaS app
• Relaying the response back to Salesforce
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Marketo®
13
What do we do on the Marketo side?
• Fetching access token from Marketo (IDM)
• Invoking REST APIs to fetch metadata and required fields
• Pushing data to Marketo
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
How does this all work together?
14
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Mapping Service
15
• Starts with using natural language processing techniques, such as the mathematical representation of both the source and target fields to identify primary matches
• DNN Classifier Estimator from TensorFlow that allows us to learn with user input and improve results gradually over a period of time
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Smart Mapper: NN to map Salesforce to Marketo
16
● Email● Last Name● First Name● Company● Street● City● State/Province● Country● Status
● Email Address● First Name● Last Name● Company Name● Address● City● State● Country● Lead Status
DB 1 DB 2
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
● Levenshtein distance○ How many changes to transform
string 1 into string 2○ Changes: substitution, add
character, remove character○ i.e. cat -> dog : distance of 3
● Booleans of whether source and target are substrings of the other○ i.e. dog & hotdog: True○ i.e. slept & sleep: False
Smart Mapper: Two Types of Features Used
17
Numerical Representation of Label Meaning
String Comparison
● GloVe vectors word embedding● 25 dimensional vector from 25B
Tweets● Difference between field labels and
the 2 vectors themselves used
*https://www.tensorflow.org/tutorials/representation/word2vec
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Smart Mapper: Model Structure
18
● DNN Classifier Estimator from TensorFlow● Hidden Layers: [100,40,2]● Trained on data constructed from known
Salesforce and Marketo objects● Each pair of object fields determined if it is
a mapping or not● Return a score of how likely a mapping● Highest score selected as mapping● Manual Mapping stored to improve smart
mapping model
clf = tf.estimator.DNNClassifier(model_dir=model_output_loc,hidden_units=[100,40,2],feature_columns=feat_cols,n_classes=num_labels,
n_classes=num_labels,label_vocabulary= label_names,optimizer=
tf.train.ProximalAdagradOptimizer(learning_rate=learn_rate,l1_regularization_strength=0.001))
clf.train(input_fn=get_input_fn_from_pandas(train),steps=10000)
● Email, Email Address, 0.98● Email, First Name, 0.10● Email, Last Name, 0.03● ...● City, Company Name, 0.2● City, Address, 0.31● City, City, 0.89● …● Status, Lead Status, 0.89
● Email● Last Name● First Name● Company● Street● City● State/Province● Country● Status
● Email Address● First Name● Last Name● Company Name● Address● City● State● Country● Lead Status
DNN Model
Example output
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
● Built using Flogo with REST API trigger● Why API and not Lambda?
○ Dictionary of word embeddings (5s to load)● Deployed on EC2 instance (docker image)
● API POST provides lists of source and targets● Loop over each target and source
○ Prepare features○ Calls Activity/Tensorflow Inference
● Outputs json where each source has list of targets and corresponding “matching score”
● Golang code available on Github (link below)
Smart mapper deployed as REST API using Flogo
19
https://github.com/abramvandergeest/flogo-components/tree/master/apps/smartmapper
● An open source tool for deploying event driven apps across platforms
● Interfaces: web based UI, CLI, and Golang Lib● Full stack of tools with Flows, Streaming, and
Contextual Decisioning● Uses:
○ Triggers to start a reaction to an event○ Activities to perform an action in response to
trigger● Create Apps for: Serverless, Cloud APIs, Edge● Several related sessions:
○ Serverless Integration - 1pm○ Connected Intelligence at the Edge - 1pm○ Building Smart Edge App - 2pm
Project Flogo Smart Mapper - REST API
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
What’s particularly valuable?
20
Smart Mapping
• Allows us to learn from the user and capture relationships based on business domains that otherwise only the users would know
• Loosely coupled – so can be reused in other Integration capabilities
• Can enable org-specific data access, training
Powered by FaaS
• Extracts compute of the flows outside of the SaaSapps itself thereby removing lock-in and tight coupling
• Leverages benefits of AWS Lambda – speed, cost, scale
• Can be moved to other FaaS solutions
• Can be org-specific
Ubiquitous SaaS UX
• Empower business users in UX they are most familiar with
• Starting with SalesforceApp to other SaaS targets
• Loosely coupled architecture allows us to replicate capability across major SaaS apps
• Interested in demand/feedback
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Key Takeaways
21
• Nex-gen integration for SaaS Apps – embeddable in YOUR apps
• Leverages Deep Learning for smart mapping
• Application of AWS Lambda & Project Flogo Golang API
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Questions?
22