Integrating Salesforce And SharePoint 2013 - Netwoven

Transcription

Integrating Salesforce andSharePoint 2013Netwoven Inc.

Audience Background How many have some experience with:– Salesforce.com: basic Sales or other Apps– SharePoint 2013 Apps (SP or Cloud hosted)– Development on force.com and SharePointplatforms: REST, OAuth, .NET, Apex

Inbound Integration Approaches Inbound call to Salesforce from SharePoint:– Use Force.com SOAP or REST APIs Leverage using toolkits such as the.NET / Java / PHP /Adobe Flex Toolkits, Mobile SDK– Authentication Pattern Use password and security token to set up theconnection (e.g. Secure Store) Use OAuth 2.0:– Define a Remote Access app or Connected App in Salesforce– Use Consumer Key and Secret and one of the supported OAuthFlows to get access token

Inbound Integration Approaches Web Server OAuth Authentication Flow:

Inbound Integration ApproachesSample REST request and JSON response:

Inbound Integration Approaches Create custom web services in SFDC usingApex Apex classes as REST web s/apexcode/index Left.htm#CSHID apex rest.htm StartTopic Content%2Fapex rest.htm SkinName webhelp

Demo: Inbound Integration Scenario 1:– Create a Lead in Saleforce from SharePoint Web Part leveraging Force.com SOAP APIs Scenario 2:– Display Opportunities from Salesforce inSharePoint SP Hosted App leveraging Force.com REST APIs

Outbound Integration Approaches Outbound call from Salesforce to SharePoint:– Invoke external web services from Apex Feed WSDL to "Setup“ - "Apex Classes" - "Generate from WSDL"– Outbound messaging to send SOAP-based messages to anexternal web service endpoint Typically triggered by workflow rules on persisted objects allows easy callbacks to the Force.com platform using theForce.com Soap API, as outbound messages contain theenterprise/partner endpoint URLs, as well a session ID token. Retry feature HTTP/S and X.509 certificate based security– Email integration for inbound and outbound messaging

Outbound Integration ApproachesOutboundMessagingFlow

Outbound Integration Approaches Setting up Endpoint on SharePoint– External Topologies for SharePoint %28v office.12%29.aspx px?id 24079– E.g. Edge Firewall topology using Forefront UAG

Demo: Outbound Integration Demo Scenario:– Create a new project site in SharePoint when anew Lead is created in Salesforce Other Useful Scenarios:– Launch SharePoint Workflows based on defined changes inSalesforce– Keep Tasks / Contacts / User Profiles in sync

Search Integration Surfacing Salesforce content in SharePointsearch results– Crawl Salesforce (e.g. Chatter) using custom crawlconnector– User mapping and attaching ACLs for non-publiccontent non-trivial– Map managed properties to crawled propertiesand optionally specify other settings (e.g.refinable) Demo: Search of public Chatter feed

AppendixBackground Information

Salesforce Introduction On-Demand, Multitenant Applications thatRun in the Cloud Variety of APIs to integrate– Force.com SOAP API and REST API, Bulk API,Streaming API, Metadata API, Chatter API– https://help.salesforce.com/apex/HTViewHelpDoc?id integrate what is api.htm&language en US Sign up for Developer Editon account athttp://developer.force.com/– Simple Point and Click docs/fundamentals/index.htm

SharePoint 2013 Apps Introduction Provide fully immersive experience and optionallyextend existing UI or provide embeddable parts forpages Apps vs classic Farm or Sandbox Solution– Future SharePoint upgrades, integrate cloudresources , easy discovery and installation process,leverage alternate standards like MVC or Java/PHP

SharePoint Apps: Hosting Options Apps cannot contain custom code that runs on theSharePoint server– Not a significant limitation - custom business logic moveseither "down" to the client device or "up" to the cloud Cloud Hosting Option(Provider Hosted orAutohosted)– App uses SharePoint CSOM or REST endpoints to connect toSharePoint– Use STS’s OAuth support to access SP resources on behalf of the user– Perform CRUD operations on SharePoint content and Leverage SPcapabilities (Docs, Search, Taxonomy, Workflow, Social)– Server side code

SharePoint Apps: Hosting Options

Surfacing Salesforce content in SharePoint search results -Crawl Salesforce (e.g. Chatter) using custom crawl connector -User mapping and attaching ACLs for non-public content non-trivial -Map managed properties to crawled properties and optionally specify other settings (e.g. refinable) Demo: Search of public Chatter feed