enterprise integration combining the salesforce platform with your architecture

36
Enterprise Integration Combining the Salesforce Platform with Your Architecture Markus Spohn Director Product Management, Integration & Desktop Clients

Upload: sopoline-madden

Post on 01-Jan-2016

53 views

Category:

Documents


2 download

DESCRIPTION

Enterprise Integration Combining the Salesforce Platform with Your Architecture. Markus Spohn Director Product Management, Integration & Desktop Clients. Agenda. Your Architecture Salesforce.com Integration Capabilities Force.com API S-Controls / Mashups Outbound Messaging - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Enterprise IntegrationCombining the Salesforce Platform with Your Architecture

Markus SpohnDirector Product Management, Integration & Desktop Clients

Page 2: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Your Architecture

Salesforce.com Integration Capabilities

– Force.com API

– S-Controls / Mashups

– Outbound Messaging

Next Generation Integration Services

– Apex Web Services

– Force.com SOA Callouts

Additional Resources

Q&A

Agenda

Page 3: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Manufacturing HR

Data EnrichmentSFA Service & Support ChannelManagement

Middleware/Enterprise

Service Bus

Financials

Internet

Data Warehouse

Your Architecture

Page 4: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Manufacturing HR

SFA Service & Support ChannelManagement

Middleware/Enterprise

Service Bus

? ? ?

InternetInternet Internet

Financials

Data Enrichment

Internet

Data Warehouse

Your ArchitectureIntegration to Salesforce.com?

Page 5: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Salesforce provides

programmatic access to

your organization’s

information using a

simple, powerful, and

secure application

programming interface,

the Force.com Web

Services API. Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

The Force.com APIOverview

Page 6: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

1. Login call

– Log in to the login server

and receive authentication

information to be used for

subsequent calls

1

Username/PasswordUsername/Password

URL/Session ID TokenURL/Session ID Token

Internethttp/s

The Force.com APIHow does it work?

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 7: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

1. Salesforce Objects (sObjects)

– are representations of your

organization’s Salesforce data

– e.g. accounts are represented

by an Account object

– The Account object has fields

that represent the account

name, phone number, shipping

address, and so on

2

The Force.com APIHow does it work?

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 8: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

1. Operations

– Create, update, and delete data

(create, merge, update, upsert,

delete calls)

– Replicate data locally (getDeleted and

getUpdated calls)

– Perform administrative tasks (e.g.

getUserInfo , setPassword calls)

– Obtain and navigate metadata (e.g.

describeSObject call)

– Work with workflow and approvals

(process call)

3

The Force.com APIHow does it work?

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 9: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

1. Operations

– Query your organization’s

information (query, queryAll,

queryMore, and retrieve

calls)

– Use the Salesforce Object

Query Language (SOQL) to

construct simple powerful

query strings

3

The Force.com APIHow does it work?

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 10: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Similar to SQL syntax

Allows you to specify – Source object (such as

Account),

– A list of fields to retrieve

– Conditions for selecting rows in the source object.

Sample SOQL statement:

SELECT Name FROM Account WHERE Name like 'A%'

Supports Relationships

The Force.com APISalesforce Object Query Language (SOQL)

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 11: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

1. API call– After logging in, defining and

populating the sObject and

choosing the operation

4

InternetURL (http/s)

Request Message

Session Header

Message Body

sObject

Session ID Token

Operation = Create

Account

Response Message

Response

ReturnData

Fault

The Force.com APIHow does it work?

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 12: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

The Force.com API exposes

– all standard Salesforce Objects.

– all custom Salesforce Objects and

custom fields on standard

Salesforce objects

The Force.com API is secure

– Supports Secure Sockets Layer

(SSL) protocol SSLv3

– Username/Password Credential

Authentication

– Optional Support for SAML and

other token mechanisms

The Force.com APIFacts

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 13: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

The Force.com API is fast and reliable– 4.3 Billion Transactions in

Q4FY07

– > 55% Web Services API

transactions

0

500,000,000

1,000,000,000

1,500,000,000

2,000,000,000

2,500,000,000

3,000,000,000

3,500,000,000

4,000,000,000

4,500,000,000

FY05Q1

FY05Q2

FY05Q3

FY05Q4

FY06Q1

FY06Q2

FY06Q3

FY06Q4

FY07Q1

FY07Q2

FY07Q3

FY07Q4

0

200

400

600

800

1,000

1,200

1,400

Total TransactionsPer Quarter

Average PageResponse

The Force.com APIFacts

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 14: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

The Force.com API is standards-

based

– Simple Object Access Protocol

(SOAP) 1.1 compliant

– Web Service Description

Language (WSDL) 1.1 compliant

– WS-I Basic Profile 1.1 compliant

The Force.com APIFacts

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 15: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

S-Controls let you build and

host your own custom web

pages inside Salesforce.com

S-Controls enable you to

build Mash-ups*

Mash-up (web application hybrid),

a website or web application that

combines content from more than

one source (Source: Wikipedia.com)

/ Mash-up

*

S-Controls/Mash-upsOverview

Page 16: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

S-Controls enable you to

build Business Mash-ups,

e.g. exposing back office data

like

– Order History

– Pending Invoices

– Payment History

– Credit Limit/Exposure

– etc.

along with Account Data in

Salesforce.com

/ Account/Open Orders Mash-up

Account,Opportunity data

Order Management data

S-Controls/Mash-upsOverview

Page 17: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Create a new S-Control

– HTML

– URL

– Snipped

Embed the S-Control in

Salesforce.com as a

– Custom Web Tab

– Custom Button or Link

– Detail Page

– Dashboard Component

– Standard Button Override

1

2

1

2

S-Controls/Mash-upsHow does it work?

Page 18: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

S-Control are executed locally in your

browser, not on the Salesforce.com

server

S-Control can display data in the

Salesforce.com user Interface that is

not physically stored in Salesforce

– Please note that you can not report on

data that is not stored in

Salesforce.com

S-Controls/Mash-upsFacts

Page 19: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Outbound Messaging

enables real-time

integration by sending

Outbound Messages from

Salesforce.com to any

Web Service endpoint

exposed on the Internet

based on triggered

Workflow Rules.

Internet

Outbound Messaging

Account

Contact

Opportunity

NativeSalesforce Object

Web Service

Endpoint

SOAP

Outbound MessagingOverview

Page 20: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Outbound Messaging

– is asynchronous

– but allows easy callbacks

into Salesforce.com using

the Force.com API

(all Outbound Messages

contain Enterprise/Partner

URL and a Session ID

Token for easy backs)

Internet

Outbound Messaging

Account

Contact

Opportunity

NativeSalesforce Object

Web Service

Endpoint

SOAP

api

Call back using Partner/Enterprise URL,

Session ID Token contained in the original Outbound

Message

Outbound MessagingOverview

Page 21: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Create a Workflow Rule / Approval Process

– Define Workflow Rules / Approval Processes that trigger Outbound Messages

Create an Outbound Message Workflow Action

– Manage Outbound Message content and Endpoint URL

– Download Outbound Message WSDL file

1

2

Outbound MessagingHow does it work?

1

2

Page 22: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Implement a Web Service Listener that consumes the Outbound Message– Find .NET and Java

examples on the Apex Developer Network (ADN) at:

3

Internet

Outbound Messaging

Account

Contact

Opportunity

NativeSalesforce Object

Web Service

Endpoint

SOAP

www.salesforce.com/developer

Outbound MessagingHow does it work?

api

Page 23: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Outbound Messaging is

– Reliable• 24 hours retry for failed

Outbound Messages

– Secure• Supports HTTP/S

• Supports X.509 Client

Certificates

• Outbound Messages sent

from salesforce.com IP

Addresses

• Outbound Messages contain

Salesforce.com

OrganizationId

Internet

Outbound Messaging

Account

Contact

Opportunity

NativeSalesforce Object

Web Service

Endpoint

SOAP

Outbound MessagingFacts

api

Page 24: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Next Generation Integration Services

Enterprise IntegrationCombining the Salesforce Platform with your Architecture

Page 25: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Apex Code is the new on demand, multi-tenant

programming language that extends the

capabilities of the Apex platform by introducing

the ability to write code that runs on

salesforce.com servers.

Apex Code can be organized in Classes

Apex CodeClass

Apex Web ServicesOverview

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 26: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

An Apex Code Class can be exposed as a Web

Service by declaring the Package as a

“webService”

The webService Apex Code Class becomes an

Apex Web Service that can be invoked by any

external or internal application

Apex Code Class

Apex Web ServicesOverview

Web

Ser

vice

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 27: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Write your Apex Code Class

Use the webService annotation to expose a Method of the Class as Web Service

Download the WSDL file– Go to Setup | Build | Code

– Click the name of a package that contains webService methods

– Click Generate WSDL

1

2

3

class myPackage { webService Id makeContact(String lastName ,Account a) { Contact c = new Contact(lastName = 'Spohn', AccountId = a.Id); insert c; commit; return c.id; }}

Apex Web ServicesHow does it work?

Page 28: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Apex Code is

– Hosted

– Multi-Tenant aware

– Automatically upgradeable

– Easy to test

With Apex Code and Apex Web

Services you can build Custom Web

Services APIs

Apex Web ServicesFacts

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 29: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

SOA

Force.com SOA Callouts is a powerful new

capability of the Apex programming language.

With Force.com SOA Callouts, developers can

leverage Web services from anywhere, and

build them into their on-demand applications.

Apex Web Service

Client

Apex Web Service

Client

OracleWeb

Service

OracleWeb

Service

SAPWeb

Service

SAPWeb

Service

GoogleWeb

Service

GoogleWeb

Service

HooversWeb

Service

HooversWeb

Service

Force.com SOA CalloutsOverview

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 30: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

SOA

Force SOA Callouts

– allows synchronous callout to any Web

Service from within Apex Code

– creates Apex Code stubs based on your

Web Service’s WSDL file (think of it like

WSDL2Apex)

Apex Web Service

Client

Apex Web Service

Client

OracleWeb

Service

OracleWeb

Service

SAPWeb

Service

SAPWeb

Service

GoogleWeb

Service

GoogleWeb

Service

HooversWeb

Service

HooversWeb

Service

Force.com SOA CalloutsOverview

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 31: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Choose any Web Service and upload your Web

Service’s WSDL file

Generate Apex Code stubs from uploaded

WSDL

1

2

Force.com SOA CalloutsHow does it work?

Page 32: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

SOA

Call the Web Service

– Use the generated Apex Code stubs in

your Apex Code to call the Web Service,

e.g. Oracle Financials, SAP R/3, Hoovers

or Google

Apex Web Service

Client

Apex Web Service

Client

OracleWeb

Service

OracleWeb

Service

SAPWeb

Service

SAPWeb

Service

GoogleWeb

Service

GoogleWeb

Service

HooversWeb

Service

HooversWeb

Service

3

Force.com SOA CalloutsHow does it work?

Force.com API

Force.com DB

Force.com OS

Force.com Builder

Force.com Mobile

Force.com Connect Apex Code

Page 33: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Build and run your next generation Mash-up with absolutely

no software

4

Salesforce Objects

Billing History

Current Address

Latest Company News

Force.com SOA CalloutsHow does it work?

Page 34: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Additional Resources For Salesforce Integration… Apex Developer Network

Developer community

Discussion Boards

Blogs

Documentation/Downloads/FAQs

Code samples and more…

Get more info at www.salesforce.com/developer

Page 35: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

Additional Resources For Salesforce Integration Success…Salesforce Professional Services

Integration Services That

Meet Your Needs– Integration Strategy

– Solution Design

– Design Review

– Complete Solution Delivery

Best in Class Partnerships

The Latest Technology Expertise

The Most Integration Experience

More info at salesforce.com/services-training/

Page 36: Enterprise Integration Combining the Salesforce Platform with  Your Architecture

AAQQ &&