1. Explain the structure of Cold fusion?
ColdFusion is implemented on the J2EE. J2EE is a standard, it is not a programming language. J2EE is an implementation of the Java programming language, but includes a number of Application Programming Interfaces (APIs) for connecting to databases, queuing messages, connecting to registries and naming and directory services.
All of these APIs are used by coldfusion for many of its base services and other runtime services.
ColdFusion consists of following components:
* cf script
* ColdFusion Administrator
* Verity Search Server
2. What is Web Server?
A computer that delivers (serves up) Web pages. Every Web server has an IP address and possibly a domain name. For example, if you enter the URL http://www.domainname.com/index.html in your browser, this sends a request to the server whose domain name is domainname.com. The server then fetches the page named index.html and sends it to your browser.
Any computer can be turned into a Web server by installing server software and connecting the machine to the Internet. There are many Web server software applications, including public domain software from NCSA and Apache, and commercial packages from Microsoft, Netscape and others.
3. What is Application Server?
A server that exposes business logic to client applications through various protocols including HTTP, HTTPS, IIOS/SSL. Eg: Sun Java Application server, weblogic server
It takes care of important issues like Transaction Management, Security, Database Connection Pooling, Clustering, Scalability,session management,load balancing,thread management and Messaging etc. A web server cannot provide these.
4. How can you communicate with web server (Apache or IIS) from Coldfusion?
Cold Fusion is an example of a Common Gateway Interface application.
The Common Gateway Interface is a mechanism to allow Web servers, which
are designed to serve static documents, to receive dynamic output from
programs and serve it as if it were static data.
1. When a browser sends a request for a Cold Fusion template to a Web server, several things must happen. First, the Web server recognizes the information from the browser as a request for CGI output.
2.If the request was initiated from a form, the server has to write the form field information to some area in storage that is accessible to other programs on the machine. Usually, this is done by using STDOUT data streams. The WinCGI interface, which can be used by WebSite and other servers, writes the form data to INI-style files on disk, which are then opened and read by the CGI application.
3.The CGI program requests data from the data source, which is returned in step
4. The CGI program formats the data as HTML output, returning this output to the server in step
5. The server receives this output, performs any further server-side processing necessary, and then sends it to the browser.
Cold Fusion defaults to using server API modules instead of CGI to communicate between the Web Server and ColdFusion Application Server.
5. What are the advantages of Cold fusion?
Simplified Installation and Migration
All Operating System (OS) Support
All Database support
Faster Development & Easy to Learn
Improved & support for all Protocols
access to all the J2EE libraries
Integration with Other adobe Products (Flex, Flash, PDF..)
6. Compare Cold fusion with other programming languages?
For every language has its pros and cons. Q5 is answer for this also, But I will point out one or 2 advantages of CF over other languages.
vs PHP : Ajax features, Integration with adobe products, community support, J2EE
vs Java : Easy to learn, Code developmet & maintence cost
vs .NET : All OS, Most of webserver Support
7. What is the benefit of using Cold fusion from Developer point of view?
See Q5 & Q6
8. What is the benefit of using Cold fusion from Client point of view?
See Q5 & Q6
9. Difference between Cold fusion 5 and Cold fusion MX 6?
All versions of ColdFusion prior to 6.0 were written using Microsoft Visual C++. CF MX 6.0 move to the Java-based architecture. Major things introduced in CFMX (MX - Matrix, Code name is NEO - hero of Matrix). I pointed out some of them below,
Mac,Linux OS support
ability to code and debug Flash
API was released with an OOP
Added Verity Searches
10. Difference between Cold fusion MX 6 and Cold fusion MX 7?
Windows authentication introduced thorough "cfntauthenticate" tag
cfcompile utility introduced which used for Sourceless deployment
Administrator API: Change ColdFusion settings programmatically, without logging into the CF Administrator.
Gateways: SMS, IM (based on Extensible Messaging and Presence Protocol) gateways introduced
Flash forms , Skinnable XML forms introduced
New report builder introduced
11. What is “Application.cfm”?
When ColdFusion receives a request for an application page, it searches the page's directory for a file named Application.cfm. If one exists, the Application.cfm code is logically included at the beginning of that application page.
If your application runs on a UNIX platform, which is case-sensitive, you must spell Application.cfm with an initial capital letter.
12. Can we have multiple “Application.cfm” file in an Application?
Yes. If the application page directory does not have an Application.cfm page, ColdFusion searches up the directory tree until it finds an Application.cfm page. If several directories in the directory tree have an Application.cfm page, ColdFusion uses the first page it finds. If the Application.cfm page is present in the directory tree (and has the required permissions set), you cannot prevent ColdFusion from including it.
ColdFusion processes only one Application.cfm page for each request. If a ColdFusion page has a cfinclude tag pointing to an additional ColdFusion page, ColdFusion does not search for an Application.cfm page when it includes the additional page.
13. What is the working process for “Application.cfm”?
Q12 have answer for this question also
14. Scenario: You have “Application.cfm” in your Root directory, another “Application.cfm” file in child directory. If you are running a cold fusion page from child directory what will happen? Which one (Application.cfm) will execute? Whether both or?
You already have the answer for this question in the 12th question. :)
15. What is cfapplication tag?
It defines the scope of a ColdFusion application; enables and disables storage of Client variables; specifies the Client variable storage mechanism; enables Session variables; and sets Application variable time-outs.
16. What all are the attributes in cfapplication?
|name||Name of application. Up to 64 characters.For Application and Session variables: Required. For Client variables: Optional|
|applicationTimeout||Lifespan of application variables. CreateTimeSpan function and values in days, hours, minutes, and seconds, separated by commas.|
|clientManagement||yes: enables client variables.no|
|clientStorage||How client variables are stored:datasource_name: in ODBC or native data source. You must create storage repository in the Administrator.registry: in the system registry.cookie: on client computer in a cookie. Scalable. If client disables cookies in the browser, client variables do not work.|
|loginStorage||cookie: store login information in the Cookie scope.session: store login information in the Session scope.|
|scriptProtect||Specifies whether to protect variables from cross-site scripting attacksnone: do not protect variablesall: protect Form, URL, CGI, and Cookie variablescomma-delimited list of ColdFusion scopes: protect variables in the specified scopes.For more information, see Usage.|
|secureJSON||A Boolean value that specifies whether to add a security prefix in front of any value that a ColdFusion function returns in JSON-format in response to a remote call. The default value is the value of the Prefix serialized JSON setting in the Administrator Server Settings > Settings page (which defaults to false). You can override this variable value in the cffunction tag.For more information see|
|sessionManagement||yes: enables session variables.no|
|sessionTimeout||Life span of session variables. CreateTimeSpan function and values in days, hours, minutes, and seconds, separated by commas.|
|setClientCookies||yes: enables client cookies.no: ColdFusion does not automatically send CFID and CFTOKEN cookies to client browser; you must manually code CFID and CFTOKEN on the URL for every page that uses Session or Client variables.|
|setDomainCookies||yes: uses domain cookies for CFID and CFTOKEN cookies and for all Client variables when using cookies for client variable storage. Required for applications running on clusters.no: uses host-specific cookies for CFID, CFTOKEN, and all client variable cookies.|
17. How can you set the Client Management?
We can enable & disable client management as well as we can configure How & Where client variables need to be store
1. In the Application.cfc initialization code
This.clientmanagement="True" / "false"
This.clientStorage="[Ur_datasource_name]" / "registry" / "cookie"
2. In appliation.cfm using <cfappliaction> tag attributes
clientManagement="yes" / "no"
clientStorage="[Ur_datasource_name]" / "registry" / "cookie"
[Ur_datasource_name] - Stored in ODBC or native data source. You must create storage repository in the Administrator.
registry - Stored in the system registry.
cookie - Stored on client computer in a cookie. Scalable. If client disables cookies in the browser, client variables do not work.
18. How can you set the Session Management?
Same as client management description in Q17 sessionmanagement variable available, we can use that variable.
19. What are Session Timeout and Application Timeout? Where we have to do this process?
ApplicationTimeout : The time span an application will exist before it times out (if the application is not accessed in any way). This defaults to the value set in the ColdFusion administrator.
SessionTimeout : The time span a session will exist before it times out (if the application is not access in any way by that session's user). This defaults to the value set in the ColdFusion administrator.
20. How can you clear the cache?
To Flush cached queries <cfobjectcache action="clear">
To Flush cached pages <cfcache action="flush">