cloud tutorial home
  Cloud Computing Types
  NIST Cloud definition
  Cloud Computing events
  Free Applications
  Storage space on web
  Online Image Storage
  Books on Cloud
  Related Technologies
  Cloud computing sites
  Making Software a Service
  SOA Governance
  Symposium Offer
  about theCloudTutorial


  Amazon SimpleDB
  Google App Engine
  Cloud Computing Standards
  Why Cloud Computing
  Cloud computing Economics platform
  cloud computing & SOA

  Cloud Vendors

  Cloud Computing Vendors
  AT&T Synaptic

  Leader interview

  George Reese
  Marc Benioff
  Michael Miller
  Rick Jackson
  Tim Mather
  Toby Velte
  Raju Vegesna development platform
Jason Ouellette is a Platform-as-a-Service (PaaS) offering from It provides infrastructure commonly required by business applications, customizable for the unique requirements of each business through a combination of code and configuration. This infrastructure is delivered as a service on the Internet, where it can be accessed through a web browser and integrated with on-premise applications. started out as a Software-as-a-Service (SaaS) application for Customer Relationship Management (CRM). As it grew and became widely adopted, features were added to allow the application to be customized for each company subscribing to it. For example, fields could be added to database tables, validation rules enforced on data, and custom user interface controls embedded on the screen. Over time these features became so substantial and powerful that entirely new types of applications could be constructed alongside the CRM, at which point the platform was born.

The features and design philosophy of sets it apart in the PaaS market. is specifically designed for business applications, with infrastructure that is uniquely tuned to the needs of these applications. Some examples of this infrastructure are security, user identity, logging, profiling, integration, schema-driven data management, transactions, workflow, and reporting. Contrast this to typical PaaS solutions which provide only raw web and application servers, leaving developers with a significant amount of work before they can write line one of their application. has its own programming language called Apex. It allows developers to script interactions with other platform features, including the user interface. Its syntax is a blend of Java and database stored procedure languages like T/SQL, and can be written using a web browser or a plug-in to the Eclipse IDE. One way to understand Apex is as a domain-specific language. Although it won't solve every programming problem, Apex's specialized nature leads to some advantages in learning curve, code conciseness, ease of refactoring, and ongoing maintenance costs. provides two approaches for the development of user interfaces: Page Layouts and Visualforce. Page Layouts are inferred from the data model, including validation rules, and then customized using a WYSYWIG editor. For many applications, Page Layouts can deliver some or all of the user interface with no development effort. Visualforce allows developers to build custom user interfaces. It consists of a series of XML markup tags called components. Like JSP, ASP.NET, Velocity, and other template processing technologies, these components format data returned by Apex code.

The software development lifecycle of a application is much like on-premise web application development, but with fewer moving parts. A data model forms the core of a application. Data modelers can use their existing Entity-Relationship tools and techniques to design the data layer, with some deltas to account for behavior. Developers who have built web applications can quickly learn enough Apex and Visualforce and build applications on Skills in HTML, CSS, JavaScript, or Adobe Flex are needed to build custom user interfaces.

Some applications are better suited to implementation on than others. The best applications are centered around structured data with strict sharing and security rules, a user interface composed primarily of forms or wizards, and a need for real-time integration with other systems. But is not an all-or-nothing proposition. Thanks to its integration capabilities, can be used together with other cloud platforms to build composite applications.

This article is adapted by Author Jason Ouellette from his book, Development with the Platform: Building Business Applications in the Cloud, published by Addison-Wesley Professional, Oct. 2009, ISBN 0321647734, Copyright 2010 Pearson Education, Inc. For a complete Table of Contents please visit the publisher site.

About the Author: Jason Ouellette is Chief Architect for Appirio, a leading ISV and Salesforce Consulting partner. He was previously director of R&D for application products at Composite Software, where he led development of data services for Siebel, SAP and Jason also has done a one-hour webcast on