The challenges of managing SaaS projects
- 22 October, 2009 02:36
- Comments
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.
Come socialise with us! Facebook | LinkedIn
- Bookmark this page
- Share this article
- Got more on this story? Email ARN
- Follow ARN on twitter
- Premier Media Group Fast Study
- Red Light In the Control Centre Saves Hours of Chaos
- HiveManager Online: Less Dollars, More Sense
- Aberdeen Group: Building Business Resilience Through Active Archive
- Churchtown Primary School UK Primary School Chooses Aerohive's Reliable, Manageable, Scalable and Economical Controller-less Wireless LAN Architecture
-
REVIEW: Is the Samsung Galaxy Tab 10.1 the new king of Android tablets?
-
MySpace: The next hot social network?
-
Datacom joins AFP, Microsoft and ninemsn to support ThinkUKnow
-
Lenovo awarded NSW DET netbook contract
-
Telstra-NBN Co wholesale broadband agreement “imminent”









Comments
Post new comment