When Suyati's tech brains wanted to integrate Force.com canvas with .Net, they searched for information high and low but in vain. But by the time they completed the integration for a client, they learned so much about it we just had to share it with the world. So view this webinar presentation, and learn how company developers can leverage .Net knowledge, and combine it with the power of Salesforce. View the full webinar video here http://suyati.com/suyatiwebinar-seamless-integration-net-force-com-canvas/
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
Seamless Integration of .Net with Force.com Canvas
1. Seamless Integration
of .NET & Force.com
January 23, 2014
10 am EST | 3 pm GMT
Force.com
Canvas
Developer Webinar
#suyatiwebinar
2. About Suyati Technologies
30+ Salesforce
developers
including
DEV 401 certified
developers
130+ modules
with around
1 Million LOC
delivered
successfully
Customization
Development
Customize CRM to adapt your
company’s existing processes
Extend Salesforce CRM
Migration
3+ years of
experience
with global clients
Strong expertise
in Force.com
platform
Improvements for –
Efficiency and Effectiveness
Developing other apps on the
Force.com platform using
Apex, VisualForce
Integration
From Microsoft Dynamics CRM,
FileMakerPro, SAP, excel sheets
3rd party apps like GoogleDrive,
GoogleMaps, MailChimp, ET,
DocuSign, Amazon WebServices,
BizTalk and Social Media
Database migration via ETLs like
Dell Boomi, DBAmp
.NET Expertise
Web Technologies
Programming Languages
Tools
• C#
• ASP
• Blend
• Visual Studio
• MS Visio
• VB.net
• AJAX
• XML / XSLT
• TFS
• Web Service Factory
• Managed C++
• Version Control
• HTML
• Rational Rose
• Silverlight
• IIS
3. Speakers
Deepak K Anand
Salesforce MVP (Winter ‘14)
Suyati Technologies
@deepak_kanand
Abhishek Sivasubramanian
Senior Developer Evangelist
Suyati Technologies
@abhisheksubbu
George Vijay
Hybrid Technical Architect
Suyati Technologies
@georgevijay
Manmohan Muraleedharan
Senior Technical Architect
Suyati Technologies
@manmohanm
Anoop M George
Director – Sales & Marketing
Suyati Technologies
@anoopmgeorge
4. Safe Harbor
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or
if any of the assumptions proves incorrect, the results of Suyati Technologies could differ materially from the results expressed or implied by the
forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any
projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies
or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology
developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for
our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of
growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed
and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand,
retain, and motivate our employees and manage our growth.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and
may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are
currently available. Suyati Technologies assumes no obligation and does not intend to update these forward-looking statements.
5. Agenda
1.
2.
3.
4.
Introduction to Force.com Canvas
Why .NET with canvas is really a need?
Security Aspects of a Canvas App
Demo
a) Setting up a basic Force.com Canvas ASP.NET Website
b) Configuring Force.com Canvas (using signed authentication)
c) Passing Data from .NET Website to Salesforce with the power of
Canvas
d) Fetching Data from Salesforce to .NET Website with the power of
Canvas
5. Visualizing the future of Force.com Canvas Apps
6. Q&A
7. Why this Idea : Canvas
It’s Apps Revolution NOW !!
Companies have many disparate applications in their organization
• Cloud Applications
• Hybrid Applications
• In House Web Applications
Is there a way to bring these disparate applications inside Salesforce ?
Answer: Force.com CANVAS
8. Force.com Canvas
Force.com Canvas is a new platform service that allows external
applications to be easily and securely integrated into Salesforce from their
native environment with little re-design.
Canvas comes with a set of services:
a) JavaScript SDK
b) Simplified Authentication (Signed Request & OAuth)
c) Context Services
d) Cross Domain API Calls
e) App Registration and Management
You Code it – Canvas shows it
9. Why .NET and Canvas ?
Integration is the key.
Benefits:
1) .NET seasoned professionals can leverage the power of Salesforce via
Canvas
2) No need to rewrite/reinvent your legacy applications
3) .NET based companies – get more opportunities
Very less tutorials around .NET and Force.com Canvas
11. Security Aspects of Force.com Canvas
There are two Authentication mechanism that Force.com Canvas uses
1)Signed Authentication
2)OAuth
It ensures that data passing is always SECURE.
12. Security Aspects of Force.com Canvas
Signed Request Authentication
• Default Authorization method for Canvas Apps
Salesforce
HTTP POST
Signed Request
Body with Authorization
Information
Do API
Calls to
Salesforce
Extract Token
Customize UI
4
3
Verify Client Secret
2
Canvas App
Decode Request
1
13. Security Aspects of Force.com Canvas
OAuth Authentication
• Force.com Canvas supports OAuth 2.0
Salesforce
HTTP GET
Canvas App
Do API
Calls to
Salesforce
Customize UI
Extract Access Token
Grant Access
Authorize URL
4
3
2
1
14. .NET & Force.com
With Force.com Canvas
Deepak K Anand
Salesforce MVP (Winter ‘14)
Suyati Technologies
@deepak_kanand
DEMO
15. .NET & Force.com Canvas - DEMO
The Use-Case
Force.com Canvas
ASP.NET Website
Web Service
• Collect Book
Sales Data
from Vendors
SQL
Database
Salesforce
1. Goal is to Assimilate Data
2. Sales can shoot better campaigns
16. .NET & Force.com With Force.com Canvas
DEMO
Deepak K Anand
Salesforce MVP (Winter ‘14)
Suyati Technologies
@deepak_kanand
17. .NET & Force.com
Canvas
Future is SMAC
Enterprise needs to be more
connected and collaborative in nature
Enterprises using Salesforce have the
requirement to collaborate with their
LOB and support applications
Dashboards give meaningful data
which aids the organization to take
informed decisions
The future
George Vijay
Hybrid Technical Architect
Suyati Technologies
@georgevijay
Manmohan Muraleedharan
Senior Technical Architect
Suyati Technologies
@manmohanm
19. #suyatiwebinar
Thank You
Please do provide your feedback of this webinar
@suyatitech
TheSuyati
SuyatiTechnologies
suyati-technologies-private-limited
+Suyati
http://suyati.com
Notes de l'éditeur
What is the problem : companies have disparate applicationsCloud Applications like Google DocsHybrid applications where some content is on your local and some content is on a serverIn House Web Applications like an Intranet Application or a Task management application, Leave Management Application or a Help Desk Ticket management application.What the modern platforms do is that they bring in the contents from all the platforms and show it in a single pane. The end users do not see this as different applications. They see just a single unified view of everything. So Authorization is granted by the users themselves or by the admin. We see great examples in the Consumer space like facebook apps, Google+ Games, Twitter Apps etc where you will see mashed up content and as said before users really do not know these contents are served from different domain.
If you are a Java programmer, you can take your Java application and show them inside SalesforceThe Services that are included with the Force.com Canvas platform are:Javascript SDK : Very simple and light weightSimplified Authentication: So your 3rd party application will know who the salesforce user isContext Services : Your application can find our what org are they in, what record are they in, what area of the app are they in and things like thatCross Domain API : Canvas provides e ability to send calls from your side to Salesforce directly through the browserApp registration and management : ISV’s can create it in one org and deploy it to many orgs
Canvas is language independent by nature. In Salesforce, there is a mechanism for you to create Canvas Apps using the Heroku Quick Start with Java and Ruby on Rails Templates. Yes, it is language independent but there are very less tutorials around .NET and Force.com Canvas because of which we decided to bring this topic and show you how .NET and Canvas makes a good couple.Some of the other benefits are mentioned in the slide.
Force.com canvas supports two authentication mechanisms. The goal for integrating applications is to use data from both the environments and thus data passing has to be secure.
The default authorization mechanism of Canvas App is “Signed Request Authentication”.Here, when you load a canvas app in Salesforce, Salesforce sends an HTTP POST with signed request body + authorization information in an encrypted format to the 3rd part app. The little re-design that we want to do here is to decode the request and extract the client secret and token. When a Force.com canvas app is configured in Salesforce, Salesforce generates a Consumer Key and Client Secret values. This client secret value has to be stored in your 3rd party application and needs to be verified with the client secret that you get when you decode the request. Once this verification is complete, it ensures that the calls are originating from a genuine and trusted source.Now, we could customize the user interface as content from Salesforce data layer and your own 3rd party datasource needs to be mashed and shown in the UI. After this step, we can extract the auth token from the canvas context object and use it for doing API calls to Salesforce. The canvas context object has all the information regarding the environment, organization, user, API endpoints, etc.The advantage of using Signed Request Authentication is that the user application gets the auth token in one HTTP POST and thus you avoid extra ping to Salesforce and the user is completely unaware of all these things which adds to the usability.
Force.com Canvas also supports OAuth. Here, the authentication happens with an OAuth dance. What happens here is that the Salesforce sends an HTTP GET request to the 3rd party application. The application needs to send back an authorize url with client id information as a URL back to Salesforce. Salesforce will render this URL which shows a page that says “ The 3rd party application wants to access Salesforce. Do you want to Grant Access or Deny Access?” If you grant the access, Salesforce generates an access token which can be then used for performing API calls. Once an access token is in hand, it means authorization is successful and now you could customize your UI elements for showing mashed content.In this webinar, we will be concentrating on Signed Request Authentication and its DEMO.
Now, over to Deepak for the DEMO.
The Use case is from publishing industry. Think of a fictious publishing company which collects its Book Sales statistics using a Web Service from Amazon, Google Books and FlipKart and stores this data in their proprietary SQL database. This publishing company has a sales team which uses an intranet based ASP.NET website which is used to pictorially show the sales data from the database for every month. The publishing company also uses Salesforce to manage their CRM functionalities and book details. They manage Package and Genre related information in Salesforce. To explain the term “Package”, every author buys a specific set of packages like Standard Editorial Package, Color Cover Design Package with which we gets his book printed and marketed to the whole world. The current situation is that the sales team uses this ASP.NET Website charting functionality and manually compares the Book ISBN information with Salesforce and then finds the package or genre that is most popular on that month. Based on this analysis, the sales teams design their sales compaigns on the popular packages and genre and try to attract customers.In this use case, we see that some data is in the database and some is in Salesforce. Thus, we decided to bring this ASP.NET website inside Salesforce using Force.com Canvas and mash/assimilate the data and show which is the popular package and genre information so that decisions on campaigns can be taken faster and with more effectiveness.
George and Manmohan will take the floor and jump into the future……of Canvas – which will help transform businesses.