Building and Deploying ProductionQuality Applications Using the Force Platform - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

Building and Deploying ProductionQuality Applications Using the Force Platform

Description:

merge changes back into the main line. tag released versions with release name. Version Control ... retrieveTarget='mainline' unpackaged='package.xml' ... – PowerPoint PPT presentation

Number of Views:165
Avg rating:3.0/5.0
Slides: 50
Provided by: bodi52
Category:

less

Transcript and Presenter's Notes

Title: Building and Deploying ProductionQuality Applications Using the Force Platform


1
Building and Deploying Production-Quality
Applications Using the Force Platform
Track Tour de Force Platform Fundamentals
  • Glen Martin, Salesforce.com

2
Safe Harbor Statement
Safe harbor statement under the Private
Securities Litigation Reform Act of 1995 This
presentation may contain forward-looking
statements including but not limited to
statements concerning the potential market for
our existing service offerings and future
offerings. All of our forward looking statements
involve risks, uncertainties and assumptions. If
any such risks or uncertainties materialize or if
any of the assumptions proves incorrect, our
results could differ materially from the results
expressed or implied by the forward-looking
statements we make. The risks and uncertainties
referred to above include - but are not limited
to - risks associated with possible fluctuations
in our operating results and cash flows, rate of
growth and anticipated revenue run rate, errors,
interruptions or delays in our service or our Web
hosting, our new business model, our history of
operating losses, the possibility that we will
not remain profitable, breach of our security
measures, the emerging market in which we
operate, our relatively limited operating
history, our ability to hire, retain and motivate
our employees and manage our growth, competition,
our ability to continue to release and gain
customer acceptance of new and improved versions
of our service, customer and partner acceptance
of the AppExchange, successful customer
deployment and utilization of our services,
unanticipated changes in our effective tax rate,
fluctuations in the number of shares outstanding,
the price of such shares, foreign currency
exchange rates and interest rates. Further
information on these and other factors that could
affect our financial results is included in the
reports on Forms 10-K, 10-Q and 8-K and in other
filings we make with the Securities and Exchange
Commission from time to time. These documents are
available on the SEC Filings section of the
Investor Information section of our website at
www.salesforce.com/investor. Salesforce.com, inc.
assumes no obligation and does not intend to
update these forward-looking statements, except
as required by law.
3
Glen Martin Director Product Management Force.com
Platform
4
Agenda
  • Introduction
  • Development as a Service Technologies
  • Team Development Techniques
  • Migration of Changes
  • Wrap-up / QA

5
Project-based development by teams
  • Modern teams develop in isolation
  • Not in production
  • Not in same development environment as their
    peers
  • Teamwork
  • Synchronize with peers to leverage each others
    work
  • Stable checkpoints to hand-off between functions
    (e.g. QA)
  • Integrate when complete
  • Integrate with peers when development and unit
    test complete
  • Integrate with current production for testing and
    approvals

6
Worlds First Development Tools and Services for
the Cloud
Development as a Service
Force.com IDE
Force.com Sandbox
Force.com Code Share
Metadata API
Everything You Need to Build Apps
Easy to Collaborate on Projects
Easy Access to Code and Schema
Instantly Set Up Dev Environments
7
Metadata API . Lets Look at the Code
Metadata API
ltCustomObject xmlns"http//soap.sforce.com/2006/0
4/metadata"gt     ltlabelgtPTORequestlt/labelgt    
ltpluralLabelgtPTORequestslt/pluralLabelgt    
ltnameFieldgt         ltlabelgtPTORequest
Namelt/labelgt         lttypegtTextlt/typegt    
lt/nameFieldgt     ltsharingModelgtReadWritelt/sharing
Modelgt     ltfieldsgt         ltfullNamegtStartDate_
_clt/fullNamegt         ltlabelgtStart Datelt/labelgt
        lttypegtDatelt/typegt     lt/fieldsgt    
ltfieldsgt         ltfullNamegtDuration__clt/fullNamegt
        ltlabelgtDurationlt/labelgt        
lttypegtNumberlt/typegt         ltprecisiongt2lt/precisi
ongt     lt/fieldsgt     ltdeploymentStatusgtDeployed
lt/deploymentStatusgt lt/CustomObjectgt
Create your database tables
Define schema attributes
Create new database fields
8
Supported Metadata Types
9
IDE
Single Project View
Metadata Editors
Rich code editors for Visualforce and Apex code
10
Demo of Metadata and IDE
11
Where Do I Develop?
  • On-demand environments for development and
    testing
  • Developer Edition
  • small, free organization
  • vanilla - starts with a default configuration
  • best for ISVs developing standalone apps
  • Force.com Sandbox
  • copies enabled features and configuration from
    production
  • full sandbox also copies data from production
  • though you usually dont need data yet

12
Force.com Sandbox
Development
Testing
Training
13
Developer Sandbox
  • Intended for single developer use
  • Includes all features of full sandbox (except
    storage size and data)
  • Allows development in isolation from production
    and peers
  • Merge changes into staging or production when
    ready
  • Generally, developers will want one or two each
  • Free!
  • No cost
  • Bundled with Enterprise and Unlimited Edition
  • Sandbox purchases bundle more!
  • Full Sandbox comes with 10
  • Configuration-only Sandbox comes with 5

14
Managing Force.com Sandbox
15
Easy to Move Your Apps Metadata and Code
Code Share
Multiple Sandbox Environments
Production Deployment
Code Share
Develop
Test
Train
Version Control
16
Team Development with Code Share
17
Evolution of your Organization
18
Evolution of your Organization
19
Evolution of your Organization
20
Evolution of your Organization
21
Evolution of your Organization
22
Evolution of your Organization
23
What is Version Control?
  • System that tracks changes to software over time
  • what was the change?
  • who made it?
  • how did the code change incrementally over time?

Project Branch
Version Control
24
What is Version Control?
  • System that tracks changes to software over time
  • what was the change?
  • who made it?
  • how did the code change incrementally over time?
  • branch to isolate development until ready

Project Branch
Developer Branch
Version Control
25
What is Version Control?
  • System that tracks changes to software over time
  • what was the change?
  • who made it?
  • how did the code change incrementally over time?
  • branch to isolate development until ready
  • merge changes back into the main line
  • tag released versions with release name

Release Branch
Project Branch
Developer Branch
Version Control
26
Force.com Development with Version Control
Release Branch
Project Branch
Developer Branch
Version Control
27
Some version control systems
  • Team development with Force.com should work with
    most popular version control systems that have
    Eclipse plug-ins

Borland StarTeam
Telelogic SYNERGY
Microsoft VSS
Subversion
AccuRev
CVS
ChangeMan Dimensions
AllFusion Harvest
ChangeMan Version Manager
TeamSite Repository
ClearCase
Darcs
SpectrumSCM
Source Integrity Enterprise
Perforce
SAD - Perforce Software
28
Merging Changes in Force.com IDE
29
Demo Collaborative Development with Subversion
30
Development as a Service Supports Multiple
Development Models
  • Individual developer
  • IT developing apps for internal use
  • ISVs developing apps for redistribution
  • Open Source App Development

31
Development Lifecycle with Force.com Sandbox
Developer
Staging
32
Development Lifecycle with Force.com Sandbox and
Version Control
Version Control
Developer 1
Developer 2
Integration
Staging
33
Testing Environments
  • After development and unit test complete
  • Integration (or regression) Test
  • Usually need standardized test data
  • Use Force.com Configuration-only Sandbox plus
    Data Loader
  • Staging
  • Need to test in a real-world environment
  • Force.com Full Sandbox is a complete copy of
    production
  • Perform final QA and User Acceptance tests here

34
Multi-Project Delivery Cycle with Sandbox
Production Instance
Production Support
Dev
Dev
Rollup / Integration
Staging
Integration
Long Project
Training
legend
Dev
live
full copy
Dev
configuration-only, test data
configuration-only, training data
Short Projects
developer
35
Deployment
36
Basic Deployment Steps
  • Create a staging sandbox, and deploy application
  • Test
  • Repeat deployment to production

37
3 Configuration Migration Tools Today
  • Force.com IDE
  • Force.com Migration Tool
  • Dreamfactory Snapshot
  • All based on the Metadata API

38
Force.com Migration Tool
  • Command-line tool for retrieval and migration
  • Based on Apache Ant
  • Use for retrieval
  • configure with org and list of metadata
  • this metadata can then be saved into version
    control
  • perhaps as a repeating task to monitor for
    changes
  • Also use for migration
  • configure with destination org and metadata to
    push
  • Uses same directory structure as Force.com IDE

39
Extracting with Migration Tool
  • gt ant retrieveMainline
  • lttarget name"retrieveMainline"gt
  • ltsfretrieve
  • username"sf.username
  • password"sf.password
  • serverurl"sf.serverurl"
  • singlePackage"true
  • retrieveTargetmainline"
  • unpackagedpackage.xml /gt
  • lt/targetgt

40
Deploying with Migration Tool
  • gt ant deployMyProject
  • lttarget name"deployMyProject"gt
  • ltsfdeploy
  • username"sf.username"
  • password"sf.password
  • serverurl"sf.serverurl
  • deployrootmyProject
  • singlePackage"true /gt
  • lt/targetgt

41
Using Migration Tool for Automated Test
  • Ideal for populating a test environment from
    version control
  • Command line tool ? repeatable deployment scripts
  • Delete changes from previous push
  • Push the current configuration

42
Using Snapshot for Migration
43
Migration Method for Unsupported Types
  • Create change list
  • Best practice use tool to create change list or
  • Keep track of changes as you make them or
  • Leverage setup audit trail
  • Select the changes you want
  • Copy them by hand
  • When using tools, re-run after copy, diff should
    be clean

44
Migration Challenges
  • Deletion is not trivial
  • specify item to be deleted in DestructiveChanges.
    xml file
  • include file in directory to be deployed
  • Rename is not supported
  • deploy operation is like upsert it changes
    component of same name, or creates new component
    if name doesnt exist
  • therefore any name changes will duplicate the
    component
  • For integration / regression renames delete and
    recreate
  • then change data files and reload test data
  • For production and staging renames use
    Declarative App Builder

45
Demo deploy to Force.com Sandbox
46
Deploying into Production
  • Staging allowed us to test the changes,
  • Also verified the deployment methodology
  • Repeat the same process to deploy to production
  • same environment (sandbox was a complete copy of
    production)
  • same code and metadata
  • same migration methodology
  • same result

47
Manage. Share. Build. Apply what youve learned
  • Combining the best of traditional development
    practices and on-demand development
  • Develop in isolation, merge when ready
  • Version control is the synchronization point for
    changes
  • Regression test in a Configuration-only Sandbox
  • User Acceptance Test in a full sandbox
  • Migrate many configuration changes quickly and
    easily using the Metadata API via one of the
    available tools

48
Other Sessions
  • Tues 1130 Esplanade 306
  • Change Management Making it Happen
  • Tues 200 Esplanade 306
  • On Demand Release Management
  • Wed 1015 Esplanade 303
  • Development as a Service Building and Deploying
    Apps in the Cloud

49
Session FeedbackLet us know how were doing and
enter to win an iPod nano!
  • Please score the session from 5 to 1
    (5excellent,1needs improvement) in the
    following categories
  • Overall rating of the session
  • Quality of content
  • Strength of presentation delivery
  • Relevance of the session to your organization

Additionally, please fill in the name of each
speaker score them on overall delivery.
We strive to improve, thank you for filling out
our survey.
50
QUESTION ANSWER
Glen Martin
Director Product Management Force.com Platform
  • For More Information
  • To get a free Developer Edition instance
  • http//developer.force.com/
  • Force.com IDE
  • http//wiki.apexdevnet.com/index.php/Force.com_IDE
  • Force.com Migration Tool
  • http//wiki.apexdevnet.com/index.php/Migration_Too
    l_Guide
  • Metadata API, see API Developers Guide
  • http//wiki.apexdevnet.com/index.php/APIAPI
Write a Comment
User Comments (0)
About PowerShow.com