Getting Started with SalesForce

Source: Internet
Author: User
Tags app service format definition oauth

Salesforce.com started out as a cloud-ready sales Automation (Sale Force Automation, SFA) and CRM tool (Customer relationship Management, CRM), But after so many years of evolution, it has become a common platform to build any enterprise application. The name Salesforce is a legacy of history, although the Salesforce1 platform still offers SFA and CRM applications, but it is a fundamental platform for building modern enterprise systems.

Prices and Features

The Salesforce1 platform offers many different versions of the product, like CRM app Sales Cloud, customer service app service cloud, Platform, and more. Different products will vary in built-in functionality, and all products and price lists can be viewed on http://www.salesforce.com/crm/editions-pricing.jsp. There is also a free version available for developers, which can be applied at https://developer.salesforce.com.

Here we look at the composition of the Salesforce1 platform from different perspectives.

Metadata-driven data model (Metadata-driven)

At the heart of the Salesforce1 platform is a cloud-based database that can be customized and configured with metadata. Metadata defines the data model, and Salesforce supports two different ways to modify metadata, such as clicking drag and drop on the Web interface, and modifying it through an XML-formatted definition file. The Salesforce1 platform is a multi-tenant architecture platform that supports versioning, packaging, and testing for each tenant (also called Organization or ORG) metadata (i.e., the data model).

Each object or table in the database is called SObject, and each SObject has the following functionality built into it:

custom Field

Validation logic (Validation logic)

Field Level Security

List of reference relationships and options (Reference and Picklist)

Derived Values

All the SObject are provided with:

SOAP and REST APIs

Basic deletion and modification of the interface

Change the interface via Salesforce1 's mobile-side additions and deletions

Indexed search

The SObject field type contains:

AutoNumber (Auto number)

Formula (Formula)

Cumulative rollup (Rollup Summary)

Lookup relationship (Lookup Reference)

Master-detail relationship (Master-detail Reference)

check box (checkbox)

Currency (Currency)

Date and date time (date and Date/time)

e-mail (email)

Location (geolocation)

Numbers and percentages (number and Percent)

Telephone (phone)

List of options and options for multiple selection (Picklist)

text box, text area, encrypted text (text, Encrypted text)

Url

Each newly registered ORG on the platform has built in some standard sobject, depending on the version. For example, Sales Cloud org has its own contacts, leads, and business opportunities.

The Salesforce data model has built-in security features, such as audit of data changes (change auditing), and field-level security.

Writing code to implement custom extensions

On the Salesforce1 platform, users can build apps by simply dragging and dropping the Web interface. But there are some use cases that need to be programmed for customization, such as custom interfaces, trigger, scheduled jobs.

Programming languages supported by the Salesforce1 platform:

Visualforce: Server-side template language for customizing the user interface

Apex: Used to write code logic like Trigger,visualforce controller,scheduled jobs

SOQL: domain-specific language for database queries (domain specific Language, DSL)

Visualforce uses a JSP-like syntax to create custom HTML pages that are embedded in Salesforce or Salesforce1 mobile apps. The pages in Visualforce use the traditional server-side MVC architecture, where Visualforce is View,apex Class controller,sobjects is Model. The Visualforce page can use any JavaScript, including JavaScript Remoting and a variety of RESTful Web service.

A typical Visualforce page looks like this:

<apex:page>    Hello, world
</apex:page>

Apex is a syntax similar to Java that runs in a managed, separate, and secure runtime on a platform. Salesforce provides the Eclipse plug-in force.com IDE and Web-based Developer Console for writing Apex code. Apex trigger binds to each SObject event, such as update, delete, create. Both Batch jobs and scheduled jobs were written with Apex.

A simple trigger looks like this:

Trigger Foo on Contact (after insert) {to    (contact newItem:trigger.new) {        system.debug (' Contact Created: ' + N ewitem.name)    }}

SOQL queries can be run in Developer Console or embedded in Apex, such as:

Contact Contact = [SELECT Id from Contact LIMIT 1];

Apex includes a jpa/hibernate-like syntax for accessing the database, which facilitates SObject in apex.

A typical example:

Contact C = new Contact (lastname= ' Bar); Insert c;c.firstname = ' Foo '; update c;delete C;

Apex code supports versioning, packaging, and testability. The Apex Runtime contains unit tests for code that reaches more than 75% coverage to deploy to the production environment. This requirement for code coverage helps to maintain the stability of the platform upgrade, because Salesforce runs regression testing of platform upgrades by running user-written test code.

In addition to writing Apex code, many business processes and rules can be created through Workflow and so on. Like SObject metadata, workflows can be clicked through the Web interface to create, workflows is also a set of XML format definition files, support version control, can be packaged.

Salesforce.com Ui,salesforce1 mobile app, Apex runtime, the Workflow engine is used to build enterprise back-end applications that target and interact with enterprise employees. The Salesforce1 platform provides Heroku services that enable developers to easily create, deploy, extend custom Web applications, mobile apps, and web/restful service, while interacting with Salesforce on a customer-facing interface. Heroku applications can be written in any language (Java, Ruby, NODE.JS,ETC) and deployed on a fully managed PaaS platform, where developers traditionally have to build a runtime environment and corresponding services from scratch. On Heroku, features like load balancing, fail-over, centralized logging, continuous delivery, and scalability are all out of the box.

Integration and ETL

The Salesforce1 platform provides many ways to integrate with other systems or to synchronize data migrations. The main methods of data integration are:

Heroku Connect: A standard SQL interface for high-performance Salesforce data

SOAP APIs: Web Service with strong data types

REST APIs: Support for Web service in JSON format

Streaming APIs: Event-driven messaging service

Data Import & Export: A lot of tools, wizards, and Web service provide an import of Salesforce data

Email alerts: Apex and Workflow can be used to send email reminders to users from Salesforce

Mobile Reminders: Mobile alerts are embedded in the Salesforce1 mobile app and support customized reminders

OAuth 2.0:salesforce Web Service supports OAuth 2.0 authentication, and other apps can use access token to invoke Salesforce's Web service

SAML: Support for Single sign-on between enterprise apps

Mobile SDK support for Native, Hybrid, and HTML5 Sdks:salesforce

Third-party integration service providers: Many platform integration service providers like Informatics,boomi,cast Iron,mulesoft have some out-of-the-box solution support and Salesforce integration

The ecology of the platform

There are many services, applications, frameworks, and tools libraries around the Salesforce1 platform. These include:

App Store for Appexchange:salesforce1 platform

Data.com: Global Contacts Directory

Exacttarget:marketing Cloud

Open source Framework, SDKs, tools library, examples, see GitHub @forcedotcom and @developerforce

A trusted Platform

As the basis for enterprise data and applications, the Salesforce1 platform must be trustworthy (refer to: https://trust.salesforce.com). Many aspects of Salesforce embody the trustworthiness of enterprise systems, including system uptime and responsiveness that are publicly available online, multi-layered security mechanisms, privacy and Certificate Services.

How do I get started?

Ready to get into Salesforce? The best way is to do it yourself, Salesforce Developer Workshop (http://ccoenraets.github.io/salesforce-developer-workshop/) provides a simple tutorial, Help beginners understand the components on the platform by using them.

This article is a translation with the following text:

An architects guide to the Salesforce Platform

Https://www.jamesward.com/2014/08/19/an-architects-guide-to-the-salesforce1-platform

Getting Started with SalesForce

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.