1 / 27

CF101: Welcome to ColdFusion

CF101: Welcome to ColdFusion. Simon Horwith CTO, Etrilogy Ltd. Who Am I?. Macromedia Certified: Instructor Advanced ColdFusion Developer Flash Developer Member Team Macromedia CTO, Etrilogy Ltd. (London) Private Consultant – Web/DB App Dev Frequent CFUG and Conference Speaker

lalo
Download Presentation

CF101: Welcome to ColdFusion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CF101: Welcome to ColdFusion Simon Horwith CTO, Etrilogy Ltd.

  2. Who Am I? • Macromedia Certified: • Instructor • Advanced ColdFusion Developer • Flash Developer • Member Team Macromedia • CTO, Etrilogy Ltd. (London) • Private Consultant – Web/DB App Dev • Frequent CFUG and Conference Speaker • Monthly Contributor to CFDJ Magazine • Contributing Author of Several Books

  3. Who Are You? • Web site developer • Looking to add more interactivity to your site • Web application developer or development manager who’s heard of ColdFusion • Wondering how it works, how easy it is to use, how scalable it is for enterprise apps

  4. What We’ll Cover • We’ll show: • How easy it is to use and how it works • How CF can be used to add interactivity to your site • The basics of CF programming: no previous CF experience required • How the features of CF make it an ideal platform solution for meeting complex business requirements

  5. Topics • Introduction to ColdFusion • Code Basics • Database Integration • ColdFusion Features • Q&A

  6. Introduction to ColdFusion • ColdFusion is: • A leading Server-Side Web Application Development System • The leading rapid development platform for the web • Very easy to learn and to use • OS platform independent • A key part of Macromedia’s MX product line

  7. Introduction to ColdFusion cont’d • On the web there are 2 classes of web technologies: server-side and client-side • Client-side technologies run in a users browser – Flash, JavaScript, Java Applets, etc. • Server-side runs on a central server – ColdFusion, ASP, ASP.NET, Perl, PHP, etc.

  8. Introduction to ColdFusion cont’d • Static Web Architecture – user sends an HTTP request to a web server which then returns HTML (along with any client-side technology code) back to the browser for parsing • Dynamic Web Architecture – user sends an HTTP request for a dynamic page to a web server. The web server routes the request to the Application Server which parses the server-side technology instructions and sends the resulting text back to the browser for parsing.

  9. Introduction to ColdFusion cont’d • ColdFusion files have a .cfm extension • The web server hands any request for a .cfm page to the ColdFusion server for processing • The ColdFusion server looks through the contents of the page for instructions and ignores all other text (text, HTML, and other client-side technologies may be used in CF pages as the CF Server ignores them and they are sent back to the browser along with the dynamic page output) • ColdFusion Instructions are written in CFML

  10. Code Basics • ColdFusion pages are written in CFML – ColdFusion Mark-up Language • CFML is: • Like HTML- it is a tag based language • Used to tell the ColdFusion server to connect with a database, create a variable, etc. • Processed in place. HTML and CFML are often interwoven in order to mark-up the output generated by CF tags

  11. Code Basics cont’d • CFML tags begin with the letters “CF” • Two very common tags: • <CFSET> creates a variable • <CFOUTPUT> displays a variable • Example: <CFSET firstName = “Simon”> <CFOUTPUT> #Variables.firstname#</CFOUTPUT>

  12. Code Basics cont’d • Variables in CF: • Are case-insensitive • Are typeless • Exist for the duration of a request and are then destroyed • Have a prefix. A variable prefix tells ColdFusion where this variable exists in memory. ColdFusion will search for a variable in many memory scopes if no prefix is specified. This impacts on performance and readability.

  13. Code Basics cont’d • <CFOUTPUT> • Has both an opening and closing tag • Tells ColdFusion to examine the text between the opening and closing tag and to evaluate any variable or expression surrounded with hash marks (“#”) • Any non-CFML text inside <CFOUTPUT> is ignored, which

  14. Code Basics cont’d <cfset fname = “Simon”> <cfset lname = “Horwith”> <cfset fullname = variables.fname & “ “ & variables.lname> <cfset email = simon@horwith.com> <cfoutput> Name: <b>#variables.fullname#</b><br> Email: <a href=“mailto:#variables.email#”>#variables.email#</a> </cfoutput> Would display: Name: Simon Horwith Email: simon@horwith.com

  15. Code Basics cont’d • CFML comments are used to comment code and to prevent code from being parsed • Example: <!--- this is a ColdFusion Comment --->

  16. Code Basics cont’d • CFML not only has tags, but functions as well. There are over 70 tags and over 200 functions in the CFML language. • A few types of functions: • Date manipulation/formatting • Array/structure manipulation • String manipulation • List manpulation • Mathematic operations • Etc.

  17. Code Basics cont’d • Example of how to use functions to retrieve today’s date (now() function) and display it in “mm/dd/yy” format (dateformat() function) <cfoutput> <!--- display today’s date in mm/dd/yy format ---> #dateformat(now(),”mm/dd/yy”)# </cfoutput>

  18. Database Integration • CF can communicate with virtually any database, including: • Microsoft SQL Server • Sybase • Oracle • DB/2 • Informix • and many more enterprise DBMS’s, as well as desktop DBMS’s such as MS Access

  19. Database Integration cont’d • ColdFusion MX uses Java Database Connectivity (JDBC) drivers to connect with databases • JDBC drivers translate SQL (Structured Query Language) commands to native binary code that a database understands, pass that binary code to a datasource for execution, and return any returned resultset to the ColdFusion page that invoked it. • A datasource is a “named connection” (alias) for a database – it stores the database name, location, server name, login and password, etc.

  20. Database Integration cont’d • ColdFusion passes SQL to a datasource using the <CFQUERY> tag • <CFQUERY> should always have: • Name (assigns a name to the resultset and makes code more readable) • Datasource (the DataSource name that points at the database to pass the SQL to) • Example: <CFQUERY name=“qEmployees” datasource=“myDSN”> SELECT firstname, lastname FROM employees ORDER BY lastname </CFQUERY>

  21. Database Integration cont’d This code produces an ERROR!! <CFQUERY name=“qEmployees” datasource=“myDSN”> SELECT firstname, lastname FROM employees ORDER BY lastname </CFQUERY> <cfoutput> #firstname# #lastname# </cfoutput>

  22. Database Integration cont’d This code displays only the first row from the recordset <CFQUERY name=“qEmployees” datasource=“myDSN”> SELECT firstname, lastname FROM employees ORDER BY lastname </CFQUERY> <cfoutput> #qEmployees.firstname# #qEmployees.lastname# </cfoutput>

  23. Database Integration cont’d This code loops over each row from the recordset and displays it<CFQUERY name=“qEmployees” datasource=“myDSN”>SELECT firstname, lastnameFROM employeesORDER BY lastname</CFQUERY><cfoutput query=“qEmployees”>#qEmployees.firstname# #qEmployees.lastname# <br></cfoutput>

  24. CF Features: Yes it can do all this… and SO much more! • Tags and functions for creating, reading, renaming, moving, renaming, and deleting files and folders from the local file system • Easy access to LDAP (lightweight directory access protocol) resources • COM, DCOM, and CORBA support • Easy integration with existing Java Applications • HTTP functionality • Out of the box ease of establishing connections with MANY RDBMS platforms • Built-in security framework

  25. CF Features cont’d • Advanced record-set functionality • Robust graphing and reporting functionality • Application architecture that supports persistent memory scopes • Over 70 tags and 200 functions built-in to the easy to use and learn CFML programming language • Custom Tags and User-Defined Functions • An object-oriented framework (ColdFusion Components) that offers OOP features and a layer of abstraction between business logic and presentation

  26. CF Features cont’d • Web services support for consumption and publication, ,including support for Java, .NET, and Flash Remoting Applications • XML support • Web based Administrative interface • Platform independent – runs as a standalone server or J2EE application on many platforms. • Many online and printed resources • SO MUCH MORE!

  27. Good Luck! • And enjoy ColdFusion! • Q & A time

More Related