Force.com is a platform as a service that provides the infrastructure needed to build business applications in the cloud. It offers a multi-tenant architecture with shared infrastructure and automatic upgrades. Force.com provides a database, business logic platform called Apex, user interfaces, and integration capabilities. Developers can build custom user interfaces using Visual Force pages and integrate applications using web services, email, and APIs.
2. Force.com
• Different from other PaaS solutions in its focus on
business apps.
• Force.com is part of SalesForce.com.
• It is NOT a CRM. Provides the infrastructure
needed for any business app that wants to move
to the cloud.
• Infrastructure: security, user identity, logging,
profiling, integration, data storage, transactions,
workflow, collaboration and reporting.
3. Differentiating architectural features of
Force.com
• Multi-tenant architecture => Shared infrastructure,
single version, continuous zero-cost upgrades.
• RDBMS provided as a service => No Oracle licenses to
purchase, no tablespaces to configure, no JDBC drivers
to install, no ORM to wrangle, no DDL to write, no
queries to optimize, and no replication and backup
strategies to implement.
• Common application services provided like logging,
transaction processing, validation,workflow, email,
integration, testing, reporting, and user interface.
4. Differentiating architectural features of
Force.com (contd…)
• Declarative meta-data
• Own OO programming language called Apex
which is similar to a combination of java and
SQL.
5. 4 Major Services of Force.com
• Database
• Business Logic
• User Interface
• Integration
6. Force.com Database
• Built around an RDBMS.
• Custom tables up to 800 columns each.
• Standard DB types plus rich types like currency
values, pick lists, formatted text and phone
numbers.
• Validation rules on data.
• Formulas to derive certain field values.
• Field History tracking.
7. Force.com Database (contd…)
• Tables can be related to each other.
• Security constraints on tables, rows and
columns.
• “Recycle bin” for data and meta-data deleted
accidentally.
• Query data via SOQL.
• Text search via SOSL (Salesforce Object Search
Language).
8. Business Logic - Apex
• Strongly Typed OO language like Java
• Data binding part of language, database
schema automatically imported as objects.
• Has some features similar to P/L SQL like DML,
trigger semantics, batch processing and
transaction boundaries.
• Follows philosophy of TDD. Tests can generate
performance metrics as well.
9. User Interface
• Two approaches - Page Layouts and Visual
Force.
• Page layouts – out of the box, inferred from
data model, customized using a WYSIWYG
editor. No development required.
• Visual Force – build custom user interfaces.
10. Visual Force
• Follows an MVC architectural pattern.
• Consists of XML markup tags called
components.
• Components serve as containers to structured
data returned by the Controller (written in
Apex).
• Developers can create their own components
to reuse across applications.
• Public, private (user login needed) or blended.
11. Integration with SalesForce
• Web Services API – span 20 versions with
backward compatibility. Allows control of
data, metadata and process from any platform
supporting SOAP over HTTP.
• Force.com database accessible via REST calls.
• Create web services using Apex business logic
and publish a WSDL.
• Consume external web services by converting
WSDL to Apex bindings.
12. Integration with SalesForce (contd…)
• Email – send and receive. Write code to process
incoming email.
• API for making HTTP requests including client-side
certificates, SSL, proxies and HTTP
authentication. Helps to integrate with web
based resources like static web pages to REST
services returning JSON.
• S2S publish subscribe model for data sharing
between multiple Force.com environments.
Transport data from one tenant to another – no
code only configuration required.