Channels ▼
RSS

Parallel

The Many Flavors of Platform Services for Cloud Computing


Force.com

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.

Visualforce provides a markup language similar to HTML, with tags that correspond to user-interface objects. Besides the Visualforce tags, the markup within a page can also include HTML code, Flash and JavaScript. Visualforce Pages supports e-mail integration, templates, custom style sheets, custom controllers, data validation rules and Rich Internet Applications with AJAX. Force.com also provides an object query language (SOSL) and task templates for modeling processes. A Process Visualizer that uses Business Process Modeling Notation (BPMN) is in beta test.

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.

Ruby, Zoho

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.

Adobe Flex is a popular solution for web development and the creation of rich Internet applications (RIA). The Flash Collaboration Service enables developers to combine Flex client components with an Adobe-hosted cloud that supports multi-user audio and video chat, collaboration and other applications. It supports authentication, shared white boards, webcam video, VoIP audio and real-time file sharing. Zembly.com provides a PaaS solution for building gadgets, widgets and mashups for social platforms and devices, including Facebook, iGoogle and iPhone. Zembly provides a browser-based IDE and templates for creating small code snippets, not large programs. It supports creation of data services with JavaScript and APIs using the Web Application Description Language (WADL). Zembly.com provides a multi-tenant application hosting platform for applications created with Zembly.

Security

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.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video