''Development with the Force.com Platform'' provides quick view into key PaaS

Salesforce.com's Force.com was an early platform as a service. Central is Apex, a general language with some DSL-like traits. In an interview, author Jason Ouellette explains.

Force.com is unique among cloud computing platforms as a service (PaaS). This is in part because it was one of...

the first such platforms, and its designers needed to forge their own approaches. Also in part, its creators had unique objectives. From the get-go, Force.com originator Salesforce.com chose to offer business-oriented sales force automation and customer relationship management applications that resided on the Web, and the company, which early on may have been described as an application service provider (ASP), began to be seen as a purveyor of software as a service (SaaS). Force.com was aimed at corporate application developers whose work was centered on relational database development. Force.com, as described by independent developer and author Jason Ouellette, integrates with standards such as SOAP and REST, but its basic metadata representation and its native Apex language, are proprietary – intended to support Salesforce.com business applications. Oullette's Development with the Force.com Platform (Second Edition, Addison-Wesley, 2011) provides a thorough review of the key aspects of the Force.com platform, including such recent platform additions as Batch Apex and Chatter social media support. As in the first edition, Ouellette ably weaves an informative and thorough depiction of the Force.com platform together with an insightful underlying story of a new style of development. There are many basic understandings that a development manager would want to achieve before embarking on cloud computing of any kind. For the Force.com cloud PaaS, just a few of the key points are the Apex language, the database and custom object handling by the platform. Here is a brief look at some of those elements: * The Apex Language - The Apex language as described by Ouellette lets the developer script interactions between platform features using a syntax that blends some Java-like style together with a stored procedure language. In some ways – not all – Apex resembles a domain-specific language (DSL), Ouellette told SearchSOA.com in an interview. Apex is like a general-purpose language, too – however, it is designed for the needs of the Force.com developer, he emphasizes. * The Database - The Force.com database is queried using SOQL (Salesforce Object Query Language), writes Ouellette, who advises his readers that the Force.com database essentially forms the framework for most of one's application. The database is contrived such that custom tables each can hold up to 800 fields. Strong data typing is built-in. Supporting object-oriented behaviors; Apex allows code to be structured into classes and interfaces. The database's approach to ''implicit joins'' mitigates against the use of ad hoc queries. Object-relational data mapping (ORM) with Force.com is easier than with typical Java applications, writes Ouellette. This is because the ORM layer is built into the platform, shielding the developer from the complexity. * Custom objects – Ouellette cautions that Force.com objects more closely resemble database tables than they do traditional programming objects. Custom objects, defined during development, are important tools for the Force.com cloud computing PaaS development team. The Force.com abstraction layer takes care of representing, indexing, backing up and tuning the custom objects' storage in the database. The developer can express one-to-one, one-to-many and many-to-many relationships. But, Ouellette writes that relationships, too, are controlled and managed by the platform. Some aspects of database object handling with Apex gives a similar impression to a DSL. "When you build your database objects, they end up being parts of the language, which is a 'DSLish' thing. But overall, Apex is like a general purpose language. It is not like Scala [which is associated with DSLs],'' Ouellette said. But Apex does not achieve the human-readability found with some DSLs. ''Apex still looks like code- Java code, not like plain English,'' said Ouellette said. ''Generally, it is like a 4GL – talking to the database, it looks DSLish,'' he continued. ''That makes for a productivity gain. The ORM mapping is integrated. You don't have to think about it.'' Salesforce.com helped pioneer cloud computing, SaaS and PaaS. It is valuable to consider the elements of its approaches. Development with the Force.com Platform by Jason Ouellette is a well written entry point for anyone interested in the cloud, be it Force.com, or other. Related Force.com information Development with the Force.com Platform: Second Edition - www.informit.com

This was last published in August 2011

Dig Deeper on Cloud-Grid computing and virtualization for SOA



Find more PRO+ content and other member only offers, here.

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.