30 useful biztalk server tips - venneker.net€¦ · 30 useful biztalk server tips. contents 1 2 6...
TRANSCRIPT
Ricardo TorreHead of Technical Pre-Sales
& Product Strategist
30 USEFULBIZTALKSERVERTIPS
contents 1
2
6
9
12
10
13
11
14
15
3
7
4
8
5
Take advantageof Multi MessageBox
Configuration
EfficientHost
Separation
Chooserobust
adapters
Monitorperformance
SLAs withBAM
Reviewthe
performanceofyour
environmentregularly
BAMlightweight
tracking
PerformanceTesting is key
Clusterhost
instanceswith
adapterlike
FTPorPOP3
Use theBusiness Rule
EnginetoimplementBusinessLogic
Minimizepersistence
points Health
Checkwith
MessageBox
Viewer
Createsecurity
boundaries
Packageallyour
resourcesinto MSI
Buildyourcustompipelines
withcomponentsusingdefaultproperties
Splitbigmessagesinthereceivepipeline
16
18
21
24
27
19
22
20
23
25
28
26
29
30
17 Use
VisualStudioforfunctionalandloadtesting
Use fastdisksforyour
BizTalkDatabasesubsystem
ClustertheMaster
SecretServer Purge
BAMData
Use SSOastheapplicationconfigurationstore
ConfigureandactivatetheDTA
PurgeandArchiveJob
UseWebgarden
forIISscalability
Planyour
BackupandDRstrategy
Maintain youMessageBoxefficiently
Considertoprefer
XSLTinmaps Test 100%ofyourcode
Developadapter
using WCF
AvoidOrchestrationswhenpossible
Imple-menta
EnterpriseService
Bus using theESB Toolkit
UseETWforhighperformancetracking
1 Take advantage of Multi MessageBox Configuration
Take advanTage of MulTi MessageBox ConfiguraTion
TakeadvantageofconfiguringmultiplemessageboxesinBizTalkenvironmenttoovercomeSQLserverbottlenecks.OncetheloadgoesupinyourBizTalkenvironment,you’llstartseeingbottleneckinSQLserver.Normallyitwillre-quiredeepSQLknowledge,suchasconfiguringmultiplefilesperfilegrouptoovercomethischallenge.Theothereasyoptiontosolvethisproblemisbysimplyaddingmultiplemessageboxes.ThistipevenworksnicelyonasingleSQLserverinstance.
DuringperformanceandscalabilitytestsofahighvolumeBizTalksolutionwhenyoutrytodeterminetheMaximumSustainableThroughputyouwillfindthatlogicalbottlenecksintheSQLlayerarethemostcommon.BecauseofthesemultiplearticleshavebeenwrittenonhowtobestconfiguretheBi-zTalkMessageBoxtoavoidthem.Optimizing Database PerformanceoreventheseoldarticleBizTalk Server Database Optimizationarestillmostlyvalidtodayandaddresstheseconcerns.
ThesinglemostsignificantoptimizationstepwhendealingwithscalingtheBizTalkMessageBoxisaddingnewmessageboxesevenwhentheyarecreat-edinthesameSQLInstance,withtheaddedbenefitofbeingthemostsimpletoimplement.Youwillneedtoaddthreemessageboxestoachievethebestperformance.
POSTSHARETWEET
2 Efficient Host Separation
Whenconfiguringhostsalwaysconsiderthebestpracticesforhostsepa-ration,startwiththeseparationofartifactsperfunctionality(receive,send,orchestrationandtracking)thenconsiderisolation(perapplication,businessunit,etc),thenforperformancereasonsandfinallyforreliabilityreasons.AgoodHostseparationpolicywillhelpyouscaleyourenvironment,ensuresta-bilityandsecurity.
GenerallyitisrecommendedtostartanyBizTalkenvironmentwithatleast4hosts,forReceiving,Orchestrations,SendingandTracking.Thisfollowsthefirstprincipleofseparationoffunctionalitywhichwillbeeasiertoconfigurescalabilityandeasiertocontrolthebehavioursuchasstoppingallreceivestoenableanenvironmentdrain.Anotherimportanthostseparationtechniqueistohaveadedicatedtrackinghost,sincetrackingisalowprioritysub-serviceifyouhavetrackinginaverybusyhostitmightstartaccumulatingtrackinginformationontheBizTalkMessageBox.
Isolatingartifactswithdifferentsecurityrequirementsisanotherreasonforhostseparation,youcanassigndifferentWindowsGroups,Usersandcertif-icatestoeachhostcreatingsecurityboundarieswhichwillreducetheriskofrunningtheminthesameenvironmentasotherartifactswhichincreasesthereturnoninvestmentyouhavedoneinBizTalk.
Youcanalsoseparatehostsforsecurityandreliabilityreasons,sinceeachhosthasitsownsetofdedicatedresourcessuchasdatabasetablesandwindowsservicesyoucanseparateartifactsorapplicationsthathavehighperformancerequirementsthatwillbenefitfromtheseadditionalresources.Ifyouhave
someunreliableartifactyoucanalsousehostseparationforreducingtheimpactofsuchcomponent(CustomAdapter,Pipeline,etc.)sinceifthatpartic-ularhostinstancecrashesitwon’taffectanythingelse.
Youcanreadmoreonthistopichere.
EffiCiEnt HoSt SEparationPOSTSHARETWEET
3 BaM lightweight tracking
BaM ligHtwEigHt traCking
UseBAMasalightweighttrackingmechanism,bydisablingdefaulttrackingandenablingBAMactivitiesonamessageflowyoucanreducetheperfor-manceimpactoftracking.BizTalkdefaulttrackingtakesanallornothingap-proachandusingBAMyoucandecideexactlywhatneedstobetracked.
WhenBizTalkdefaulttrackingisenabledBizTalkiscollectinginformationonalotofdifferentplaces.Allserviceinstancesarebeingtrackedforstartandfinish,orchestrationspecificallyarebeingalsotrackedformessagesendandreceiveaswellasshapestartandend.Thisamountoftrackingisconsiderableandcanbeincreasedbyactivatingmessagebodytrackingorpromotedprop-ertiestracking.Andwhileyouhavetheoptiontodisablethistypeoftrackingyoudon’thaveaneasywaytocontrolhowextensiveits.
UsingBAMtodotrackinggivesyoutheopportunitytotrackexactlywhatyouneed,youcandefineyourtrackingschema(activity)andwhatyoumaptobetracked(trackingprofile).TheBAMInfrastructurealsogiveyoutheabilitytodefineyourpurgingandpartitioningcriteriaallowingyoutocontrolhowmuchdatayouretainandalsoOLAPcubescanbecreatedtobetteranalysethetrackingdata.ReadmoreonHow to replace Tracking with BAM in BizTalk.
POSTSHARETWEET
4 Minimize persistence points
MiniMizE pErSiStEnCE pointS
Minimizetheamountofpersistencepointswhendevelopingyoursolutiontoguaranteescalability,throughputandlowlatency.PersistingdatatothedatabaseisthesinglemostexpensivetaskinBizTalk,toavoidthemyoucangrouptogethersendshapesinOrchestrationsornotusingOrchestrationsalltogetherbyleveragingstaticorcontentbasedrouting.
ApersistencepointhappenswhenevercertainshapesoccuronaBizTalkOr-chestrationsuchastheendofatransactionscope,thestartOrchestrationshape,thesendshapeandtheendoftheOrchestration.Wheneversuchper-sistencepointhappenstheBizTalkenginewillsavethewholestateoftheOr-chestrationtotheBizTalkMessageBoxandsincewritingtodiskistheslowestthingyoucandowithbasiccomputerresourcesitcomesasasignificantcosttothewholeoperation.
Reducingthesepersistencepointswillhaveasignificantimpactintheoverallperformance,youcanavoidthemalltogetherifyoudon’tuseOrchestrationsinscenarioswhereyouonlydoreceive,transformandsend.Youcanalsore-ducetheamountofpersistencepointswithinaOrchestrationifyouforex-amplegroupsendshapesinsideaatomicscopeorusetheCallOrchestrationshapeinsteadoftheStartOrchestrationshape.Readmoreonthistopichere.
POSTSHARETWEET
5 Health Check with Message Box Viewer
HEaltH CHECk witH MESSagE Box
RunMessageBoxViewer(MBV)dailytoevaluatethehealthstateofyourBiz-Talkenvironment,thistoolbringstheknowledgeofMicrosoftProductGroup,SupportandFieldEngineersintoasinglereport.YoucanscheduleMBVfromeitherMBVitselforviaBizTalk360toruneverydayandbenotifiedifanynewcriticalornoncriticalerrorssurface.
MicrosoftrecommendsthatyourunMessageBoxViewereverydayaspartofthedailyoperationalchecklist(see:Checklist: Performing Daily Maintenance Checks)forcheckingthehealthofeverythingthatisBizTalkrelatedsuchasthedatabases,configuration,bestpractices,registrysettings,servicepacksandcumulativeupdates,runtimeproblems,adapterproblems,etc.Thelikeli-hoodofwhatyouwanttochecktobedonebyMBVisveryhigh.
ThereportsgeneratedarealsoinabigdegreeadocumentationofyourBi-zTalkenvironmentandcanbeusedtoreviewtheBizTalkconfigurationandidentifymessageflowswithinthesystem.IncaseproblemsareidentifiedthatcanbesolvedbytheBizTalkTerminator,MBVwillgenerateaconfigurationfiletoloadintheBizTalkTerminatorandallowyoutorunthesolutionsneededforyourBizTalksystem.
POSTSHARETWEET
6 Choose robust adapters
CHooSE roBuSt adaptErS
PreferAdaptersthatimplementgooderrorhandlingcapabilitiestominimizetheerrorsinsideyourintegrationplatform.Handlingfailuresofintegrationbusinessprocessesiskeyforatrustworthyplatformandwillpushtheac-countabilitybacktotheownersofthedatabeingprocessedaswellasin-creasetransparency.
POSTSHARETWEET
7 performance testing is key
pErforManCE tESting iS kEy
Considerperformancetestingadeploymentcriteria,nevergointoproductionbeforeknowingwhatyourmaximumsustainablethroughputis.Assuminglinearscalabilityisnotrealisticandthenatureoftheapplicationsyoudevelopwilldictatehowitscales,duringperformancetestingyouwillhavethechancetooptimizeyourconfiguration,architectureandcode.
ThereisagreatwhitepaperfromMicrosoft“BizTalk Server Performance Op-timization Guide”whichwillhelpyouunderstandvariousaspectsofperfor-mancetuning,howtousetoolslikeLoadGen,etc.
POSTSHARETWEET
8 package all your resources into Msi
paCkagE all your rESourCES inTo Msi
IncludeeveryartifactinyourBizTalkApplicationasaMSIresourceforafullyautomatedapplicationinstallation,youcanincludeanythingyouneedinclud-ingscriptfilesthatareexecutedduringinstallanduninstall.Thiswillgiveyouasingleinstallationpackagewithminimalmanualinterventionwhichreducesthelikelywouldofintroducingproblems.
POSTSHARETWEET
9 Monitor performance Slas with BaM
Monitor pErforManCE SlaS witH BaM
BAMcanbeeasilyusedtocalculateperformanceSLAsandprovidethisinfor-mationtobusinessowners,youcanthenenableBAMAlertingandusethatformonitoringyourperformanceSLAs.IfyoualsousetheBAMAPIyouwillbeabletoextendthisSLAmonitoringcapabilityoutsidetheboundariesofBizTalk.
BydefininganactivityinBAMthatcollectsatleasttwomilestonesyouwillbeabletocalculatethedurationbetweenthemusingacalculatedfieldinBAM.OncethisisdoneyounowhaveaccesstotheKPIyouneedtomeasureandyoucancreateaqueryinBAMtoidentifyinstanceswherethedurationwasbiggerthanyourdefinedthreshold.YoucanalsouseBAMAlertstoreceiveanotificationeverytimeyourqueryreturnsnewresults.
ReadmoreonthistopicBAM to Implement Service and SLA Monitoring
POSTSHARETWEET
10Build your custom pipelines with components using default properties
Build your CuStoM pipElinES witH CoMponEntS uSing dEfault propErtiES
Buildyourcustompipelineswithcomponentsusingtheirdefaultpropertiesandthenuseruntimebindingsforadjustingthemformultiplepurposes.Thiswillreducetheamountofartifactsyouneedinyoursolutionandwillincreasethecodere-usagemakingiteasiertotestanddeploy.
WhendevelopingBizTalkapplicationsitiscommonthatdeveloperswillcreatemultiplepipelinesjustforaddressingvariationsintheconfigurationofpipe-linecomponents.BizTalkallowsyoutochangethispropertiesthroughcon-figurationandthatcanbeimportedandexportedwithbindings.Thisinsomecasescanmeanhundredsofartifactsthatyousavefromcreatinganddeploy-ing;thiswillalsosimplifytestingyourapplications.
Averycommonexampleofthisistheflatfiledisassemblerwhereyouneedtoidentifytheschematowhichtheflatfilebeingreceivedshouldbeparsedto.
POSTSHARETWEET
11 Create Security Boundaries
CrEatE SECurity BoundariES
LockdownyourBizTalksystembyusingdifferentsecuritycontextwhenac-cessingsensitiveinformation,youcanachievethisbyrunningyourhostsandhostinstanceswithdifferentWindowsGroupsandUsers.Reducingthesur-faceofattackwiththisapproachwillmakeyourenvironmentlesspronetoattacks.
Securityisaveryimportanttopicwhenintegratingwithhighlycriticalappli-cationsinsideandacrossorganizations.Planningandimplementingsecurityisademandingtask.InBizTalkyouwillhavetoassignpermissionstoreceive,sendandqueryagainstyourmostimportantapplicationsgivingtheBizTalkenvironmentaconsiderableamountofpowerandatthesametimeriskofgettingcompromised.
AnapproachrecommendedistolimitthepermissionsneededbyBizTalktojustexactlywheretheyareneeded,soifmyreceivehostneedtobeabletopoolaparticularSQLTableIshouldcreateaBizTalkuseraccountandcorre-spondingWindowsGrouptoassigntotheHostandHostInstancethatneedsthatprivilegewhileatthesametimeonlyrunningartifactsinthesamehostthatsharethesamelevelofpermissions.ReadmoretheBizTalk Security
POSTSHARETWEET
12 review the performance of your environment regularly
rEViEw tHE pErforManCE of your EnVironMEnt rEgularly
CollectperformancecountersonaregularbasisandanalysethemwithPALforthebestperformanceinsightofaBizTalkenvironment.Collectperfor-mancedataduringyourutilizationpeaktimeandcomparetheresultswithabaselinetobeabletoplanfortherightcapacityinyoursystem.
MonitoringtheperformanceofyourBizTalkSystemiskeyforastableandpredictablebehaviour.SincetheamountofcountersavailableinaBizTalkSystemisvastitishardtoknowwhichonestopaymoreattentionorunder-standingthecorrelationsoftheirvalues.ThisiswherePALwillhelpyoubyprovidingalistofcountersrecommendedtocollectandthenparsesallthesecountersandevaluatesthembasedontheknowledgeofexperiencedBizTalkengineersandgeneratesalertswhenthresholdsarebeingviolated.Acompre-hensivereportisgeneratedafterrunningthistool.
NotonlywillyoubenefitfromthecollectiveknowledgeforBizTalkbutalsofromothersoftwareinthestacksuchasWindows,IIS,SQLServerandmore.StartusingitPerformance Analysis of Logs (PAL) Tool.
POSTSHARETWEET
13 Cluster host instances with adapter like ftp or pop3
CluStEr HoSt inStanCES witH adaptEr likE ftp or pop3
UseMicrosoftClusteringforadaptersthatrequiredasinglehostinstancerun-ningatatimelikeFTPorPOP3toavoidduplicatemessageswhileprovidinghighavailability.Failuretoimplementthiswillresultineitherhavingtodealwithduplicatemessagesorimplementingmanualprocessesforperformingfailover.
Duetothenatureofsomeprotocolsitisimpossibletoguaranteehighavail-ability,scalabilityandfailover.Inthiscaseswenormallyseecustomersdis-ablingoneofthehostinstancestopreventduplicatemessages.Thisonlyprovidesmanualfailoverandwhatshouldbedoneistoclusterthehostswherethisadaptersrun,WindowsClusteringwillguaranteethatatleastonhostinstanceisrunningandthatnomorethanoneisworking.
ReadmoreonImproving Fault Tolerance in BizTalk Server by Using a Windows Server Cluster
POSTSHARETWEET
14 use the Business rule engine to implement Business logic
uSE tHE BuSinESS rulE EnginE to iMplEMEnt BuSinESS logiC
UseBusinessRuleEnginetoimplementbusinesslogicthatismodular,reus-ableandsimple.Itwillallowyoutooperateoninformationcontainedin.NETobjects,databasetablesandXMLDocuments.BREalsoenablesdeveloperstocreateandmaintainapplicationswithminimaleffort.
TheBusinessRuleEnginecanbeagoodwayoftomodularizetheconstantlychangingbusinesslogicthatisoftendevelopedinsideOrchestrations,makingchangesamoresmoothprocesssinceupdatingapolicytothelatestversiondoesn’trequireanydowntimeatall.WithsometrainingevennonBizTalkde-velopersortechsavvynondeveloperscancreateandtestrules.
BusinessRuleEngineisalsoahighperformanceenginetoevaluatebusinessrulesevenwhencomparedwithWF Rules, read more on this topic WF Rules and MS BRE – Comparing Performance
POSTSHARETWEET
15 Split big messages in the receive pipeline
Split Big MESSagES in tHE rECEiVE pipElinE
IfyouhaveabigmessageconsiderusingenvelopschemasandthedefaultpipelinestosplitthemessageattheentrancepointinBizTalkforbestperfor-manceandhighresourceutilization.Usingthismethodalsodoesn’trequirethecreationofcustompipelinesorveryexpensivesplittingintheorchestra-tions.
POSTSHARETWEET
16 use Visual Studio for functional and load testing
use visual sTudio for funCTional and load TesTing
UseVisualStudiotestcapabilitiesforfunctionaltestingandloadtesting,youcansimulaterealloadofyourenvironmentwhileatthesametimemonitoringperformanceandbehaviorofyourenvironmentduringthetestinrealtime.Whenloadtestingstartbydoingshortdurationtestsfirstandthenlongdu-rationreliabilitytests.
Herearefewgreatlinks
Using Visual Studio To Generate Load Against a Two-Way Request-Response WCF Receive Location
Load Testing BizTalk Server Solutions with Visual Studio
POSTSHARETWEET
17 use fast disks for your Biztalk database subsystem
uSE faSt diSkS for your Biztalk dataBaSE SuBSyStEM
SQLServerisvitalforanyBizTalkenvironment,ensuremaximumperformanceforthemostdemandingdatabaseswithafastdisksubsystem,considerusingRAID1+0andSSDsforahighperformanceenvironment.InthemajorityoftheBizTalkenvironmentsthisisthefirstphysicalbottleneckyouwillface.
Whendoingloadtestingyouwillfindthatafteryouconfigureyouenviron-menttoavoidanylogicalbottlenecksyouwillfinallyfindaphysicalone.Nor-mallytheveryfirstphysicalbottleneckyouseeistheIOdisksubsystemper-formanceontheSQLServer,thismakesinvestinginthedisksubsystemthemostimportantscalingyoucandoonanenvironment.BettingonahighlyavailableRAIDsystemwithfastdisksisveryimportant.
ReadmoreonMonitoring and Reducing Database I/O Contention
POSTSHARETWEET
18 Cluster the Master Secret Server
CluStEr tHE MaStEr SECrEt SErVEr
ClusterSSOMasterSecretServerusingWindowsClusteringtoguaranteethiscomponentisalsohighlyavailable,youhavetodothistoachievefullHA.ThebestcandidateserversonwhichyoucanclustertheMasterSecretServeristheSQLServerclusterwhereBizTalkisinstalledbecauseyoucanreusethisclusterforthislowweightservice.
IfyouhavenotclusteredtheMasterSecretServerthereisnohighavailabilityintheBizTalkenvironment,inthiscasesthefirstmachineyouhaveinstalledistheMasterSecretServerandifitbecomesunavailablethewholeBizTalken-vironmentwillnotworksinceitdependsontheMasterSecretservertoreadconfigurationfromtheSSOdatabase.
IfyouwanttoinstalltheSSOclusterontheBizTalkmachinesyoucanonlydoitifyoualsoclusterallthehostsinthesameClusterapplicationwhichmeansyouwillhaveanactivepassiveBizTalkruntimeenvironment.ReadmoreonHigh-Availability SSO Installation Options
POSTSHARETWEET
19 purge BaM data
purgE BaM data
UsetheoutoftheboxSSISpackagesforpurgingolddatafromBAMensuringonlyrelevantinformationisavailableandthatthePerformanceoftheBAM-PrimaryImportisthebest.YoucancreateSQLJobstorunthispackageswhichareautomaticallygeneratedwhenyoudeployyourBAMActivities.
POSTSHARETWEET
20 use SSo as the application configuration store
uSE SSo aS tHE appliCation ConfiguraTion sTore
ForBizTalkApplicationsettingsuseSSOforsecure,scalableandhighlyavail-ablestore.ThisismoresecurethantheusuallyusedBizTalkconfigurationfileandismoremaintainablesinceyouwillhaveasingleplacetoupdateyourBizTalkApplicationsconfigurationandmuchmoreeasilyyoucanautomatethedeploymentofthesesettings.
HereisaYouTubevideoshowcasing“Using SSO for Application Configuration”
POSTSHARETWEET
21 plan your Backup and dr strategy
plan your BaCkup and dr StratEgy
ConfigureandactivatetheBizTalkBackupJobtogeneratetheonlysupportedBizTalkbackupfilesandensureyouareabletorestorethembyplanningandtestingadisasterrecoveryplan.ThesuccesscriteriaforaDisasterRecoveryplanhappensonlywhenyoutestyourscenario.
TheonlysupportedwayofbackinguptheBizTalkdatabasesisbyusingtheoutoftheboxBackupBizTalkServerJobcombinedtheBizTalkLogShippingforautomaticrestoration.ItisrecommendedthatyouplantherecoveryofallBizTalkservercomponentsincludingthedatabases,configurationandappli-cations;youshouldalsoconsidertherecoverypointobjective(RPO)andtherecoverytimeobjective(RTO)whenconsideringaboutinvestinginyourdisas-terrecoveryplan.
Readmoreonthistopichere.
POSTSHARETWEET
22 use webgarden for iiS scalability
uSE wEBgardEn for iiS SCalaBility
WhenIISbecomesabottleneckyoucanusewebgardenforIISscalability,thiswillcreatemultiplehostingprocessesintheserverandIISwillmanagethebalancingofloadbetweenthem.OptimizingyourweblayerlikethisisverysimpleandhighlyreliablewhencomparedtochangingotherinternalIISen-ginesettings.
Ifyouhavetheneedtoprocessalargeamountoftwowayreceiveportcon-nectionsthroughIISinaBizTalkApplicationitislikelyyouwillexhaustsomethreadingcapabilitiesintheIISengineandhitalogicalbottleneck,ifyouhaveaccesstoanIISexpertyoucanpossiblereconfiguretheenginetoovercomethatlimitation,orinsteadusingtheveryscalableandeasytousewebgardencapability.
Read On Web Gardens, ASP.NET, and IIS 6.0
POSTSHARETWEET
23 Configure and activate the dta purge and archive Job
ConfigurE and aCtiVatE tHE dta purgE and arCHiVE JoB
ConfigureandactivatetheDTAPurgeAndArchiveJobtomaintainahealthyBizTalkDTADbdatabase,justkeepthetrackinginformationyouneedandde-letefromthelivetrackingdatabaseasoonaspossibleforthebestexperiencewhensearchingorunderstandingwhathappenedtoyourbusinessprocessesinBizTalk.
AbigBizTalkDTADbwillresultinfrequenttimeoutsandagenerallybadex-periencewhenworkingwithtrackingdatainBizTalk,thebestwaytohandlethisproblemisbyconfiguringandactivatingtheDTAPurgeandArchiveJob.Ifyoudoneedthetrackinginformationandyouneedtohaveasmallerdata-baseyoucanusethearchivingcapabilitiesformakingoldertrackinginforma-tionavailableforquerying.
See How to Configure the DTA Purge and Archive Job
POSTSHARETWEET
24 Maintain you Message Box efficiently
Maintain you MESSagE Box EffiCiEntly
Don’tletyourBizTalkMessageBoxdatabasegrowsignificantlybyaccumu-latingsuspendedmessages,putinplaceamonitoringmechanismtoidentifyandresolvesuspendedmessagesassoonaspossible.Whenyoufindadata-baseintegrityproblemthatiscausingyourdatabasestogrowusetheBizTalkTerminatortoresolvethis.
MaintainingthehealthofyourBizTalkdatabasesisvitalforanyBizTalkenvi-ronment,speciallywhenwearetalkingabouttheBizTalkMsgBoxDb,thereareseveralreasonsforthedatabasestogrowlikesuspendedmessagesthatyoushouldavoidandresolvedquicklywhentheyhappen.YoucanalsohavesomeintegrityproblemsidentifiedbyusingtheoutoftheboxMonitorJoborbyrunningatoolliketheMessageBoxViewer,inthiscasesyoucanruntheBiz-TalkTerminatorwhichisatoolprovidedbyMicrosofttoaddresstheseissues.
ReadabouttheBizTalk Terminator
POSTSHARETWEET
25 Consider to prefer xSlt in maps
ConSidEr to prEfEr xSlt in MapS
WhendevelopingmapsconsiderusingXSLTasthepreferredlanguagefordescribingyourtransformationsbyeitherusingCustomXSLT,ScriptingFunc-toidsorevenwhendevelopingCustomFunctoids.Thiswillresultinmapsthatarefastertorunandeasiertodebug.
Usingtheoutoftheboxfunctoidsissometimeshardorimpossibletoimple-mentthenecessarytransformationsleavingdevelopersalotofoptionsonhowtoovercomethoselimitations.UsingcustomXSLTasafullmap,ainlineXSLTscriptingfunctoidordevelopingafunctoidthatoutputsXSLTisinthemajorityofthetimesthebestoptionduetotheendresultbeingjustonsin-gleXSLTthatneedstobecompiledandrunjustlikeanyothersimplemapwithoutanyneedforexternalcomponents.
POSTSHARETWEET
26 test 100% of your Code
tESt 100% of your CodE
GuaranteefullcodecoveragebyrunningOrchestrationProfileroftrackingdataofyourloadtests.WhentestingyourBizTalkApplicationsitisimport-anttoguaranteeallcodeisexecuted,eventheerrorpaths.TheOrchestrationprofilerwillhelpyouunderstandhowmuchofthecodeyoucoveredwithyourtestandalsogiveimportantinformationonhowfastitwas.
Whentestingsoftwareoneoftheimportantmeasurementstoguaranteeathoroughanalysisiscodecoverage.Sincethismetricisnotpossibletomea-sureinVisualStudioforBizTalkProjectsOrchestrationProfilerhasbeendevel-opedandusesthetrackinginformationgeneratedbyBizTalktoidentifywhichcodepathhavebeenexecutedandalsoincludesadditionalinformationonthesuccessrateandvolumesgoingthrougheachshape.
LearnmoreonOrchestration Profilerandstartusingitonyourprojects.
POSTSHARETWEET
27 implement a Enterprise Service Bus using the ESB toolkit
iMplEMEnt a EntErpriSE SErViCE BuS uSing tHE ESB toolkit
UseESBToolkittoimplementadynamicself-adaptingsolution.ItenablestheimplementationoftheESBpatternwithinBizTalkbymaximizingthere-useofserviceswhileatthesametimemaintainingtheflexibilitytoeasilychangesolution.TheESBToolkitextendsthecapabilitiesofsupportingalooselycou-pledanddynamicmessagingarchitecture.
HereisagoodplacetostartworkingwiththeESBToolkitbyreadingthe Introduction to the BizTalk ESB Toolkit.
Ifyouwantain-depthvideoontheESBToolkitcapabilitieswatch this video.
POSTSHARETWEET
28 avoid orchestrations when possible
aVoid orCHEStrationS wHEn poSSiBlE
Usestaticrouting,contentbasedroutingoritinerariestoavoidusingOrches-trationsanduseroutingoffailedmessagesforadvanceerrorhandlingsincemessagingdoesn’tprovidearicherrorhandlingcapability.ThisapproachwillgiveyouthehighperformanceofmessagingandthepoweroftheOrchestra-tionswhennecessary.
WhenahighvolumeofmessagesisgoingtobeprocessedinBizTalkeverycostisimportant,activatinganOrchestrationhasasignificantimpactduetotheadditionalMessageBoxhopandtheOrchestrationexecution.InalotofscenariosyoucannotavoidOrchestrations,butinmanycasesyoucanavoidthembymakinguseofthemessagingcapabilitiessuchasroutingortrans-formationsintheports.AnotherinterestingaspectofthisisthatifsomethinggoesbadwithsimplemessagingandyouneedthepoweroftheOrchestra-tionsyoucanstillusethemwhencombinedwithRoutingofFailedMessages.
POSTSHARETWEET
29 develop adapter using wCf
dEVElop adaptEr uSing wCf
WhendevelopingnewadapterscreateaCustomWCFChannelorusetheWCFLOBSDKasareferencestartingpoint,thiswillallowyoutocreateascal-ableandeasytohostadapterthatcanbeusedacrossother.NETsolutions.Thislevelofflexibilitywillmaketheadaptermorelikelytobereusedsome-whereelsebesidestheBizTalkworldandsobeingmorevaluablethansimplybuildingitwiththeBizTalkAdapterframework.
IfyouhavetodecidetoimplementaBizTalkAdapteryouwillwanttomakeitsothatitcanbeasrelevantaspossibleandchoosingtheframeworkyouwilluseisanimportanttask.ThesimplefactthatdevelopingadaptersforWCFmakesthemreusableshouldbeacompellingenoughreasontodecide.
YoucanunderstandtheDifferences Between the WCF LOB Adapter SDK and the BizTalk Server Adapter Framework here.
POSTSHARETWEET
30 use Etw for high performance tracking
uSE Etw for HigH pErforManCE traCking
UseEventTrackingforWindows(ETW)forahighperformancetrackinganddebuggingofyourBizTalkApplications.SincethismethodusessomehighperformancestructureswithinWindowstohosttrackingtheimpactisnearzeroifyouarenotconsumingtheoutputandhighlyvaluableifyouaretrou-bleshootingaproblem.
YoucanaccesstoanimplementationofthistypeoftracingonBest Practices for Instrumenting High Performance BizTalk Solutions
POSTSHARETWEET
aBout tHE autHorRicardolovestechnologyandknowledgeingeneral,ifyouchallengehimyouwillgetachallengeacceptedlookback.HehadthechancetoworkwithalotofthemostimportantBizTalkcustomersthroughouthisyearsatMicrosoftwhichgavehimextendedexperiencearoundtheneedsandpracticesoftheintegrationspace.Explaintohimyourinte-grationscenarioandyouwillhaveaproposedarchitecturewithinmin-utesreadyforathoroughreview!Ifyoudon’tknowhowmuchyouaremissingoutonwhatBizTalk360hastoofferyoushouldaskRicardoforatravelthroughthewondersoftheproduct.
RicardoTorre Head of Technical Pre-Sales & Product Strategist www.BizTalk360.com
©Microsoft, Microsoft BizTalk Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.