Salesforce as a PaaS - Architecture of Force.com

Post on 22-Jan-2018

262 views 5 download

Transcript of Salesforce as a PaaS - Architecture of Force.com

SALESFORCE as PaaS

Architecture of

Rishabh Karajgi

What is Salesforce.com?

A Software as a Service(Saas) provider and a major Customer Relationship

Management (CRM) software provider delivered entirely over the internet

(cloud computing).

What is CRM?

It is a model used to manage an organization’s interactions (Phone calls,

emails, meetings, social media etc.)

-with customers and prospects pertaining to Sales, Marketing and Support

Salesforce products

What is Force.com?

A Platform as a Service (PaaS) and multi-tenant cloud development platform

designed to simplify the development and deployment of cloud-based applications

and websites. Developers can create apps and websites through the cloud IDE

(integrated development environment) and deploy them quickly to Force.com’s

multi-tenant servers.

Basically a social and mobile app development platform on the cloud!

Architecture of Force.com

➢ Infrastructure - Representing the servers and the data centers

supporting the platform

➢ Database - Comprises both business data and metadata

➢ Application logic - is mostly workflow logic. It is the application

specific coordination of domain and infrastructure components

according to the requirements of that particular application.

➢ Controller - responsible for controlling the flow of the

application execution. Responsible for returning a response to a

request made to an application

➢ APIs - External programmatic access. To make client side web

service calls through Javascript represented in the view

➢ Views - Components for defining the User Interface of the app.

Services stack

● Architectural stack sits on top of the stack of cross cutting services.

● Any service canintersect with the architectural stack

● While the Architectural stack may be static, the service stack is scalable and dynamic, hence adding additional services becomes easy!

● Combination of

architectural layers,

intersecting services

and security features

along with chatter

which enables social

capability

● Features or

capabilities crosses

architectural layers

● Not only click and go

dev but programming

functionality can be

injected by a developer

Let’s get a bit more technical

Force.com - foundation of Salesforce

Core components :

Multi-Tenancy

Sharing IT resources ( Server, Databases, Application ) cost effectively and securely.

Meta-Data Kernel

● Facilitates multi-tenant applications

● Separates each tenant’s :

○ Runtime Engine

○ Metadata of Tenant

Polyglot Persistence

● Transaction Details.

● Metadata Caching.

● Full-text Multilingual Search

Engine.

Advantages of Force.com

Faster, more active development

Easier to obtain started

Simpler and less expensive to keep

Conceived with the future of the web in mind (Chatter )

Developed for change

Disadvantages of Force.com

THERE IS NO REAL DEBUGGER hence debugging process becomes very slow and you have to manually edit the debug logs by creating debug requests.

Difficult to understand

No proper tooling available such as code refactoring, code analysis etc.

Modelled on JAVA 5, which is considered to be lagging behind other languages and without proper tooling, work becomes cumbersome

https://github.com/karajrish/getting-started-

force.com

Wanna get started with Force.com?