rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780321292698

Advanced Macromedia ColdFusion MX 7 Application Development

by ;
  • ISBN13:

    9780321292698

  • ISBN10:

    0321292693

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2005-04-25
  • Publisher: Macromedia Press
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $54.99

Summary

With a slew of advanced new features, ColdFusion MX 7 represents both an opportunity and a challenge for those developing Web apps with it. The opportunity, of course, lies in taking their applications to new and increasingly sophisticated levels. The challenge is digging deep enough into ColdFusion to discover the features and techniques that will take them there. In these pagesBen Fortaand the Macromedia team have made this information not only accessible but also easily digestible for intermediate and advanced ColdFusion developers. Users wonrs"t want to waste any time before getting down to the serious business of unraveling ColdFusionrs"s new features so that they can use Structured Business Reports to deliver business data in an understandable format; deploy the ColdFusion language in mobile phones and instant messaging clients; build rich, multistep data-entry forms; use Enterprise Manager to cluster multiple ColdFusion servers on a single machine; and more. Through step-by-step instructions and real-world examples, yours"ll learn how to do everything from create secure applications to employ Java components.

Author Biography

Ben Forta is Senior Technical Evangelist for Macromedia, Inc., and one of the best-known and most trusted names in the ColdFusion community. With more than two decades of experience in the computer industry, Ben is a much sought after speaker and lecturer. Ben is the author of this book’s popular beginning-to-intermediate companion volume, Macromedia ColdFusion Web Application Construction Kit, as well as books on SQL, JSP (JavaServer Pages), WAP, and other technologies.

Table of Contents

Introduction xxvii
PART 1 Creating High Availability Applications
1(142)
Understanding High Availability
3(14)
High Availability Explained
4(1)
How Do I Know My Server Load?
5(2)
Load and Performance Testing
5(2)
The High-Availability Plan: Seven Must-Haves for Building High-Availability Solutions
7(7)
Implement a Load-Balanced Web-Server Cluster
8(2)
Choose a Network Provider with Circuit Redundancy
10(1)
Install a Firewall
10(1)
Use RAID Level 5 on Database Servers
11(1)
Calculate Acceptable Risk
12(1)
Redundant Server Components vs. Commodity Computing
12(1)
Disaster Planning
13(1)
Some Truths about Web Hosting
14(1)
Active Site Monitoring
14(1)
The Quality of Service Guarantee
15(1)
What Next?
15(2)
Monitoring System Performance
17(30)
Monitoring Your ColdFusion MX 7 Server
17(6)
Developing a Baseline
17(1)
Historical Analysis
18(1)
Analyzing ColdFusion Log Files
18(2)
JRun Metrics
20(2)
Analyzing Web Server Log Files
22(1)
Active Monitoring
23(19)
Server Probes
24(2)
Other Probes
26(2)
System Monitors
28(1)
Monitoring ColdFusion Using Perfmon and Settings
29(7)
Monitoring Performance on Unix and Linux Servers
36(3)
JVM Monitoring
39(3)
Deciding What to Do Next
42(5)
Some Issues to Consider When Looking for Performance Problems
43(1)
Typical Bottlenecks
43(4)
Scaling with ColdFusion MX 7
47(30)
The Importance of Scaling
47(1)
Scaling Considerations
48(9)
Tiered Application Architecture
49(2)
Server and Hardware Components
51(3)
Considerations for Choosing a Load-Balancing Option
54(1)
User-Request Distribution Algorithms
55(1)
Session State Management
56(1)
Failover
56(1)
Mixed Web Application Environments
56(1)
How to Write ColdFusion MX 7 Applications That Scale
57(4)
Code Organization
57(1)
Modularity
57(1)
Streamlined, Efficient Code
58(1)
Avoiding Common Bottlenecks
59(2)
Keeping Web Site Servers in Sync
61(2)
What to Maintain?
61(1)
Archive and Deploy
62(1)
Other Options
62(1)
Multiple ColdFusion MX 7 Instances
63(3)
Hardware vs. Software Load Balancing Options
66(3)
ColdFusion MX 7 Load Balancing and Software-Based Load Balancing
66(2)
Dedicated Load-Balancing Hardware
68(1)
Scaling with ColdFusion MX 7 Load Balancing
69(4)
Understanding ColdFusion MX 7 Load Balancing
69(1)
Configuring a Load Balanced Cluster
70(3)
Hardware Load-Balancing Options
73(2)
LocalDirector
73(2)
Big IP
75(1)
Finishing Up
75(2)
Scaling with J2EE
77(28)
Benefits of Deploying ColdFusion on J2EE Application Server
78(3)
Standards-Based
78(1)
Multiple Platforms
78(1)
Support for Legacy Infrastructure and Prior Investments
79(1)
Inheritance of Multiplatform Interoperability
80(1)
Development Values of ColdFusion MX on J2EE
81(5)
Deploying Rich Internet Applications in Java
81(1)
Extending the Platform
81(1)
Ease of Development
82(1)
Leveraging Diverse Developer Skill Sets
83(1)
Using J2EE Built-In Security Features
83(1)
Improving Web Site Scalability
83(3)
How MX Lives on Top of Java Server
86(4)
Coding Implications from the Developer's Perspective
88(2)
Scaling with ColdFusion and JRun
90(4)
Scaling with Other Java Application Servers
94(1)
Tuning the Java Virtual Machine
95(8)
Introducing the JVM
95(2)
Tuning Garbage Collection
97(2)
Selecting a Collector
99(1)
Testing and Tuning
100(1)
Visualizing Garbage Collections
101(2)
Summary
103(2)
Managing Session State in Clusters
105(18)
What Is Session State?
105(1)
The History of Managing State
106(1)
Enter Cookies
106(1)
Why Maintain State?
106(1)
Options for Managing Session State
107(16)
A Little about Server-Side ColdFusion Client, Application, Server, and Session Variables
107(1)
Embedding Parameters in a URL or a Form Post
108(1)
Cookies
109(3)
Session Variables versus Client Variables
112(2)
Keeping the User on the Same Machine
114(1)
Using a Central Client Variable Repository
115(4)
Java Sessions
119(2)
Hardware-Based Session Management
121(1)
Hybrid Solutions
122(1)
Deploying Applications
123(20)
Deployment Options
123(1)
ColdFusion Archives
123(8)
Defining the Archive
124(3)
Building the Archive
127(2)
Deploying the Archive
129(2)
J2EE Archives
131(5)
Defining J2EE Archives
131(5)
Deploying the Archive
136(1)
ColdFusion Compiler
136(5)
Compiling Sourceless Templates
137(2)
Customizing the cfcompile Script
139(2)
Choosing the Right Deployment Option
141(2)
PART 2 Ensuring Security
143(136)
Understanding Security
145(30)
Security Risks
145(2)
What Is ColdFusion's Concern and What Is Not
146(1)
Encryption
147(20)
Cleartext Risks
147(1)
ColdFusion Encryption Functions
147(1)
How Encrypt () and Decrypt () Work
148(3)
Encrypt () and Decrypt () Functions
151(2)
ColdFusion's Hash () Function
153(4)
Installing Third-Party JCE Providers
157(2)
Enabling SSL on a Server
159(8)
Browser Validation
167(6)
Cross-Site Scripting (XSS)
167(3)
Form and URL Hacks
170(1)
Validation Techniques
170(2)
File Uploads
172(1)
Authentication and Authorization
173(2)
ColdFusion Security Options
175(42)
Operating System Security
175(4)
Windows 2003 and XP
175(3)
Unix and Linux
178(1)
Web Server Security
179(15)
Microsoft Internet Information Server (IIS)
179(4)
Apache HTTP Server
183(5)
Sun One Web Server
188(6)
ColdFusion Security Framework
194(11)
Development Security
195(1)
User Security
196(6)
Basic ColdFusion Login Example
202(3)
ColdFusion Login Wizard Extension
205(12)
ColdFusion Login Wizard Example
212(5)
Creating Server Sandboxes
217(18)
Understanding Sandboxes
217(6)
Understanding File and Directory Permissions
218(1)
Changes in ColdFusion MX
219(4)
Creating and Securing Applications Using Sandboxes
223(12)
Enabling Sandbox Security
223(2)
Adding a Sandbox
225(1)
Configuring Your Sandbox
226(6)
The Blackbox Sandbox Example
232(3)
Security in Shared and Hosted Environments
235(28)
Risks in the Shared Environment
235(2)
CFML-Based Risks
235(2)
RDS-Based Risks
237(1)
Securing RDS
237(3)
Enabling RDS Password Security
238(1)
Disabling RDS on Production Servers
238(2)
ColdFusion Sandbox
240(1)
Multiple Server Configurations
241(3)
Configuration Issues for Multi-homed Web Servers
242(2)
Configuring ColdFusion for Multiple Hosts
244(6)
Microsoft IIS 5.x/6.0
244(6)
Other Issues
250(11)
Running ColdFusion as a User
250(1)
Macromedia Flash Remoting Integration
251(2)
Disabling JSP Functionality
253(1)
Securing the CFIDE Directory
253(2)
Limit Session Timeout Values
255(1)
Removing Help Docs and Example Applications
256(1)
Debugging IP Restrictions
256(1)
Encrypt ColdFusion Templates
257(1)
Handling Error Messages
258(1)
Custom Tag Paths
258(1)
Filename Extension
259(1)
Adding the Default Document
260(1)
Staying Informed
261(2)
Using the Administrator API
263(16)
Understanding the Admin API
263(1)
Building Custom Admin Consoles
264(7)
The Facade Component
265(6)
Security Implications for the Admin API
271(6)
ColdFusion ServiceFactory
271(1)
Admin API Security Risks
272(1)
Securing the Admin API
272(2)
Securing the Facade Component
274(3)
Admin API Best Practices
277(2)
Admin API Configuration
277(1)
Custom Console Coding Best Practices
277(2)
PART 3 Advanced Application Development
279(496)
ColdFusion Scripting
281(22)
What Is <cfscript>?
281(5)
What You Can and Cannot Do with <cfscript>
282(3)
Differences between <cfscript> and JavaScript
285(1)
Why Use <cfscript>?
286(1)
Implementing <cfscript>
286(9)
Creating and Using Variables
287(1)
Commenting Code
288(1)
Calling ColdFusion Functions
288(1)
Flow Control Using <cfscript>
289(2)
Loops
291(4)
Common Problems and Solutions
295(3)
A Note about the {} Symbols
296(1)
A Note about Quotes
297(1)
User-Defined Functions in <cfscript>
298(1)
Where to Define UDFs
298(1)
Exception Handling in <cfscript>
299(4)
Using Regular Expressions
303(54)
Introducing Regular Expressions
303(3)
What Are Regular Expressions?
303(3)
RegEx Support in ColdFusion
306(1)
What Changed in ColdFusion
306(1)
Where Can You Use Regular Expressions?
307(1)
Using Regular Expressions in ColdFusion
307(21)
Finding Matches with reFind()
308(4)
Working with Subexpressions
312(3)
Working with Multiple Matches
315(2)
Replacing Text using reReplace()
317(5)
Altering Text with Backreferences
322(3)
Altering Text Using a Loop
325(3)
Some Convenient RegEx UDFs
328(5)
Building a RegEx Testing Page
333(6)
Crafting Your Own Regular Expressions
339(16)
Understanding Literals and Metacharacters
339(1)
Introducing the Cast of Metacharacters
340(1)
Metacharacters 101: Character Classes
341(2)
Metacharacters 102: Quantifiers
343(5)
Metacharacters 201: Alternation
348(1)
Metacharacters 202: Word Boundaries
348(1)
Metacharacters 203: String Anchors
348(3)
Metacharacters 301: Match Modifiers
351(2)
Metacharacters 302: Lookahead Matching
353(1)
Metacharacters 303: Backreferences Redux
353(1)
Metacharacters 304: Escape Sequences
354(1)
Learning More about Regular Expressions
355(2)
Working with XML
357(1)
XML Document Structure
358(3)
Elements and Their Attributes
359(1)
Naming Conventions
360(1)
Parsing XML Documents
361(1)
Using XmlParse()
361(1)
Creating XML Objects
362(6)
Using <cfxml>
363(3)
Using XmlNew()
366(1)
Creating XML Documents from Database Content
367(1)
Using Special Characters in XML
368(2)
Entity References
369(1)
CDATA Sections
369(1)
XML Namespaces
370(3)
The Default Namespace
372(1)
When to Use Namespaces
373(1)
Validating XML
373(8)
DTDs
373(1)
XML Schemas
374(5)
Validating XML in ColdFusion
379(2)
More XML Resources
381
Manipulating XML with XSLT and XPath
357(26)
Understanding XPath
357(5)
Example: A CD Collection
357(2)
XPath syntax
359(2)
Using XmlSearch() to retrieve an array of nodes
361(1)
Transforming XML into Content by Using XSLT
362(20)
Creating a basic transformation
363(5)
Performing the transformation by using XmlTransform()
368(1)
Ignoring nodes in the hierarchy
368(1)
Creating a more complex transformation
369(13)
More XPath and XSLT Resources
382(1)
Using WDDX
383(72)
Introducing WDDX
383(3)
Some WDDX Terminology
384(1)
Tools and Languages Supported by WDDX
385(1)
WDDX or XML?
386(1)
Using WDDX with ColdFusion
386(8)
Introducing the <cfwddx> Tag
386(1)
Creating Your First WDDX Packet
387(2)
Deserializing Your First WDDX Packet
389(1)
Serializing and Deserializing Complex Data
390(3)
Validating Packets with IsWDDX()
393(1)
Anatomy of a WDDX Packet
394(3)
Using WDDX Packets to Store Information in Files
397(14)
About Storing Packets in Files
398(1)
Building a Simple WDDX Function Library
398(4)
Storing Application Settings as a WDDX Packet
402(9)
What Have We Learned?
411(1)
Other Places to Store WDDX Packets
411(2)
Storing Packets as Client Variables
411(1)
Storing Packets in Databases
412(1)
Exchanging WDDX Packets among Web Pages
413(7)
The Concept of a Back-End Web Page
413(1)
Back-End WDDX Pages vs. Web Services
413(1)
Creating a Back-End Web Page
414(3)
Putting the Back-End Web Page to Use
417(3)
Understanding the Possibilities
420(1)
Binary Content in WDDX Packets
420(35)
Using JavaScript and ColdFusion Together
455(74)
A Crash Course in JavaScript
455(11)
JavaScript Language Elements
456(5)
Understanding JavaScript's Relationship to Web Browsers
461(1)
Understanding Scripting Object Models
461(1)
JavaScript Objects Available in Web Pages
462(1)
Understanding JavaScript Events
463(1)
Including JavaScript Code in Web Pages
464(1)
Browser Specific Features and Compatibility Issues
465(1)
That's the End of the Crash Course
465(1)
Working with Form Elements
466(2)
Passing Variables to JavaScript
468(20)
Passing Numbers to JavaScript
468(1)
Passing Strings to JavaScript
469(2)
Variable Passing Example: Mortgage Calculator
471(6)
Passing Arrays to JavaScript
477(2)
Passing Structures to JavaScript as Objects
479(1)
Passing Enough Data to Relate Two Select Boxes
480(1)
Cascading Selects, Approach #1: Creating an Array of Films
480(4)
Cascading Selects, Approach #2: Using a Custom JavaScript Object
484(4)
Passing Data to JavaScript Using <cfwddx>
488(12)
Using this Form of <cfwddx>
489(2)
Cascading Selects, Approach #3: Passing the Data Via <cfwddx>
491(4)
Working with WddxRecordset Objects
495(2)
Cascading Selects, Approach #4: Using a WddxRecordset Object
497(3)
Working with WDDX Packets in JavaScript
500(17)
Serializing Packets with WddxSerializer
500(10)
Deserializing Packets with WddxDeserializer
510(2)
Cascading Selects, Approach #5: Fetching Matching Films in Real Time
512(5)
Cascading Selects, Approach #6: Wrapping the WDDX Fetching in a Custom Tag
517(1)
Calling CFCs from JavaScript
517(2)
Passing Simple Variables to ColdFusion
519(10)
Opening Popup Windows
526(3)
Creating Advanced Custom Tags
529(48)
Simple CFML Custom Tags: Back to Basics
529(3)
Paired Custom Tags
532(7)
The Execution Cycle
533(2)
The Concept of GeneratedContent
535(1)
Custom Tags That May Be Called as Paired or Empty
536(1)
Using CFEXIT to Control Custom Tag Processing Flow
537(2)
Nested Custom Tags
539(13)
The CFMODULE Caveat
539(3)
Communicating Between Parent and Child Custom Tags
542(10)
Creating an Advanced Custom Tag
552(24)
Two Phases: Initial Page Display and PostBack
552(1)
Two Statuses: Preparing and Building
553(1)
Using CFEXIT to Control Child Tag Processing Flow
553(1)
Creating an Add Form and a Form Field
554(5)
Adding Edit Form Functionality
559(7)
Adding Delete Form Functionality
566(5)
Adding View Form Functionality
571(5)
Where to Go From Here
576(1)
Creating Advanced ColdFusion Components
577(44)
A Review of CFCs
577(3)
Two Types of CFCs
577(1)
Some Terminology
578(2)
CFC Syntax
580(4)
<cfcomponent>
580(1)
<cffunction>
580(2)
<cfargument>
582(2)
<cfreturn>
584(1)
Calling CFCs
584(2)
<cfinvoke>
584(1)
<cfinvokeargument>
585(1)
<cfobject>
585(1)
Accessing a CFC Using a URL
586(1)
Introspection
586(5)
The GetMetaData() Function
589(2)
Managing Components
591(1)
Persisting CFCs for Performance
592(1)
All This ``Object'' Stuff
593(1)
The THIS Scope
593(7)
Inheritance
600(4)
Persistence and Constructors
604(7)
Constructors
606(5)
Security
611(7)
Access Control
611(3)
Role-Based Security in CFCs
614(4)
CFC ``Good'' Practices
618(3)
Use Hints
618(1)
Avoid ACCESS=``REMOTE''
618(1)
Don't Expose Yourself Unless You Need To
618(1)
Use Data Types
618(1)
Design for Your Project
619(1)
Use CFCs!
619(2)
XForms and CFML
621(28)
What's wrong with HTML Forms?
621(1)
The History of XForms
622(1)
What is XForms?
622(1)
Creating XForms in CFML
623(26)
The XForms Form Definition
630(5)
Skinning and Styling: Rendering the Form
635(1)
XSL: The eXtensible Stylesheet Language
636(6)
Writing Extensions to XForms Using XSL
642(7)
Using Server-Side HTTP and FTP
649(30)
Overview
649(1)
<cfhttp>
650(4)
Errors and Results for a <cfhttp> Call
653(1)
Using the <cfhttpparam> Tag
654(1)
Putting <cfhttp> to Use
654(14)
Using the GET Method
654(3)
Building a Query from a Text File
657(3)
Using the POST Method
660(2)
Creating Intelligent Agents with <cfftp>
662(5)
Summarizing the <cfhttp> Tag
667(1)
<cfftp>
668(7)
Connection Operations with <cfftp>
668(3)
File and Directory Operations with <cfftp>
671(2)
Errors and Results for a <cfftp> Call
673(2)
Putting <cfftp> to Use
675(4)
Displaying Available Files
675(2)
Using <cfftp> to Download a File
677(1)
Using <cfftp> to Upload a File
677(1)
Summarizing the <cfftp> Tag
678(1)
Interacting with Directory Services
679(30)
Understanding LDAP
679(2)
Directory Structures
680(1)
Name Conventions
681(1)
Using <cfldap>
681(6)
Tag Overview
682(2)
The Action Attribute
684(2)
The Scope Attribute
686(1)
The Modifytype Attribute
686(1)
The Secure Attribute
687(1)
Querying Public LDAP Servers
687(1)
Interacting with Directories
688(16)
ADSI and Exchange
688(1)
Active Directories
689(1)
Active Directory Schema
690(1)
Querying Directories
691(2)
Adding Entries
693(2)
Modifying Entries
695(7)
Deleting Entries
702(2)
Building an LDAP CFC
704(5)
ColdFusion and Globalization
709(66)
Why Go Global?
709(1)
What Is Globalization?
710(1)
``Secret'' Globalization Language Revealed
710(1)
Dancing the Globalization Jig
711(1)
Going Global
711(56)
Locales
711(29)
Character Encoding
740(2)
Resource Bundles
742(7)
Addresses
749(1)
Date/Time
750(1)
Calendars
751(6)
Calendar CFC Usage
757(2)
Time Zones
759(1)
Databases
760(2)
Display
762(2)
Text Searching
764(1)
Relevant ColdFusion MX 7 Tags/Functions
765(2)
Better G11N Practices
767(8)
What Not to Do
768(1)
Monolingual or Multilingual Web Sites
769(1)
Locale Stickiness
770(1)
HTML
770(1)
CFML
771(1)
Resource Bundles
771(2)
Just Use Unicode
773(1)
When ColdFusion MX 7 Isn't Enough
773(2)
PART 4 Extending ColdFusion
775(172)
Creating and Consuming Web Services
777(34)
Understanding Web Services
777(5)
Evolution of the Web
778(1)
Business Models
778(2)
Core Technologies
780(2)
WSDL
782(7)
Creating Web Services
789(10)
Components
789(6)
Defining Complex Data Types
795(4)
Consuming Web Services
799(7)
Consult the WSDL
799(1)
Invoking ColdFusion MX Web Services
800(2)
Complex Data Types
802(1)
Invoking with Dreamweaver
802(1)
Invoking .NET Web Services
803(1)
Invoking Java Web Services
804(1)
Database Web Services
805(1)
Working with SOAP Requests
806(2)
Calling Web Services with Nillable Arguments
807(1)
Best Practices
808(3)
Error Handling
809(1)
Configuring in ColdFusion Administrator
810(1)
Security
810(1)
Integrating with .NET
811(22)
.NET Fundamentals
811(1)
.NET Web Service (Returning a Simple Type)
812(5)
ColdFusion/.NET Web Service Integration Example
816(1)
.NET Web Service (Returning a Complex Type)
817(5)
ColdFusion Web Service (Returning a Complex Type)
822(5)
Interoperability through COM Callable Wrapper
826(1)
A Real-World Example
827(4)
GAC and regasm.exe
828(1)
Exercising with ColdFusion
829(2)
Summing Up
831(2)
Extending ColdFusion with COM
833(2)
Integrating with Microsoft Office
835(24)
Document Properties
835(6)
Microsoft Jet
841(2)
Apache POI
843(5)
HTML, XML, and CSS
848(8)
Automation
856(3)
Extending ColdFusion with CORBA
859(2)
Extending ColdFusion with Java
861(36)
Using Java Class Objects
862(13)
Instantiating Objects and Calling Methods
863(2)
Working with Constructors
865(2)
A Practical Example: Resizing Images
867(4)
Using External Java Classes
871(2)
About the ImageInfo Class
873(1)
Managing Method-Selection Problems
874(1)
Using Java Beans
875(1)
Using Tag Libraries
876(6)
Finding Tag Libraries
876(1)
Installing the Tag Library
876(1)
Importing the Library with <cfimport>
877(1)
Using the Tag Library's Tags
877(1)
Using the Jakarta Image 1.1 Tag Library
878(2)
Using CFML Expressions in JSP Tag Attributes
880(2)
Creating Your Own JSP Tag Libraries
882(1)
Accessing the Underlying Servlet Context
882(2)
Integrating with Java Servlets and JSP Pages
884(6)
Understanding Which Variables Can Be Shared
884(1)
Sharing Request Variables
885(2)
A Simple Example
887(3)
Integrating with EJBs
890(5)
A Simple Example
891(2)
Making It Easier with a Custom Tag
893(2)
Writing Java CFX Tags
895(2)
Extending ColdFusion with CFX
897(2)
Event Gateways
899(24)
What Is an Event Gateway?
899(3)
Categories of Event Gateways
901(1)
Creating a Simple Gateway Application
902(5)
Creating an Event Gateway Instance
905(2)
Creating an Initiator Application Using the ColdFusion Gateway
907(2)
Debugging CFML Applications for Event Gateways
909(1)
Creating Your Own Custom Gateways
910(5)
The ColdFusion Event Gateway Architecture
910(1)
Event Gateway Elements
910(5)
A POP3 Custom Gateway
915(8)
Deploying a Custom Event Gateway
920(3)
Integrating with SMS and IM
923(24)
Understanding IM
924(2)
Understanding Presence
925(1)
Creating a Development Environment
925(1)
XMPP Clients
925(1)
Defining IM Gateways
926(3)
The Gateway Configuration File
927(1)
Creating the Gateway Instance
928(1)
Creating your First IM Application
929(6)
Generating IM Messages
930(1)
Making New Friends
930(1)
User Status Management
931(1)
The IM Gateway Helper
931(4)
Creating Interactive Applications
935(3)
Understanding SMS
938(3)
Testing Your SMS Applications
940(1)
Getting Your Messages Out
940(1)
Defining SMS Gateways
941(2)
Generating SMS Messages
943(1)
Responding to SMS Messages
943(2)
Ensuring Delivery of Your Messages
944(1)
Extending Your Application Even Further
945(2)
PART 5 Appendix
947(10)
Appendix A The WDDX.DTD File
949(8)
Index 957

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program