Access External Data in Real-time with Lightning Connect

Post on 15-Jul-2015

3.008 views 5 download

Tags:

Transcript of Access External Data in Real-time with Lightning Connect

Integrate Data, Lightning Fast!

April 9, 2015

Lightning Connect

Pat PattersonDeveloper Evangelist Architect

@metadaddy

ppatterson@salesforce.com

Jason ChoyVice President, Product Management

@jasonchoy

jason.choy@salesforce.com

Agenda

▪ Overview

▪ OData

▪ Demo

▪ Features and Roadmap

▪ Apex Connector Library

▪ Q & A

▪ Don’t wait until the end to ask your question!

– Questions will be queued and answered at the end.

▪ Post to Success Community

– Official: Lightning Connect

▪ Respect Q&A etiquette

– Please don’t repeat questions.

▪ Stick around for live Q&A

– Speakers will tackle your questions at the end.

Have Questions?

Safe Harbor

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, risks associated with 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, 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 annual report on Form 10-K for the most recent fiscal quarter ended July 31, 2011. This document and

others 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.

Overview - Lightning Connect

What is Lightning Connect?

▪ Generally available from Winter ’15 - add-on license required

▪ Data integration capability without the need to copy data

▪ Gives access to external data with point-and-click simplicity

▪ Incorporate external data into Salesforce in real-time

▪ Not storing data alleviates customer data residency concerns

▪ Dramatically reduces time to unlock back-office systems

How does Lightning Connect Work?

▪ Data access is on-demand / real-time

▪ Data access is by reference

▪ Data is formatted into Salesforce objects

▪ Supports open-standard data access protocol

What External Data Sources are Supported?

Any Data Sources that can publish data in Open Data (OData) 2.0 protocol

▪ Commercial Packages

– SAP Netweaver Gateway

– Microsoft SQL Server, Dynamics CRM/NAV,

Azure Table Services

– IBM Websphere exTreme Scale

– Heroku Connect External Objects

▪ DIY Data Producer

– .Net WCF Data Services, Java (Apache Olingo, odata4j), NodeJS

▪ Many more via partners

– Dell Boomi, Informatica, Jitterbit, MuleSoft, Progress, SoftwareAG

Open Data Protocol (OData)

“OData is a standardized protocol for creating and

consuming data APIs.

OData builds on core protocols like HTTP and commonly

accepted methodologies like REST.

The result is a uniform way to expose

full-featured data APIs.”

OData

Proposed by Microsoft

– 2009

Standardized by OASIS

– 2014

OData

URIs for resource identity

http://host/service

/Products

?$filter=Rating+eq+3&$select=Rating,+Name

OData

Atom XML/JSON representation

OData Examples

Service Document

$ curl 'http://host/service/'

{

"@odata.context": "http://host/service/$metadata",

"value": [

{

"kind": "EntitySet",

"name": "Products",

"url": "Products"

},

...

OData Examples

Metadata (XML Only ☹)

$ curl 'http://host/service/$metadata'

<?xml version="1.0" encoding="utf-8"?>

<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">

<edmx:DataServices>

<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ODataDemo">

<EntityType Name="Product">

<Key>

<PropertyRef Name="ID"/>

</Key>

<Property Name="ID" Type="Edm.Int32" Nullable="false"/>

<Property Name="Name" Type="Edm.String"/>

...

OData Examples

Query

$ curl 'http://host/service/Products?$filter=Rating+eq+3&$select=Rating,+Name'

{

"@odata.context": "http://host/service/$metadata#Products(Rating,Name)",

"value": [

{

"Name": "Milk",

"Rating": 3

},

...

OData Examples

Get Individual Entity

$ curl 'http://host/service/Products(1)'

{

"@odata.context": "http://host/service/$metadata#Products/$entity",

"ID": 1,

"Name": "Milk",

"Description": "Low fat milk",

"ReleaseDate": "1995-10-01T00:00:00Z",

"DiscontinuedDate": null,

"Rating": 3,

"Price": 3.5

}

OData Examples

Update Entity

$ curl -w "Status: %{http_code}\\n” \

-H 'Content-Type: application/json' \

-X PATCH \

-d '{"@odata.type":"ODataDemo.Product", "Price":"2.99"}' \

'http://host/service/Products(1)’

Status: 204

OData Examples

Change Tracking

Server will POST notifications to the callback URL

$ curl -H 'Prefer: odata.track-changes'

-H 'Prefer: odata.callback; url="https://myserver/cb?token=123"'

'http://host/service/Products'

Lightning Connect Demo

External Objects work very like Custom Objects

✓ Tabs

✓ List Views

✓ Detail Pages

✓ Chatter Feeds

✓ Visualforce pages with standard or custom controllers

✓ Apex SObject types

✓ REST/SOAP API access

✓ SOQL and SOSL queries from Apex or API

✓ Available on Salesforce1 Mobile Platform

But There Are Currently Some Limitations

✗ Read-only at present (read/write in Pilot now)

✗ Reporting (Coming in 2nd Half 2015)

✗ Formula and Roll-up Summary Fields

✗ Triggers, Workflow, Approvals, Process

✗ Validation Rules

✗ Field History Tracking

✗ Notes, Attachments

Lightning Connect Roadmap

▪ Pilot in Spring ‘15, GA in Summer ‘15*

– Real-time cross-org access

– Apex Connector library to develop custom connectors

▪ Read/Write Capability for External Objects

▪ OData 4.0

– Support for triggers and Workflow

▪ Custom Reports for External Objects

* Safe Harbor!

Apex Connector Framework

Apex Connector Framework

❏ Develop your own custom adapter in Apex for Lightning Connect

❏ Retrieved data will manifest as external objects

❏ Provide your own implementation for your data service

❏ Sync - metadata synchronization to set up external object

❏ Query - translates SOQL query for external data service

❏ Search - translates SOSL search for external data service

❏GA in Summer ‘15, part of Lightning Connect SKU/License

❏Available from Developer Edition Orgs

Apex Connector Demo

Find out more

http://developer.salesforce.com/lightning

Do the Tutorial

http://bit.ly/lightning-connect-tutorial

Engage with the Community

Success Community Group - Official: Lightning Connect

developer.salesforce.com/page/Salesforce1_Lightning_Webinar_Series

• Lightning App Builder

• Lightning Component Framework

• Lightning Process Builder

• Lightning Connect

Lightning Deep Dive Webinars

Thank You! Questions?