 |
Wie programmeerervaring heeft is ermee
bekend: de kosten van softwareontwikkeling gaat niet zo zeer zitten
in de initiële ontwikkeling van applicaties, maar meer in het onderhoud ervan.
ColdFusion levert - in vergelijk met andere webprogrammeertalen
- op BEIDE gebieden wat uitzonderlijke prestaties. |
| |
|
- Veel van de complexiteit (die in andere programmeertalen aan
de oppervlakte komt) wordt in CF verborgen. Er worden minder coderegels gebruikt. En in CF is het mogelijk, vaak zonder enige
aanpassing in broncode, te switchen van de ene naar de andere webserver
c.q database.
- CF maakt sessiemanagement (1 keer creëren, niet meer naar
omzien) en het initiëren van variabelen inzichtelijk, terwijl
DSN's en andere applicatievariabelen centraal neergezet, benaderd
en afgehandeld kunnen worden.
- ColdFusion 'weet' 'impliciet' hoe het door een query moet lopen,
zonder dat de programmeur dat in zijn code hoeft aan te geven -
code die dus ook niet 'gereviewd' of 'aangepast' hoeft te worden
bij onderhoud.
- En tenslotte: ColdFusion genereert met behulp van CF-tags automatisch
javascript, die u in andere talen handmatig zult moeten programmeren.
Door de bank genomen gebruikt ColdFusion dus aanzienlijk minder en meer intuïtieve code om hetzelfde te bereiken, waar
in andere webtalen meer 'toetsenbordwerk' voor nodig is.
CF, ASP, JSP - Voorbeelden
Om te laten zien dat we hier niet een potje 'wild' zitten te fantaseren...
drie voorbeelden.
Stel u wilt informatie uit een databasetabel halen.
Hier, zoals de code er in ColdFusion uit zou zien:
<cfquery name="RSBedrijf"
datasource="mijnDB">
select BedrijfID, Bedrijf
from tblBedrijf
order by Bedrijf
</cfquery>
<cfoutput query="RSBedrijf">
#Bedrijf#, #BedrijfID#<br>
</cfoutput>
En hier, zoals dat er in ASP uit ziet:
<%
Option Explicit
Response.Expires = 0
Dim objConn, objRS, strQ
Dim strConnection 14:
Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "Data Source=mijnDB;"
objConn.Open strConnection
Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objConn
strQ = "select BedrijfID, Bedrijf"
strQ = strQ & "from Bedrijf"
strQ = strQ & "order by Bedrijf"
objRS.Open strQ
%>
<%
While Not objRS.EOF
Response.Write objRS("Bedrijf") & ", "
Response.Write objRS("BedrijfID") & "<br>"
objRS.MoveNext
Wend
objRS.close
objConn.close
Set objRS = Nothing
Set objConn = Nothing
%>
En hier, zoals dat er in JSP (Java Server Pages) uit zal
zien...
<%@ page import="java.sql.*"
%>
<%
try {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
} catch (java.lang.ClassNotFoundException e) {
e.printStackTrace();
}
Connection myConnection = null;
Statement myStatement = null;
ResultSet myResultSet = null;
try {
myConnection = DriverManager.getConnection ("jdbc:odbc:jsp",
"", "");
myStatement = myConnection.createStatement();
myResultSet = myStatement.executeQuery("select BedrijfID,
Bedrijf from main order by lastname");
while(myResultSet.next())
{
out.println(myResultSet.getString("Bedrijf")+",
");
out.println(myResultSet.getString("BedrijfID")+"<br>");
}
myResultSet.close();
myStatement.close();
myConnection.close();
} catch (SQLException e) {
e.printStackTrace();
}
%>
(Sorry, met minder ASP/JSP kon ik het echt niet doen.)
Vraagje: hoeveel tijd wilt u als programmeur OVERHOUDEN?
Hoe minder code u moet bekijken of aanpassen, hoe
meer onderhoudskosten bespaard worden.
Applicaties in ColdFusion kunnen switchen van besturingssysteem
en database driver, zonder noemenswaardige repercussie op
de bestaande code. ColdFusion projecten kunnen klein beginnen en
uitgroeien, zonder dat daarvoor de bestaande code moet worden verlaten
of overnieuw hoeft te worden ingebracht.
Moet u uw website indexeren? ColdFusion komt met een engine
om dat voor elkaar te krijgen.
Is load balancing voor uw site noodzakelijk? ColdFusion beschikt
over ClusterCATS om dit te realiseren.
Wilt u gedeelten van de broncode compileren? Top! ColdFusion
beschikt over een standaard utility.
Behoefte aan webservices of servercomponenten uit andere programmeertalen?
CF gaat probleemloos om met XML, SOAP, COM, CORBA en de JavaBeans
ontwikkeld in andere programmeertalen (Visual Basic, Visual C++,
J++, Java, Delphi, roep maar!).
Behoefte aan persistente queries ten behoeve van snelheid?
ColdFusion doet het. Webapplicatie integreren met NT's performance
monitor en beveiliging? CGI-scripts blijven gebruiken? Data converteren
vanuit XML en weer terug? Databases integreren met Flash en Rich
Media? ColdFusion kan het! Zonder de complexiteit die kenmerkend
is voor andere programmeertalen.
'Open' standaard
Terwijl de opzet van andere middleware-software steeds lijkt te
zijn om gebruikers en ontwikkelaars te 'vangen' binnen specifiek
besturingssystemen, specifieke webservers en speciale
database drivers is CF wat dit betreft open. Migratie
- of dit nu van Acces naar SQL maar MySQL of van Windows maar Linux
naar Solaris is - zal voor klanten (en programmeurs) dus niet per
definitie hoeven te betekenen dat de boel overnieuw gecodeerd moet
worden of dat ze omtrent een configuratie 'nee' te horen krijgen.
De klant (en programmeur) die dit (wel) accepteert heeft: 1. of
een te dikke portomonaie of 2. laat zich met open ogen bedriegen.
|