The challenges of managing SaaS projects

A look at the hurdles in managing software-as-a-service solutions

Even experienced developers can run into problems developing and deploying custom applications for software-as-a-service platforms because SaaS vendors don't always embrace the accepted corporate processes for build, test and release. The trick is to adapt your configuration management processes to meet SaaS challenges.

SaaS is popular in part because applications can be made available without the long deployment cycle typical of on-premise development. So a new report can be delivered immediately or a new field can be added to a data entry form on the fly.

But as SaaS offerings such as Salesforce.com have matured into full-fledged development platforms, the complexity of applications has grown dramatically. A salesforce.com application may have features such as real-time Web service integration, automated e-mail and Web feeds, and batch integration to operational systems. This increases the risk that a minor change could impact critical business processes or break the application.

It is often challenging to apply best practices for configuration management in SaaS environments because:

* The application may be supported by business, not IT.

* SaaS administrators may not be familiar with configuration and release management practices.

* SaaS deployment tools are still maturing.

* Deploying an application often requires both manual and automated steps.

* SaaS integrations require synching releases with legacy systems.

* Code, configuration, deployment scripts and manual checklists all need to be checked into the source code repository.

Consider the development of a Salesforce.com application from a traditional developer point of view, with the goal being to manage development in the most controlled fashion to ensure reliability.

The Force.com platform, Saleforce.com's custom development platform, is based upon the Model-View-Controller paradigm. This paradigm can be defined as:

* Model represents the database structure. This is configured via the salesforce.com setup menu that allows administrators to add custom fields to standard CRM data objects, like leads and accounts, or create new data objects with their own custom fields. As soon as a field is defined or modified it can be queried via SOQL, the Salesforce.Com Object Query Language, or SOSL, the Salesforce Object Search Language used for free form text searches.

* View represents the user interface. Salesforce.com has a built in forms editor for "page layouts" that are associated with data objects. Pages can also be developed in Visualforce, salesforce.com's markup language that is tightly integrated with Apex code, Force.com's programming language that is based on Java.

* Controller represents business and application logic. Rules for field validation, workflow and button actions are configured via the setup menu. Custom business logic is developed as Apex code associated with triggers, Salesforce.com's version of stored procedures, Visualforce controllers, or as shared class libraries.

Force.com development uses practices that should be familiar to most Web developers. Salesforce.com allows copying the production environment or "org" to a "sandbox" just as you would copy the production data model and code to a development server. A sandbox can house a full copy of production data, code and configuration, or just configuration.

Development is done using the Force.com integrated development environment (IDE), an add-in for Eclipse that lets developers  create a project linked to a development org, production org or sandbox. A project can be synched to a code repository, allowing check-in and check-out of code.

Apex has a built in unit test framework that requires 75 per cent coverage for all Apex code before it can be deployed. The Force IDE deploys code from a project to a production org.

Join the newsletter!

Or
Error: Please check your email address.
Rocket to Success - Your 10 Tips for Smarter ERP System Selection

Tags SaaSproject managementsoftware-as-a-service

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Gary Hamilton

Network World
Show Comments

Essentials

Mobile

Victorinox Werks Professional Executive 17 Laptop Case

Learn more >

Sansai 6-Outlet Power Board + 4-Port USB Charging Station

Learn more >

Exec

Budget

Back To Business Guide

Click for more ›

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Louise Coady

Brother MFC-L9570CDW Multifunction Printer

The printer was convenient, produced clear and vibrant images and was very easy to use

Edwina Hargreaves

WD My Cloud Home

I would recommend this device for families and small businesses who want one safe place to store all their important digital content and a way to easily share it with friends, family, business partners, or customers.

Walid Mikhael

Brother QL-820NWB Professional Label Printer

It’s easy to set up, it’s compact and quiet when printing and to top if off, the print quality is excellent. This is hands down the best printer I’ve used for printing labels.

Ben Ramsden

Sharp PN-40TC1 Huddle Board

Brainstorming, innovation, problem solving, and negotiation have all become much more productive and valuable if people can easily collaborate in real time with minimal friction.

Sarah Ieroianni

Brother QL-820NWB Professional Label Printer

The print quality also does not disappoint, it’s clear, bold, doesn’t smudge and the text is perfectly sized.

Ratchada Dunn

Sharp PN-40TC1 Huddle Board

The Huddle Board’s built in program; Sharp Touch Viewing software allows us to easily manipulate and edit our documents (jpegs and PDFs) all at the same time on the dashboard.

Featured Content

Product Launch Showcase

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?