comparison: perforce and ibm rational team concert · 2 comparison: perforce and ibm rational team...

8
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 feature differences • Consider the benefits of integrating Perforce with RTC for a flexible ALM solution • Get a general comparison of the effects of scaling on both systems

Upload: others

Post on 07-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Comparison: Perforce and IBM Rational Team Concert · 2 Comparison: Perforce and IBM Rational Team Concert Distributed Development • Forward or reverse accelerator HTTP proxies

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

Page 2: Comparison: Perforce and IBM Rational Team Concert · 2 Comparison: Perforce and IBM Rational Team Concert Distributed Development • Forward or reverse accelerator HTTP proxies

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

Page 3: Comparison: Perforce and IBM Rational Team Concert · 2 Comparison: Perforce and IBM Rational Team Concert Distributed Development • Forward or reverse accelerator HTTP proxies

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

Page 4: Comparison: Perforce and IBM Rational Team Concert · 2 Comparison: Perforce and IBM Rational Team Concert Distributed Development • Forward or reverse accelerator HTTP proxies

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

Page 5: Comparison: Perforce and IBM Rational Team Concert · 2 Comparison: Perforce and IBM Rational Team Concert Distributed Development • Forward or reverse accelerator HTTP proxies

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.

Page 6: Comparison: Perforce and IBM Rational Team Concert · 2 Comparison: Perforce and IBM Rational Team Concert Distributed Development • Forward or reverse accelerator HTTP proxies

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.

Page 7: Comparison: Perforce and IBM Rational Team Concert · 2 Comparison: Perforce and IBM Rational Team Concert Distributed Development • Forward or reverse accelerator HTTP proxies

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.

Page 8: Comparison: Perforce and IBM Rational Team Concert · 2 Comparison: Perforce and IBM Rational Team Concert Distributed Development • Forward or reverse accelerator HTTP proxies

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