SlideShare a Scribd company logo
1 of 26
Download to read offline
Enterprise Grade Business
Application Services on the Web
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, 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, 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 quarterly report on Form 10-Q filed on August 19, 2005 and in other filings with the
 Securities and Exchange Commission. These documents 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.
Platform as a Service
SaaS platform - From Wikipedia, the free encyclopedia
A SaaS Platform is a computer program or collection of more than one
computer program that acts as a host to applications that reside on it.
The platform manages underlying computer hardware and software
resources and uses those resources to endow its hosted
applications with multi-tenant, on-demand capabilities that are
found in Software as a service applications. Generally, hosted
applications are written to target the platform and support a single user.
The platform absorbs the responsibility of distributing the application as a
service to multiple users over the Internet. The SaaS Platform can be
considered a layer of abstraction above the traditional application server,
creating a computing platform that parallels the value offered by the
traditional operating system, only in a web-centric fashion. The SaaS
platform is rooted in the need to reduce the time and difficulty
associated with developing highly available, enterprise grade
business applications that are to be delivered on-demand.
The big questions for PaaS

   Can I integrate to and from the cloud?
   Do I have the flexibility to build any business
   application?
   Do I have to install and maintain hardware?
   Is my application and data secure?
   Can I trust this platform?
   Do other people use and trust this platform?
Force.com Introduction

   Full service Platform
   Building any Business Application
   Use some or all of the platform stack
   Salesforce.com is run on Force.com
   – > 38,000 Customers
   – > 1,000,000 users
   – > 65,000 Developers
   – ~ 1.6 billion transactions a day
   – 24th edition of the service
“Classic” SaaS Application
Mobilized SaaS
Rich Internet & SaaS
“Flashy” SaaS




<apex:inputField />
SaaS Development
Application Services on Force.com


                         Salesforce.com SaaS
                         Offerings



                         Community / Ecosystem
                         Visual Force (MVC UI)
                         Apex Code
                         Web Services APIs
                         Schema Services
                         Data Center
Multi-tenancy - The Heart of the Matter

   Single low level
   schema
                           Integration     Custom UI        Mobile
   Abstraction Layer
                           Composite       Classic UI        SCC
    – Data schemas
    – Workflow and Logic      Metadata Abstraction Layer
    – User interface
                            API - WSDL Gen           Data Schema
    – Describable as
      metadata             Interface Definitions   Logic / Workflow
   Enables
                           Security & Sharing      Language Support
    – Integration Svcs
    – UI Svcs
                               Oracle Database / PLSQL
    – Mobile Svcs
    – Security Svcs
Web Service API Use Cases

   ERP to Force.com integration
    – Account master, data replication
                                            SAP
    – Java or .NET
   Portal to Force.com integration
    – Job openings, lead generation
    – PHP or Perl or Java or .NET
   Desktop to Force.com integration
    – Mail client, offline client
    – Java or Adobe AIR (Actionscript) or
      .NET
   Web client to Force.com integration
    – Custom UI, Conference Management,
      PTO Calendar
    – Javascript or Flex (Actionscript)
API Challenges

   Make it easy
    – Key to adoption is ease of use
   Security
    – Only one non-authenticated call - Login
    – Inherits security configuration of web-based application (user roles, field level
      security, IP range restrictions etc)
   Account for large data sets
    – Batch or set based architecture
    – Cursor functionality for querying
   Be consistent behaviorally
    – Versioned endpoints (we have 13 API versions)
    – Additive version functionality
   Transactions?
    – Reliable transactions in SOAP?
Ease of Use - A general API for any application
      Basic API - 2 flavors
        – Strongly Typed (will have a LOT of nouns)
        – Polymorphic (very few nouns, independent of data schema)
      Apex API
        – Used to programmatically create/update Apex code.
      Metadata API
        – Retrieve, update and create XML metadata representations


   Basic API
   Core methods                  Metadata methods          Utility
                     query       describeGlobal
   convertLead                                             getServerTimestamp
                                 describeLayout
                     queryAll
   create                                                  getUserInfo
                                 describeSObject
                     queryMore                             resetPassword
   delete
                                 describeSObjects
                     retrieve                              sendEmail
   emptyRecycleBin
                                 describeSoftphoneLayout
                     search                                setPassword
   getDeleted
                                 describeTabs
                     undelete
   getUpdated
                     update
   login
                     upsert
   merge
   process
Obtaining Data Using the API

    Use familiar query language - SOQL
QueryResult qr = binding.query(
quot;select FirstName, LastName from contact where PostalCode = '94062'”
);
    Information returned includes:
     – number of matches
     – the data
     – a cursor
     – a flag indicating all results were fetched (or not)

  Results limited to 2000 records per request, so use
  “cursor” returned from request to get more.

  qr = binding.queryMore(qr.getQueryLocator());
Security Options
INVALID_LOGIN: Invalid username, password, security token.
sun.reflect.NativeConstructorAccessorImpl.newInstance0
sun.reflect.NativeConstructorAccessorImpl.newInstance


    VPN Access - IP Range Restrictions
    Delegated Authentication - SSO
     – LDAP, Active Directory, Netware
     – Webservice based
     – Simple configuration
     – Partner solutions from SXIP and Ping Identity
    Two-factor authentication
     – Not RSA
     – Used for browser and integration clients
Built-in 2-factor authentication

        username + password + token




          access granted or denied
 User




SSO Delegated Authorization Process
                                      username + password
                                      authentication request
                                         (via SOAP call)
            username + password




                                      authentication response
           access granted or denied
                                       (thumbs up or down)
 User
                                                                Corporate Server
                                                                   (In DMZ)
Tokenized Single Sign-On Process
1.   The desktop client sends a login
     request to the desktop client proxy
     as a SOAP message package.
2.   The desktop client proxy extracts
     the username and password and
     sends them to the token
     generator.
3.   The token generator validates the
     credentials and replies to the
     desktop client proxy with a single-
                                                     QuickTime™ and a
     use token.                            TIFF (Uncompressed) decompressor
                                              are needed to see this picture.
4.   The desktop client proxy modifies
     the SOAP message package by
     replacing the corporate password
     in the login request with the token
     and sends a secure login call to
     Salesforce.
5.   Salesforce sends a request to the
     authentication proxy to validate
     the token.
6.   The authentication proxy replies to
     Salesforce.
7.   Salesforce replies to the desktop
     client proxy.
8.   The desktop client proxy passes
     the response back to the desktop
     client, authenticating the user.
Apex Code - Really Programming the Cloud

   Apex Code is:
   – Discrete code that runs natively on the server
   – Faster than the equivalent API integration counterpart
   – 3gl language with Java-like or C#-like syntax
   – Scoped like stored procedures
   – Compiled at the server and strongly typed
   – Transactional
Creating Custom Web Services

   Uses for custom web services
   – pre-process results at the server
   – aggregate data
   – reformat for client applications (like JSON)
   – need for transaction support
   Deployment of web services
   – Instant deployment
   – Still requires authentication
   – Instant undeployment
Apex Code Demo
Custom Web Service Demo

public static AccountSummary getAccountSummary(String acctId) {
  AccountSummary acctSum = new AccountSummary();
  acctSum.account = [Select Id, Name, BillingCity, BillingCountry
      From Account Where Id = :acctId];
  for (Opportunity opp : [Select Id, Amount From Opportunity
      Where AccountId = :acctId]) {
      acctSum.opptyTotal += opp.Amount == null ? 0 : opp.Amount;
  }
  ...
}


      Retrieve specific account data
      Get related opportunities and sum the amount field.
      Get the number of related contact records
      Pull the actual related contact records
      Return the “wrapper” class to the client
Calling the new Web Service

   Use WSDL to generate client
   Use AJAX or Flex toolkit directly
 private function getAccountSummary():void {
    apex.execute( quot;webServicesquot;,
                    quot;getAccountSummaryquot;,
                    [ new Parameter(quot;acctIdquot;, cboAccts.selectedItem.Id) ],
                    new AsyncResponder(handleAcctSummary, handleFault)
    );
 }
Other Services of Interest

   Database Services
    – backup/restore, data integrity, scale, performance
   UI Services
    – layout generation, MVC based, validations, complex UI support
   Logic Services
    – workflow and approval processes
   Development Services
    – team collaboration, ALM, source control, testing
Learn More about Force.com PaaS
        Force.com Developer Network




        http://developer.salesforce.com

More Related Content

What's hot

[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web [Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web Shreeraj Shah
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforcedeimos
 
Collaborating with Extranet Partners on SharePoint 2010 - SharePoint Connecti...
Collaborating with Extranet Partners on SharePoint 2010 - SharePoint Connecti...Collaborating with Extranet Partners on SharePoint 2010 - SharePoint Connecti...
Collaborating with Extranet Partners on SharePoint 2010 - SharePoint Connecti...Michael Noel
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Waredeimos
 
Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...
Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...
Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...Microsoft TechNet - Belgium and Luxembourg
 
SEASPC 2011 - Collaborating with Extranet Partners on SharePoint 2010
SEASPC 2011 - Collaborating with Extranet Partners on SharePoint 2010 SEASPC 2011 - Collaborating with Extranet Partners on SharePoint 2010
SEASPC 2011 - Collaborating with Extranet Partners on SharePoint 2010 Michael Noel
 
Presentation sso design_security
Presentation sso design_securityPresentation sso design_security
Presentation sso design_securityMarco Morana
 
TechEd Africa 2011 - Collaborating with Extranet Partners on SharePoint 2010
TechEd Africa 2011 - Collaborating with Extranet Partners on SharePoint 2010TechEd Africa 2011 - Collaborating with Extranet Partners on SharePoint 2010
TechEd Africa 2011 - Collaborating with Extranet Partners on SharePoint 2010Michael Noel
 
Spring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing PeopleSpring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing PeopleGordon Dickens
 
[Infosecworld 08 Orlando] New Defenses for .NET Web Apps: IHttpModule in Prac...
[Infosecworld 08 Orlando] New Defenses for .NET Web Apps: IHttpModule in Prac...[Infosecworld 08 Orlando] New Defenses for .NET Web Apps: IHttpModule in Prac...
[Infosecworld 08 Orlando] New Defenses for .NET Web Apps: IHttpModule in Prac...Shreeraj Shah
 
Compliance and Governance Through Complex Entitlement Management
Compliance and Governance Through Complex Entitlement ManagementCompliance and Governance Through Complex Entitlement Management
Compliance and Governance Through Complex Entitlement ManagementNoam Bunder
 
Simplifying User Access with NetScaler SDX and CA Single Sign-on
 Simplifying User Access with NetScaler SDX and CA Single Sign-on Simplifying User Access with NetScaler SDX and CA Single Sign-on
Simplifying User Access with NetScaler SDX and CA Single Sign-onCA Technologies
 
Sybase Afaria için Samsun Advanced Enterprise Server Farkları
Sybase Afaria için Samsun Advanced Enterprise Server FarklarıSybase Afaria için Samsun Advanced Enterprise Server Farkları
Sybase Afaria için Samsun Advanced Enterprise Server FarklarıSybase Türkiye
 
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper DiveBIOVIA
 
Layer 7: Getting Your SOA to Production Without Cost and Complexity
Layer 7: Getting Your SOA to Production Without Cost and ComplexityLayer 7: Getting Your SOA to Production Without Cost and Complexity
Layer 7: Getting Your SOA to Production Without Cost and ComplexityCA API Management
 
Layer 7: 2010 RSA Presentation on REST and Oauth Security
Layer 7: 2010 RSA Presentation on REST and Oauth SecurityLayer 7: 2010 RSA Presentation on REST and Oauth Security
Layer 7: 2010 RSA Presentation on REST and Oauth SecurityCA API Management
 
SharePoint 2010 anywhere access uag vs dmz
SharePoint 2010 anywhere access uag vs dmz SharePoint 2010 anywhere access uag vs dmz
SharePoint 2010 anywhere access uag vs dmz Kjell-Sverre Jerijærvi
 

What's hot (20)

RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web [Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforce
 
Collaborating with Extranet Partners on SharePoint 2010 - SharePoint Connecti...
Collaborating with Extranet Partners on SharePoint 2010 - SharePoint Connecti...Collaborating with Extranet Partners on SharePoint 2010 - SharePoint Connecti...
Collaborating with Extranet Partners on SharePoint 2010 - SharePoint Connecti...
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Ware
 
IdP, SAML, OAuth
IdP, SAML, OAuthIdP, SAML, OAuth
IdP, SAML, OAuth
 
Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...
Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...
Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...
 
SEASPC 2011 - Collaborating with Extranet Partners on SharePoint 2010
SEASPC 2011 - Collaborating with Extranet Partners on SharePoint 2010 SEASPC 2011 - Collaborating with Extranet Partners on SharePoint 2010
SEASPC 2011 - Collaborating with Extranet Partners on SharePoint 2010
 
Presentation sso design_security
Presentation sso design_securityPresentation sso design_security
Presentation sso design_security
 
TechEd Africa 2011 - Collaborating with Extranet Partners on SharePoint 2010
TechEd Africa 2011 - Collaborating with Extranet Partners on SharePoint 2010TechEd Africa 2011 - Collaborating with Extranet Partners on SharePoint 2010
TechEd Africa 2011 - Collaborating with Extranet Partners on SharePoint 2010
 
Spring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing PeopleSpring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing People
 
[Infosecworld 08 Orlando] New Defenses for .NET Web Apps: IHttpModule in Prac...
[Infosecworld 08 Orlando] New Defenses for .NET Web Apps: IHttpModule in Prac...[Infosecworld 08 Orlando] New Defenses for .NET Web Apps: IHttpModule in Prac...
[Infosecworld 08 Orlando] New Defenses for .NET Web Apps: IHttpModule in Prac...
 
Open sso fisl9.0
Open sso fisl9.0Open sso fisl9.0
Open sso fisl9.0
 
Compliance and Governance Through Complex Entitlement Management
Compliance and Governance Through Complex Entitlement ManagementCompliance and Governance Through Complex Entitlement Management
Compliance and Governance Through Complex Entitlement Management
 
Simplifying User Access with NetScaler SDX and CA Single Sign-on
 Simplifying User Access with NetScaler SDX and CA Single Sign-on Simplifying User Access with NetScaler SDX and CA Single Sign-on
Simplifying User Access with NetScaler SDX and CA Single Sign-on
 
Sybase Afaria için Samsun Advanced Enterprise Server Farkları
Sybase Afaria için Samsun Advanced Enterprise Server FarklarıSybase Afaria için Samsun Advanced Enterprise Server Farkları
Sybase Afaria için Samsun Advanced Enterprise Server Farkları
 
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
 
Layer 7: Getting Your SOA to Production Without Cost and Complexity
Layer 7: Getting Your SOA to Production Without Cost and ComplexityLayer 7: Getting Your SOA to Production Without Cost and Complexity
Layer 7: Getting Your SOA to Production Without Cost and Complexity
 
Layer 7: 2010 RSA Presentation on REST and Oauth Security
Layer 7: 2010 RSA Presentation on REST and Oauth SecurityLayer 7: 2010 RSA Presentation on REST and Oauth Security
Layer 7: 2010 RSA Presentation on REST and Oauth Security
 
SharePoint 2010 anywhere access uag vs dmz
SharePoint 2010 anywhere access uag vs dmz SharePoint 2010 anywhere access uag vs dmz
SharePoint 2010 anywhere access uag vs dmz
 

Viewers also liked

The experiences of migrating a large scale, high performance healthcare network
The experiences of migrating a large scale, high performance healthcare networkThe experiences of migrating a large scale, high performance healthcare network
The experiences of migrating a large scale, high performance healthcare networkgeorge.james
 
Scalable Web Architectures and Infrastructure
Scalable Web Architectures and InfrastructureScalable Web Architectures and Infrastructure
Scalable Web Architectures and Infrastructuregeorge.james
 
Trends and challenges in web application development
Trends and challenges in web application developmentTrends and challenges in web application development
Trends and challenges in web application developmentPixel Crayons
 
Lost In The Clouds
Lost In The CloudsLost In The Clouds
Lost In The Cloudsgeorge.james
 
Fosdem 2010 GT.M and OpenStreetMap
Fosdem 2010 GT.M and OpenStreetMapFosdem 2010 GT.M and OpenStreetMap
Fosdem 2010 GT.M and OpenStreetMapgeorge.james
 

Viewers also liked (6)

The experiences of migrating a large scale, high performance healthcare network
The experiences of migrating a large scale, high performance healthcare networkThe experiences of migrating a large scale, high performance healthcare network
The experiences of migrating a large scale, high performance healthcare network
 
Scalable Web Architectures and Infrastructure
Scalable Web Architectures and InfrastructureScalable Web Architectures and Infrastructure
Scalable Web Architectures and Infrastructure
 
Trends and challenges in web application development
Trends and challenges in web application developmentTrends and challenges in web application development
Trends and challenges in web application development
 
M/DB and M/DB:X
M/DB and M/DB:XM/DB and M/DB:X
M/DB and M/DB:X
 
Lost In The Clouds
Lost In The CloudsLost In The Clouds
Lost In The Clouds
 
Fosdem 2010 GT.M and OpenStreetMap
Fosdem 2010 GT.M and OpenStreetMapFosdem 2010 GT.M and OpenStreetMap
Fosdem 2010 GT.M and OpenStreetMap
 

Similar to Application Services On The Web Sales Forcecom

Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixIBM
 
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Vinícius Carvalho
 
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...VMware Tanzu
 
Sviluppare Applicazioni Real Time con AppSync Deck.pptx
Sviluppare Applicazioni Real Time con AppSync Deck.pptxSviluppare Applicazioni Real Time con AppSync Deck.pptx
Sviluppare Applicazioni Real Time con AppSync Deck.pptxAmazon Web Services
 
Consuming Web Services in Microsoft Silverlight 3
Consuming Web Services in Microsoft Silverlight 3Consuming Web Services in Microsoft Silverlight 3
Consuming Web Services in Microsoft Silverlight 3goodfriday
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services PlatformDavid Chou
 
Building apps with tuscany
Building apps with tuscanyBuilding apps with tuscany
Building apps with tuscanyLuciano Resende
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)Rahul Singh
 
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...RightScale
 
Developing Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic ServerDeveloping Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic ServerGaurav Sharma
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop OverviewShubhra Kar
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DayTechMaster Vietnam
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Servicesgoodfriday
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Servicesgoodfriday
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopJimmy Guerrero
 
Cloud Computing in Practice: Fast Application Development and Delivery on For...
Cloud Computing in Practice: Fast Application Development and Delivery on For...Cloud Computing in Practice: Fast Application Development and Delivery on For...
Cloud Computing in Practice: Fast Application Development and Delivery on For...catherinewall
 
PeopleSoft: HACK THE Planet^W university
PeopleSoft: HACK THE  Planet^W universityPeopleSoft: HACK THE  Planet^W university
PeopleSoft: HACK THE Planet^W universityDmitry Iudin
 

Similar to Application Services On The Web Sales Forcecom (20)

Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in Bluemix
 
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
 
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
 
Sviluppare Applicazioni Real Time con AppSync Deck.pptx
Sviluppare Applicazioni Real Time con AppSync Deck.pptxSviluppare Applicazioni Real Time con AppSync Deck.pptx
Sviluppare Applicazioni Real Time con AppSync Deck.pptx
 
Consuming Web Services in Microsoft Silverlight 3
Consuming Web Services in Microsoft Silverlight 3Consuming Web Services in Microsoft Silverlight 3
Consuming Web Services in Microsoft Silverlight 3
 
Datapower Steven Cawn
Datapower Steven CawnDatapower Steven Cawn
Datapower Steven Cawn
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services Platform
 
Building apps with tuscany
Building apps with tuscanyBuilding apps with tuscany
Building apps with tuscany
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
 
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
RightScale API: How To Build Your Own IT Vending Machine - RightScale Compute...
 
Net Services
Net ServicesNet Services
Net Services
 
Developing Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic ServerDeveloping Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic Server
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Social Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech DaySocial Photos - My presentation at Microsoft Tech Day
Social Photos - My presentation at Microsoft Tech Day
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js Workshop
 
Cloud Computing in Practice: Fast Application Development and Delivery on For...
Cloud Computing in Practice: Fast Application Development and Delivery on For...Cloud Computing in Practice: Fast Application Development and Delivery on For...
Cloud Computing in Practice: Fast Application Development and Delivery on For...
 
Suresh_Resume
Suresh_ResumeSuresh_Resume
Suresh_Resume
 
PeopleSoft: HACK THE Planet^W university
PeopleSoft: HACK THE  Planet^W universityPeopleSoft: HACK THE  Planet^W university
PeopleSoft: HACK THE Planet^W university
 

More from QConLondon2008

J Ruby Power On The Jvm
J Ruby Power On The JvmJ Ruby Power On The Jvm
J Ruby Power On The JvmQConLondon2008
 
Market Risk System Bnp Paribas
Market Risk System Bnp ParibasMarket Risk System Bnp Paribas
Market Risk System Bnp ParibasQConLondon2008
 
Evolving The Java Language
Evolving The Java LanguageEvolving The Java Language
Evolving The Java LanguageQConLondon2008
 
Google G Data Reading And Writing Data On The Web
Google G Data Reading And Writing Data On The WebGoogle G Data Reading And Writing Data On The Web
Google G Data Reading And Writing Data On The WebQConLondon2008
 
14147503 Intentions Interfaces Making Patterns Concrete
14147503 Intentions Interfaces Making Patterns Concrete14147503 Intentions Interfaces Making Patterns Concrete
14147503 Intentions Interfaces Making Patterns ConcreteQConLondon2008
 
The Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryThe Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryQConLondon2008
 
Google G Data Reading And Writing Data On The Web 1
Google G Data Reading And Writing Data On The Web 1Google G Data Reading And Writing Data On The Web 1
Google G Data Reading And Writing Data On The Web 1QConLondon2008
 
Rest Reuse And Serendipity
Rest Reuse And SerendipityRest Reuse And Serendipity
Rest Reuse And SerendipityQConLondon2008
 

More from QConLondon2008 (11)

J Ruby Power On The Jvm
J Ruby Power On The JvmJ Ruby Power On The Jvm
J Ruby Power On The Jvm
 
Agile Mashups
Agile MashupsAgile Mashups
Agile Mashups
 
Market Risk System Bnp Paribas
Market Risk System Bnp ParibasMarket Risk System Bnp Paribas
Market Risk System Bnp Paribas
 
A Tale Of Two Systems
A Tale Of Two SystemsA Tale Of Two Systems
A Tale Of Two Systems
 
Evolving The Java Language
Evolving The Java LanguageEvolving The Java Language
Evolving The Java Language
 
Google G Data Reading And Writing Data On The Web
Google G Data Reading And Writing Data On The WebGoogle G Data Reading And Writing Data On The Web
Google G Data Reading And Writing Data On The Web
 
14147503 Intentions Interfaces Making Patterns Concrete
14147503 Intentions Interfaces Making Patterns Concrete14147503 Intentions Interfaces Making Patterns Concrete
14147503 Intentions Interfaces Making Patterns Concrete
 
The Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryThe Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J Query
 
Google G Data Reading And Writing Data On The Web 1
Google G Data Reading And Writing Data On The Web 1Google G Data Reading And Writing Data On The Web 1
Google G Data Reading And Writing Data On The Web 1
 
Managers In Scrum
Managers In ScrumManagers In Scrum
Managers In Scrum
 
Rest Reuse And Serendipity
Rest Reuse And SerendipityRest Reuse And Serendipity
Rest Reuse And Serendipity
 

Recently uploaded

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Application Services On The Web Sales Forcecom

  • 2. 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, 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, 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 quarterly report on Form 10-Q filed on August 19, 2005 and in other filings with the Securities and Exchange Commission. These documents 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.
  • 3. Platform as a Service SaaS platform - From Wikipedia, the free encyclopedia A SaaS Platform is a computer program or collection of more than one computer program that acts as a host to applications that reside on it. The platform manages underlying computer hardware and software resources and uses those resources to endow its hosted applications with multi-tenant, on-demand capabilities that are found in Software as a service applications. Generally, hosted applications are written to target the platform and support a single user. The platform absorbs the responsibility of distributing the application as a service to multiple users over the Internet. The SaaS Platform can be considered a layer of abstraction above the traditional application server, creating a computing platform that parallels the value offered by the traditional operating system, only in a web-centric fashion. The SaaS platform is rooted in the need to reduce the time and difficulty associated with developing highly available, enterprise grade business applications that are to be delivered on-demand.
  • 4. The big questions for PaaS Can I integrate to and from the cloud? Do I have the flexibility to build any business application? Do I have to install and maintain hardware? Is my application and data secure? Can I trust this platform? Do other people use and trust this platform?
  • 5. Force.com Introduction Full service Platform Building any Business Application Use some or all of the platform stack Salesforce.com is run on Force.com – > 38,000 Customers – > 1,000,000 users – > 65,000 Developers – ~ 1.6 billion transactions a day – 24th edition of the service
  • 11. Application Services on Force.com Salesforce.com SaaS Offerings Community / Ecosystem Visual Force (MVC UI) Apex Code Web Services APIs Schema Services Data Center
  • 12. Multi-tenancy - The Heart of the Matter Single low level schema Integration Custom UI Mobile Abstraction Layer Composite Classic UI SCC – Data schemas – Workflow and Logic Metadata Abstraction Layer – User interface API - WSDL Gen Data Schema – Describable as metadata Interface Definitions Logic / Workflow Enables Security & Sharing Language Support – Integration Svcs – UI Svcs Oracle Database / PLSQL – Mobile Svcs – Security Svcs
  • 13. Web Service API Use Cases ERP to Force.com integration – Account master, data replication SAP – Java or .NET Portal to Force.com integration – Job openings, lead generation – PHP or Perl or Java or .NET Desktop to Force.com integration – Mail client, offline client – Java or Adobe AIR (Actionscript) or .NET Web client to Force.com integration – Custom UI, Conference Management, PTO Calendar – Javascript or Flex (Actionscript)
  • 14. API Challenges Make it easy – Key to adoption is ease of use Security – Only one non-authenticated call - Login – Inherits security configuration of web-based application (user roles, field level security, IP range restrictions etc) Account for large data sets – Batch or set based architecture – Cursor functionality for querying Be consistent behaviorally – Versioned endpoints (we have 13 API versions) – Additive version functionality Transactions? – Reliable transactions in SOAP?
  • 15. Ease of Use - A general API for any application Basic API - 2 flavors – Strongly Typed (will have a LOT of nouns) – Polymorphic (very few nouns, independent of data schema) Apex API – Used to programmatically create/update Apex code. Metadata API – Retrieve, update and create XML metadata representations Basic API Core methods Metadata methods Utility query describeGlobal convertLead getServerTimestamp describeLayout queryAll create getUserInfo describeSObject queryMore resetPassword delete describeSObjects retrieve sendEmail emptyRecycleBin describeSoftphoneLayout search setPassword getDeleted describeTabs undelete getUpdated update login upsert merge process
  • 16. Obtaining Data Using the API Use familiar query language - SOQL QueryResult qr = binding.query( quot;select FirstName, LastName from contact where PostalCode = '94062'” ); Information returned includes: – number of matches – the data – a cursor – a flag indicating all results were fetched (or not) Results limited to 2000 records per request, so use “cursor” returned from request to get more. qr = binding.queryMore(qr.getQueryLocator());
  • 17. Security Options INVALID_LOGIN: Invalid username, password, security token. sun.reflect.NativeConstructorAccessorImpl.newInstance0 sun.reflect.NativeConstructorAccessorImpl.newInstance VPN Access - IP Range Restrictions Delegated Authentication - SSO – LDAP, Active Directory, Netware – Webservice based – Simple configuration – Partner solutions from SXIP and Ping Identity Two-factor authentication – Not RSA – Used for browser and integration clients
  • 18. Built-in 2-factor authentication username + password + token access granted or denied User SSO Delegated Authorization Process username + password authentication request (via SOAP call) username + password authentication response access granted or denied (thumbs up or down) User Corporate Server (In DMZ)
  • 19. Tokenized Single Sign-On Process 1. The desktop client sends a login request to the desktop client proxy as a SOAP message package. 2. The desktop client proxy extracts the username and password and sends them to the token generator. 3. The token generator validates the credentials and replies to the desktop client proxy with a single- QuickTime™ and a use token. TIFF (Uncompressed) decompressor are needed to see this picture. 4. The desktop client proxy modifies the SOAP message package by replacing the corporate password in the login request with the token and sends a secure login call to Salesforce. 5. Salesforce sends a request to the authentication proxy to validate the token. 6. The authentication proxy replies to Salesforce. 7. Salesforce replies to the desktop client proxy. 8. The desktop client proxy passes the response back to the desktop client, authenticating the user.
  • 20. Apex Code - Really Programming the Cloud Apex Code is: – Discrete code that runs natively on the server – Faster than the equivalent API integration counterpart – 3gl language with Java-like or C#-like syntax – Scoped like stored procedures – Compiled at the server and strongly typed – Transactional
  • 21. Creating Custom Web Services Uses for custom web services – pre-process results at the server – aggregate data – reformat for client applications (like JSON) – need for transaction support Deployment of web services – Instant deployment – Still requires authentication – Instant undeployment
  • 23. Custom Web Service Demo public static AccountSummary getAccountSummary(String acctId) { AccountSummary acctSum = new AccountSummary(); acctSum.account = [Select Id, Name, BillingCity, BillingCountry From Account Where Id = :acctId]; for (Opportunity opp : [Select Id, Amount From Opportunity Where AccountId = :acctId]) { acctSum.opptyTotal += opp.Amount == null ? 0 : opp.Amount; } ... } Retrieve specific account data Get related opportunities and sum the amount field. Get the number of related contact records Pull the actual related contact records Return the “wrapper” class to the client
  • 24. Calling the new Web Service Use WSDL to generate client Use AJAX or Flex toolkit directly private function getAccountSummary():void { apex.execute( quot;webServicesquot;, quot;getAccountSummaryquot;, [ new Parameter(quot;acctIdquot;, cboAccts.selectedItem.Id) ], new AsyncResponder(handleAcctSummary, handleFault) ); }
  • 25. Other Services of Interest Database Services – backup/restore, data integrity, scale, performance UI Services – layout generation, MVC based, validations, complex UI support Logic Services – workflow and approval processes Development Services – team collaboration, ALM, source control, testing
  • 26. Learn More about Force.com PaaS Force.com Developer Network http://developer.salesforce.com