360 likes | 604 Views
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
E N D
Enterprise IntegrationCombining 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 • Next Generation Integration Services • Apex Web Services • Force.com SOA Callouts • Additional Resources • Q&A
Financials Manufacturing HR Your Architecture Data Warehouse Middleware/ Enterprise Service Bus SFA Service & Support ChannelManagement Data Enrichment
Financials Manufacturing HR Your Architecture Integration to Salesforce.com? Data Warehouse Middleware/ Enterprise Service Bus ? ? ? Data Enrichment SFA Service & Support ChannelManagement
The Force.com API Overview • 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 Mobile Force.com Builder Force.com Connect Apex Code Force.comAPI Force.com DB Force.com OS
The Force.com API How does it work? • Login call • Log in to the login server and receive authentication information to be used for subsequent calls 1 Force.com Mobile Force.com Builder Username/Password Force.com Connect Apex Code Force.comAPI http/s URL/Session ID Token Force.com DB Force.com OS
The Force.com API How does it work? • 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 Force.com Mobile Force.com Builder Force.com Connect Apex Code Force.comAPI Force.com DB Force.com OS
The Force.com API How does it work? • 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 Force.com Mobile Force.com Builder Force.com Connect Apex Code Force.comAPI Force.com DB Force.com OS
The Force.com API How does it work? • 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 Force.com Mobile Force.com Builder Force.com Connect Apex Code Force.comAPI Force.com DB Force.com OS
The Force.com API Salesforce Object Query Language (SOQL) • 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 Force.com Mobile Force.com Builder Force.com Connect Apex Code Force.comAPI Force.com DB Force.com OS
The Force.com API How does it work? • API call • After logging in, defining and populating the sObject and choosing the operation 4 Force.com Mobile Force.com Builder Force.com Connect Apex Code URL (http/s) Force.comAPI Force.com DB Force.com OS
The Force.com API Facts • 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 Force.com Mobile Force.com Builder Force.com Connect Apex Code Force.comAPI Force.com DB Force.com OS
The Force.com API Facts • The Force.com API is fast and reliable • 4.3 Billion Transactions in Q4FY07 • > 55% Web Services API transactions Force.com Mobile Force.com Builder Force.com Connect Apex Code Force.comAPI Force.com DB Force.com OS
The Force.com API Facts • 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 Force.com Mobile Force.com Builder Force.com Connect Apex Code Force.comAPI Force.com DB Force.com OS
S-Controls/Mash-ups Overview • 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-ups Overview • 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, Opportunity data Order Management data / Account/Open Orders Mash-up
S-Controls/Mash-ups 1 How does it work? • 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 2
S-Controls/Mash-ups Facts • 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
Outbound Messaging Overview • 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.
Outbound Messaging Overview Call back using Partner/Enterprise URL, Session ID Token contained in the original Outbound Message • 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) api
Outbound Messaging 1 How does it work? • 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 2
Outbound Messaging How does it work? • Implement a Web Service Listener that consumes the Outbound Message • Find .NET and Java examples on the Apex Developer Network (ADN) at: 3 www.salesforce.com/developer api
Outbound Messaging Facts • 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 api
Enterprise IntegrationCombining the Salesforce Platform with your Architecture Next Generation Integration Services
Apex Web Services Overview • 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 Force.com Mobile Force.com Builder Force.com Connect Apex Code Force.com API Force.com DB Force.com OS
Apex Web Services Overview • 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 Web Service Force.com Mobile Force.com Builder Force.com Connect Apex Code Force.com API Force.com DB Force.com OS
Apex Web Services How does it work? • 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 class myPackage { webService Id makeContact(String lastName ,Account a) { Contact c = new Contact(lastName = 'Spohn', AccountId = a.Id); insert c; commit; return c.id; } } 1 2 3
Apex Web Services Facts • 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 Force.com Mobile Force.com Builder Force.com Connect Apex Code Force.com API Force.com DB Force.com OS
OracleWebService SOA SAPWebService GoogleWebService HooversWebService Force.com SOA Callouts Overview • 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. Force.com Mobile Force.com Builder Force.com Connect Apex Code Apex Web Service Client Force.com API Force.com DB Force.com OS
OracleWebService SOA SAPWebService GoogleWebService HooversWebService Force.com SOA Callouts Overview • 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) Force.com Mobile Force.com Builder Force.com Connect Apex Code Apex Web Service Client Force.com API Force.com DB Force.com OS
Force.com SOA Callouts How does it work? • Choose any Web Service and upload your Web Service’s WSDL file • Generate Apex Code stubs from uploaded WSDL 1 2
SOA SAPWebService Force.com SOA Callouts How does it work? • 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 3 OracleWebService Force.com Mobile Force.com Builder Force.com Connect Apex Code Apex Web Service Client Force.com API GoogleWebService Force.com DB Force.com OS HooversWebService
Force.com SOA Callouts How does it work? • Build and run your next generation Mash-up with absolutely no software 4 Salesforce Objects Billing History Current Address Latest Company News
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
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/
Q A &