25
Altres tecnologies de programació de Servidor ColdFusion, Cache SP, Python, Perl Ana Vanessa Buigues Grimalt

Altres tecnologies de programació de Servidor

  • Upload
    thea

  • View
    20

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Altres tecnologies de programació de Servidor

Altres tecnologies de programació de

Servidor

ColdFusion, Cache SP, Python, Perl

Ana Vanessa Buigues Grimalt

Page 2: Altres tecnologies de programació de Servidor

Índex

Introducció. ColdFusion. Cache SP. Python. Perl. Comparativa. Estadístiques d’ús. Bibliografia.

Page 3: Altres tecnologies de programació de Servidor

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)

Page 4: Altres tecnologies de programació de Servidor

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

Page 5: Altres tecnologies de programació de Servidor

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.

Page 6: Altres tecnologies de programació de Servidor

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

Page 7: Altres tecnologies de programació de Servidor

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>

Page 8: Altres tecnologies de programació de Servidor

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.

Page 9: Altres tecnologies de programació de Servidor

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.

Page 10: Altres tecnologies de programació de Servidor

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.

Page 11: Altres tecnologies de programació de Servidor

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

Page 12: Altres tecnologies de programació 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

Page 13: Altres tecnologies de programació de Servidor

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.

Page 14: Altres tecnologies de programació de Servidor

Python (II)

Avantatges: Existeixen molts servidors d’aplicacions. Es multiplataforma (més que Java). Lliure.

• Desavantatges: Ha decrescut molt el seu us.

Page 15: Altres tecnologies de programació de Servidor

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

Page 16: Altres tecnologies de programació 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.

Page 17: Altres tecnologies de programació de Servidor

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.

Page 18: Altres tecnologies de programació de Servidor

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

print

Connexió amb la base de

dades

Page 19: Altres tecnologies de programació de Servidor

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;

Page 20: Altres tecnologies de programació de Servidor

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í

Page 21: Altres tecnologies de programació de Servidor

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

Page 22: Altres tecnologies de programació de Servidor

Estadístiques d’ús

Font: www.tiobe.com

Page 23: Altres tecnologies de programació de Servidor

Font: www.tiobe.com

Page 24: Altres tecnologies de programació de Servidor

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

Page 25: Altres tecnologies de programació de Servidor

Dubtes