Seamless Integration of .Net with Canvas


Published on

When Suyati's tech brains wanted to integrate 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

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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 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 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.
  • 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 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.
  • 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 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.
  • Seamless Integration of .Net with Canvas

    1. 1. Seamless Integration of .NET & January 23, 2014 10 am EST | 3 pm GMT Canvas Developer Webinar #suyatiwebinar
    2. 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 platform Improvements for – Efficiency and Effectiveness Developing other apps on the 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 • • AJAX • XML / XSLT • TFS • Web Service Factory • Managed C++ • Version Control • HTML • Rational Rose • Silverlight • IIS
    3. 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. 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. 5. Agenda 1. 2. 3. 4. Introduction to Canvas Why .NET with canvas is really a need? Security Aspects of a Canvas App Demo a) Setting up a basic Canvas ASP.NET Website b) Configuring 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 Canvas Apps 6. Q&A
    6. 6. Introduction & Need Abhishek Sivasubramanian Senior Developer Evangelist Suyati Technologies @abhisheksubbu Canvas
    7. 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: CANVAS
    8. 8. Canvas 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. 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 Canvas
    10. 10. Security Aspects of Canvas Abhishek Sivasubramanian Senior Developer Evangelist Suyati Technologies @abhisheksubbu Canvas
    11. 11. Security Aspects of Canvas There are two Authentication mechanism that Canvas uses 1)Signed Authentication 2)OAuth It ensures that data passing is always SECURE.
    12. 12. Security Aspects of 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. 13. Security Aspects of Canvas OAuth Authentication • 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. 14. .NET & With Canvas Deepak K Anand Salesforce MVP (Winter ‘14) Suyati Technologies @deepak_kanand DEMO
    15. 15. .NET & Canvas - DEMO The Use-Case 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. 16. .NET & With Canvas DEMO Deepak K Anand Salesforce MVP (Winter ‘14) Suyati Technologies @deepak_kanand
    17. 17. .NET & 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
    18. 18. Q&A .NET & Canvas
    19. 19. #suyatiwebinar Thank You Please do provide your feedback of this webinar @suyatitech TheSuyati SuyatiTechnologies suyati-technologies-private-limited +Suyati