Enterprise Integration - Solution Patterns From the Field

23
Enterprise Integration Solution patterns from the field

description

The Force.com Platform offers a powerful, scalable, and secure Web Service API to support integration use cases common to large enterprises. In this session, we will revise some of these patterns then focus on a specific pattern used to solve asynchronous integrations. We will delve in to the specific techniques related to this pattern and put them to use by forming real world end-to-end integration use case illustrating maintainability, scalability, extensibility, and security.

Transcript of Enterprise Integration - Solution Patterns From the Field

Page 1: Enterprise Integration - Solution Patterns From the Field

Enterprise IntegrationSolution patterns from the field

Page 2: Enterprise Integration - Solution Patterns From the Field

Safe HarborSafe 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 product or service availability, 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, new products and services, 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 outcome of any litigation, risks associated with completed and any 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 year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures 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 presentations, 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.

Page 3: Enterprise Integration - Solution Patterns From the Field

Ammar AlamarDirector – Salesforce Services, Australia

Page 4: Enterprise Integration - Solution Patterns From the Field

Troy SellersPlatform Architect, APAC

Page 5: Enterprise Integration - Solution Patterns From the Field

Agenda▪ Review integration patterns & Salesforce capabilities▪ Use Case▪ The notify with callback pattern▪ Integration assessment criteria▪ Alternatives▪ Handling errors▪ Q&A | References

Page 6: Enterprise Integration - Solution Patterns From the Field
Page 8: Enterprise Integration - Solution Patterns From the Field

What Are We Solving For?

Page 9: Enterprise Integration - Solution Patterns From the Field

Integration Assessment Criteria

We are looking to solve with the following criteria in mind:

▪ Secure

▪ Extensible

▪ Maintainable

▪ Guaranteed message delivery

▪ Bulkified

▪ Mobile friendly

▪ Transaction Integrity

▪ Reports and monitoring

Page 10: Enterprise Integration - Solution Patterns From the Field

Notify / Callback Pattern

Workflow Rule

Outbound Message

Remote Listener

Queue / Orchestrate

Remote System

WF Action

Outbound Message

Send Outbound Message

(Notify)

Acknowledge

Queue

Ack

Invoke

Salesforce.com Middleware

Web Service API

Retrieve data

Page 11: Enterprise Integration - Solution Patterns From the Field

Process Lifecycle

Web Service APIs

Cloud GatewayERP

Fulfilment

1

3

26

Transaction A

66

4

Transaction B 8

78

8

1 – Sales Rep closes an OpportunityOutbound Message (configured via workflow) fires.OBM in Salesforce provides a 24hr delivery guarantee.

2 – Acknowledge and query dataThe outbound message is a simple notify. Callback and retrieve the data required for the transaction from Salesforce.

3 – Create P.O. in ERPData retrieved from Salesforce is sent to the ERP system

4 – Approval / Back office task(s)Back office tasks occur such as approval process, creation of Purchase Order etc

5

5

5 – Populate External IDAn optional step. If Salesforce requires a soft foreign key reference to the created P.O.

6 – Fulfill P.O. (Create & update)A created purchase order initiates action to the fulfillment system. This needs to be transactional with the system update in Salesforce.

7 – Fulfillment processThe fulfillment system has internal process that requires to run.

8 – Fulfillment complete.Another transaction message that needs to be sent to both the ERP and Salesforce

Page 12: Enterprise Integration - Solution Patterns From the Field

End To End Solution - Security

Web Service APIs

Cloud GatewayERP

Fulfilment

Transaction A

Transaction B

Page 13: Enterprise Integration - Solution Patterns From the Field

End To End Solution

Page 14: Enterprise Integration - Solution Patterns From the Field

Assessment Against CriteriaCriterion Assessment

Secure✓

Network, Transport and Application level security. Dual firewall DMZ.Web Service Gateway

Extensible✓

Salesforce: Clicks not codeCloud Gateway: Yes (product dependent)Maintainable

Guaranteed Delivery ✓ First Mile: Outbound MessagingEnd to end: Middleware / Cloud Gateway

Bulkified ✓ Outbound Message: 100 records per messageMobile Friendly ✓ Asynch outbound message. Not tied to UI.Transaction Integrity ✓ Callback by cloud gateway. Message ID filtering.Reports and Monitoring ✓ End to end: Via Middleware

First Mile: Salesforce Outbound Messaging

Page 15: Enterprise Integration - Solution Patterns From the Field

AlternativesApex Callout via @Future contexts

▪ Code (extensibility & maintainability)▪ Governor limits (10 @Future x 10 Callouts each)▪ No retry mechanism ▪ No reporting for first-mile delivery

Visualforce Apex Callout (Asynchronous)▪ Code▪ No retry (especially when user navigates away)▪ No reporting for first-mile delivery

Page 16: Enterprise Integration - Solution Patterns From the Field

Options Analysis

Criterion Outbound Message Apex Callout (VF) Apex Callout (@Future)

Secure ✓ ✓ ✓

Extensible✓ X X

Maintainable

Guaranteed Delivery ✓ X X

Bulkified ✓ X ✓ with limits

Mobile Friendly ✓ X ✓

Transaction Integrity ✓ ✓✓

assuming a callback

Reports and Monitoring ✓ X X

Page 17: Enterprise Integration - Solution Patterns From the Field

When good things go bad…

What happens when there are functional / validation errors▪ Asynchronous messages do not give users feedback▪ Users will need feedback as to the current status

• E.g In Queue, Sent, In Error etc

▪ Operations / Support team needs access to proactively investigate and quantify errors.

Page 18: Enterprise Integration - Solution Patterns From the Field

Integration Control Fields

▪ Each object / record sent to the master system has 3 fields▪ Integration Action (Add, Modify, Delete)▪ Integration Status (Sent, Complete, Error)▪ Integration Error Code

▪ A workflow rule fires and sends an outbound message when the integration action is set to ‘Sent’

Page 19: Enterprise Integration - Solution Patterns From the Field

Notification Centre

When the integration status stays at ‘Sent’ for > 90 seconds

When the integration for parent or child record is set to ‘Error’ then rollup error to Customer

Notifications centre is also used for Business Rules and Manual entries

Page 21: Enterprise Integration - Solution Patterns From the Field

Ammar Alamar

Director – Salesforce Services, Australia

Troy Sellers

Platform Architect – APAC@ibigfoot7

Page 22: Enterprise Integration - Solution Patterns From the Field

We want to hear from YOU!

Please take a moment to complete our session survey

Surveys can be found in the “My Agenda” portion of the Dreamforce app

Page 23: Enterprise Integration - Solution Patterns From the Field