• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL




Who Should Use This Book xxvii

How to Use This Book xxviii

Who Should Use This Book?

Macromedia ColdFusion was the first Web application server (created actually before the term existed) and remains the world's leading cross-platform Web development tool. Although ColdFusion remains an easy (and even fun) product to learn, some of its more advanced features and technologies require substantial know-how and experience.

This book was written for ColdFusion programmers. If you have yet to write ColdFusion code, this is not the book you need—at least not yet. For starters, grab a copy of Macromedia ColdFusion MX 7 Web Application Construction Kit (Macromedia Press, ISBN 0-321-22367-5). That book teaches you everything you need to know to get up and running (including extensive coverage of prerequisite technologies such as Internet fundamentals, the basics of application and database design, and the SQL language). It also teaches you everything you need to know to write real-world Web-based applications.

ColdFusion MX 7, the latest version of ColdFusion, introduces and extends many new high-end technologies designed to let you create highly secure, scalable, and extensible applications. This book teaches you how these technologies work, how they are used, and how to incorporate them into your own applications.

All of the authors who worked on this book are programmers. Most develop or maintain massive Internet or intranet sites built on ColdFusion technology. The information presented here is based on the real-world experiences of these developers, allowing you to leverage their hard-earned knowledge and experience within your own applications.

How to Use This Book

Unlike the Macromedia ColdFusion MX 7 Web Application Construction Kit, this book is not intended to be read sequentially from cover to cover (although you are more than welcome to do so). Rather, this book is organized into logical sections designed to address specific needs or problems. As such, each section stands on its own, allowing you to start at any section or chapter to obtain the information you need.

The book is divided into four sections.

Part 1—Creating High Availability Applications

This section addresses application scalability and availability, and all the issues and technologies involved in ensuring maximum application uptime.

Chapter 1, “Understanding High Availability,” introduces the basics of high availability, including load balancing, fail-over, Quality of Service (QoS), clusters, and more.

To address scalability and high availability, it is important to understand how to measure and gauge system performance. Chapter 2, “Monitoring System Performance,” introduces the monitoring tools provided by both the underlying operating system and ColdFusion.

Chapter 3, “Scaling with ColdFusion MX 7,” analyzes and compares the various hardware- and software-based scalability solutions available to you, emphasizing the differences between them and any special issues that need to be addressed as a result.

Chapter 4, “Scaling with J2EE,” explores Java 2 Enterprise Edition–based scalability, as well as the benefits of running ColdFusion on top of this powerful platform.

Because session state information is usually very server specific, creating server clusters (or server farms) requires you to rethink how you manage session information. Chapter 5, “Managing Session State in Clusters,” teaches you how to manage sessions and session state across clusters when necessary, and how to leverage J2EE based session-state management.

Chapter 6, “Deploying Applications,” discusses the packaging, distribution, and deployment of ColdFusion applications. Also included in this chapter is coverage of source-code protection.

Part 2—Ensuring Security

This section explains application security—both the risks and what you can (and must) do about them.

Chapter 7, “Understanding Security,” explains the risks and introduces important security fundamentals, such as encryption, authentication, authorization, and access control.

Chapter 8, “ColdFusion Security Options,” introduces ColdFusion's security framework, and explains how (and why) to leverage the underlying operating system's security features.

Sandboxes allow for the creation of virtual security entities so as to secure files, directories, data sources, and even CFML language elements. Chapter 9, “Creating Server Sandboxes,” explains in detail how to use this powerful feature.

Chapter 10, “Security in Shared and Hosted Environments,” tackles the security concerns unique to shared and hosted servers. Server sandboxes are also explained, along with databases, remote access, and other important issues.

ColdFusion MX 7 introduces a new Administration API which can be used to create administrative consoles and to script administration tasks. Chapter 11, “Using the Administration API”, explains what this new feature is, and demonstrates it use.

Part 3—Advanced Application Development

Most ColdFusion developers write their applications without taking advantage of some of the more powerful and advanced features the server and language have to offer. If you are one of these developers, this section is a must-read for you.

Chapter 12, “ColdFusion Scripting,” introduces the <cfscript> tag and language, which can be used to replace blocks of CFML code with a cleaner and more concise script-based syntax. <cfscript> can also be used to create user-defined functions, which are introduced in this chapter too.

Chapter 13, “Using Regular Expressions,” introduces the powerful and flexible world of regular expression manipulation and processing. Regular expressions allow you to perform incredibly sophisticated and powerful string manipulations with simple one-line statements. ColdFusion supports the use of regular expressions in both find and replace functions, and regular expression support has been significantly enhanced in recent ColdFusion updates.

The eXtensible Markup Language (XML) has become the most important way to exchange and share data and services, and your ColdFusion applications can interact with XML data quite easily. Chapter 14, “Working with XML,” explains what XML is and how to use it within your ColdFusion code.

Chapter 15, “Manipulating XML with XSLT and XPath,” explains how to apply XSL transformations to XML data, as well as how to extract data from an XML document using XPath expressions.

Chapter 16, “Using WDDX,” explains how Web Dynamic Data eXchange (WDDX) can be used to deliver part of the promise of XML quickly and easily. WDDX can be used to dramatically simplify the sharing and exchanging of structured data using an underlying XML format, even between ColdFusion and other technologies and applications.

Chapter 17, “Using JavaScript and ColdFusion Together,” builds on this knowledge by showing how you can use WDDX to pass data back and forth between ColdFusion on the server and JavaScript on the client.

ColdFusion developers can extend ColdFusion by writing their own tags. Chapter 18, “Creating Advanced Custom Tags,” explains advanced Custom Tags features, including create tag pairs and tag families (tag with associated child tags).

Chapter 19, “Creating Advanced ColdFusion Components,” continues this discussion by introducing advanced CFC functionality including persistence, inheritance, constructors, and security.

XForms is an XML based standard used to define forms which are processed and rendered using XSL. ColdFusion provides easy access to XForms, but to truly leverage XForms a good understanding of both XForms and XSL are required. Chapter 20, “XForms and CFML,” introduces XForms and XSL syntax, and provides instructions on creating your own XSL skins.

Chapter 21, “Using Server-Side HTTP and FTP,” teaches you how to use these Internet protocols from within your own code. With the help of these protocols, you can easily write applications that interact with other servers and services anywhere on the public Internet and private intranets, and even implement syndication services of your own.

Chapter 22, “Interacting with Directory Services,” covers directory services and the LDAP protocol, and how to use both of them simply and easily via the <cfldap> tag.

The Internet is a global community, and multilingual and localized applications are becoming increasingly important. Chapter 23, “ColdFusion and Globalization,” explains how to build these applications in ColdFusion so as to attract an international audience.

Part 4—Extending ColdFusion

ColdFusion is a highly extensible and flexible platform for application development and deployment. This section covers many of the technologies that can (and should) be used to extend your applications.

ColdFusion can both create and consume Web Services, providing integration with all sorts of systems and services. Chapter 24, “Creating and Consuming Web Services,” explains what Web Services are and why they are of so much interest.

Chapter 25, “Integrating with .NET,” explains .NET basics, and how to interact with .NET objects and services from within CFML code.

Chapter 26, “Extending ColdFusion with COM,” introduces COM and DCOM objects. These controls can be written in many languages, including C, C++, C#, Visual Basic, and Delphi, providing access to all sorts of functionality. Regardless of the language in which they are written, they can be used with ColdFusion.

Chapter 27, “Integrating with Microsoft Office,” continues this discussion with detailed coverage of integrating with Microsoft Office applications using COM and other techniques.

Chapter 28, “Extending ColdFusion with CORBA,” introduces CORBA technology. You'll learn about CORBA objects, how ORBs work, and how to take advantage of this distributed processing technology.

ColdFusion is built on underlying Java infrastructure. Chapter 29, “Extending ColdFusion with Java,” teaches you how to combine the strengths of ColdFusion and its Java foundations to leverage the best of both worlds. Included is coverage of servlets, Enterprise JavaBeans (EJBs), and more.

The CFAPI is used to write ColdFusion add-ons in C/C++ or Java. Chapter 30, “Extending ColdFusion with CFX,” explores the CFAPI interface and explains how and when to use this powerful feature.

Although primarily used to power Web applications, ColdFusion can interact with all sorts of systems and services via gateways. The ColdFusion gateway engine provides access to sockets, JMS, asynchronous processing, and more. Chapter 31, “Event Gateways,” introduces gateway technology, and explains how to use gateways as well as how to create your own.

Chapter 32, “Integrating with SMS and IM,” continues this topic with coverage of three specific gateways, the SMS gateway used to interact with SMS on devices, the Lotus Sametime gateway used to interact with that IM technology, and the XMPP gateway used to interact with IM via the XMPP protocol.

The Web Site

All the code and examples used throughout this book can be downloaded from the accompanying Web site: http://www.forta.com/books/0321292693/.

  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint