Comparison: Perforce and IBM Rational Team Concert · 2 Comparison: Perforce and IBM Rational Team...
Transcript of Comparison: Perforce and IBM Rational Team Concert · 2 Comparison: Perforce and IBM Rational Team...
Comparison: Perforce and IBM Rational
Team Concert
Perforce 2013.1 and IBM Rational Team Concert (RTC) 4.0.2
This document compares Perforce (version 2013.1) with RTC (version 4.0.2) •Understand Perforce and RTC’s major featuredifferences
•ConsiderthebenefitsofintegratingPerforce withRTCforaflexibleALMsolution
•Getageneralcomparisonoftheeffectsofscalingonboth systems
Comparison: Perforce and IBM Rational Team Concert
Table of Contents
Executive Summary _______________________________________________________________ 1
Overview ________________________________________________________________________ 1
Release and Process Management __________________________________________________ 2
RTC _________________________________________________________________________ 2
Perforce _____________________________________________________________________ 2
Interfaces and Extensibility ________________________________________________________ 3
RTC _________________________________________________________________________ 3
Perforce _____________________________________________________________________ 3
Administration and Support _______________________________________________________ 3
RTC _________________________________________________________________________ 3
Perforce _____________________________________________________________________ 3
Distributed Development _________________________________________________________ 4
RTC _________________________________________________________________________ 4
Perforce _____________________________________________________________________ 4
Scalability and Performance _______________________________________________________ 5
RTC _________________________________________________________________________ 5
Perforce _____________________________________________________________________ 5
Learn More ______________________________________________________________________ 6
Evaluating Perforce ___________________________________________________________ 6
Scheduling a Demo of Perforce _________________________________________________ 6
Migrating to Perforce __________________________________________________________ 6
1 Comparison: Perforce and IBM Rational Team Concert
EXECUTIVE SUMMARYThechoiceofSoftwareVersionManagementsystemprofoundlyaffectsthoseinvolvedindigitalassetmanagement,fromsoftwaredeveloperstoartiststomanagers.Aneffectivesoftwareversionmanagementsystemisonethat:
• Providesafullhistoryoftheevolutionof digitalassets
• Enablesparalleldevelopmentandconcurrent team activity
• Helpstheentireteamworkmoreefficiently
• Meetsmoderndevelopmentand scalabilitychallenges
• Offersfast,flexible,andreliableservice
WhileIBMRationalTeamConcert(RTC)hasseveralotherApplicationLifecycleManagement(ALM)components,includingtasktrackingandbuildmanagement,thispaperwillconcentrateontheversioningcomponentofRTC.
This document compares Perforce (version 2013.1) with RTC(version4.0.2).Itcontrastsmajordifferencesinusage,administration,anddeployment.
TheanalysisinthispapersuggeststhatPerforceisamorescalableandflexibleSoftwareVersionManagementsystemthatiseasiertodeployandmaintain.Tosomeextentthatconclusionistobeexpected,asRTCisintendedtobeaprojectandprocessmanagementsystem.RTCisamuchmorecomplexproductthanPerforce.TheSoftwareVersionManagementcomponentofRTCisnotthemajorfocusoftheproduct,andindeedotherSoftwareVersionManagementsystems,includingPerforce,canbepluggedintoRTCtoprovidesourcecontrolwhilestillintegratingwithRTCtaskandbuildmanagement.1
Inotherwords,themajorgoalofRTCisprovidingprojectandprocessmanagement.TheindividualcomponentsofRTCcanbereplacedasnecessarytoprovidebettersegment-specificfunctionality.IftheprojectmanagementaspectsofRTCareappealing,thenabettersolutionistointegratePerforceintotheRTCframework.
1http://www.ibm.com/developerworks/rational/library/10/integrate-perforce-with-rational-team-concert/
index.html
Attribute Rational Team Concert (RTC) Perforce
Release and Process Management
•RTCenforcesastreams-basedworkflowforsoftwareversionmanagement,andtheuseoftheoverallRTCproductisbasedonprocessmanagementtemplates.
•StreamsprovideapowerfulyetflexibleSoftwareVersionManagementworkflow.
•Perforceprovidesthreemethodstosupporttask-basedworkflows:Shelving,taskstreams,andGitFusion.
Interfaces and Extensibility •RTCprovidesrichclientsforEclipse,VisualStudio,andthewebclient.
•Thecommand-lineclientprovidesasubsetoffeatures.JavaandRESTAPIsareavailable.
•PerforceprovidesastandaloneGUIaswellasrichintegrationswithEclipseandVisualStudio.
•Thecommand-lineclientisfullfeatured.•APIsareavailableforC++,Java,andseveralotherlanguages.
Administration and Support •SupportedbyIBM.•AdministrationrequiresknowledgeofseveralcomponentsincludingRTC,anapplicationserver,andadatabase.
•Upgradeprocedurescanbecomplex.
•Technicalsupport,training,andprofessionalservices provided by Perforce.
•Simpleandconsistentdeploymentresultsinloweradministrationcosts.
•Simpleupgradeprocedureswithgoodinteroperabilityacrossversions.
OVERVIEW
2 Comparison: Perforce and IBM Rational Team Concert
Distributed Development •ForwardorreverseacceleratorHTTPproxiesmayimproveperformanceoveraWAN,butrequireextraconfigurationanddedicatedworkspaces.
•GitFusionprovidesseamlessGitintegration.•Proxyservicesofferafilecachingsolutionforremoteuserswithminimaladministrativeoverhead.
•ReplicationservicesprovideafullorfilteredcopyofPerforcesharedversioningservicedataatremotelocations.
Scalability and Performance •ScalingRTCmayrequireacomplextopologywithmultipleserversanddatabases.
•Asingleservercanbesizedtosupportupto2,000users.
•Clusteringisavailable(withextralicensing).
•Perforceisdeployedinenvironmentswith15,000+users,millionsoffiles,terabytesofdata,and heavy automation.
•GitFusionandPerforceproxy,brokerandreplicationservicesprovidepowerfulandflexibledeploymentarchitectures.
RTCRTChasafairlyrigiddatamodelforsoftwareversionmanagement.2Digitalassetsaregroupedintocomponentsfororganizationandsharing.Everyusergetsaprivatestream(server-sideworkspace),andthelocalworkingcopyisknownasasandbox.Usersgenerallypromoteordeliverchangestoabackingstream.Aflowmodelindicatesthepreferredway forchangestopropagatebetweenstreams.
RTCdoesnotsupportalternativemodelswhenastreams-basedapproachisnotapplicable.Forexample,whenusingthesoftwareversionmanagementsystemasadocumentrepositoryfornon-technicalusers,thestreamsmodelofferslittlevalueandaddscomplexity.Orconsiderateamthatusesthesoftwareversionmanagementsystemtostoremultimediaassets.Thisteammayhaveveryspecializedproceduresandclientprogramsfortheirdata.
ManyaspectsofworkinginRTCareboundbyaper-projectprocessorworkflow,whichcanbebasedonatemplateandcustomized.Forexample,preventingauserfromsubmittingachangewithoutlinkingtoadefectrequiresmodifyingtheprojectworkflowandrole(security)settings.3InPerforce,suchasimplerulecanbeenforcedquicklywithatrigger.
2 https://jazz.net/library/content/docs/source-control/faq/index.html#scm_diagram3 https://jazz.net/library/article/292
PerforcePerforceStreamsprovidealightweightbutpowerfulbranchingmodel.Usingstreams,aproductarchitectdefinestherelationshipbetweenstreams,themodulesthatcomposeaproduct,andthedirectionofchange(merges)betweenstreams(seeFigure1).Thisinformationsimplifiesandautomatesmanyroutineuser operations.
Thestreamsmodelprovidesguidanceandindicatestherecommendedwaytohandleconcurrentdevelopment.However,itisnotastrictworkflowandtheguidelinescanbebypassedwhen necessary.
Additionally,Perforcecanbe(andis)usedsuccessfullywithoutstreams,providingevenmoreflexibilitywhenalternativeworkflowsandprocessesareappropriate.PerforcesupportsInter-FileBranching,whichtracksthehistoryandevolutionofdigitalassetsdowntothefilelevel.
Streamsbuildonthisbranchingfoundationtoprovideacollaborationmodelbasedonthemainlinebranchingtechnique.4 Ifthismodelisnotdesiredorappropriateforaparticularteam,Perforcebranchingcansupportanyalternativeworkflow,whilestilltrackingcomplexmergehistory,includingindirectbranchingandrefactoring.
IntheexampleofateamusingPerforceasadocumentrepository,thereisnoenforcedmodeltoworkaround.
Modernworkflowsthatrequiretask-basedworkaresupportedviashelves,taskstreams,andGitFusion.Thesetoolssupportpre-flightcontinuousintegrationandintegrationwithcodereviewandmergerequestsystems.
4ThemainlinebranchingmodelisbasedonobservedbestpracticesanddescribedfullyinWingerd,Practical
Perforce(O’Reilly,2005).
RELEASE AND PROCESS MANAGEMENT
3 Comparison: Perforce and IBM Rational Team Concert
INTERFACES AND EXTENSIBILITY
RTCRTCprovidesrichclientsforEclipse,VisualStudio,andthewebclient.Thecommand-lineclientprovidesasubsetoffeatures;responsivenesscanbeproblematicasitisaJavaprogram.JavaandRESTAPIsareavailable.
PerforcePerforceprovidesastandaloneGUIaswellasrichintegrationswithEclipseandVisualStudio.Thecommand-lineclientisfullfeatured.APIsareavailableforC++,Java,Perl,Python,Ruby,PHP,Objective-C,andJavaScript.
ADMINISTRATION AND SUPPORTInstallingandadministeringaPerforcesharedversioningserviceissignificantlysimplerthanRTC,resultinginalowertotalcostofownership.
RTCRTCisacomplexapplicationwithseveralcomponents.5AnRTCinstanceincludesanapplicationserver(usuallyApacheTomcatorWebSphere),adatabase,andRTCitself,andmayincludeTivoli,integrationsandsynchronizers,andothercomponents.Dependingondeploymentsize,RTCmayrunononetoseveralservers.Therequirementforproductcomponentsdistributedovermultipleserversaddstothetraining,maintenance,anddiagnosticresponsibilitiesofsystemadministrators.
InstallingandmaintainingRTCrequiresexpertiseinallthecomponentsandaconsiderableinvestmentinplanningthedeploymentarchitecture.Backupandrecoveryproceduresmustbeimplementedandtestedforeachserverandcomponent.
RTCissupportedbyIBM.
PerforcePerforceimposesminimaladministrativeoverhead.Perforcedeploymentissimpleandconsistent.Upgradeproceduresaresimpleandfast,oftenrequiringnothingbutreplacingthesharedversioningservicebinaryandrunningasingleupgradecommand.
ExpertandresponsivetechnicalsupportisahallmarkofPerforce.Asidefromtechnicalsupport,Perforcealsooffersafullrangeoftrainingandprofessionalservices,includingeLearning.
5https://jazz.net/library/article/496
Figure 1: Perforce Stream Graph.
4 Comparison: Perforce and IBM Rational Team Concert
DISTRIBUTED DEVELOPMENT
RTCRTCoffersnoovertsupportfordistributeddevelopment.Rather,RTCrepositoriescansharesourcechanges(aswellasissuesandother artifacts).6
HTTPproxytechnologies(bothforwardandreverseacceleration)canbeusedtoimproveperformanceoveraWAN.7However,atbest,thesetechnologieswillcachefilecontent,notmetadata.Switchingaworkingcopy(RTCsandbox)isnottransparenttotheenduser;creatinganewsandboxisrecommendedwhenusing aproxy.
6https://jazz.net/library/article/535/
7https://jazz.net/library/article/325/
Perforce DistributeddevelopmentwithPerforceissupportedbyseveraltools(seeFigure2).Thesetoolsaretypicallytransparenttotheend user.
GitFusionprovidesseamlesssupportforGitdevelopmentwhereappropriate.
PerforceproxyservicesatremotelocationssupportPerforce’sdistributedarchitecture.Theproxyservicecachesandservesfilestousersatremotelocations,reducingtrafficacrossslowerWANlinks.Allusers,localorremote,connecttothesamesharedversioningserviceandlookatthesameprojectfiles.Theproxyservicerequiresminimaladministrativeattention.
Perforcereplicationservicesprovidecompletelylocalread-onlyoperationsforremoteusersandbuildautomation.AsalargepercentageofPerforceoperationsareread-only,usingalocalreplicationserviceoffersasignificantperformancebenefit.Replicationservicesalsosupportbackupplanningandbuildautomation.
Shared Versioning Service
Proxy Service
ReplicationService
Git Fusion Git Fusion
Figure 2: Perforce’s distributed architecture.
5 Comparison: Perforce and IBM Rational Team Concert
SCALABILITY AND PERFORMANCE
RTCRTCisonlysizedforapproximately2,000users,withadditionalconstraintsonthenumberoffilespercomponent.8 ScalingRTCtosupportalargeuserbase,distributedwork,orheavydatavolumecanbeadauntingtask.Examplesofscaled-outRTCdeploymentsincludemultiplepiecesofserverhardware,applicationservers,anddatabases.9 Clusteringforhighavailabilityisavailablebutrequiresextralicensing.
DespitethecomplexityofanRTCdeployment,simpledatareplicationisnotsupported.
8https://jazz.net/library/article/551
9http://pic.dhe.ibm.com/infocenter/clmhelp/v3r0/index.jsp?topic=%2Fcom.ibm.jazz.install.
doc%2Ftopics%2Fc_topology_example_C.html
PerforcePerforceSoftwareVersionManagementhasbeendeployedsuccessfullyinenvironmentswithseveralthousandusers,terabytesofversionedcontent,andmillionsofrevisions.Perforce’sdeploymentarchitecturenowincludesGitFusionandproxy,brokerandreplicationservicesthatcanbetailoredtosatisfydemandingenvironments.Replicationservicesareparticularlyusefulforsupportingautomatedprocessessuchasaggressivecontinuousintegration—theperformanceburdenofsuchprocessesisshiftedentirelyawayfromtheproductionserver.
ScalingoutaPerforcedeploymentrequiresverylittleadditionalexpertise.Proxyandbrokerservicesrequirelittlemaintenance.Replicationservicesrequireasmallsetofconfigurationchanges,butareotherwiseidenticaltoaPerforcesharedversioningservice.
Replicascanbetunedonlytoreplicateasubsetofrepositorydataandcanbechainedtogethertosupportseveralsatelliteofficesorabuildfarm.
North America Perforce Software Inc.2320 Blanding AveAlameda, CA 94501USAPhone: +1 [email protected]
EuropePerforce Software UK Ltd. West Forest GateWellington RoadWokinghamBerkshire RG40 2ATUKPhone: +44 (0) 845 345 [email protected]
Australia Perforce Software Pty. Ltd.Suite 3, Level 10221 Miller StreetNorth SydneyNSW 2060AUSTRALIAPhone: +61 (0)2 [email protected]
p e r f o r c e . c o m
Copyright © 2013 Perforce Software Inc. All rights reserved. All trademarks or registered trademarks used herein are property of their respective owners.
LEARN MORE
Evaluating PerforceMorethan400,000usersat5,500companiesrelyonPerforceforenterpriseversionmanagement.Perforceencouragesprospectivecustomerstojudgeforthemselvesduringatypical45-daytrialevaluation.Freetechnicalsupportisincludedwithyourevaluation.Getstarted:perforce.com/trial
Scheduling a Demo of PerforceTolearnmoreaboutPerforce,scheduleaninteractivedemotailoredtoyourrequirements: perforce.com/demos
Migrating to PerforcePerforceConsultingServiceshasexperienceassistingcustomerswithmigrationsfromvariouslegacysoftwareversionmanagementsystems.Formoreinformation,visit: perforce.com/consulting