Developing Ajax Applications with ColdFusion 8

21
Copyright 2007 Adobe Systems Incorporated. Developing Ajax Applications with ColdFusion 8 Tim Buntel Adobe Systems Incorporated

Transcript of Developing Ajax Applications with ColdFusion 8

Page 1: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

Developing Ajax Applicationswith ColdFusion 8

Tim Buntel

Adobe Systems Incorporated

Page 2: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

We’ll cover

§ A ColdFusion primer

§ ColdFusion AJAX Features§ Binding

§ JSON support

§ AJAX Proxy

§ UI Controls

§ Debugging

Page 3: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

What is ColdFusion

§ An easy way to create Internet applications

§ Pure Java

§ Very productive

§ From Adobe

Page 4: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

Out of the box: ColdFusion Integrated Services

§ Database connectivity

§ Full text searching (Verity)

§ PDF Creation & Manipulation

§ Structured Reporting

§ Graphing and charting

§ E-Mail (POP and SMTP)

§ Internationalization

§ XML manipulation§ Including XSL and XPath

§ SOAP client and server

§ Java and .NET Object Invocation

§ Flash Remoting

§ Server-side HTTP and FTP

§ LDAP client

§ Windows NT/AD authentication

§ Debugging

§ Java, COM, CORBA client

§ … and more

Page 5: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

How ColdFusion Works

PresentationTier

Business Tier

Presentation Logic (CFM)

Business, Integration, andTransaction Logic (CFC)

ColdFusionServer

Resource TierDB Java/.NET File sys Web

Svcs.data

J2EEApplication

Server

Web Browser

Web serverWeb server

Page 6: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

How ColdFusion Works - with Flex 2 applications (RPC)

Business Tier Business, Integration, andTransaction Logic (CFC)

ColdFusionServer

Resource TierDBMS LDAP File sys Web

Svcs.data

J2EEApplication

Server

Flex Application (swf in browser)

Flash Remoting

Flex Builder IDEFlex Builder IDE

Flex SDKFlex SDK

ActionScriptActionScript

Flex Class LibraryFlex Class Library

MXMLMXML

Compile

Page 7: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

ColdFusion 8 Ajax Features

§ Basic data binding

§ CFAJAXPROXY tag

§ JSON support

§ UI Controls

§ Spry support

§ Debugging

Page 8: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

Binding

§ Display Regions

§ Form Controls

§ ColdFusion Component

§ Javascript function

§ URL

§ String

Bound to:

Page 9: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

Demo

Page 10: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

AJAX Proxy

§ CFAJAXPROXY§ Creates a JavaScript proxy for a ColdFusion component

§ Generates a proxy function for every remote function on the cfc

§ Specify asynchronous result and error handler callbacks

Page 11: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

Proxy built-in functions

§ setHTTPMethod

§ setAsyncMode, setSyncMode

§ setCallBackHandler

§ setErrorHandler

§ setrQueryFormat

§ setReturnFormat

§ setForm

Page 12: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

Demo

Page 13: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

§ JavaScript Object Notation§ Representation of data in JavaScript

§ JavaScript can understand JSON, it’s a native data format

§ Based on array and object literals of JavaScript

Array: [“Benjamin”, “Michael”, “Scott”]

Object: {“color” : “red”, “doors” : 4}

What is JSON?

Page 14: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

JSON Support in ColdFusion 8

§ SerializeJSON () § Converts ColdFusion objects into their JSON data format

§ DeserializeJSON () § Converts JSON data into ColdFusion objects

§ IsJSON() § Checks if the data passed to the function is in the JSON format

CF Server

HTTP

JSON Data

JavaScript

JavaScript Call

User Interface

Page 15: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

CFMLßà JSON type mapping

§ Simple typesString: "Adobe"

Number: 1982.0

§ ArrayArray: ["Adobe","ColdFusion8"]

§ StructStruct: {"PRODUCT":"ColdFusion8","NAME":"Adobe"}

§ Query§ Column format Query:

{"ROWCOUNT":2,"COLUMNS":["NAME"],"DATA":{"name":["Adobe","ColdFusion8"]}}

§ Row format Query:

Query: {"COLUMNS":["NAME"],"DATA":[["Adobe"],["ColdFusion8"]]}

Page 16: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

Demo

Page 17: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

UI Controls

§ Layout§ cfdiv

§ cflayout

§ cfpod

§ Cfwindow

§ Menus & Trees

§ Form Controls§ Grid

§ Textarea

§ Autosuggest

§ Tooltip

Page 18: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

Demo

Page 19: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

Debugging

§ Pop-up display window

§ Javascript functions§ ColdFusion.Log.debug

§ ColdFusion.Log.dump

§ ColdFusion.Log.error

§ ColdFusion.Log.info

Page 20: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

Demo

Page 21: Developing Ajax Applications with ColdFusion 8

Copyright 2007 Adobe Systems Incorporated.

Next Steps

§ www.adobe.com/coldfusion

§ http://www.adobe.com/devnet/coldfusion

§ Tim Buntel [email protected]