CopyrightACKNOWLEDGMENTSABOUT THE AUTHORSIntroductionWho Should Use This Book?How to Use This BookPart 1. Creating High Availability ApplicationsChapter 1. Understanding High AvailabilityHigh Availability ExplainedHow Do I Know My Server Load?The High-Availability Plan: Seven Must-Haves for Building High-Availability SolutionsSome Truths about Web HostingActive Site MonitoringThe Quality of Service GuaranteeWhat Next?Chapter 2. Monitoring System PerformanceMonitoring Your ColdFusion MX 7 ServerActive MonitoringDeciding What to Do NextChapter 3. Scaling with ColdFusion MX 7The Importance of ScalingScaling ConsiderationsHow to Write ColdFusion MX 7 Applications That ScaleKeeping Web Site Servers in SyncMultiple ColdFusion MX 7 InstancesHardware vs. Software Load Balancing OptionsScaling with ColdFusion MX 7 Load BalancingHardware Load-Balancing OptionsFinishing UpChapter 4. Scaling with J2EEBenefits of Deploying ColdFusion on J2EE Application ServerDevelopment Values of ColdFusion MX on J2EEHow ColdFusion Lives on Top of Java ServerScaling with ColdFusion and JRunScaling with Other Java Application ServersTuning the Java Virtual MachineSummaryChapter 5. Managing Session State in ClustersWhat Is Session State?The History of Managing StateOptions for Managing Session StateChapter 6. Deploying ApplicationsDeployment OptionsColdFusion ArchivesJ2EE ArchivesColdFusion CompilerChoosing the Right Deployment OptionPart 2. Ensuring SecurityChapter 7. Understanding SecuritySecurity RisksEncryptionBrowser ValidationAuthentication and AuthorizationChapter 8. ColdFusion Security OptionsOperating System SecurityWeb Server SecurityColdFusion Security FrameworkColdFusion Login Wizard ExtensionChapter 9. Creating Server SandboxesUnderstanding SandboxesCreating and Securing Applications Using SandboxesChapter 10. Security in Shared and Hosted EnvironmentsRisks in the Shared EnvironmentSecuring RDSColdFusion SandboxMultiple Server ConfigurationsConfiguring ColdFusion for Multiple HostsOther IssuesStaying InformedChapter 11. Using the Administrator APIUnderstanding the Admin APIBuilding Custom Admin ConsolesSecurity Implications for the Admin APIAdmin API Best PracticesPart 3. Advanced Application DevelopmentChapter 12. ColdFusion ScriptingWhat Is <cfscript>?Implementing <cfscript>Common Problems and SolutionsUser-Defined Functions in <cfscript>Exception Handling in <cfscript>Chapter 13. Using Regular ExpressionsIntroducing Regular ExpressionsRegEx Support in ColdFusionUsing Regular Expressions in ColdFusionSome Convenient RegEx UDFsBuilding a RegEx Testing PageCrafting Your Own Regular ExpressionsLearning More about Regular ExpressionsChapter 14. Working with XMLXML Document StructureParsing XML DocumentsCreating XML ObjectsUsing Special Characters in XMLXML NamespacesValidating XMLMore XML ResourcesChapter 15. Manipulating XML with XSLT and XPathUnderstanding XPathTransforming XML into Content by Using XSLTMore XPath and XSLT ResourcesChapter 16. Using WDDXIntroducing WDDXUsing WDDX with ColdFusionAnatomy of a WDDX PacketUsing WDDX Packets to Store Information in FilesOther Places to Store WDDX PacketsExchanging WDDX Packets among Web PagesBinary Content in WDDX PacketsChapter 17. Using JavaScript and ColdFusion TogetherA Crash Course in JavaScriptWorking with Form ElementsPassing Variables to JavaScriptPassing Data to JavaScript Using <cfwddx>Working with WDDX Packets in JavaScriptCalling CFCs from JavaScriptPassing Simple Variables to ColdFusionChapter 18. Creating Advanced Custom TagsSimple CFML Custom Tags: Back to BasicsPaired Custom TagsNested Custom TagsCreating an Advanced Custom TagWhere to Go From HereChapter 19. Creating Advanced ColdFusion ComponentsA Review of CFCsCFC SyntaxCalling CFCsIntrospectionManaging ComponentsPersisting CFCs for PerformanceAll This "Object" StuffThe THIS ScopeInheritancePersistence and ConstructorsSecurityCFC "Good" PracticesChapter 20. XForms and CFMLWhat's wrong wit221 Forms?The History of XFormsWhat is XForms?Creating XForms in CFMLXSL: The eXtensible Stylesheet LanguageChapter 21. Using Server-Side HTTP and FTPOverview<cfhttp>Putting <cfhttp> to Use<cfftp>Putting <cfftp> to UseChapter 22. Interacting with Directory ServicesUnderstanding LDAPUsing <cfldap>Querying Public LDAP ServersInteracting with DirectoriesBuilding an LDAP CFCChapter 23. ColdFusion and GlobalizationWhy Go Global?What Is Globalization?Going GlobalBetter G11N PracticesPart 4. Extending ColdFusionChapter 24. Creating and Consuming Web ServicesUnderstanding Web ServicesWSDLCreating Web ServicesConsuming Web ServicesWorking with SOAP RequestsBest PracticesChapter 25. Integrating with .NET.NET Fundamentals.NET Web Service (Returning a Simple Type).NET Web Service (Returning a Complex Type)ColdFusion Web Service (Returning a Complex Type)A Real-World ExampleSumming UpChapter 26. Extending ColdFusion with COMChapter 27. Integrating with Microsoft OfficeDocument PropertiesMicrosoft JetApache POIHTML, XML, and CSSAutomationChapter 28. Extending ColdFusion with CORBAChapter 29. Extending ColdFusion with JavaUsing Java Class ObjectsUsing Java BeansUsing Tag LibrariesAccessing the Underlying Servlet ContextIntegrating with Java Servlets and JSP PagesIntegrating with EJBsWriting Java CFX TagsChapter 30. Extending ColdFusion with CFXChapter 31. Event GatewaysWhat Is an Event Gateway?Creating a Simple Gateway ApplicationCreating an Initiator Application Using the ColdFusion GatewayDebugging CFML Applications for Event GatewaysCreating Your Own Custom GatewaysA POP3 Custom GatewayChapter 32. Integrating with SMS and IMUnderstanding IMDefining IM GatewaysCreating your First IM ApplicationCreating Interactive ApplicationsUnderstanding SMSDefining SMS GatewaysGenerating SMS MessagesResponding to SMS MessagesExtending Your Application Even FurtherPart 5. AppendixAppendix A. The WDDX.DTD FileIndex