Salesforce.com is a pioneering CRM SaaS vendor with long experience hosting multi-tenant applications. Its PaaS offering, Force.com, includes a runtime engine that loads application-specific metadata at execution time. For each application, the Force.com Universal Data Dictionary stores metadata about reports, forms, access lists, work flow, business logic and database resources, including indexes and tables. The application metadata is stored in a database and cached for performance.
Developers using the Force.com platform have access to pre-built Salesforce.com applications. The AppExchange catalog contains more than 150 services and 800 applications, including analytics, sales, finance, marketing and human resource applications. Developers can customize applications from the library or create new applications using Visualforce, the Apex language, a collection of objects and the Force.com Web Services API. Force.com provides a declarative environment so advanced administrators can exercise the platform by defining formulas, objects, workflow and rules instead of writing code.
For building applications, Force.com provides developers the Apex language, a collection of custom objects, an Office toolkit, Visualforce Pages, and a capability for building custom components. The Office toolkit enables developers to access the Force.com Web Services API from within Microsoft Office applications using the Component Object Model (COM). Force.com also provides support for devices including the Blackberry and iPhone.
Force.com exposes a metadata API and SOAP and REST web services APIs. The web services API is a solution for adding functionality to customize applications, such as the pre-built CRM applications. Developers can invoke a web service for customizing composite applications that do not require transaction support and that process only one record at a time. There is a REST Bulk API for loading large data sets. The Metadata API is to operate on the customization information, such as page layouts and object definitions. The Metadata API supports creating, retrieving, updating, deleting and deploying customization information.
Zoho Creator is a PaaS solution for creating reporting, analysis and other database-enabled applications. It provides a visual user interface and forms builder, the capability of importing Microsoft Office data, several collaboration levels and integration with RESTful web services. Developers storing data in Zoho Creator can program in Perl, PHP, Ruby and other web services programming languages. Zoho Marketplace offers application packages and an exchange for selling or buying services.
The web-oriented architecture emerged as an alternative to SOA for lightweight applications, including database-enabled applications, and dual mode applications (desktop and web). AJAX, mashups, and Rich Internet Applications have developed a following, including those looking to the cloud for development and deployment. Aptana Cloud Connect is pay-per-use PHP and Ruby on Rails environments hosted in the Joyent cloud. Aptana Studio is a popular development environment for Web 2.0 and dual-mode applications, using PHP, Ruby on Rails and Adobe Air. The PaaS solution, Aptana Cloud Connect, provides scalable PHP, Apache, MySQL and Aptana Jaxer platforms. It includes Aptana Studio integration, database tools, Eclipse compatibility, a dashboard for monitoring sites, and secure communications. Engine Yard is a PaaS provider focused on supporting Ruby and Ruby on Rails with a cloud infrastructure. It offers a Rails runtime stack, auto-healing and monitoring for Ruby applications running in the Amazon EC2 cloud.
Social Platforms PaaS
Social networking has caught on with millions of people and as a business tool for collaboration. Besides companies creating Facebook pages, Zembly and Adobe Flash Collaboration Service have emerged as social PaaS enablers.
When confidential and mission-critical application data reside in a cloud, security should be integral to the system architecture. Because all PaaS platforms don't have integral multi-level security, it might be necessary to augment the platform. The system architect should exploit libraries and technology for encryption, secure networking, three-factor authentication, virtual private servers, database security, identity management, a secure VM infrastructure and application virtualization. Application virtualization provides encryption and separation of an application from its data.
Developers using a PaaS solution without a secure storage option can look to secure cloud storage from Amazon Simple Storage System (S3) and GlobalLockBox.com. Developers can use S3 by invoking web services interfaces and Amazon uses cryptographic techniques for authenticating users. The data can also be encrypted. Social networks, web applications and mobile devices can use GlobalLockBox.com, a secure information exchange that provides multi-key access and secure messaging. The company that built GlobalockBox.com, m2mi Corporation, also provides a cloud front end and cloud services middleware that works with plug-in libraries for encryption. For virtualized clients, it uses a commercial library for encryption for business applications and for government projects it uses the NSA Suite B Cryptography for IPSec, a library that incorporates elliptic curve cipher technology.
More and Better
The plethora of PaaS platforms provides catalogs of existing models, templates and applications to assist in the development of cloud applications and services. Developers can adopt a comfortable metaphor, whether it's visual drag-and-drop, model-driven, or rule-driven development. Platforms are available that exploit proprietary technology. Others are built around standards-based technology and Java, .NET or Web 2.0 technologies.
The APIs from platform providers vary so there are portability and interoperability issues in some cases, but the future of PaaS looks very bright.