Professional Documents
Culture Documents
Tecnologas g web
Comercio Electrnico
Tecnologas web
ndice
Tecnologas web
Tecnologas web
Programacin dinmica Hasta ahora Desarrollo de pginas web estticas + formularios web (capacidad de recoger informacin) Objetivo Ser capaces de procesar esa informacin y responder al usuario Solucin Programacin dinmica
Tecnologas web
Programacin dinmica
Tecnologas web
Programacin dinmica
Funcionamiento : 1. Conexin 2. El servidor le entrega g el fichero al motor 3. El motor ejecuta el cdigo y entrega un resultado al servidor 4. El servidor devuelve el resultado al cliente
Tecnologas web
Programacin dinmica
PHP (PHP Hypertext Processor) Lenguaje de propsito general especialmente orientado a web Lenguaje interpretado, no asociado a ninguna plataforma l f o sistema operativo Excelentes capacidades de generacin de cdigo HTML y conexin a bases de datos (excelentes resultados con MySQL) p p Gran cantidad de aplicaciones open source desarrolladas con este lenguaje
Tecnologas web
Tecnologas web
Programacin dinmica
.NET Framework Plataforma de desarrollo multipropsito de Microsoft ASP.NET Componente de la plataforma orientado a aplicaciones web Utiliza ADO.NET para la conexin a bases de datos Permite generar cdigo en cualquier lenguaje .NET (C#, Visual Basic, etc.) Permite emplear las clases .NET NET del sistema operativo
Tecnologas web
Programacin dinmica
Tecnologas web
Tecnologas web
Programacin dinmica
Tecnologas web
Programacin dinmica
Ejemplo:
<html> <body> <center> <h2>Hello W3Schools!</h2> <p><%Response.Write(now())%></p> </center> </body> /html </html>
Tecnologas web
Tecnologas web
Tecnologas web
Programacin dinmica
Ejemplo: Pgina JSP
<%@ page errorPage="myerror.jsp" %> <%@ page import="com.foo.bar" %> <html> <head> <%! int serverInstanceVariable = 1;%> ... <% int localStackBasedVariable = 1; %> <table> <tr><td><%= toStringOrBlank( "expanded inline data " + 1 ) %></td></tr>
Tecnologas web
Programacin dinmica
Servlets: Cdigo Java puro que se ejecuta dentro de un contenedor El HTML es generado de forma dinmica por el servlet Ventajas: Mucho ms potentes que los JSP (que son una subdivisin de los servlets) Pueden ser empleados para crear servicios web
Tecnologas web
Programacin dinmica
Enterprise p Java Beans: Java con esteroides Ofrece persistencia, concurrencia, seguridad Toda la lgica de negocio Mucho ms complejos de programar, pero nos dan muchsima potencia
Tecnologas web
Programacin dinmica
Tecnologas web
Programacin dinmica En arquitecturas pequeas, todos los servicios se ejecutan en un mismo servidor En arquitecturas grandes, se separan los servicios (slo si se sigue bien el modelo) Ejemplo: capa de presentacin + capa de negocio + capa de datos Arquitectura multitier
Tecnologas web
Tecnologas web
Programacin dinmica
Tecnologas web
Programacin dinmica
Tecnologas web
Conclusiones Existen multitud de tecnologas para el desarrollo de aplicaciones web Se debe elegir la ms adecuada a cada ti tipo de d proyecto t (coste, ( t necesidades, id d experiencia, recursos disponibles y tecnologas ya existentes) g y ) g g (MVC) ( )y Seguir una buena metodologa elegir un buen IDE + Framework
Tecnologas web
PHP
Tecnologas web
PHP Lenguaje interpretado orientado a la creacin de aplicaciones web Muy sencillo en su base, pero potente (soporta programacin orientada a objetos) Q sabe hacer hace bien? Generar Gene a Qu cdigo HTML y conectarse a bases de datos (a Mysql, instantneo)
Tecnologas web
Tecnologas web
PHP
Ejemplo de pgina en PHP: <html> <head> <title>Ejemplo de PHP</title> </head> /h d <body> <?php echo Hola Mundo ; ?> <br> </body> </html>
Tecnologas web
Tecnologas web
PHP
Operaciones bsicas:
Sacar salida por pantalla:
Comparaciones:
$c!= $b ; $a && $b; $a || $b;
$c == 5 ;
Aritmticas:
$c++ ; $c = $c * 2 ;
$c = $a + $b + 5 ;
Tecnologas web
PHP
Control de flujo:
Estructura de control IF : if ( $stock != 0) { echo Tenemos productos; } else { echo Lo Lo sentimos sentimos, no tenemos ms productos; productos ; } Estructura de control FOR: for ( $i = 1: $i <= $numero_productos ; $i++ ) { echo Producto numero $i ; } Estructura de control WHILE: while ( $i < $numero_productos ) { echo Producto nmero: $i ; $i++ ; }
Tecnologas web
PHP
Tecnologas web
Tecnologas web
PHP
Conexiones a bases de datos:
// Definimos los parmetros $host = "localhost"; localhost ; $user = "miusuario"; $password = "micontrasea"; $database = "minegocio"; // Nos N conectamos t a la l BD $conexion = mysql_connect($host, $user, $password, $database); // Preparamos la consulta (ojo a la concatenacin con el . para dar claridad) $consultaSQL ="select "; $consultaSQL . =" id_producto"; $consultaSQL . =", nombre"; $consultaSQL . =", precio"; $consultaSQL .=", stock"; $consultaSQL . = "FROM FROM $TABLA_DATOS ; $TABLA DATOS"; $consultaSQL . = " ORDER BY precio" ;
Tecnologas web
PHP
// Realizamos la consulta, y los datos se almacenan en una estructura que toma // la forma de la variable $resultado $resultado = mysql_query($consultaSQL); // Obtenemos el nmero de resultados $numFilas = mysql_num_rows($resultado); // Recogemos los resultados. Estos se almacenan en una matriz de forma que // cada fila tiene los resultados de un producto, y cada columna los resultados // de una categora pedida. // Con esto nos hacemos con los resultados del producto ms caro // La idea es meter este codigo en un bucle que vaya procesando todos los // productos $id = mysql mysql_result($resultado, result($resultado, 0, 0); $nombre = mysql_result($resultado, 0, 1); $precio = mysql_result($resultado, 0, 2); $stock = mysql_result($resultado, 0, 3); // Cerramos la conexin y liberamos recursos mysql_free_result($resultado); mysql_close();
Tecnologas web
PHP
Recursos de PHP:
Manual de PHP http://www.php.net/docs.php PEAR ( (PHP Extension and Application pp Repository) p y) http://pear.php.net/ PHP Classes Repository http://www.phpclasses.org/ OReally PHP Dev Centre htt // http://www.onlamp.com/php/ l / h /
Tecnologas web
Conclusiones PHP: Lenguaje sencillo y potente, indicado para aplicaciones pequeas y medianas PHP bsico b i + PHP avanzado d (oop) ( ) Gran cantidad de cdigo ya generado Una buena opcin para el desarrollo de aplicaciones web
Tecnologas web
Javascript
Javascript
Tecnologas web
Javascript
Javascript Lenguaje de scripting diseado para ofrecer una cierta interactividad en la web p Lenguaje interpretado Se inserta dentro del cdigo HTML Java NO es Javascript!! Uso ms directo Mejorar la usabilidad de una aplicacin web
Tecnologas web
Javascript
Qu podemos hacer con Javascript?
Poner cdigo en pginas HTML Reaccionar a eventos del cliente (imgenes que cambian bi cuando d pasamos el l ratn t por encima) i ) Crear cookies Validar formularios Detectar el navegador y la resolucin de la pantalla de un cliente (y cargarle una pgina)
Tecnologas web
Javascript Lenguaje de programacin DESDE EL CLIENTE (no podemos interaccionar con el servidor) Se ejecuta en el cliente Muy limitado por temas de seguridad p g En un cdigo g HTML, , determinado por p las etiquetas <script> y </script>
Tecnologas web
Javascript Ejemplo de una pgina web con p Javascript: <html> <body> <script type="text/javascript"> d document.write("Hello t it ("H ll World!") W ld!") </script> </body> </html>
Tecnologas web
Javascript Javascript puede manipular los objetos creados en HTML (y los suyos):
Tecnologas web
Tecnologas web
Javascript
Tecnologas web
Javascript
Escribir texto en pantalla: D t it (E t sale l en la l propia i pgina i b) Document.write(Esto web) Crear ventanas de confirmacin: confirm() Confirm(Est seguro de que quiere hacer esto?) Crear popups: alert() alert(Esta es una ventana de aviso)
Tecnologas web
Javascript
Condicionales:
if (condition) { code to be executed if condition is true } else { code d to t be b executed t d if condition diti i is not t true t }
Bucles for:
for (var=startvalue;var<=endvalue;var=var+increment) { code to be executed }
Bucles while:
while (var<=endvalue) { code to be executed }
Tecnologas web
Javascript
Eventos Interaccin del usuario con la pgina web (pasar el ratn, aceptar un formulario, etc ) Javascript permite ejecutar cdigo cuando se cumpla un evento:
o et od post act o t o sub t etu <form method="post" action="xxx.htm" onsubmit="return checkForm()"> <input type="text" size="30" id="email" onchange="checkEmail()"> onchange checkEmail() > <a href="http://www.w3schools.com" onmouseover="alert('An onMouseOver event');return false"> false > <img src="w3schools src= w3schools.gif gif" width="100" width= 100 height="30"> </a>
Tecnologas web
Javascript
Objetos: Javascript es un lenguaje orientado a objetos
Puede emplear tanto los objetos HTML como sus propios objetos (y algunos ms del navegador como window, screen, location)
var txt="Hello World! document.write(txt.length)
document.body.style.background="#FFCC80
Tecnologas web
Javascript
<script type type="text/javascript"> "text/javascript"> // Define a variable called cssName and a message // called resolutionInfo var cssName; var resolutionInfo; // If the width of the screen is less than 650 pixels if( screen.availWidth < 650 ) { // define the style Variable as the low-resolution style cssName = 'lowres.css'; // Or if the width of the screen is less than 1000 pixels } else { if( screen.availWidth > 1000 ) { // define the style Variable as the high-resolution style cssName = 'highres highres.css css'; ; // Otherwise } else { // define the style Variable as the mid-resolution style cssName = 'lowres.css'; } } document.write( '<link rel="StyleSheet" href="' + cssName + '" type="text/css" />' ); / p </script>
Tecnologas web
Tecnologas web
Tecnologas web
Conclusiones Javascript Lenguaje que se ejecuta en el cliente Permite modificar pginas web sin tener que usar programacin de servidor Interesantes posibilidades para facilitar la vida al usuario Usabilidad
Tecnologas web
XML
Tecnologas web
XML XML Extensible Markup Language Objetivo Describir datos Las etiquetas son libres Hztelo t mismo Requiere de un DTD o un XML Schema Forma de representar los datos
Tecnologas web
Son perfectamente compatibles (de hecho, XML es EL standard para transmitir informacin) AJAX, SOAP, Web Services = HTML + XML
Tecnologas web
XML Uso principal del XML Intercambio de informacin entre diferentes sistemas d informacin de i f i Ejemplo: Aplicacin Java en un servidor Windows habla con un PHP en un servidor Linux Es el EDI (Electronic Data I t Interexchange), h ) pero funcional f i l
Tecnologas web
XML
Ejemplo de documento XML: <?xml <? ml version="1.0" e sion "1 0" encoding="ISO-8859-1"?> encoding "ISO 8859 1"?> <persona> <nombre>Jose</nombre> <apellido1>Lopez</apellido1> <apellido2>Martinez</apellido2> <email>jlopez@unizar es</email> <email>jlopez@unizar.es</email> <organizacion>Unizar</organizacin> </persona>
Tecnologas web
XML
Reglas del XML:
Todos los elementos tienen que tener etiquetas de cierre Todos los documentos tienen que tener un elemento raz Todos los elementos tienen q que ir en minsculas Todos los elementos tienen que estar correctamente anidados Todos los atributos tienen que estar sealados con comillas
Tecnologas web
XML
Caracterstica del XML Extensible
<?xml version="1.0" encoding="ISO-8859-1"?> <persona> <nombre>Jose</nombre> <apellido1>Lopez</apellido1> <apellido2>Martinez</apellido2> <email>jlopez@unizar.es</email> <organizacion>Unizar</organizacin> <telefono>976765845</telefono> <facultad>CPS</facultad> </persona>
Tecnologas web
XML
Los elementos XML pueden contener atributos:
<note date="12/11/2002"> .
Tecnologas web
XML
Validacin de los XML Fundamental (recordad que el intercambio es entre sistemas, no entre personas) Hay que ser exactos! Un XML vlido cumple p un DTD ( (Document Type yp Definition) o un XML Schema Formas de definir la informacin vlida
Ejemplo: <?xml version="1.0" encoding="ISO-88591"?> <!DOCTYPE note SYSTEM personas.dtd">
Tecnologas web
XML
Ejemplo (DTD): <?xml version="1.0"?> <!DOCTYPE !DOCTYPE persona [ <!ELEMENT persona (nombre, apellido1, apellido2,email, organizacion)> <!ELEMENT nombre (#PCDATA)> <!ELEMENT apellido1 (#PCDATA)> <!ELEMENT apellido2 (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT organizacion (#PCDATA)> ]> Para qu sirven? Para que dos entidades se pongan de acuerdo d en usar un formato f comn
Tecnologas web
XML Cmo presentar datos con XML? XSL (Extensible StyleSheet Language) las CSS del XML Cmo extraer datos de un XML? XML Parser Ejemplo de XML Feed RSS
Tecnologas web
XML
RSS: Really Simply Sindication Es una forma sencilla de compartir contenido y de automatizar su distribucin Emplea XML para su definicin Ejemplo de uso de RSS Sitios de noticias L t Lectores de d FeedRss F dR FeedReader, F dR d Owl O l
Tecnologas web
Tecnologas web
Conclusiones XML Define la informacin, no cmo visualizarla Permite intercambiar informacin entre sistemas i t h heterogneos t Es la piedra base de servicios de ms alto nivel AJAX & Web Services Tecnologa con MUCHO futuro
Tecnologas web