These are the slides from the presentation at the Salesforce1 Word Tour event at Paris 2014-06-26 by Samuel De Rycke in the Developer Theatre
Using the template
Platform API overview
Samuel De RyckeSalesforce Developer at ABSIsamuel.firstname.lastname@example.org@SamuelDeRycke
Where are APIs situated in the overal architecture, and what is their purpose ?
Gateways of communication, system/automated access to data and configuration. Exchange data with other systems in your company
SOAP/WSDL2 Versions:Enterprise: Strongly typed, Org specificPartner: Dynamic, Requires datamodel inspectionExtensive API, well suited for system integrations
Wsdl needs to be reloaded for new metadata versions, Partner version. Some more functionality than the REST API, oldest API.
All custom objects automatically exposed !
Access data over RESTXML or JSONLightweightBest suited for browser or mobile applications
Lightweight, Search-Fetch-View or Modify. Use it for user /interaction applications. Not well suited for many record processingAll custom objects automatically exposed !
Apex codeSOAP or RESTXML, JSON or custom formatsSynchronousWrite your own API in Apex
As simple as making global classes with a few Annotations, no extra overhead. Platform does all the work.
webService static SOAP
Custom APIs Use Case
Challenge: External mobile application needs to store multiple records in multiple objects in a transactional process.Issue: REST Api handles insert and update calls in separate requests per record
Solution: We wrote our own custom Apex REST endpoint to accept a custom datatype which was wrapper around the salesforce sObjects. Now we could handle the transactional process in Apex.
All or nothing/ rollback
Chatter REST API
RESTXML or JSONSynchronousAbstracted data modelChatter specific API to access the social collaboration part of force.com
Users, groups, composite feed posts, followers and files. Abstracted data model -> logical data model. API similar to those of Twitter or Facebook.
RESTXML or CSVAsynchronousProcess >1.000.000 records
Optimized for manipulating large sets of data. Batchese are processed asynchronously. SETUP > Monitor > JOBS > Bulk Data Load Jobs
Implemented in the salesforce dataloader
RESTJSONSynchronous & AsynchronousAccess the force.com reporting engine: configuration and data
Access to report data as configured in the report builder. Use report data in custom objects. Custom visualizations. Automate reporting tasks, Filter on the fly.
JSONAsynchronousNear real-timeReceive push notifications when records are created or updated
Publish/Subscribe model. Define pushtopics with SOQL queries. Subscribe and wait for push notifications. No more polling and wasting resources and API calls.Bayeux & CometD to maintain server connections for long periods of time.
SOAP/WSDLAccess the force.com configurationDeploy between orgs !
Access organization configuration, deploy changes between environments, Continuous integration.Configuration backups
SOAP or RESTXML or JSONExposes developer features
Code execution, test SOQL statements, Manage working version of Apex classes and Visualforce pages. Test code execution and code coverage results. Analyze Debug logs and Heap dumps.
Autocomplete Build custom IDE
La communaut de dveloppeurs Salesforce en France
St Quentin: http://www.meetup.com/Saint-Quentin-Salesforce-Developer-Group/
Samuel De Rycke@SamuelDeRycke