Jump to content
Imagine if every time you closed an opportunity in Salesforce an order is generated in SAP AND the Salesforce opportunity is updated with SAP's document number. Join us to see a Live Demo on how to give your reps an accurate master view of customer activity through Salesforce integration with SAP.
SnapLogic’s cloud integration platform is the easiest way to create and orchestrate complex business processes regardless of whether the data lives in the cloud like Salesforce or on-premise like SAP.
Okay. Good morning, everybody. Craig Stewart here. So, let me just
push that button over there. And let me just introduce myself and the
webinar that we're going to do today. What we've got today is
specifically a more technical demonstration around building a
bio-directional synchronization between Salesforce.com and SAP.
My name's Craig Stewart. I'm Director of Solutions Engineering here at
SnapLogic. And I work with a great bunch of guys who have brought
together some really good technology. Making it possible to actually be
able to deliver integrations between cloud and on-premise applications
that really address today's requirements. So, what I'm going to do is a
short presentation. And after the presentation, we'll go on to do a
The principle of what we're showing here is that many customers have got
Salesforce.com. Which may be implemented in the first instance kind of
in a stand-alone way. But to get real value out of it, actually being
able to integrate it with the other enterprise applications inside an
organization, it's critical to make sure that the information that
people are seeing inside Salesforce is the same information that the
corporate back-end systems have got.
Traditionally, we've seen people actually using Salesforce in a
stand-alone mode and then actually anything's that done there being
passed down. Perhaps even re-keying. Some customers that we've been
talking to actually taking the data out of the Salesforce, then
re-keying it to add orders and things into SAP. Obviously, that can't
be the best way of doing this.
So, what we're doing with SnapLogic is actually building some technology
which allows you to be able to do this readily and rapidly. And we've
got a number of patterns that we've got implemented today that you can
see down that list in front of you there. Things like the customer
master, ensuring that the customers are in sync between the different
corporate applications. Product master, order history, those kinds of
things. Opportunity to cash, which is the one we're going to
concentrate on today.
So, that's getting real value out of the investment that you're making
and being able to do that in very much a drag and drop way. With no
coding required to actually make these things happen.
Let me just give you a brief overview of who SnapLogic are and why we're
doing this. And then we'll drill down into what SnapLogic itself does,
fairly rapidly. And then go on to a demonstration of this technology in
SnapLogic sales, the company, has been around now since around 2006.
Founded by Gaurav Dhillon, former founder and CEO of Informatica. Some
of you may know that. Still one of the leading independent integration
companies founded in the early 90's and still very successful. Gaurav
drove that success and today, having moved out of Informatica in 2006,
set up a new organization that addresses the needs of today's business
internet. Where these many applications out there on the internet are
fundamentally communicating in a different way and with different
requirement to that of the enterprise applications of the 90's. And
we're backed by the likes of Andreessen Horowitz, smart money in the
Valley, as they say, and some other important investors, making us able
to deliver this technology.
We've got some really good customers today around the world. You may be
able to see here. People like Outback Steakhouse. Like Pandora. Very
substantial companies actually building real enterprise and integrations
within their organizations using SnapLogic. We've now got offices
around the world and across the U.S. and Europe. And we keep
partnerships with the likes of Salesforce and SAP.
Some of those key customers that we've actually acquired over these past
few years, companies like Pandora. Pandora, very interesting. All of
their applications running in the cloud and using SnapLogic to really
achieve that visibility into their organization, the customers and what
they're doing. And helping them to drive real value for their
shareholders now. Best Buy, one of the largest retail groups in the
U.S. using SnapLogic to drive the data integration across their internal
cataloging systems, etc. Outback using SnapLogic to integrate human
resources across their 1,200 plus locations across the U.S. Fox News
using SnapLogic to aggregate news feeds and are actually using SnapLogic
to integrate SAP and Salesforce in real life. It's one of the customers
actually doing that today.
Where SnapLogic is coming from is that in the 90's and the naughty's,
the trend of IT was for people to actually spend a lot of money up front
on building large integrations or integrating large applications. And
it was a big payment up front and having made that investment, you had
no choice but to then deliver on that and use that technology.
Well, things have changed now and companies are trying to very much
leverage the capabilities of the cloud applications. Being able to look
at what's available and choose the best that is available today. These
applications tend to be built and consumed on a subscription basis. So
that come the end of the year, if your application hasn't been serving
you or something better has emerged, you're able to switch to actually
take those and use those things.
And this really has been a fundamental change in the way that
applications are consumed and what people are actually doing with their
different infrastructures that they're using. As a result of that,
things really have changed in what people need to do. Integrating those
applications is one of the key things that you need to do. Whether
they're those three mega applications or whether they're the cloud
applications of today. One of the analyses that's out there is that,
actually, integration tends to be done very much [??] ETL.
Most of the integration that's actually done out there is addressed
using hand coding. And, of course, with hand coding, what you end up
with is we'll illustrate here. It's very straightforward to do that in
the first place and not often cheap. You end up with a hairball. As
soon as you start getting these as multiple applications that you need
to integrate, you start to end up with a really complex infrastructure.
So, it's really that 80 percent that SnapLogic is addressing. Looking
at what we can actually bring to the market to make those fast and
efficient and cost-effective. To actually build those integrations.
Having been founded just six years ago now, SnapLogic is very much
addressing the needs of today's applications. And not just those
mega-applications of the 90's and the naughty's. But, recognizing that,
we also do integrate to those applications. It's really important.
Most customers don't have a greenfield site with all their applications
in the cloud like a company like Pandora has. What they actually have
is a mixture. And they need to be able to integrate these things with
very much a freedom to be able to choose what's going to be integrated
and how. And that's where SnapLogic comes in. We understand the value
of integration and we understand the technologies that we have in place
today to make this effective.
What did we actually build with SnapLogic? Let's just take a brief look
at this architecture, marketecture diagram, more likely I should say.
Where basically SnapLogic runs as a service which can be run either in
the cloud or on-premise. Or for those who that need it, actually, in a
hybrid model. Where SnapLogic can deliver the integration across
applications in the cloud, it provides that actually as a service in the
cloud. And the technology runs there in the cloud. It can also be used
to integrate applications with on-premise applications like SAP. So,
that now allows you to actually be able to connect the applications
across the firewall as well. So, SnapLogic is able to run in the cloud,
on-premise or a combination of both.
So, that's just giving you a brief idea of where SnapLogic fits and the
technology which we will drill down into. Actually giving you very much
more capabilities to integrate those applications across the diverse
environments. SnapLogic itself has actually been built and architected
in today's integration world. Today's world where applications are
running on the internet. The internet itself runs on a REST-based
architecture. SnapLogic is built on that REST-based architecture. The
components communicating internally using restoral technology.
The way we then integrated to different applications, abstracting the
connection to the different applications using what we call Snaps.
These are simple intelligent connectors that abstract away the
complexity of dealing with any application. Whether that's through a
SOAP interface, a RESTful interface or a specific API like SAP uses. It
abstracts away those complexities into a set of drag and droppable
Those Snaps are available in the SnapStore and I'll give you a brief
view of that shortly. Those Snaps available showcased there in the
SnapStore can be downloaded directly from there. Everything that's been
put into the SnapStore has been certified by SnapLogic. We've ensured
that not only does it actually make those connections and do the things
that you're asking it to do, but it also has been validated to ensure
there's no malicious code or anything else.
The SnapLogic environment is very much a visual drag and drop
environment. And you'll be seeing that shortly. In terms of those
Snaps, there is over 100 of those today. Last count something like 120
different Snaps covering all sorts of different technology and
applications. Just a few of them you can see listed here:
cross-applications, databases, applications, etc. That just gives you
an idea of what we're doing there in terms of the different Snaps.
Those Snaps, these applications that you can see here, are the ones that
are available today. If you have applications for which Snaps don't
exist, what you can do is actually build those yourselves or have those
built by third parties. Many of the Snaps you see in this list today
are actually built by third parties and not by SnapLogic. So, there is
an open API that allows you to build your own Snaps to your own
applications, if you wish. And you can actually submit those to the
SnapStore for listing for other customers to be able to take advantage
of as well.
So, just a quick summary here. Why SnapLogic? Well, our technology is
based on the same technology as the internet today. It gives us
scalability. It gives us the ability to implement with very minimal
resistance within any organization in terms of firewalls or resources.
The Snaps actually make the integration of these different applications
very much a visual integration. It gives you a drag and drop
environment to then be able to integrate your applications. The Snaps
may be built by SnapLogic. They may be built by third parties or by
customers themselves. We have the scaling in terms of we run in the
cloud, we run on-premise, we scale within the cloud. And we provide
modern user interfaces. Things like an iPad application. To be able to
monitor the pipelines you're actually running on your instance.
And what we're seeing with customers actually delivering real business
results. Very much better priced performance, even over integrating
using hand coding. Deploying on a wide variety of different projects,
whether they be things which might traditionally have been addressed
using AI or ETL. Delivering real results to some real customers that
you saw earlier.
So, let me now switch over and now take a look at the demonstration. If
I start by going into Salesforce. Let's start there. Within my
Salesforce environment, what I've got is a set of Opportunities. If I
take a quick look at one of these Opportunities, I've got an Opportunity
with some product information down here. And what I want to do, I
actually want to get that up and running. When I close an Opportunity,
to actually be able to get back into Salesforce. To not only get the
data out of Salesforce and push it into SAP to create a sales order in
SAP, but also to bring back the sales document. So that within
Salesforce I can directly see that information.
In order to do that, I need to create a new Opportunity. So, let's go
to My Opportunities. And we'll create a new Opportunity. And we'll
call this SAP 1. And we'll do this for the accounts. Oop. What
happened to that? Position 2. And let's just set the date and we'll
set this one to Value of Proposition. And just save some minimal
information here. So, I've got my Opportunity. Let's add some products
for this Opportunity. And at Price Book and I'll just pick up a couple
of things there. Select those. And we'll have one of those and two of
those. So, I've now got an Opportunity here in Salesforce. Which is
what we want to do.
Now, I've got outbound messaging set up within Salesforce. So, that if
I change this to Close 1, it's going to take the data from this
Opportunity and create in SAP a sales order. And when that sales order
has been created, it's actually going to then bring back for me into my
Salesforce system. It's going to show me that information in here.
So, how does it do that? Well, let me go across to SnapLogic. Not that
one, this one. And what we have here is a process that we've built into
SnapLogic which actually starts out by receiving that outbound message
from Salesforce. And it then takes it through a set of different steps.
Obviously, we need to then pick up from Salesforce the information
about the account and various other things that go through that process.
Then you can see it flows down all the way to creating the sales order
in SAP. Having created that, it then goes back to do the update in
Let's have a quick look back at that Opportunity now in Salesforce. Do
a refresh on that guy. And you can see here is the SAP sales order
document that it has just created for me. If I just grab that. Oops.
I thought that would sort of shut down in the background. Let's get
that started. And then we can go and actually take a look at that in
SAP itself. You see that one looks like it's been passed across there.
So, very simple within Salesforce. The user is just taking advantage of
the standard functionality. We're then using the outbound messaging
that can be set up. If we look at the outbound messaging in Salesforce.
I go down here. Outbound. And look at my Opportunity outbound
message. So, basically we're passing that to an endpoint that's
described there. Oops. Wrong thing to do to click that. But, here
we're basically passing across to SnapLogic the detail that comes from
the workflow that's defined there. The fields that are sent across the
account ID. The fields that make up that Opportunity. Which then gives
us enough information to be able to then retrieve that and push that
into SAP. So, that gets us into SAP the data that we want.
The way that we've done that, we've pulled that data across. Within
SnapLogic we can build these visual design flows. Each of these steps
is a drop and draggable object. For instance, here the receiving
component there is an XML reader reading the XML that Salesforce has
sent us in that outbound message. And the location of that outbound
request from Salesforce has driven it to be received by this pipeline.
We have one flow down there where it then acknowledges to Salesforce
that it's received the message.
Equally, you could actually choose to do that later in the process.
We've actually decided to take that and accept that and process it
through another leg of the system. Here, we're doing the query on
Salesforce to get the account information and other information that we
need to actually build up the whole of that create sales order. BAPI
information that's required to actually create that. Here you can see
the different input streams that that BAPI itself exposes. And we're
taking advantage of that and the metadata that SAP provides to allow us
to be able to pull that information back.
This object, when you've actually taken the output from a create sales
order, we're just taking the relevant parts of that create information
from SAP. And then taking that and routing it, firstly, out to an audit
file. And also going back to update the Opportunity in Salesforce
So, you can see the complexity of the process is actually what drives
the layout that we have here. The different steps that it's going to go
through. The multiple inputs. The multiple outputs. SnapLogic
provides all of that functionality.
So, let's take a quick look at some of the technology behind this.
Inside SnapLogic in this designer user interface we have the different
Snaps that we have available. In my development environment here, you
can see I've got various different Snaps. The SnapLogic ones that come
packaged as part of the SnapLogic server itself. We also then have
various other third party applications, etc. Technologies for which we
have Snaps that we've put into this environment. Obviously, most
customers just have the Snaps appropriate to the technologies that
For something like Salesforce, I come down to my Salesforce Snap here
and look specifically at that. The Salesforce Snap gives us a set of
unconfigured components and a wizard. If I just take a quick look at
running that wizard. When we run the wizard, it collects from us the
necessary information to be able to introspect onto that particular
Salesforce org to pick up all of the objects. Not only the standard
objects but also the custom objects. And the custom fields that those
objects have had put on them. And from that, it will give us that set
of drag and droppable objects, like this account query, which we can
And if I just come back up here and look at that. Just get into. Here
we go. Oops. So, the objects that it creates, most of those being put
into the main objects here. So, for something like contact, for
instance, that logic will create a set of CRUD type objects to be able
to create, read, update and delete those. Taking full advantage of the
capabilities that the Salesforce environment provides. So, if I just
click on this guy and show you here the metadata that it's processing.
It's going to allow us to be able to build that SOQL query as we need.
The important thing here. We automatically batch the data for
Salesforce, so reducing the number of API requests that are required.
And that logic then does all of the marshaling required of the data
going backwards and forward so that you get the output. For instance,
this object here is a SOQL read. But if you were doing, for instance,
the update into Salesforce that we do later down here. Obviously, it's
important that when you do so to not only push in the data, but you also
take the result of that data back out. So you can actually see whether
it was successful or not. Because your request to Salesforce may have
succeeded but the data that you passed could have failed. That's
automatically dealt with and we capture the output. Not only for
individual rows but batches of rows. And that happens automatically for
you. And then you can consume that. Take the error feeds and drive
them elsewhere if you wish to push them into other processes.
So, for Salesforce we generate these objects to give us a set of
essentially a drag and droppable set of components. So, if we want to
read Salesforce we just drag the objects that we want onto a pipeline
and that should join the dots with these flows that you see here.
Now, something like SAP, if we look at the SAP components that we have
here. This is using SAP through the BAPI interface. What we do is
connect. We have the connection information and if we create an SAP
connection. Let's just put this in a folder called X. And this just
collects from us the necessary information to be able to connect to a
specific SAP instance. And once we've got that connection information,
what we can do is use something like the execute BAPI. And an execute
BAPI statement basically what we have in here. Let me just take that
company code list out. If we save this component. What we do is
associate with the execute BAPI component what BAPI it is that we want
to use and we just drag in the connection object.
Really important use functionality that SnapLogic provides is this
Suggest functionality. That BAPI has metadata associated with it saying
what its inputs and outputs are. Rather than having to define those, if
we press the Suggest button, SnapLogic will actually introspect onto
that metadata and then bring back the data information that we need to
actually be able to then use. And so now, my BAPI component here has
got any inputs that it accepts and any outputs.
One of the important things I can do is, if I take out the inputs and
just save that. One of the other pieces of functionality that we
provide in the user interface is the ability then to be able to say,
"Well, the output of that BAPI is company code, company name." We can
just press the Preview and actually be able to, in the development
environment, go off in real time and pull back the information to get
the data that that BAPI is actually returning. And this is in real time
gone off and retrieved that data from out SAP instance. And many of you
will recognize that the IDE's being the SAP demo'd later. And we've
various other data in that.
But the BAPI that I'm using here is, obviously, a fairly straightforward
one. But you saw in the example where we created that sales order, that
can be a complex thing. Make no mistake. You still need to know what
you're doing with SAP, with an application as complex as that. But the
important thing is that SnapLogic makes all of the use of the BAPI,
makes the use of the Salesforce API's very straightforward, reliable,
repeatable every time. So, your developers, integration developers,
whatever phrase you use for those people, can actually concentrate on
the logic of the task at hand rather than the complexities of how to
deal with those applications. Which should be something which you
should be able to deliver on each time.
So, those are essentially the capabilities. Obviously, if you were
using SAP and you want to use web services functionality of SAP, that
also is available. We have SOAP components that allow you to be able to
use the web services that SAP exposes that way. We also have, if you're
using SAP's NetWeaver integration gateway, components that allow you to
be able to integrate using those OData services that NetWeaver
integration gateway delivers. And we're working very closely with SAP
on delivering that functionality so that customers of SAP can integrate
with any of the other applications in the SnapLogic ecosystem.
So, let's say that ecosystem is essentially represented very much by the
components that we have available. The Snaps available in the
SnapStore. If I just show you here. This is in my browser. I've just
gone across to store.snaplogic.com. And there listed are each of the
different Snaps that are available for applications like SAP and
Salesforce. But also other applications. Things like the Hadoop and
Hive. Greenplum, we also have Snaps for that. NetSuite various
applications. And we've categorized these in various different ways
here that you can see there.
Many of them are actually free Snaps. So, things that integrate with
Amazon and DraftSpace and SimpleDB. Many of the different technologies
that you might be using. Allowing you to integrate the social media
things. Some of the really easy ways that SnapLogic provides to be able
to integrate those into any of the other applications for which you
actually have Snaps in your ecosystem. Things like Facebook, LinkedIn
and Twitter customers taking advantage of those. As I say, many of
those are actually free. The social media ones, the SaaS applications,
the various different applications that are available. And, obviously,
the enterprise ones. And if we go back to the SnapStore home, you can
see we have all of those.
If you look for a Snap and can't find it, if you press the button here,
Request a Snap, that will go to our Snap team who will have the inside
information on what is being developed in the market today. But who
also can arrange for Snaps to be developed. And we were working with a
customer earlier this week. A Snap for a specific application can take
anything between a couple of days and a couple of weeks to create. But
the important thing is it makes the interface for that application
repeatable and reliable. So the customers that then want to use those
things can leverage the applications very quickly into their ecosystem
of all of the other applications for which they have Snaps available.
Just a couple of other things that I wanted to just touch on. We have
the SnapLogic dashboard. So when you actually have a SnapLogic server
that's running on your iPad, and this is an iPad application built in
HTML 5, you can actually click into each of the different servers to see
what's actually been going on. You can look at the pipelines that have
been executing. You can look at the execution logs. So, all of that
information. And this SnapLogic dashboard is an application which you
can run, say on an iPad. And what it's actually doing is inter-acting
with a service which we have in place monitoring the instances of
SnapLogic running anyway.
So, very much a very graphical, modern application. Click into any of
the different servers. See what it's actually been doing. Any log-ins.
What has happened with each of those servers. Just cycle through each
of them as to what may be happening in there. Giving an idea of how
many pipelines have been executed. How many records are processed. You
can see here inside my 331 server I've got various different pipeline
runs moving many thousands of records. And the performance of SnapLogic
giving you the ability to integrate those small and large volumes of
Okay, recognizing we're coming short of time here. Some of the
questions that have come up in the background there. Let's just leave
that there. So, some of the questions.
Where you have built Snaps of your own, do you need to actually pay for
those or what's the way that works?
Well, the Snaps that are available through the SnapStore, some have got
a price tag associated with them. And that's their subscription price
which you pay in addition to the subscription for the SnapLogic server.
And some of them are free so they're available to download readily
directly from the SnapStore.
If you build your own Snaps, then no, you don't have to pay for them.
You'll be using a SnapLogic server. You can keep them private if you
wish to. And all of the documentation and everything is available there
in the SnapLogic website. You'll see on the website there that option
to build Snaps. And there's the information there about how they can
built and what we have to do with them.
So, no, you don't have to pay to build your own Snaps or use your own
Snaps. And they can be shared amongst other users as you wish. They
don't have to be certified. They only get certified if they're actually
put into the SnapStore.
Can we integrate multiple Salesforce orgs?
Absolutely. And the way that SnapLogic is built is that each of those
components that's running in the pipelines are actually running
independently. Which, therefore, gives us the ability to work with
multiple Salesforce instances. And I know I've been doing that with a
couple of customers directly. One of the customers I was dealing with
earlier this week is actually running something like six different
Salesforce orgs and working those into an SAP installation.
Another question there. Isn't this just like EAI?
Well, it is solving a very similar problem. But it's solving the
problem today rather than 20 years ago. Most of the EAI tools around
today have been built for inside the local area network, not dealing
with the [??] and unreliabilities of the internet and the application
that runs there. And that is not what the model of today's applications
are. We have to deal with the technologies and the internet
environment. Which is very different today than that which the
traditional EAI tools tried to address.
And the implementation cost is very different. This isn't a half
million dollars up front to actually start doing some integration. This
is very much more cost-effective in that it's a subscription model to
actually do the integration. And at the end of the year if it doesn't
work, you can just move to some other tool. So, initially that makes it
very important for us to be able to deliver effectively so that we get
Another question there. Does SnapLogic actually hold any of the data?
Well, the answer to that, no. SnapLogic is just moving the data between
the different applications. If there is a requirement for persistence,
then it may be that you use some applications and [??] maybe holding
that either in the cloud or cloud storage or other ways. If you're
running SnapLogic on-premise, you can persist the data into databases,
So, we're just coming to the end of the time now. And I'd like to thank
you for your attention today. If you have any further questions . . .
This slide. Yep. There we go. Any more information about SnapLogic,
various resources available on the SnapLogic website. And if you go to
http://www.snaplogic.com/docs you get full access to the SnapLogic
documentation. Any questions that you'd like to have us address, just
send an email to email@example.com and we will happily respond. And,
obviously, if you're into Twitter, then we regularly are keeping people
up-to-date with what's going on @snaplogic in Twitter.
So, hopefully, that's given you a set of information about the SnapLogic
environment. And any more that you'd like to know, please contact us
through one of these methods. Thank you very much.
Director Solutions Engineering