Everything as a Service

April 9th, 2009

(), also known as , is changing the landscape of information technology in a profound way. By replacing locally managed stacks of networking, hardware, and software resources with an Internet-based utility, this model has changed how business applications are delivered, bringing new levels of ease, adoption, and success to the challenging area of enterprise software. And just as the evolution of the Internet affects almost all industries, the evolution of the on-demand model promises to change enterprise technology and to offer new opportunities for IT productivity and impact.

Perhaps the most important new area of is the introduction of a complete application development platform, capable of supporting virtually all business application requirements—as a service.

This () model extends the benefits of the on-demand model to custom application development. It’s an approach that promises to change application development as much as already changed application delivery.

Introduced in 2007, is .com’s platform-as-a-service offering. By using ,

companies and ISVs can create and run new applications entirely over the Internet, without software. Capable of supporting all kinds of business applications—not just those for the sales, marketing and support departments— makes the core technologies behind CRM available for developing applications that serve all of a company’s departments, employees, and customers.

With , companies are freed from the burdens of implementing and managing their IT

infrastructures for custom applications, and can instead focus their resources on those activities that provide the most business impact. With an estimated eight of every ten dollars spent in “dead money” that doesn’t contribute directly to business change and growth, the model provides immediate benefits to IT and development organizations of all sizes. And, similar to the utility services provided by power or telephone companies, organizations pay only for those services they successfully deploy and use. As a result, they can eliminate much of the risk that accompanies traditional software-based development platforms.

With , companies can finally focus on innovation, not infrastructure.

 

Platform Architecture; multi-tenancy and

To understand the platform, it is useful to understand two of its key technologies— multi-tenancy and .

 

Multi-Tenancy;

Multi-tenancy is a key .com innovation that’s at the heart of . are designed so that users share the same physical instance and version of the application. Individual “deployments” of those applications occupy virtual partitions rather than separate physical stacks of hardware and software. In contrast, traditional client/server (single tenant) architectures require an entire stack of hardware and software to be dedicated to each application deployment. Each stack component must be purchased and maintained, including networking, hardware, operating system, database, and application components. Each stack in such architectures also requires its own intricate maintenance, management and upgrade routines. The unpredictable interaction between these components can further add to the associated costs.

In contrast to their counterparts, also make possible clear boundaries between the platform and the applications that run on it. Although applications have their own data objects, forms, layouts, and integrations, these and other customizations are managed as abstractions. This separation is key to ensuring that any given application can’t “behave badly” by encroaching on other users’ applications.

Multi-tenant business applications such as are similar to consumer applications such as Google Mail that also run a single code base and depend on an infrastructure shared by all users. It is this multitenant architecture that makes possible the quick deployment, low risk, and rapid innovation for which .com has become known.

 

A second key technology is , which makes it possible to create applications not just by code, but with collections of . When developers create these elements for their applications, their work is captured as meta-data ‘blueprints,” which then automatically translates into the full applications that end users experience.

One of the advantages of this model is that, by using simple point-and-click configuration, it becomes

possible to create sophisticated applications without code. As a result, lets users unfamiliar with programming actually create applications, while it speeds development for experienced programmers.

Significantly, the use of metadata also creates an implicit boundary between an application and the platform, which is essential for the multi-tenant model. As applications are customized and extended, new versions of the platform can be rolled out without affecting the end user— all applications and integrations continue to run without modification and the deployment process never delays the release of new functionality. This success of this model has been proven with .com’s own applications, which are enhanced several times each year with major updates.

 

: Custom Objects and Fields

The database builds on the foundation of the infrastructure to provide much of the platform’s development power. Here you can create data objects, such as relational tables, and use to describe those objects and their usage.

You can also create relationships between data objects that are automatically implemented in applications as parent lookups and lists of related child objects. To ensure data integrity, you can specify data validation rules and you can use formulas to logically derive new data values. You can even audit database changes automatically. The database provides all of these capabilities without any of the usual requirements for maintenance and overhead—there’s no backup, no tuning, and no stream of upgrades.

 

Integration as a Service:

Your on-demand applications may have to fit into an existing environment that includes a variety of data sources and applications. The platform provides the resources for integrating those applications into your current environment to access data in other systems, to create mash-ups that combine data from multiple sources, or to include external systems into your processes.

At the core of these integration capabilities is the , which provides easy access to all the information stored in a application through an open, standards-based SOAP Web service. This is already used by countless environments, ranging from traditional development tools like .NET, Java, and PHP, to middleware and integration solutions such as BizTalk, Tibco, and Informatica. In addition, .com and third parties have used the to create pre-built connectors to many applications, including SAP R/3, Oracle Financials, and others.

 

Logic as a Service: Apex Code and Workflow

The platform makes it easy to create the workflows needed for a company’s unique business processes and requirements. The workflow engine makes available common, reusable process components such as task creation, record assignment, time-based actions, and even event-based system integration. With , you can easily incorporate these components into your application’s logic.

For even greater flexibility, you can use Apex, .com’s on-demand programming language, to extend your applications to include virtually any kind of business logic and functionality. Like a database stored procedure, Apex can be used to create triggers that execute automatically in response to database operations. Apex is even capable of accessing and invoking external . As an integral part of the platform, Apex leverages the platform’s multi-tenant architecture to insure the scalability of any applications that run on it.

 

User Interface as a Service: Visualforce

provides two options for creating and customizing the user interface of applications built on the platform. Through the online setup area, a simple drag-and-drop interface makes it possible to change the layout and the order of data fields on pages, to rename and re-order tabs, and to create different views of the data for different users.

For more complete user interface control, includes Visualforce, a complete framework for creating and running virtually any user interface, for any application, on any device. With Visualforce, developers can extend an on-demand application’s boundaries in almost any direction by using traditional Web development technologies in conjunction with rest of the capabilities, to exercise pixel-level control over the application’s appearance and behavior.

 

AppExchange: Application Sharing

A marketplace that connects commercial application developers with potential users, the AppExchange is the capstone of the platform. Those customers or ISVs who want to share their applications with others can publish them on the AppExchange. Those who want to use those applications can install them instantly into their accounts. To date, more than 700 applications have been made available via the AppExchange.

 

http://developer..com

Gunther Gerlach

  1. No comments yet.
  1. No trackbacks yet.