cold fusion ii
TRANSCRIPT
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 2/13
Cold Fusion
• Core Technologies
– Proprietary, tag based, embedded scripting language
– Javascript, Java
• Platforms
– NT, LINUX, Solaris
– Apache, Netscape/iPlanet, IIS
•Databases – Access, MS SQL Server (NT W/2000 Only)
– Sybase, Oracle, DB2
– MySQL (requires MYODBC driver)
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 3/13
Cold Fusion Architecture
Database
HTML
JavaScriptWeb Server
ColdFusion
Server
ODBC
JDBC Native
Java
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 4/13
Cold Fusion
• How it works
– Web server receives request for .cfm file and passes the request to
the CF server. CF Server parses the file returning all non- CF tags
to the requesting browser and resolving the CF tags into their
resolved text/values• Benefits
– Multi-platform
– Easy to learn
• tag based (looks like HTML, gives web community comfort that its
just some additional tags)
– much support available via the web, wide following in the web
community
• Problems
– OEM pricing (current price of $5K/server)
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 5/13
Cold Fusion Server
• Installs as either an NSAPI or ISAPI plug-in to your web server
• Web based administration client
– Data source definition (ODBC and Native for Oracle, Sybase and DB2)
– connection to a mail server via the CFMAIL tag
– provides state maintenance via client and session variabled (kept in
Registry or in database)
– Java and C++ interface for interfacing user defined tags
– interface for OLEDB
– Verity indexing interface for generation search collections
– task scheduler for running CF batch jobs
– advanced security features based on Netegrity SiteMinder
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 6/13
Cold Fusion Studio
• Desktop client used to develop and deploy Cold Fusion applications
– Text based editor, with built in CF help environment and text coloring for
CF tags
– connects to ColdFusion server via FTP or proprietary RDS (RemoteDevelopment Server)
– live connection to all data sources defined on the CF server for easy table
browsing and debugging
– built in debugger
– allows check-in/check-out of files to facilitate group development –
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 7/13
Alternatives to Studio for Development
• And FTP client or file share on to Web server’s document tree
– WS/FTP, Netscape, Hummingbird, HomeSite
• A text editor
– Notepad, Wordpad, EMACS
• A good book on Cold Fusion ( Ben Forta’s are the best, he wrote thelanguage)
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 8/13
Cold Fusion Applications
• Collection of .cfm pages consisting of
– HTML
– Cold Fusion Tags (like HTML but all start with letters “CF”)
– SQL
– JavaScript
– ColdFusion function calls (a very rich library of function to aid in the
processing of user inputs and creation of dynamically generated HTML
and text
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 9/13
Application.cfm
• Each application may have an Application.cfm file
– this file is included ahead of each page of the application and is primarily
used for initialization
– whenever a .cfm page is requested from the web server, the CF server willfirst load the Application.cfm file and then the requested file; processing
will start at the first line of the application
• Application.cfm is optional
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 10/13
<cfinclude>
• Syntax: <CFINCLUDE TEMPLATE=filename.cfm>
• Server includes the specified file in line with the current file; similar to
web server “server-side includes”
• allows modularization of CF code
• if many <cfinclude>s are used, each should start off with some debug
code to identify the file name so that in the event of a failure, you can
figure out which file the failure was in.
<html>
<head><title>Sample of CFINCLUDE</title></head>
<body>
<CFINCLUDE TEMPLATE=“mainfile.cfm”>
</body>
</html>
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 11/13
<CFSET>
• used to define Cold Fuaion variables
• SYNTAX: <CFSET variable_name=expression>
<CFSET months_in_year=12>
<CFSET this year = ArrayNew(months_in_year)>
<CFSET the_date=
#DateFormat(“#Now()#”)# & “ “ & #TimeFormat(“#Now()#”)>
<CFSET complex_expr = (23 MOD 12) * 3>
CFSET user_ip = CGI.REMOTE_ADR>
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 12/13
<CFOUTPUT>• SYNTAX: <CFOUTPUT QUERY=“query_name” MAXROWS=“max_rows_of_output”
GROUP=“parameter” STARTROW=“starting_row”> ……..</CFOUTPUT>
– query_name:(optional) name of CFQUERY to associate with
– max_rows_of_output : (optional)
– group: (optional) for grouping to eliminate duplicates
– starting_row: (optional) the query row to start with
• whatever is created between <cfoutput> and </cfoutput> is sent to the requesting browser
Ex. without an associated query
<BR>Today is #DayOfWeekAsString(“#DayOfWeek(“#Now()#”)#”)#
<BR>Today is <CFOUTPUT #DayOfWeekAsString(“#DayOfWeek(“#Now()#”)#”)#</cfoutput>
8/14/2019 Cold Fusion II
http://slidepdf.com/reader/full/cold-fusion-ii 13/13
<CFQUERY>
• used to pass a SQL query statement to a data source• Syntax: <CFQUERY NAME=“Name_for_query_results”
DATASOURCE=“CF_datacource_name”>…..</cfquery>
– many other attributes, those shown are required
<CFQUERY NAME=“GetParks” DATASOURCE=“parks”>
SELECT PARKNAME , REGION , STATE FROM Parks ORDERBY ParkName , State
</CFQUERY>
<TABLE>
<CFOUTPUT QUERY=“GetParks”>
<TR><TD>#ParkName#</TD>
<TD>#Region#</TD>
<TD>#State#</TD></TR>
</CFOUTPUT>
</TABLE>