An Introduction to ColdFusion MX - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

An Introduction to ColdFusion MX

Description:

Contains Dreamweaver, Flash, Fireworks, FreeHand, and CFMX Developer Edition. ... Philadelphia Area ColdFusion User Group usually meets every other month on the ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 30
Provided by: stephenc8
Category:

less

Transcript and Presenter's Notes

Title: An Introduction to ColdFusion MX


1
An Introduction to ColdFusion MX
An Introduction to ColdFusion MX
Stephen Rittler Manager, Philadelphia
Area ColdFusion User Group scrittler_at_etechsolution
s.com
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
2
Agenda
  • What is ColdFusion?
  • ColdFusion MX architecture
  • A Quick Look at CFML
  • New and Enhanced features in MX
  • Please jump in with questions anytime!

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
3
What is ColdFusion?
ColdFusion is a proven rapid application
development system for the web, and is the
fastest way to integrate browser, server and
database technologies into powerful
applications. ColdFusion Markup Language is a
great example of encapsulation and abstraction at
work.
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
4
The Role of ColdFusion
PC Browsers
Web Server
CF Templates
------- ------- ------- ------- ------- -------
------- ------- ------- ------- ------- -------
------- ------- ------- ------- ------- -------
------- ------- ------- ------- ------- -------
------- ------- ------- ------- ------- -------
COLDFUSION MX
Content Data
Other Systems
Database
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
5
ColdFusion Server Architecture

ColdFusion MX Server
ColdFusion Scripting Environment
J2EE Infrastructure Services
More on Java integration later
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
6
Platform support for ColdFusion
  • Operating Systems
  • Windows, Linux (Red Hat and SuSE), Solaris,
    HP-UX, and unofficially OS-X
  • Web Servers
  • IIS 4 and 5, Apache 1.32 and 2.x, WebSite Pro,
    CFMX internal, Netscape 3.6x, iPlanet 4.x and
    6.x, Zeus 4.1
  • Application Servers
  • JRun,SunONE, WebSphere, WebLogic (Q103)
  • Databases
  • Any database with native, JDBC, or ODBC drivers

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
7
ColdFusion Markup Language
CFML - is a tag-based scripting language
comprised of 70 tags and 300 functions. - is
easily integrated into standard HTML/XML/WML
documents - has a short learning curve -
encapsulates very powerful functionality - is
extensible using CFML, C, Java, JSP, Servlets
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
8
ColdFusion Code
ltcfquery datasourcemyDSN namepeoplegt SELECT
FROM users ORDER BY LastName lt/cfquerygt ltcfo
utput querypeoplegt LastName,
FirstNameltbrgt lt/cfoutputgt
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
9
Same thing in ASP
lt Set peopleServer.CreateObject("adodb.Recordse
t") conn"DSNmyDSN" sqlstmt "SELECT FROM
users ORDER BY LastName" people.open sqlstmt,
conn While not people.EOF response.write(people
("LastName") ",") response.write(people("FirstN
ame") "ltbrgt") people.moveNext Wend people.
close() gt
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
10
Same thing in JSP
lt_at_ page import"javax.sql.,java.sql.,java.util.
" gt lt InitialContext context
getInitialContext() ConnectionSource ds
context.lookup("javacomp/env/jdbc/myDSN")
Connection conn ds.getConnection() RowSet
people String sqlString "SELECT FROM users
ORDER BY LastName Statement stmt
conn.prepareStatement(sqlString) people
stmt.execute() gt lt while (people.next())
gtlt people.getString("LastName") gt , lt
people.getString("FirstName") gtltbrgt lt
conn.close() gt
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
11
CFSCRIPT
  • ltCFSCRIPTgt complements the tag-centric CFML
    functionality with the ability to do tasks in
    pure script on the server side.
  • Syntactically similar to JavaScript, but easier
  • No access to ltCFgt functionality
  • Full access to ColdFusion variables in all scopes
  • Faster and simpler way to set variables and carry
    out decision operations
  • Now has try() and catch() error handling!
  • comparison.cfm

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
12
Using CF Tags inside CFSCRIPT
ltCFFUNCTIONgt is a new tag that extends the
concept of UDFs in ltcfscriptgt to the tag
arena. Now we can write encapsulated functions
that have full access to all of CFs
functionality! Most CF tags are not ported to
functions for use within CFSCRIPT blocks, BUT a
sufficiently enterprising developer could wrap
the CFQUERY tag inside a CFFUNCTION block
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
13
How to use CFQUERY in a CFSCRIPT block
ltCFFUNCTION name"wrapQuery"gt ltCFARGUMENT
name"sqlString" required"true"
type"string"gt ltCFQUERY datasource"PACFUG"
name"dataset"gt arguments.sqlString lt/CFQUERY
gt ltCFRETURN datasetgt lt/CFFUNCTIONgt ltCFSCRIPTgt
myRecordset wrapQuery("SELECT FROM
tblRegisters") lt/CFSCRIPTgt ltcfdump
var"myRecordset"gt
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
14
Functions, Encapsulationwait a sec!
It was around this point when the engineers
designing MX realized that now that they could
provide access to all of the CFML tags and
functions inside of function calls. The
question was posedwhy not group these tag-based
functions together like we did with script-based
functions? These groupings appeared similar to
Java classes. And thus, ColdFusion Components
were born.
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
15
ColdFusion Components
  • Completely new functionality in CFMX!
  • FAR more to CFCs than we can cover here today
    (see references at end of presentation)
  • 30 faster than using custom tags
  • Groups of functions and properties
  • Code reuse and abstraction of common
    functionality
  • Brings pseudo-OO programming to ColdFusion
  • Can be called from CF, Flash, other app servers
  • Fast, easy way to do web services
  • SELF DOCUMENTING!
  • User component

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
16
Flash Remoting
  • Flash Remoting represents new functionality that
    allows Flash and the application server of your
    choice to interact via HTTP.
  • Java, .NET, and CFMX
  • Can pass complex data types (recordset, struct)
  • Server side Action Script blurs line between
  • Flash and CF
  • Server components install separately from
    ColdFusion
  • Client components built in to Flash 6 Player
  • SWF calling CFC based web service

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
17
XML Support
  • ColdFusion MX has much improved XML support and a
    boatload of new functions to prove it!
  • Read and parse XML documents with XMLParse()
  • Create XML Documents with the ltCFXMLgt tag DOM is
    automagically generated.
  • Transform XML documents using XMLTransform() and
    an XSLT template.
  • Find information in XML documents using
    XMLSearch() and XPath expressions
  • Send raw XML in a CFHTTP POST with
  • ltCFHTTPPARAM typeXMLgt

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
18
Web Services
  • CFMX Support for web services is
  • XML tags and functions
  • ColdFusion Components
  • Automatic WSDL generation for exposed CFCs
  • ltCFHTTPgt, ltCFINVOKEgt, and ltCFOBJECTgt tags
  • WDDX was a spec released by Allaire/Macromedia in
    1999 to wrap XML documents in a common format
    before XML standards were agreed upon. It is
    still used inside MX.

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
19
A moment with CFINVOKE
  • ltCFINVOKEgt is a very versatile tag
  • It can be used to Import JSP tag libraries
  • ltcfimport taglib"/WEB-INF/lib/pennTags.jar"
    prefix"ben"gt
  • or to import libraries of Custom Tags
  • ltcfimport taglib/taglib/pennCFM/
    prefixfranklingt
  • or to import web services
  • ltcfimport
  • webservicehttp//www.amazon.com/webservices/
    favories/
  • prefixamazonSvcgt
  • or to create Adaptive tags
  • ltcfimport taglib/taglib/modHTML/ prefixgt

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
20
Regular Expressions
  • ColdFusion has had Regular Expression support for
    several releases. With CFMX, the RegEx engine is
    now Perl-compatible.
  • More special characters and escape sequences
    supported
  • Case conversion in result strings
  • POSIX character classes have always been
    supported

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
21
Search Engine
  • ColdFusion has always included the Verity search
    engine as part of the package.
  • MX includes the latest Verity engine K2
  • Can index and search database content, files
    (DOC, PDF, PPT, etc.), and web pages
  • FAST
  • K2 is expensive when purchased separately


74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
22
Charting and Graphing
  • Graphing in CFMX is improved
  • 11 chart/graph types (8 are new) with 2 and 3
    dimensional versions of each
  • Flash, JPG, or PNG format (no GIF)
  • More interactive display options than CFGRAPH
  • Multiple series
  • Ability to overlay different chart types
  • Charts can be cached to memory or disk
  • ltCFGRAPHgt and associated tags are deprecated
  • PACFUG hit tracking example

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
23
Security and Authentication
  • CFMX features a built-in security mechanism
  • Roles-based
  • New Tags and Functions
  • ltcflogingt ltcfloginusergt ltcflogoutgt
  • IsUserInRole() GetAuthUser()
  • Server Sandbox security replaces SiteMinder
  • Lock-down tags, functions, databases, files,
    directories and IP addresses and ports based on
    directory

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
24
Development Tools
  • Macromedia Studio MX has all sorts of hooks in to
    CFMX.
  • Contains Dreamweaver, Flash, Fireworks, FreeHand,
    and CFMX Developer Edition.
  • Server-side debug, development
  • Developer tools are extensible!
  • References built right in
  • Consistent UI across apps
  • Wizards for component development
  • NetConnect Debugger in Flash for resolving Flash
    Remoting issues


74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
25
CF/J2EE Architecture
  • ColdFusion MX runs on top of a J2EE corewhat
    does that do for us?
  • CF templates are now translated into .java
    files and compiled (caching still available)
  • Performance boost of about 10 on Win2k, 30 on
    Solaris, and 40 on Linux
  • Proven J2EE foundation
  • J2EE session management (IIS caveat)
  • Permits CFMX to provide support for UNICODE
    character set!
  • JRun is J2EE 1.3 compliant version with CFMX
    Pro is reduced functionality

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
26
JSP/Servlet Integration
  • JSP tag libraries can be imported into, JSP pages
    can be called from, and servlets can be invoked
    in ColdFusion templates!
  • Can leverage existing Java applications
    (including EJBs and Class files)
  • Grants the application another potential means
    for separation of business logic from
    presentation logic
  • CF Developers do NOT have to learn Java to use
    existing Java business components (meaning you
    save money on consultants!)

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
27
Feature Sets and Pricing

(NOTE Prices do NOT Include Edu. Disc.) ColdFusion MX Server Professional Edition 800/549 ColdFusion MX Server Enterprise Edition 5000/2500 ColdFusion MX for J2EE Application Servers 3400
OS Support Windows, Linux Windows, Linux., Solaris, HP-UX Windows, Linux, Solaris
Database Connectivity ODBC, DesktopSQL Server, mySQL ODBC, Desktop,SQL Server, mySQL, Oracle, DB2, Sybase, Informix ODBC, Desktop,SQL Server, mySQL, Oracle, DB2, Sybase, Informix
Search 125,000 Documents 250,000 Documents 250,000 Documents
Adv.Deployment Management ? ?
Load Balancing and Failover ? ?
Enhanced Java Integration JTL Import/JSP Include JTL Import/JSP Include
Server Sandbox Security ? ?
Deploy on leading J2EE app servers ?
Developer edition is free!
74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
28
Closing
  • ColdFusion MX brings far more functionality and
    power to the table than any prior version.
  • Many, many CF community resources available for
    more info
  • Philadelphia Area ColdFusion User Group usually
    meets every other month on the third Thursday at
    Penn State Delaware County. Topics are on web
    development, databases, and CF.
  • PhillyJUG meets at Villanova, PhillyFlash meets _at_
    UArts

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
29
Links
More Information http//www.macromedia.com/desdev
/ http//livedocs.macromedia.com/cfmxdocs/ http
//www.cfug-md.org/ (Rob
Brooks-Bilsons Getting to know
CFMX) http//www.systemanage.com/ (Charlie
Areharts CFMX Hidden Gems) http//www.pacfug.o
rg/ (CFC presentation, plus our
meetings!) This Presentation Introduction to
ColdFusion MX http//www.pacfug.org/presentations
.cfm

74 Pottstown Pike Suite 1000 Eagle,
PA 19480 (610) 458-2460
pacfug_at_etechsolutions.com
Write a Comment
User Comments (0)
About PowerShow.com