Keywords

.NET (3) .rb (1) *.cod (1) 3110c (1) Algorithm (1) Amazon Cloud Drive (1) amkette (1) Android (1) Apex (6) apex:dynamic (1) API (1) API version (1) Application Development Contest (2) Artificial Intelligence (2) Atricore (1) b2g (1) Binary Search Tree (1) Blackberry Application Development (1) Blackberry Java Development Environment (1) Blender Game Engine (1) bluetooth (2) Boot2Gecko (1) bug fix (1) C (1) C++ (2) Cloud computing (1) Cloud Storage (1) Code Blocks (1) Code for a Cause (2) codejam (1) Coding (1) const_cast (1) Custom Help (1) Dancing With the Googlers (1) Data Structures (1) desktop environment (5) Doubly Linked List (1) Dropbox (1) dynamic visualforce component (1) dynamic_cast (1) Enterprise WSDL (1) Execution Context (1) fedora 14 (1) fedora 17 (5) Firefox OS (1) Flashing Nokia 3110c handset (1) Force.com (7) Gaia (1) Game Developement (1) GCC (2) GDG (2) Goank (1) Google (4) Google Developer Group (2) Google Drive (1) GTK+ (5) HACK2012 (2) Hall of Mirrors (1) help for this page (1) HTML5 (2) HTTP Web Server (1) IDE (1) Identity Provider (1) Intelligent Systems (1) Java (1) JDE (1) JOSSO (1) location based social network (1) me.social (1) MinGW (1) Natural Language Processing (1) Natural Language Toolkit (1) neckphone (1) NLKT (1) Nokia Pheonix (1) Notebook (1) Numeric XML Tags (1) OAuth2.0 (1) OLPC (7) OLPC-XO-1 (7) One Laptop per Child (5) Override custom help (1) Paas (1) Partner WSDL (1) Polymorphism (1) programming contest (1) PyGTK (4) Python (10) Recycled Numbers (1) reinterpret_cast (1) Research (1) REST (1) RM-237 (1) Robotics (1) Ruby (1) Saas (2) Salesforce.com (7) SDK (1) Service Provider (1) Single sign on (1) SOAP (3) Speaking in Tongues (1) SSO Agent (1) SSO Gateway (1) static_const (1) sugar (7) sugar activity (4) sugarlabs (7) SVG (2) Symbiotic AI (1) Tabbed container (1) TCP/IP (1) TCP/IP stack (1) Typecasting (1) typeid (1) ubuntu 13.10 (1) UDP (1) Upgrade Assembly (1) Visualforce (2) Web Server (1) Web Services (3) Web2.0 (1) wikipedia (1) wikipediaHI (1) WSDL (1) XML tags (1)

Friday, February 4, 2011

Salesforce's Force.com SaaS Platform

We all might be aware of Salesforce.com because of its CRM. The global market leader in Cloud Computing is leaving its mark in the industry by providing powerful tools to internet users. One such platform salesforce.com is providing is Force.com. It is based on the same MVC(Model-View-Controller) paradigm as in Java based WebApps. It is basically a PaaS (Platform as a Service) company making huge efforts to hold its position in the cloud league.Force.com is the place where you can develop cloud application that will reside on the salesforce' data-centers. They want all of developers to concentrate on business logic to be implemented rather than the maintenance and administration of resources leveraged.

A Force.com application basically comprises of set of tabs, visualforce pages, workflows, approval processes, triggers and controllers containing business logic. We can develop Application in two ways: Declarative and Programmatic approach. In declerative we develop Apps with clicks whereas in programmatic we code everything. Best of the Apps will include mixture of both approaches.

Considering each component under MVC approach, First is Model. Model is basically abstraction layer between actual salesforce's databases and controllers(business logic). Model is composed of set of objects(Salesforce paradigm). You will have set of standard objects, which will be required for any enterprise App. You can create web pages known as VisualForce pages which are rendered as HTML on server for each HTTP request. Pages. Visualforce pages are  developed using Apex page tags. These are similar to HTML tags but with some special attributes and new element library specific to Force.com. Business logic for Apps is written in a controller. A controller is basically a class which controls the functionality of the page associated with it. The controller code is written in Apex language. It is a force.com specific cloud app development language. Controller has got instance variable, constructors, methods similar to that we do in Java. These methods and variables are bind to page controllers using merge fields. Suppose there is a instance variable "UserName" we will bind it to the page component like: <apex:outputField value='{!<objectName>.UserName}'/>

For more details on Force.com :

No comments: