altres tecnologies de programació de servidor
DESCRIPTION
Altres tecnologies de programació de Servidor. ColdFusion, Cache SP, Python, Perl. Ana Vanessa Buigues Grimalt. Índex. Introducció. ColdFusion. Cache SP. Python. Perl. Comparativa. Estadístiques d’ús. Bibliografia. Introducció. ¿Què ens aporta? - PowerPoint PPT PresentationTRANSCRIPT
Altres tecnologies de programació de
Servidor
ColdFusion, Cache SP, Python, Perl
Ana Vanessa Buigues Grimalt
Índex
Introducció. ColdFusion. Cache SP. Python. Perl. Comparativa. Estadístiques d’ús. Bibliografia.
Introducció
¿Què ens aporta? Ens aporta portabilitat entre diferents plataformes.
¿Què ens permet fer? Realització d’entorns dinàmics, accés al sistema
de fitxers del servidor, enviar correus electrònics, gestió d’errors, connectivitat amb bases de dades, reutilització de codi, etc...
Gestió de sessions, processament de l’entrada de dades: descodificació de paràmetres (tant en el sistema POST com el GET)
Cold Fusion (I)
Desenvolupat per Allaire Corporation com alternativa al Perl i altres tecnologies GCI.
Combina un llenguatge intuïtiu basat en tags, amb ferramentes visuals i un servidor d’aplicacions web.
Interactua de manera simple amb bases de dades (Oracle, MySQL, Acces).
Integra distintes tecnologies com Javascript, COM, Corba y Applets y Servlets de Java mitjançant tags
Cold Fusion (II)
Avantatges: És fàcil la programació web amb més de 70 tags
CFML i sobre 200 funcions personalitzades. Utilitza menys línies de codi i són mes intuïtives. El llenguatge es extensible, converteix dades cap
a i des de XML. Desavantatges:
Gran inversió en software i en hosting. Programació distinta a allò que els programadors
estan acostumats.
Cold Fusion (III) Exemple: Carrega des de una BD dos selects<FORM ACTION="tupagina.cfm" METHOD="POST" Name="MyForm">
Elegir provincia:<CF_TwoSelectsRelated QUERY="GetProvincias“
NAME1="ProvinciaID“ NAME2="PuebloID" DISPLAY1="Provincia” DISPLAY2="Pueblo“
VALUE1="ProvinciaID" VALUE2="PuebloID“ FORCEWIDTH1="50" FORCEWIDTH2="50"
SIZE1="1" SIZE2="1" EMPTYTEXT1="Todas las provincias"
EMPTYTEXT2="Todas los pueblos“ HTMLBETWEEN="<BR>"
FORMNAME="MyForm" AUTOSELECTFIRST="Yes">
</FORM>
Ens permet relacionar les províncies amb el poble sense haver de
refrescar la pàgina
Cold Fusion (iVI)
<CFQUERY NAME="GetProvincias" DATASOURCE="#request.maindsn#"> SELECT Pueblos.ProvinciaID, Pueblos.PuebloID, Provincias.Provincia, Pueblos.Pueblo FROM Provincias, Pueblos WHERE Pueblos.ProvinciaID = Provincias.ProvinciaID ORDER BY Provincias.Provincia, Pueblos.Pueblo
</CFQUERY>
Caché SP (I)
Caché Server Pages Tecnologia de la empresa Intersystems Disponible en vàries plataformes (Windows,
diversos Unix, incloent Linux) La tecnologia CSP es basa en el seu motor
de BD. Tot és gestionat per el SGBD: scripts de
servidor, accessos a la BD, servici HTTP, etc.
Caché SP (II)
Un fitxer CPS es un fitxer HTML que, a més de codi HTML, pot contindre els següents elements: CSP tags: <csp:while>…</csp:while> Blocs de codi Caché Object Script (COS): <script
language=”cache”>...</script> Expressions COS que tornen un valor: #...# y ##...## Blocs de codi SQL: <script language=”sql”>…</script>
Objectes integrats: %request: propietats relatives a la pàgina actual. %session: propietats de la sessió actual. %response: propietats relatives a la pàgina que es retorna.
Caché SP (III)
Avantatges: Creació d’aplicacions web orientades a bases de
dades. Suporta HTML, XML, WML i altres llenguatges de
marcat. El contingut (HTML, XML, fulles d’estil, imatges...) es
genera per programació en temps d'execució en el servidor d’aplicacions.
• Desavantatges: Gran inversió en software i en hosting. Programació distinta a allò que els programadors
estan acostumats.
Caché SP (IV) Exemple: recuperar dades amb GET<html><body><form action=”pagina2.csp” method=”get”>Nombre: <input type=”text” name=”nombre”><br>Apellidos: <input type=”text” name=”apellidos”></form></body></html> <html><body>Tu nombre es: #(%request.Get(“nombre”))#<br>Tus apellidos son: #(%request.Get(“apellidos”))#</body></html>
Pàgina 1
Pàgina 2
Codi de servidor
Caché SP (iV) Exemple: accés a un BD<html><body><script language=”sql” name=”algo”> SELECT * FROM mitabla</script><table><csp:while condition=”algo.Next()”> <tr><td>#(algo.GetData(1))#</td> <td>#(algo.GetData(2))#</td></tr></csp:while></table></body></html>
Tags de Caché SP
Codi de base de dades
Python (I)
Creat per Guido van Rossum. Es un llenguatge simple, llegible i molt poderós.
Dèbilment tipat. Multiplataforma. Una de les grans virtuts de Python es la quantitat
d’alternatives existents per al desenvolupament d’aplicacions Web, existeixen servidors d’aplicacions complexos i mes lleugers (Zope, Webware) plantilles, i la possibilitat de incrustar-lo en un document HTML (PSP).
Mòdul BD-API per connectar-se amb bases de dades.
Python (II)
Avantatges: Existeixen molts servidors d’aplicacions. Es multiplataforma (més que Java). Lliure.
• Desavantatges: Ha decrescut molt el seu us.
Python (iIII) Exemple: Usant PSP<!– cgi-bin/psp/holamundo.psp --><html>
<%if form.has_key('nombre'):
saludo = 'Hola, %s!' % form['nombre'].capitalize()
else:saludo = 'Hola mundo!'
# end%><h1><%= saludo %></h1><p>Usa parametro 'nombre' para recibir un saludo, e.g.holamundo.psp?nombre=Diego</p>
</html>
Delimitador de codi de servidor
Perl (I) Perl (Practical Extracting and Reporting) creat per Larry Wall
es un llenguatge que es caracteritza per la facilitat de crear GCI gràcies a la seua capacitat de processament de text. Basat en C, awk, sed, sh i Basic. Suporta tant la programació procedural com la orientada a objectes. Interactua amb llibreries de C/C++ externes mitjançant XS o Swing.
Es extensible, en CPAN (Comprehensive Perl Archive Network) podem trobar mes de 500 mòduls disponibles.
El mòdul CGI.pm ens permet de manera molt fàcil manejar formularis HTML.
El mòdul mod_perl permet integrar a l’Apache l'intèrpret de Perl.
El mòdul DBI (Database Integration Interface) permet una integració amb bases de dades. Suporta qualsevol tipus de base de dades.
Perl (II)
Avantatges: Una gran quantitat de mòduls per a la generació
d’aplicacions així com la administració de servidors web. És un llenguatge interpretat optimitzat per al processament
d’arxius de text pla. Lliure.
Desavantatges: Cada vegada que un procés es desenvolupa i el llenguatge
és interpretat, el codi és recompilat novament cada vegada que corre.
No recomanable per a coses complexes. La seua popularitat en el desenvolupament Web ha
decrescut de manera important a favor de PHP.
Perl (III) Exemple: omplir una taula des de la base de dades.#!/usr/local/bin/perluse CGI;use DBI;$query = new CGI;use CGI::Carp qw(fatalsToBrowser);&html_EOF;sub html_EOF{
print "Content-type: text/html\n\n";print<<EOF;<html><head><title>Perl CGI Example # 3";</title></head><body><h1>Perl CGI Example # 3</h1><p>"
EOF}$dbh = DBI->connect("dbi:mysql:mydatabase","demo","") or die("Couldn't
connect");$query->import_names('R');
Aquesta línia indica que a
partir d'ací en endavant tot el print es va ha desplegar com
codi HTML
Final del camp print
Obrim com un gran camp de
Connexió amb la base de
dades
Perl (iVI)$sth = $dbh->prepare("select * from gazetteer where feature = ?") or
die("Couldn't prepare");$sth->execute($R::place);if($sth->rows == 0){
print "No information for " . $R::place;}else{
print "<table border=2>\n";while( $resptr = $sth->fetchrow_hashref() ){
print "<tr>";print "<td>" . $resptr->{"latitude"}; print "<td>" . $resptr->{"longitude"};print "<td>" . $resptr->{"easting"}; print "<td>" . $resptr->{"northing"};
}print "</table>\n";
}print "</body></html>\n";$dbh->disconnect;
Comparativa (I)
CFM CSP Python Perl
Facilitat d’ús Sí Sí Sí Sí
Dificultat
d’aprenentatgeSí Sí No No
Suport de BD Sí Sí Sí Sí
Multiplataforma Sí Sí Sí Sí
Comparativa (iII)
CFM CSP Python Perl
Pagament Sí Sí No No
Rendiment No No Sí Sí
Escalabilitat No No Sí Sí
Usabilitat No No Sí No
Estadístiques d’ús
Font: www.tiobe.com
Font: www.tiobe.com
Bibliografia Cold Fusion
www.cfugspain.org www.tejedoresdelweb.com
Cache SP www.intersystems.es
Python www.python.org www.lawebdelprogramador.com
Perl www.desarrolloweb.com www.wikilearning.com
Estadístiques d’us www.tiobe.com
Dubtes