Reflecting back on my third Dreamforce trip and fourth speaking session around standards based data connectivity; I remain most excited about the announcement at Dreamforce ’14 around Lightning Connect, the new external object support via OData released in Winter ’15. I consider myself a bit of a “data hippie” interested in the latest news on open data standards for connectivity.
Use cases for amazing Lightning Connect OData integration
While Salesforce integration is nothing new, Lightning Connect changes the game by treating live external data as native objects driven from the platform using APEX triggers and classes, SOQL, SOSL, Lookup Relationships, Custom Tabs and Details. The most common use case I have heard at Dreamforce is by far integration with on-premise Oracle or SQL Server databases. From talking to architects, admins and developers at Dreamforce ’14, I am hearing about potential projects to integrate with sources such as:
- On-premise ERP systems such as those built on Oracle (EBS or Peoplesoft), SQL Server (Sage), IBM DB2 (JDEdwards), or OpenEdge (QAD, Infor, Epicor)
- Data Warehouse histories from systems such as Amazon Redshift, Cloudera, or HortonWorks
- Marketing Data such as Marketo, Hubspot, Eloqua, or Google Adwords
- Order fulfillment systems for real-time lookup from service cloud
- Connecting SAP Gateway
- Integration with Microsoft Sharepoint Lists
OData is not limited to database connectivity, and includes a rich ecosystem or producers; and Progress Software's DataDirect Cloud supports both on-premise databases behind a firewall and even cloud data sources including Google Analytics, Salesforce Platform (for cross org connectivity), Marketo or Eloqua. In my opinion, this is even more exciting than Salesforce Analytics Cloud (Project Wave). In my most recent session at DF14, I presented a live demo of this showing how to connect on-premise or cloud sources such as SQL Server, Oracle or Amazon Redshift from my force.com developer account using OData produced by DataDirect Cloud. The data gets fetched directly in real-time from source systems on demand without having to physically move or duplicate the data.
"Salesforce1 Lightning Connect is a new breed of real-time integration that turns any external data source into a first class citizen on the Salesforce1 Platform," said Scott Holden, VP, Salesforce1 Platform, Salesforce. "Along with partners like Progress, we are making integration point-and-click simple for our customers."
How does Lightning Connect work with external objects?
From the Salesforce Platform Winter 15 release notes:
Access External Data with Salesforce1 Lightning Connect. Lightning Connect enables your users to view and search records that are stored outside Salesforce, such as data in an enterprise resource planning (ERP) system. Instead of copying the data into Salesforce, which would be redundant and inefficient, use external objects to reference the data and access the data in real time via Web service callouts.
Lightning Connect external objects map to data tables in external data sources and are available to Salesforce tools such as lookup relationships, record feeds, the Salesforce1 app, SOSL and SOQL queries, Salesforce APIs, and deployment via the Metadata API, change sets, and packages. To connect to an external data source, Lightning Connect uses the Open Data Protocol (OData) version 2.0.
OData and Lightning Connect impressions from the show
I joined several sessions and met folks from across the Salesforce.com platform to talk OData integration. Many of the force.com developers in the devzone were familiar with OData as a standard; but virtually all 150,000 attendees were excited about what OData represents in transforming external data into native Salesforce.com objects and there was a lot of buzz on twitter.
— Sumit Sarkar (@SAsInSumit) October 13, 2014
Get started with Lightning Connect and OData for real-time connectivity
- Sign up for a Salesforce.com developer accountas of Winter ’15
- Sign up for aDataDirect Cloud trial. Or you can select any OData source from the ecosystem on odata.org. From my experience at Dreamforce, most shops were interested in DataDirect Cloud which produces real-time OData from popular data sources running on-premise or cloud. If you want to connect securely to an on-premise database using OData, here’s a relatedtutorial on odata.org using DataDirect Cloud to instantly produce OData from databases behind your firewall using DB2 as an example, but the same steps apply to SQL Server, Oracle, Postgres, MySQL, OpenEdge, Cloudera or HortonWorks.
- From the Salesforce.com developer account, click on Setup > Develop > External Data Sources
- Configure the data source using the url as follows replacing myDataSource with your DataDirect Cloud data source name: https://service.datadirectcloud.com/api/odata/myDataSource
- For DataDirect Cloud, authenticate using Basic Authentication. Under the Authentication section, change “Identity Type” to: “Per User” or “Named Principal”; and “Authentication Protocol” to: “Password Authentication”. Then enter your DataDirect Cloud credentials.
6. Click Validate and Sync and select the external entities you want to treat as external objects. These objects will have API Name appended with __x to indicate an external object; and the fields will be appended with __c similar to other custom fields.
7. At this point, force.com developers are ready to rock the Salesforce Platform with unlimited data.