Cloud to Cloud Integration · report on Form 10-Q for the fiscal year ended October ... Your One...
-
Upload
truongminh -
Category
Documents
-
view
214 -
download
1
Transcript of Cloud to Cloud Integration · report on Form 10-Q for the fiscal year ended October ... Your One...
Sandeep Bhanot Developer Evangelist @cloudysan
Cloud to Cloud Integrations with Force.com
Follow us: @forcedotcom #forcedotcom
Safe Harbor – Salesforce.com
Safe harbor statement under the Private Securities Litigation Reform Act of 1995: 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 salesforce.com, inc. 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 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, 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 immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our quarterly report on Form 10-Q for the fiscal year ended October 31, 2009 and our other filings. These documents are available on the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other 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. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Follow us: @forcedotcom #forcedotcom
Your One Stop Shop for Summer ‘11
Demos
Webinar Replay
Release Notes
Documentation
Training
Highlights
Discussion
http://developer.force.com/releases
Join the conversation using #summer11 http://boards.developerforce.com/sforce/
Got Twitter? @forcedotcom / #forcewebinar
LinkedIn? Developer Force Group
Facebook? facebook.com/forcedotcom
Follow us: @forcedotcom #forcedotcom
Today’s Agenda
Cloud to Cloud integration with Force.com
Cloud to Cloud Integration patterns – Outbound
• Demo - Integrating with LinkedIn
– Inbound
– Hybrid • Demo - Integrating with Google App Engine
– UI Integration
Q & A
Follow us: @forcedotcom #forcedotcom
Today’s Agenda
Cloud to Cloud integration with Force.com
Cloud to Cloud Integration patterns – Outbound
• Demo - Integrating with LinkedIn
– Inbound
– Hybrid • Demo - Integrating with Google App Engine
– UI Integration
Q & A
Follow us: @forcedotcom #forcedotcom
Force.com - common integration scenarios
Follow us: @forcedotcom #forcedotcom
Force.com integration options
Force.com Platform
Mobile External Apps
Apex Data Loader
Data ETL Callouts
• REST API • Chatter REST API (Pilot) • Toolkits
• SOAP API • Bulk API • Apex Email Svcs (Inbound) • Apex Web Svcs • Toolkits
• Apex Callouts • Outbound Msgs • Apex Email (Outbound) • Sites RSS Feeds
• SOAP & Bulk API
Follow us: @forcedotcom #forcedotcom
Cloud to Cloud integrations
In many ways, Cloud-to-Cloud integrations are no different than other integrations.
But, they have some unique characteristics.
Cloud-to-Cloud Other SOAP/WSDL
Username/pwd
XML
Network/Infrastructure reqs
RESTful
OAuth authentication
JSON
No network/infrastructure reqs
No Middleware
Social data
Middleware (often)
Business /transactional data
Follow us: @forcedotcom #forcedotcom
Today’s Agenda
Cloud to Cloud integration with Force.com
Cloud to Cloud Integration patterns – Outbound
• Demo - Integrating with LinkedIn
– Inbound
– Hybrid • Demo - Integrating with Google App Engine
– UI Integration
Q & A
Follow us: @forcedotcom #forcedotcom
Outbound integrations
• Apex Callouts
• Force.com toolkits
• Outbound Messaging
• Apex Email (Outbound)
Follow us: @forcedotcom #forcedotcom
Apex Client
Oracle Web Service
Legacy Web Service
Provider REST API
Google Web Service
Apex Callouts
Apex class or trigger initiates the callout
Legacy Systems
Use Apex to invoke a WSDL/SOAP or REST service
Follow us: @forcedotcom #forcedotcom
1. Use OAuth Apex client to authenticate with LinkedIn
2. Store OAuth token in Salesforce
3. User updates their Chatter status with ‘#linkedin’ hashtag
4. Invoke LinkedIn REST API to update User’s LinkedIn Status
Demo – Apex callout to LinkedIn
Apex HTTP callout
Follow us: @forcedotcom #forcedotcom
Apex Callouts – Important Considerations
• Apex can invoke a WSDL/SOAP or REST service
• Remember Governor Limits • Payload size limit – 3MB
• # of Callouts in a transaction – 10
• Maximum timeout for all callouts – 120 sec
• Callouts from Triggers have to be made asynchronously (using @future)
• Any DML operations have to be performed after the callout • Writing test classes for external callouts requires special considerations
• Use JSON Code Share project to parse JSON data • Native JSON support in Apex actively being worked on (Safe Harbor applies)
• Remember to add service URL to ‘Remote Site Settings’
Follow us: @forcedotcom #forcedotcom
Apex Callouts and security
• Apex Callouts supports two-way SSL (aka client side certificates)
• Can also set custom HTTP security headers
• Use the OAuth Playground Code Share project for client side OAuth 1.0a
Follow us: @forcedotcom #forcedotcom
Toolkits for Outbound Integrations
Google Data APIs
Amazon Web Services
Facebook (Beta)
Native Force.com (Apex/Visualforce) wrappers for…
And…. Salesforce for Twitter and Facebook (and other AppExchange packages)
Follow us: @forcedotcom #forcedotcom
Today’s Agenda
Cloud to Cloud integration with Force.com
Cloud to Cloud Integration patterns – Outbound
• Demo - Integrating with LinkedIn
– Inbound
– Hybrid • Demo - Integrating with Google App Engine
– UI Integration
Q & A
Follow us: @forcedotcom #forcedotcom
Inbound integrations
• Force.com APIs • SOAP, REST, Chatter REST (Pilot), Bulk
• Apex Web Services • SOAP, REST (Pilot)
• Force.com toolkits
Follow us: @forcedotcom #forcedotcom
There is an API for that…
Most commonly used for Cloud-2-
Cloud integrations
Scenario API • Thousands to millions of records • Synchronous processing required
SOAP API
• REST/JSON preferred • Lightweight client library preferred/required
REST API
• Process Chatter data Chatter REST API (Pilot)
• Hundreds of millions of records • Async. processing ok
Bulk API
Follow us: @forcedotcom #forcedotcom
Apex Web Services
• Expose custom Apex logic as SOAP and/or RESTful (Pilot in Summer’ 11) services
• Use Apex Web Services to implement custom business logic (e.g. transactions) or expose a customized service interface
Follow us: @forcedotcom #forcedotcom
Toolkits for Inbound Integrations
Ruby (Heroku)
PHP (AWS, PHP Fog etc.)
Windows Azure
Google App Engine
Platform/Language native wrappers of the SOAP API for…
Follow us: @forcedotcom #forcedotcom
Inbound Integration sample
Facebook PHP App querying
Jobs data from Force.com
Follow us: @forcedotcom #forcedotcom
Today’s Agenda
Cloud to Cloud integration with Force.com
Cloud to Cloud Integration patterns – Outbound
• Demo - Integrating with LinkedIn
– Inbound
– Hybrid • Demo - Integrating with Google App Engine
– UI Integration
Q & A
Follow us: @forcedotcom #forcedotcom
Hybrid integrations
• Integration typically initiated by an outbound call from Force.com
• External cloud application then makes a callback to retrieve/update Force.com data
Follow us: @forcedotcom #forcedotcom
1. Invoke GAE service with Record Ids to merge
2. Authenticate with Force.com using OAuth
4. Perform PDF Merge
5. Insert merged PDF as Attachment record
( Force.com REST API)
Demo – PDF merge in Google App Engine
3. Retrieve PDF Attachments (Force.com REST API)
Follow us: @forcedotcom #forcedotcom
Today’s Agenda
Cloud to Cloud integrations with Force.com
Cloud to Cloud Integration patterns – Outbound
• Demo - Integrating with LinkedIn
– Inbound
– Hybrid • Demo - Integrating with Google App Engine
– UI Integration
Q & A
Follow us: @forcedotcom #forcedotcom
UI Integration
LinkedIn widget embedded in Visualforce.
A public Force.com Sites page shown in Facebook.
Follow us: @forcedotcom #forcedotcom
Today’s Agenda
Cloud to Cloud integration with Force.com
Cloud to Cloud Integration patterns – Outbound
• Demo - Integrating with LinkedIn
– Inbound
– Hybrid • Demo - Integrating with Google App Engine
– UI Integration
Q & A
Follow us: @forcedotcom #forcedotcom
Upcoming webinar
Do not forget! Sign up for the live webinar for the Database.com Sneak
Preview
http://bit.ly/databasedotcom_webinar
Follow us: @forcedotcom #forcedotcom
http://bit.ly/Cloud2CloudIntegrations10AM
Please Complete Survey
Follow us: @forcedotcom #forcedotcom
Integration resources: – http://wiki.developerforce.com/index.php/Integration
Integration Recipes – http://developer.force.com/cookbook/category/integration/recent
Force.com Toolkits: – http://wiki.developerforce.com/index.php/Tools
Force.com API documentation – http://wiki.developerforce.com/index.php/Documentation#API
Apex testing webinar recording (testing Apex callouts) – http://wiki.developerforce.com/index.php/Webinar:_Apex_Code:_Testing_and_Code_Coverage
JSON Code Share library – http://developer.force.com/codeshare/projectpage?id=a0630000002ahp4AAA
OAuth 1.0 Apex client Code Share library – http://developer.force.com/codeshare/projectpage?id=a0630000008MQYMAA4
Additional Resources