Desarrollo de Páginas           Web                     Bloque Especializado                          Compilador:         ...
Desarrollo de Páginas Web                                      ÍndiceÍndice                                               ...
Desarrollo de Páginas Web4.3 Servicios                                  584.4 Desarrollo de un proyecto e-businnes       5...
Desarrollo de Páginas Web                               Objetivo generalAl término del curso el estudiante conceptualizará...
Desarrollo de Páginas WebTema 1. Herramientas básicas para sitios webSubtemas1.1     Conceptos básicos de la tecnología In...
Desarrollo de Páginas Web1.1Conceptos básicos de la tecnología internetHTML (HiperText Markup Language). Lenguaje de marca...
Desarrollo de Páginas Web   Como por ejemplo: http://www.htmlweb.net/redes/redes.html   Aunque en realidad la parte domini...
Desarrollo de Páginas Webbrowser). Recientemente la tecnología permite la visualización de algunas páginasen celulares, pd...
Desarrollo de Páginas Webla velocidad de visualización del sitio la próxima vez en la que se accede a lapágina.1.2Dreamwea...
Desarrollo de Páginas Web1.3Producción de páginas Web con lenguaje de programación   HTMLDesde un principio las grandes em...
Desarrollo de Páginas WebEl Consorcio es administrado por el MIT y el INRIA, en colaboración con el CERN,siendo su tarea p...
Desarrollo de Páginas WebAdemás, cada etiqueta puede poseer una serie de atributos que modifiquen oamplíen su funcionalida...
Desarrollo de Páginas WebPues bien, un documento Web consta básicamente de dos partes o seccionesbien diferenciadas:   1. ...
Desarrollo de Páginas WebTema 2. Herramientas de diseño gráfico para webSubtemas2.1   Dibujo y manejo de imágenes2.2   Jav...
Desarrollo de Páginas Webesto sucede, es muy probable que ni siquiera termine viéndola. Por ello, existenvarios formatos p...
Desarrollo de Páginas Webcuando se guarde como un jpeg progresivo, muy útil en su uso en html, sinembargo cuando se utiliz...
Desarrollo de Páginas Web2.2 JavaEs un lenguaje de programación desarrollado por Sun Microsystems.Es independiente de las ...
Desarrollo de Páginas Web       Crear programas para que funcionen en un navegador Web y en servicios       Web       Desa...
Desarrollo de Páginas Web   •   O’Reilly WebSite Professional   •   Lotus Domino Go WebServer   •   Novel IntraNetWare   •...
Desarrollo de Páginas WebTema 3. Programación en InternetSubtemas3.1     Vínculo Javascript con HTML3.2     Código del lad...
Desarrollo de Páginas Webplataformas Unix y Linux.El PERL es un lenguaje más rápido y potente que requiere obviamente unap...
Desarrollo de Páginas Webanteriores el nombre y ubicación del archivo *.js que contiene el script JavaScript,como en este ...
Desarrollo de Páginas WebEl ASP (Active Server Pages) es un lenguaje derivado del Visual Basicdesarrollado por Microsoft. ...
Desarrollo de Páginas Webserie de editores más pensados para páginas dinámicas en general o para algúnlenguaje en particul...
Desarrollo de Páginas Webc=a+bimprimir(c)El resultado de la impresión del programa sería:      7Funciones y procedimientos...
Desarrollo de Páginas WebDel mismo modo, los procedimientos son parecidos a las funciones. La diferenciaconsiste tan solo ...
Desarrollo de Páginas Web               salida HTML puro (junto con código de script en el cliente, si así               s...
Desarrollo de Páginas Web                 <p>Hola, <%=nombre%>. ¿Cómo estás?.</p>                 </body>                 ...
Desarrollo de Páginas Web                               45 para valores negativos y entre 1,401298E-45 y                  ...
Desarrollo de Páginas WebSistema           Windows NT 4.x o mayor de preferencia.OperativoServidor          Internet Infor...
Desarrollo de Páginas WebEstructura       <?php                 $cadena = Hola mundo;                 echo $cadena;       ...
Desarrollo de Páginas Web                 sintaxis:                 <?php                   $a = 1.234;                   ...
Desarrollo de Páginas Web            http://www.php.net/manual/es/reserved.variables.php            A partir de PHP 4.1.0,...
Desarrollo de Páginas Web                  $_ENV: Variables proporcionadas al script por medio del entorno.               ...
Desarrollo de Páginas Web                  lugar de seleccionar dos sentencias o rutas de ejecución. Rodear las           ...
Desarrollo de Páginas Weba)   CGI es una especificación sobre transferencia de datos, no un lenguaje de     programación.b...
Desarrollo de Páginas WebPor lo general, los Scripts CGI toman su entrada de las variables de ambiente yenvían su salida a...
Desarrollo de Páginas Web3.3.4 Conceptos Perl                                                    PERLDefinición        El ...
Desarrollo de Páginas Web             •       Permite el trabajo en equipo. Existe una red inmensa de                     ...
Desarrollo de Páginas Web                 Impresión simple                 La función print muestra al exterior alguna inf...
Desarrollo de Páginas Web            números, letras, cadenas de texto, signos, código ASCII, etc.            Para definir...
Desarrollo de Páginas Web                  directorio.                  Typeglobs: Un typeglob es una entrada a la tabla d...
Desarrollo de Páginas Web                 a la variable, de lo contrario será la palabra Menor.                 Operador d...
Desarrollo de Páginas Web                    para el acceso a bases de datos como Oracle, Sybase, Msql,                   ...
Desarrollo de Páginas Webfunciones como consultar la base de datos, actualizarla y generar informes enbase a esa informaci...
Desarrollo de Páginas Web   datos. El SGBD debe incluir software de control de concurrencia para asegurar   que cuando var...
Desarrollo de Páginas WebCuándo no usar un SGBDA pesar de todas las ventajas, hay situaciones en el que el empleo de un SG...
Desarrollo de Páginas Webtenga la capacidad de modificarlos, abre la posibilidad de que una malaconfiguración permita que ...
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Desarrollo de Páginas Web
Upcoming SlideShare
Loading in …5
×

Desarrollo de Páginas Web

1,682 views
1,549 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,682
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Desarrollo de Páginas Web

  1. 1. Desarrollo de Páginas Web Bloque Especializado Compilador: Lic. Ingrid Riquelme Ramírez Licenciatura en Diseño GráficoCONOCERSE ACEPTARSE AMARSE CUIDARSE SUPERARSE TRANSMITIR TRANSFORMAR
  2. 2. Desarrollo de Páginas Web ÍndiceÍndice 1Objetivo General 3Tema 1. Herramientas básicas para sitios Web 4Objetivo de Aprendizaje 4Introducción 41.1 Conceptos básicos de la tecnología Internet 51.2 Dreamweaver: Generación de páginas Web en forma visual 81.3 Producción de páginas Web con lenguaje de programación HTML 91.3.1 Estructura básica de un documento 11Tema 2. Herramientas de diseño grafico para Web 13Objetivo de aprendizaje 13Introducción 132.1 Dibujo y manejo de imágenes 132.2 Java 162.3 Applets y Servlets 172.4 Javascript 18Tema 3. Programación en Internet 19Objetivo de aprendizaje 19Introducción 193.1 Vínculo Javascript con HTML 203.2 Código del lado del cliente – Código del lado del servidor 213.3 Generación de dinámica de cajas 223.3.1 Conceptos ASP 253.3.2 Conceptos PhP 293.3.3 Conceptos CGL 343.3.4 Conceptos Perl 373.4 Base de datos 433.5 Seguridad 463.6 Estructuración del lenguaje estructurado 48Tema 4. Creación de sitios Web 54Objetivos de aprendizaje 54Introducción 544.1 Estrategias de desarrollo de portales en Internet 544.2 Formas de comercio electrónico 554.2.1 ¿Qué es e-commerce? 554.2.2 ¿Qué ventajas ofrece el comercio electrónico? 564.2.3 ¿Cuántas formas de comercio electrónico existen? 57 Índice 1
  3. 3. Desarrollo de Páginas Web4.3 Servicios 584.4 Desarrollo de un proyecto e-businnes 59Glosario 63Bibliografía General 111 Índice 2
  4. 4. Desarrollo de Páginas Web Objetivo generalAl término del curso el estudiante conceptualizará a detalle los componentes deuna página web, haciendo especial hincapié en el diseño de estilos, tratamientovisual de textos y formatos así como el trabajo con plantillas para definir de formamás completa la composición de un sitio web Objetivo General 3
  5. 5. Desarrollo de Páginas WebTema 1. Herramientas básicas para sitios webSubtemas1.1 Conceptos básicos de la tecnología Internet1.2 Dreamweaver: Generación de paginas Web en forma visual1.3 Producción de paginas Web con lenguaje de programación HTML1.3.1 Estructura básica de un documentoObjetivo de AprendizajeAl término del tema el estudiante conocerá parte de la historia del Internet y ellenguaje HTML, así como, aprenderá la conformación básica de un documentoHTML para su aplicación en proyectos Web para su correcta visualización en losdiversos navegadores.IntroducciónAl generarse un entorno para compartir información como lo es Internet serequieren nuevas especificaciones, es por ello que se deben conocer los pilaresde dichas especificaciones para el desarrollo de páginas Web como vendríansiendo el protocolo, el URL, hipertexto, dominio, navegadores, etc.Existen básicamente dos formas de generar páginas HTML, uno como editores detexto, la otra mediante software tipo Dreamweaver, en donde el diseño esWYSIWYG (What you see is what you get) lo que se ve en pantalla es lo que seobtiene en el explorardor. Pero para ello, es necesario que se sigan ciertosestándares para que los sitios sean lo más accesibles para todos los navegadores.En cada versión del lenguaje HTML las empresas van siguiendo cada vez más lasrecomendaciones del consorcio 3WC, de tal forma que los navegadores Web deúltima generación poseen una mecánica de interpretación de código muyparecida, por lo que se espera que en futuras versiones se pudiera escribir unmismo código compatible para todos los navegadores.Otro de los lenguajes en desarrollo es el XML, cual para algunos sería la soluciónideal para dejar atrás el lenguaje HTML, apostando por un lenguaje más completo,extensible y compatible, elaborado desde cero en busca de la compatibilidad y laestandarización. Tema 1. Herramientas básicas para sitios Web 4
  6. 6. Desarrollo de Páginas Web1.1Conceptos básicos de la tecnología internetHTML (HiperText Markup Language). Lenguaje de marcas de hipertexto.La ventaja del html es que soporta el hipertexto por medio de ligas, botones,hotspots, etc, lo que nos permite acceder de una página a otra, llamar videos,audio, animaciones, etc.El concepto de hipertexto fue acuñado por Ted Nelson, en 1965, y se basa en laidea general de unos elementos de texto especiales dentro de un documento quepermiten, al ser activados, enlazar con otra parte del documento o con otrodocumento diferente. Este sistema de relación entre documentos o partes de losmismos fue la extensión a INTERNET de los siempre usados índices o relacionesbibliográficas, pero que ahora permitían acceder a la sección o documentoreferenciado de forma inmediata.Con esta base, en 1989 un joven investigador del CERN, Tim Berners-Lee, tuvo lagenial idea de crear un entorno para compartir información tal que un documentofuese accesible por cualquier ordenador conectado a INTERNET, sin importardónde estuvieran el host servidor del documento o el host que lo solicitaba.Además, debería ser posible enlazar mediante hipertexto diferentes documentos orecursos sin límites de localización geográfica, de tal forma que el usuario pudiera“navegar” de forma transparente por dichos documentos, consiguiéndose así unacadena de información descentralizada.Pero este planteamiento requería nuevas especificaciones, nuevas formas decomunicar diferentes equipos informáticos, nuevas implementaciones de caráctergeneral. Así que en CERN, la NSCA y diversos organismos pusieron manos a laobra, y el resultado fue:1. Para poder transferir de forma adecuada los diferentes documentos de hipertexto por INTERNET se creó un protocolo de red específico, el HTTP (Hipertext Transfer Protocol), basado en el envió de documentos de texto plano en formato ASCII y de ciertas cabeceras que aportan la información necesaria para la transmisión.2. Para poder identificar un documento o recurso de Internet de forma unívoca fue necesario asignar a cada uno de ellos una especie de dirección única, que se denominó URL (Uniform Resource Locator), que indica tanto la localización exacta del recurso como el protocolo necesario para su transferencia. La forma genérica de la URL de una página web es: http://www.servidor.dominio/carpeta/pagina.html Tema 1. Herramientas básicas para sitios Web 5
  7. 7. Desarrollo de Páginas Web Como por ejemplo: http://www.htmlweb.net/redes/redes.html Aunque en realidad la parte dominio corresponde con la tecnología TCP/IP la cual se denomina dirección IP.3. Para poder dar formato a los datos presentes en el documento Web se desarrolló un lenguaje específico, el HTML (HyperText Mark – up Language – Lenguaje de Marcas de Hipertexto), que permitía asignar un formato especial de presentación a los elementos del documento contenidos entre unas etiquetas especiales, denominadas marcas o tags.4. Por último, para poder interpretar y visualizar correctamente los documentos así creados fue necesario crear unas interfaces específicas, que se denominaron browsers (navegadores) como podrían ser Netscape, Explorer, Mozilla o Firefox. Dichas páginas generalmente son realizadas con el lenguaje llamado HTML y puede incluir textos, gráficos y archivos multimedia. Todos ellos se encuentran en un servidor al cual se le puede solicitar la información en cualquier momento y el navegador la despliega de acuerdo a las instrucciones que tiene el documento HMTL.Estos fueron los pilares esenciales de los cuales se construyó la WWW (WorldWide Web), la gran telaraña mundial de páginas Web (documentos Webvisualizados en un navegador). El WWW es un sistema de información global,público e independiente, mediante el cual un usuario cualquiera puede acceder adocumentos HTML almacenados en diferentes servidores ubicados en cualquierparte del mundo, pudiendo saltar de un servidor a otro de forma instantáneamediante los enlaces de hipertexto contenidos en las páginas Web.El protocolo HTTP se encuentra actualmente en su versión 1.1, que mejorasustancialmente al la anterior, el HTTP 1.0, sobre todo en lo que respecta almanejo de conexiones entre navegador cliente y servidor Web, permitiendo ladescarga de los diferentes elementos que forman una página Web en una solaconexión.Estas mejoras, junto con las que ha tenido el lenguaje HTML (actualmente en suversión 4.01, de septiembre del 2001), han permitido que en la actualidad laspáginas Web sean verdaderos documentos multimedia, con imágenes, sonidos yvideos, algo inimaginable en los momentos de la creación de la Web, de tal formaque es frecuente encontrar ahora el término “hipermedia” evolución del conceptode hipertexto.La mayoría de los equipos puede desplegar paginas Web, la visualización dedichas páginas depende del equipo del usuario, el monitor, la velocidad deconexión y el software utilizado para visualizar dicha página (navegador o Tema 1. Herramientas básicas para sitios Web 6
  8. 8. Desarrollo de Páginas Webbrowser). Recientemente la tecnología permite la visualización de algunas páginasen celulares, pda’s, televisores, por lo que en caso de ser necesario se deberánrealizar varias versiones de un mismo sitio para su correcta visualización en losdiversos dispositivos.En toda petición de una página Web intervienen diferentes entidades: por un lado,el programa navegador en el host que realiza la solicitud y por otro lado unprograma servidor alojado en un host remoto (denominado servidor Web). Ambosprogramas/equipos se comunican entre sí por medio del acceso a Internet quefacilita un ISP (Proveedor de Servicios de Internet) y de las extensiones de redque proporciona una determinada compañía, generalmente de telefonía.Para establecer la conexión necesaria entre ambas máquinas se utiliza unaarquitectura de interconexión de redes, generalmente la arquitectura TCP/IP, en laque los datos en la transmisión van pasando sucesivamente por diferentesdispositivos de red (generalmente routers) desde el host emisor al host destino.Este sistema de comunicación, en el que un host realiza peticiones que sonatendidas y contestadas por otro remoto, se denomina arquitectura cliente-servidor. El host que realiza la petición es el cliente, mientras que el host quecontesta dicha petición es el servidor.Los servidores son pues los encargados de almacenar los ficheros HTML, juntocon las imágenes, ficheros CSS, ficheros javascript, etc., necesarios para lacorrecta visualización de la página Web. Un mismo servidor Web puede estaratendiendo a la vez a diferentes navegadores cliente.En este entorno de trabajo, cuando un navegador cliente solicita una página webal servidor se establece una conexión entre ambos, transfiriéndose entonces losficheros necesarios desde el servidor al navegador, mediante el protocolo HTTP.En el caso de HTTP 1.0 cada uno de los ficheros de la página precisa unaconexión y descarga independiente (transacción), por lo que si la página contienemuchas imágenes, por ejemplo, el proceso de carga de la misma se retrasaconsiderablemente. Este factor se ha mejorado en la versión HTTP 1.1, en la queuna única conexión se mantiene para la descarga de todos los ficheros necesariospara visualizar la página solicitada.Un factor a tener en cuenta en cuanto a HTTP es que no es un protocolo orientadoal mantenimiento de estados. Esto quiere decir que cada conexión realizada entreel navegador cliente y el servidor Web es independiente, no manteniéndosevariables de sesión ni de aplicación, con lo que el almacenamiento de claves,variables, etc. debe realizarse mediante herramientas auxiliares (programación enCGI, ASP, JSP, etc.).Las páginas desplegadas se guardan temporalmente en la máquina del usuario yes lo que se le conoce como caché o archivos temporales, esto es para optimizar Tema 1. Herramientas básicas para sitios Web 7
  9. 9. Desarrollo de Páginas Webla velocidad de visualización del sitio la próxima vez en la que se accede a lapágina.1.2Dreamweaver: Generación de páginas Web en forma visualDreamweaver es uno de los productos de Adobe el cual permite ver lo que se veráen línea relativamente, pues no siempre ocurre así. Entre estos programas seencuentran: Adobe GoLive, NetObjects, Fusion, Amamya, entre otros.Estos programas son bastante amigables para los usuarios, se pueden generarsitios completos de forma muy rápida debido a que tienes de facilidad de arrastrarlos elementos y generar las páginas como si se estuviera trabajando en Word. Pordesgracia esta forma de crear sitios, tiene un precio: estos programas generanmucha basura en el código HTML. Por lo que el tener el conocimiento sobre elHTML ayudará en mucho a aquellos que diseñen en los programas WYSYWYG(What you see is what you get) a optimizar el código.Así como existen los programas mencionados anteriormente, están los editores deHTML como: Homesite, Aracnophilia, HotDog, CoffeCup, 1rstPage, BBEdit,Emacs, etc. Parecería que el desarrollar sitios con este tipo de programas sería untrabajo arduo y pesado, sin embargo, ayuda a comprender mejor el lenguaje y enun tiempo determinado se tiene un mayor control sobre el diseño del sitio y sobreaquellos errores que en un programa WYSYWYG sin experiencia sería difícil desolucionar. Estos programas también vienen integrados con varias herramientas ycon la opción de ir visualizando el diseño en el navegador, al igual quedreamweaver.Dreamweaver te permite visualizar el código fuente, el diseño y el diseño – códigofuente por lo que es posible eliminar toda la basura generada por éste siempre ycuando se sepa qué significa cada etiqueta, por lo que lo más recomendable alelegir un programa para desarrollar cualquier sitio es tener conocimiento básico deHMTL y comprender su estructura, la mejor forma de ir aprendiendo sobre estanavegar en los sitios que ya están en línea y ver el código fuente, el cual se puedevisualizar de la siguiente manera:Internet Explorer ver Código FuenteNetscape ver Fuente de la página Tema 1. Herramientas básicas para sitios Web 8
  10. 10. Desarrollo de Páginas Web1.3Producción de páginas Web con lenguaje de programación HTMLDesde un principio las grandes empresas involucradas en el desarrollo deaplicaciones basadas en el intercambio de datos por red buscaban un sistema deorganización estructurada de documentos. IBM creó GML (Lenguaje de MarcadoGeneralizado) para las necesidades de sus sistemas internos de edición, aunqueno pasó de ser un lenguaje de uso interno.La primera tecnología de información estandarizada y estructurada fue SGML(Lenguaje de Marcado Generalizado Estándar). SGML, que también fue creadopor IBM, comenzó a ser utilizado por un amplio número de sectores comoestándar de información de propósito general. En 1986 SGML surge comoestándar ISO, pero debido a su elevada complejidad y coste no pasó a convertirseen un estándar de hecho.En 1989, Tim Berners – Lee y Anders Berglund, dos investigadores delLaboratorio Europea de Física de Partículas (CERN), crearon un lenguaje basadoen etiquetas e hipertexto para marcar documentos técnicos con el fin decompartirlos en Internet. Así surgió una aplicación simplificada del SGML llamadoHTML (Lenguaje de Marcas de Hipertexto), que se convirtió en el primer formatode información estándar en la Web.En sus diferentes versiones, el lenguaje HTML ha ido sufriendo modificacionesque han ido adaptándolo a las necesidades y características de la INTERNET decada momento. De esta forma, etiquetas que inicialmente se implementaron sehan ido suprimiendo luego, mientras que han ido introduciéndose etiquetas nuevasen cada versión.Y no sólo eso, si no que cada empresa fabricante de navegadores ha idoimplementando etiquetas y extensiones propias al lenguaje, de tal forma que llegóun momento en el que reinó un caos casi total, resultando muy difícil la creaciónde páginas Web que se visualizaran igual en los diferentes navegadores.Para poner un poco de orden en esta situación, diversas empresas del sector(Nestcape, Microsoft, etc.) y diferentes organismos interesados crearon en 1996 ya instancias de Tim Berners-Lee, el World Wide Web Consortium, más conocidocomo W3C, que ha tomado bajo su responsabilidad la evolución de los protocolosy estándares asociados con la Web.Al Consorcio de la WWW les pertenecen un gran número de empresas yorganizaciones relacionadas con la Web, incluyendo AT&T, Adobe Systems, Inc.,Microsoft Corporation y Sun Microsystems, Inc. Su propósito es promover elcrecimiento de la Web desarrollando especificaciones y software de referencia. Tema 1. Herramientas básicas para sitios Web 9
  11. 11. Desarrollo de Páginas WebEl Consorcio es administrado por el MIT y el INRIA, en colaboración con el CERN,siendo su tarea principal la de recomendar a las empresas y desarrolladoresinteresados en la Web una serie de pautas sobre cómo deben implementarse losdiferentes lenguajes (HTML, CSS, XML, etc.) y tecnologías implicados.En cada versión del lenguaje HTML las empresas van siguiendo cada vez más lasrecomendaciones del consorcio, de tal forma que los navegadores Web de últimageneración (Internet Explorer 7.0 y Netscape Browser 8.1.2) poseen una mecánicade interpretación de código muy parecida, por lo que se espera que en futurasversiones se pudiera escribir un mismo código compatible con ambos. En casocontrario el desarrollo del lenguaje XML sería la solución ideal para dejar atrás ellenguaje HTML, apostando por un lenguaje más completo, extensible ycompatible, elaborado desde cero en busca de la compatibilidad y laestandarización.A la hora de diseñar y construir las páginas Web, una de las principales tareas detodo diseñador va a ser escribir un código HTML compatible con Internet Explorery con Nestcape Navigator, ya que ambos navegadores renderizan las etiquetas deforma diferente en muchos casos, y en otros poseen etiquetas propias, que no sonsoportadas por el otro. Como norma general, hay que construir páginas que sevisualicen de forma análoga en ambos navegadores, y si la analogía no puede serperfecta, por lo menos que se visualicen de forma correcta en ambos.Al margen de estas consideraciones, como lenguaje de marcas que es, el lenguajeHTML se basa en la introducción en el texto del documento de una serie deetiquetas especiales, que generalmente van en pareja de apertura-cierre, que vana definir el aspecto con que se presentarán los textos, imágenes u otros elementosincluidos entre ambas. Es decir, mediante HTML se estructuran los documentosde una forma lógica para su presentación en los navegadores cliente.Su sintaxis general es del tipo: <etiqueta>contenido entre etiquetas</etiqueta>Donde podemos apreciar cómo las etiquetas se delimitan mediante los símbolos <>, y cómo la etiqueta de cierre lleva al principio el símbolo /. Ejemplo: <b>Este texto va en negrita</b> Tema 1. Herramientas básicas para sitios Web 10
  12. 12. Desarrollo de Páginas WebAdemás, cada etiqueta puede poseer una serie de atributos que modifiquen oamplíen su funcionalidad, atributos que pueden ser obligatorios u opcionales. Lasintaxis general de una etiqueta con atributos es: <etiqueta atributo1=”valor” atributo2=”valor”> Contenido entre etiquetas </etiqueta>Donde puede haber tantos atributos como sea necesario, ejemplo: <h2 align=”center”>Cabecero</h2>No es necesario, pero si conveniente encerrar los valores de los atributos entrecomillas dobles.Aunque la mayoría de las etiquetas llevan pareja de cierre, existen algunas que nosiguen esta norma, generalmente etiquetas útiles para definir elementos vacíos,sin contenido interno. Este es el caso de la etiqueta usada para incluir una imageno de la etiqueta definitoria de un salto de línea: Hola<br>amigoEn cuanto a usar mayúsculas o minúsculas en la definición de etiquetas yatributos, HTML no distingue entre unas y otras, por lo que podemos usar elsistema que más nos guste. Eso si, o ponemos todas las etiquetas en mayúsculas,o las ponemos todas en minúsculas, pero nunca mezcladas. Lo mismo podemosdecir respecto a los atributos, aunque generalmente los valores de estos deescriben en minúsculas (salvo los códigos de colores en hexadecimal, que sesuelen poner en mayúsculas).1.3.1 Estructura básica de un documentoVamos a definir una página Web como aquello que el usuario ve en la ventana desu navegador, mientras que un documento Web será el código interno que generala página, y que por lo tanto contendrá elementos visibles en la página Web yotros elementos que no serán visibles en ningún momento en la ventana delnavegador.Ambos conceptos se suelen identificar, y no ocurre nada por hacerlo así. Nosotrosvamos a separar ambos conceptos tan sólo con vistas a un mejor entendimientode las explicaciones. Tema 1. Herramientas básicas para sitios Web 11
  13. 13. Desarrollo de Páginas WebPues bien, un documento Web consta básicamente de dos partes o seccionesbien diferenciadas: 1. Cabecera o head: porción de código comprendida entre las etiquetas <HEAD> y </HEAD>, cuyo contenido no es visible en la ventana del navegador. 2. Cuerpo o body: porción de código comprendida entre las etiquetas <BODY> y </BODY>, cuyo contenido si es visible en la ventana del navegador.Ambas secciones se encuentran siempre dentro de la pareja de etiquetasdelimitadoras <HTML> y </HTML>, que son las que fundamentalmente delimitanel contenido de todo documento Web: <html> <head> Cabecera </head> <body> Cuerpo </body> </html>Es posible, y así lo hacen algunas personas, prescindir de la inclusión de algunade las etiquetas, ya que los navegadores están preparados para conocer quéelementos pertenecen a la cabecera de un documento y cuáles pertenecen alcuerpo. Pero esta práctica es totalmente desaconsejable, ya que las etiquetas ysus correspondientes parejas de cierre tienen un motivo de ser, están ahí paradelimitar con claridad las diferentes partes de un documento, haciéndolo más claroy estructurado. Y esto es aplicable a todas las etiquetas HTML, sin excepción deningún tipo. Tema 1. Herramientas básicas para sitios Web 12
  14. 14. Desarrollo de Páginas WebTema 2. Herramientas de diseño gráfico para webSubtemas2.1 Dibujo y manejo de imágenes2.2 Java2.3 Applets y Servlets2.4 JavascriptObjetivo de AprendizajeAl término del tema el estudiante empleará correctamente los formatos decompresión de imágenes y tendrá un primer acercamiento con otro lenguajellamado Java y Javascript y los posibles usos de este lenguaje.IntroducciónLos gráficos utilizados en Web requieren un tratamiento especial, pues no es lomismo para su uso en editorial, en primera instancia la resolución utilizada es de72dpi, además de que para cada tipo de imagen se utiliza un formato decompresión distinta, por ejemplo para degradados se recomienda el uso delformato jpeg, mientras que para su uso en flash es recomendable el uso delformato png. Cualesquiera que sean las necesidades del proyecto Web seránecesario conocer los diversos formatos de compresión y hacer el uso correcto delos mismos.Para el desarrollo de páginas ó aplicaciones Web existen varios lenguajes deprogramación además del HTML, uno de ellos es el Java el cual es independientede las plataformas y navegadores por lo que se supone que las aplicacionesdesarrolladas en Java pueden ser ejecutadas en cualquier ordenador.Afortunadamente Java implementa consigo un gran número de clases, incluidasgratuitamente en su entorno de desarrollo, para realizar muy variadas tareas quepermiten al desarrollador centrarse en las características más inherentes a suproyecto.2.1 Dibujo y manejo de imágenesAl trabajar sobre publicaciones digitales los gráficos e imágenes requieren untratamiento especial. Generalmente, lo que se busca de un sitio es que seadinámico y atractivo, pero sobre todo, que descargue rápidamente, es incómodopara cualquier usuario esperar minutos para poder acceder a la página y cuando Tema 2. Herramientas de diseño grafico para Web 13
  15. 15. Desarrollo de Páginas Webesto sucede, es muy probable que ni siquiera termine viéndola. Por ello, existenvarios formatos para el tratamiento de imágenes, cada uno responde ciertasnecesidades como se verá a continuación.Formato GIF (Graphic Interchange Format ó Formato Gráfico Intercambiable)El formato GIF es recomendable para imágenes con un área de color homogéneay sin texturas complejas, debido a que su sistema de compresión se basa eneliminar los colores innecesarios reduciendo la paleta de colores a 256 colores u 8bits. Una de las ventajas de este formato es que desde un principio el usuariopuede ver la imagen, un poco borrosa, pero al finalizar la descarga ya se visualizacorrectamente. Y por última ventaja es que permite el uso de transparencia en loscolores, pero al aplicarlo en un fondo distinto a su color original, puede mostrar unhalo blanco no deseado, por lo que no es muy recomendable su uso a menos quese haga un retoque exhaustivo de la imagen. Uso del formato GIF Uso del formato JPEGFormato JPEG (Joint Photographic Experts Group ó Estándar del grupo deExpertos Fotográficos)Este formato es muy utilizado por la compresión que hace de los archivos, eltamaño final del archivo puede ser hasta 100 veces más pequeño, lo que permiteel uso de varias imágenes y gráficos dentro de las páginas web, mientras mayorcompresión haya en la imagen, menor será la calidad de la imagen y se mostraráun ruido visual. Se utiliza generalmente para fotografías o gráficos con muchatextura. También tiene la cualidad de mostrarse desde un principio siempre y Tema 2. Herramientas de diseño grafico para Web 14
  16. 16. Desarrollo de Páginas Webcuando se guarde como un jpeg progresivo, muy útil en su uso en html, sinembargo cuando se utiliza en flash con vinculación externa, causa problemas ensu visualización. Uso del formato GIF Uso del formato JPEGFormato PNG (Portable Network Graphic ó Gráficos portátiles en red)Este formato fue diseñado específicamente para su desempeño en la web, tienelas mismas cualidades y sistema de compresión del formato GIF. Aún sigue endesarrollo, algunos navegadores no permiten su correcta visualización, por lo queno es muy recomendable su uso directamente en el html actualmente, se dice queeste formato revolucionará en la web, pero aún queda por verse. Su uso en Flashresulta bastante atractivo por el tamaño final o para fondos transparentes. Tema 2. Herramientas de diseño grafico para Web 15
  17. 17. Desarrollo de Páginas Web2.2 JavaEs un lenguaje de programación desarrollado por Sun Microsystems.Es independiente de las plataformas por lo que el supuesto es que el programadesarrollado se podría ejecutar en cualquier ordenador. Por otro lado un desarrolloen Java nunca empieza desde cero. Java implementa consigo un gran número declases, incluidas gratuitamente en su entorno de desarrollo, para realizar muyvariadas tareas que permiten al desarrollador centrarse en las características másinherentes a su proyecto.Sun distribuye gratuitamente desde su página Web, el entorno de desarrollo Javallamado indistintamente con estas siglas: JDK, SDK o J2SE. Este paquete incluyecomo hemos dicho las clases incluidas ya en java, es decir el API de Java.También incluye el compilador de Java y lo que permite a Java funcionar ennuestro ordenador: el JRE (Java Runtime Enviroment).El JRE incluye los elementos necesarios para hacer funcionar programas java ennuestro ordenador. Principalmente nos instala la Maquina Virtual de Java y losplugins necesarios para el/los navegador/es instalados en nuestro sistema. El JREtambién se puede descargar independientemente del entorno de desarrollo, puesse distribuye en un paquete llamado J2RE.Un programa compilado con Java no tiene código comprensible por ningúnprocesador, ese código solo lo entiende la Máquina virtual de Java y lo traduce acódigo que si pueda ser comprensible por el procesador sobre el que funciona yademás lo puede hacer funcionar sobre el sistema operativo sobre el que estáinstalada. Por tanto lo único dependiente del Hardware es la máquina virtual, puestiene que conocer lo que tiene por debajo para llevar a cabo la traducción, pero losprogramas en java siempre pueden funcionar sobre una maquina virtual estédonde esté instalada.Hoy en día, se puede encontrar la tecnología Java en redes y dispositivos quecomprenden desde Internet y superordenadores científicos hasta portátiles yteléfonos móviles; desde simuladores de mercado en Wall Street hasta juegos deuso doméstico y tarjetas de crédito: Java está en todas partes.¿Para qué nos puede servir? Desarrollar software en una plataforma y ejecutarlo en prácticamente cualquier otra plataforma Tema 2. Herramientas de diseño grafico para Web 16
  18. 18. Desarrollo de Páginas Web Crear programas para que funcionen en un navegador Web y en servicios Web Desarrollar aplicaciones para servidores como foros en línea, tiendas, encuestas, procesamiento de formularios HTML, etc. Combinar aplicaciones o servicios basados en la tecnología Java para crear servicios o aplicaciones totalmente personalizados Desarrollar potentes y eficientes aplicaciones para teléfonos móviles, procesadores remotos, productos de consumo de bajo coste y prácticamente cualquier dispositivo digital2.3 Applets y ServletsApplet: Una aplicación especial que se ejecuta en el navegador del cliente.El software de Java le permite ejecutar aplicaciones como las que se han descritoutilizando el lenguaje de programación de Java y que reciben el nombre de"applets". Los applets le permiten jugar en línea, participar en sesiones de chatcon internautas de todo el mundo, calcular los intereses de una hipoteca y verimágenes en tres dimensiones. En las empresas también se utilizan los applets enaplicaciones de la intranet y soluciones de comercio electrónico.Servlet: Una aplicación especial sin Interfaz que se ejecuta en servidor. Es similara los scripts CGI, salvo que ofrecen independencia de la plataforma.Requisitos El servidor debe tener una máquina virtual Java. El servidor debe soportar la API de los servlets Java. JavaServer Web Development Kit (JSWDK). http://java.sun.com/products/servlet/ Servidores capaces de ejecutar servlets: • Java Web Server • Netscape Fast Track y Enterprise Tema 2. Herramientas de diseño grafico para Web 17
  19. 19. Desarrollo de Páginas Web • O’Reilly WebSite Professional • Lotus Domino Go WebServer • Novel IntraNetWare • IBM Internet Connection ServerEjecución de un servletFormas de iniciar la ejecución: • Introducir la dirección URL del servlet en un navegador web. • Llamar al servlet desde una página web. • Ejecutar un servlet llamándolo desde otro servlet.2.4 JavascriptJavaScript es un lenguaje de scripts desarrollado por Netscape para incrementarlas funcionalidades del lenguaje HTML. Sus características más importantes son: JavaScript es un lenguaje interpretado, es decir, no requiere compilación. El navegador del usuario se encarga de interpretar las sentencias JavaScript contenidas en una página HTML y ejecutarlas adecuadamente. JavaScript es un lenguaje orientado a eventos. Cuando un usuario presiona un enlace o mueve el puntero sobre una imagen se produce un evento. Mediante JavaScript se pueden desarrollar scripts que ejecuten acciones en respuesta a estos eventos. JavaScript es un lenguaje orientado a objetos. El modelo de objetos de JavaScript está reducido y simplificado, pero incluye los elementos necesarios para que los scripts puedan acceder a la información de una página y puedan actuar sobre la interfaz del navegador. Tema 2. Herramientas de diseño grafico para Web 18
  20. 20. Desarrollo de Páginas WebTema 3. Programación en InternetSubtemas3.1 Vínculo Javascript con HTML3.2 Código del lado del cliente – Código del lado del servidor3.3 Generación de dinámica de páginas3.3.1 Conceptos ASP3.3.2 Conceptos PhP3.3.3 Conceptos CGL3.3.4 Conceptos Perl3.4 Base de Datos3.5 Seguridad3.6 Estructuración de lenguaje estructuradoObjetivo de AprendizajeAl término del tema el estudiante conocerá los principios básicos para laprogramación de páginas dinámicas del lado del servidor y sus diversasaplicaciones, en diferentes lenguajes como lo son ASP, PHP, PERL.IntroducciónExisten dos modalidades en el que se pueden aplicar los lenguajes: Los lenguajesde lado servidor que son aquellos lenguajes que son reconocidos, ejecutados einterpretados por el propio servidor y que se envían al cliente en un formatocomprensible para él, ejemplo PHP, ASP o PERL.Los lenguajes de lado cliente (entre los cuales no sólo se encuentra el HTML sinotambién el Java y el JavaScript los cuales son simplemente incluidos en el códigoHTML) son aquellos que pueden ser directamente decodificados por el navegador.Los lenguajes que se ejecutan del lado del servidor tienen una estructura similaren cuanto a variables, operadores y funciones, cada uno de los lenguajespresentan sus ventajas y desventajas como las que veremos posteriormente ycubren necesidades distintas dependiendo del proyecto que se esté desarrollando.Por ejemplo: El ASP (Active Server Pages) es un lenguaje derivado del VisualBasic desarrollado por Microsoft. Evidentemente su empleo se realiza sobreplataformas funcionando bajo sistema Windows NT.El PHP podría ser considerado como el lenguaje análogo al ASP utilizado en Tema 3. Programación en Internet 19
  21. 21. Desarrollo de Páginas Webplataformas Unix y Linux.El PERL es un lenguaje más rápido y potente que requiere obviamente unaprendizaje más largo y resulta más reservado para personas ya familiarizadascon la verdadera programación.3.1 Vínculo JavaScript con HTMLBásicamente existen dos formas de introducir un script de JavaScript en unapágina HTML:Los scripts que queramos utilizar en una página suelen escribirse en la misma,normalmente entre las etiquetas <head> y </head>. Determinados scripts puedenaparecer entre las etiquetas <body> y </body> (por ejemplo, gestores de eventos,o scripts que escriben código on-line), pero lo normal es que la mayoría de lasfunciones estén en la cabecera de la página.El siguiente código muestra un ejemplo de código JavaScript introducido en elcódigo HTML de una página. Como se observa, el código JavaScript se encuentraentre las marcas de comentario HTML <!-- y -->, para que los navegadoresantiguos (que no soportan las etiquetas script) no muestren el código fuente en lapágina. Además, delante de la marca de cierre de comentario HTML se insertanlos caracteres //, que en JavaScript significan ignorar el resto de la línea, para queel intérprete JavaScript no dé error por la línea --> de comentario HTML. <HTML><HEAD><TITLE>Introducción a JavaScript</TITLE><SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"><!--function saludo() {window.alert(¡Bienvenido a JavaScript!)}//--></SCRIPT></HEAD><BODY onLoad="saludo()"></BODY></HTML>La otra forma de vincular el Javascript con el HTML es la siguiente: como archivo*.js se carga con la página HTML. Para ello, debe indicarse en las etiquetas Tema 3. Programación en Internet 20
  22. 22. Desarrollo de Páginas Webanteriores el nombre y ubicación del archivo *.js que contiene el script JavaScript,como en este ejemplo: <HTML><HEAD><TITLE>Tutorial de JavaScript</TITLE><SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" SRC="codigo.js"></SCRIPT></HEAD><BODY></BODY></HTML>3.2 Código del lado del cliente – Código del lado del servidorEl navegador es una aplicación capaz de interpretar las órdenes recibidas enforma de código HTML fundamentalmente y convertirlas en las páginas que son elresultado de dicha orden.Cuando nosotros hacemos click sobre un enlace hipertexto, en realidad lo quepasa es que establecemos una petición de un archivo HTML residente en elservidor (un ordenador que se encuentra continuamente conectado a la red) elcual es enviado e interpretado por nuestro navegador (el cliente).Los lenguajes de lado servidor que son aquellos lenguajes que son reconocidos,ejecutados e interpretados por el propio servidor y que se envían al cliente en unformato comprensible para él.Los lenguajes de lado cliente (entre los cuales no sólo se encuentra el HTML sinotambién el Java y el JavaScript los cuales son simplemente incluidos en el códigoHTML) son aquellos que pueden ser directamente decodificados por el navegador.Cada uno de estos tipos tiene por supuesto sus ventajas y sus desventajas. Porejemplo, un lenguaje de lado cliente es totalmente independiente del servidor, locual permite que la página pueda ser albergada en cualquier sitio sin necesidad depagar más, debido a que por regla general, los servidores que aceptan páginascon scripts de lado servidor son en su mayoría son de pago o sus prestacionesson muy limitadas.El lenguaje de lado servidor es independiente del cliente por lo que es muchomenos rígido respecto al cambio de un navegador a otro o respecto a lasversiones del mismo. Por otra parte, los scripts son almacenados en el servidorque los ejecuta y traduce a HTML por lo que permanecen ocultos para el cliente.En el dominio de la red, los lenguajes de lado servidor más ampliamente utilizadospara el desarrollo de páginas dinámicas son el ASP, PHP y PERL. Tema 3. Programación en Internet 21
  23. 23. Desarrollo de Páginas WebEl ASP (Active Server Pages) es un lenguaje derivado del Visual Basicdesarrollado por Microsoft. Evidentemente su empleo se realiza sobre plataformasfuncionando bajo sistema Windows NT.El PHP podría ser considerado como el lenguaje análogo al ASP utilizado enplataformas Unix y Linux.Estos dos lenguajes resultan bastante útiles para la explotación de bases de datosy su aprendizaje resulta accesible. Cualquiera de ellos resultaría la opción ideal ala hora de hacer evolucionar un sitio Web realizado en HTML.Por otra parte, el PERL es un lenguaje más rápido y potente que requiereobviamente un aprendizaje más largo y resulta más reservado para personas yafamiliarizadas con la verdadera programación.3.3 Generación dinámica de páginasSe puede escribir una página dinámica del mismo modo que si lo hacemos enHTML. El código está constituido exclusivamente de texto y lo único que tenemosque hacer por lo tanto es guardar el archivo texto con una extensión que puedaser reconocida posteriormente por el servidor. Así, por ejemplo, las páginas deASP son reconocidas por su extensión "asp" del mismo modo que las de PHP loson a partir de extensiones "php" u otras en las que se especifica la versiónutilizada ("php3" o "php4"). En muchos casos el servidor nos permite seleccionarqué tipo de extensión debe ser reconocida para un determinado lenguaje por loque estas extensiones no están totalmente generalizadas aunque son sin duda lasmás utilizadas.Dado que se trata únicamente de archivos texto, es posible crear páginasdinámicas a partir del Bloc de Notas o cualquier otro procesador de texto plano.También podemos utilizar los editores clásicos empleados para el HTML aunqueen este caso, estamos obligados a trabajar en modo editar y no en modo gráfico.Esta última posibilidad resulta tanto menos aconsejable cuanto que la mayoría deestos editores no están preparados para la programación en estos lenguajes yalgunos de ellos como Frontpage en sus versiones anteriores a la 2000 tiende aborrar aquellos textos que no es capaz de interpretar.Existen sin embargo algunos editores de HTML que si ofrecen ventajas al editarscripts.Tal es el caso del Homesite que muestra colaboraciones diferentes en función dela sintaxis del programa lo cual permite una lectura más fácil. Además, hay otra Tema 3. Programación en Internet 22
  24. 24. Desarrollo de Páginas Webserie de editores más pensados para páginas dinámicas en general o para algúnlenguaje en particular.Una vez el programa es desarrollado, el paso inmediato es el de ejecutarlo.Como ya ha sido explicado, los lenguajes de lado servidor ejecutan los scripts enel propio servidor y envían el resultado en forma de código HTML al cliente(navegador). Resulta obvio que para probar entonces el programa es necesariocolgar por FTP los archivos que lo componen en el servidor y hacer la peticióndesde el navegador. En principio, por lo tanto no es posible trabajar offline a partirde archivos alojados en el disco duro, esto en realidad no es completamente ciertoya que existe la posibilidad de convertir nuestro propio ordenador en servidor Webpersonal de manera que podemos trabajar en local sin necesidad de estarconectados continuamente.Como puede verse, la forma de operar resulta casi análoga a lo que hacíamospara nuestro sitio estático y no presenta ninguna complicación aparente. Cabedestacar que, como ya se ha dicho anteriormente, para poder servirse de estoslenguajes de lado servidor, es imprescindible que el servidor esté preparado paraleer las páginas programadas en un lenguaje no comprendido por el navegador.Dichos servidores son en su gran mayoría de pago lo cual añade ciertaslimitaciones económicas al proyecto.Conceptos básicos de programaciónAntes de abordar en detalle las particularidades de estos lenguajes, es importantetener en cuenta una serie de nociones básicas comunes como las que veremos acontinuación:Variable: Una variable consiste en un elemento al cual le damos un nombre y leatribuimos un determinado tipo de información. Las variables pueden serconsideradas como la base de la programación.Ej.a="hola"b="cómo estás?"La variable que nosotros llamamos "a" posee un elemento de información de tipotexto que es "hola". Asimismo, la variable "b" contiene el valor " cómo estás?".Podríamos de la misma forma trabajar con variables que contuviesen números yconstruir nuestro programa:a=3b=4 Tema 3. Programación en Internet 23
  25. 25. Desarrollo de Páginas Webc=a+bimprimir(c)El resultado de la impresión del programa sería: 7Funciones y procedimientosLa función podría ser definida como un conjunto de instrucciones que permitenprocesar las variables para obtener un resultado.Ejemplo:Queremos calcular el valor total de un pedido a partir de la simple suma de losprecios de cada uno de los artículos. Podríamos definir una función suma ennuestro lenguaje ficticio:definir function suma(art1,art2,art3)suma=art1+art2+art3imprimir(suma)fin functionEste supuesto programa nos permitiría calcular la suma de tres elementos eimprimir el resultado en pantalla. Lo interesante de utilizar este tipo de funcioneses que ellas nos permiten su utilización sistemática tantas veces como queramossin necesidad de escribir las instrucciones tantas veces como veces queremosutilizarla. Por supuesto, podemos prescindir de esta declaración de función eintroducir una línea del siguiente tipo:imprimir(art1+art2+art3)Evidentemente, cuanto más complicada sea la función y más a menudo lautilicemos en nuestros scripts más útil resulta definirlas.Esta función suma podría ser utilizada en cualquier lugar de nuestro scripthaciendo una llamada del siguiente tipo:ejecuta suma(4,6,9)Cuyo resultado sería: 19 Tema 3. Programación en Internet 24
  26. 26. Desarrollo de Páginas WebDel mismo modo, los procedimientos son parecidos a las funciones. La diferenciaconsiste tan solo en que en estos últimos el interés no radica en el resultadoobtenido sino más bien en las operaciones realizadas al ejecutarla (creación de unarchivo, reenvío a otra página, etc.). En lenguajes como el PHP las funciones y losprocedimientos son considerados como la misma cosa y para definirlos se haceusando los mismos comandos.Tanto las variables como las funciones y los procedimientos deben ser nombradassin servirse de acentos, espacios ni caracteres especiales para no correr riesgosde error.Estos conceptos son básicos para una comprensión de la programación dinámicade páginas en cualquiera de los lenguajes utilizados comúnmente.3.3.1 Conceptos ASP ASPDefinición La tecnología ASP (Active Page Server – Página Activa en el Servidor) no es en sí mismo un lenguaje de programación, si no más bien un marco sobre el que se construyen aplicaciones basadas en Internet, apoyándose para ello en el lenguaje HTML, en lenguajes de script conocidos (generalmente VBScript, pero también JavaScript – Jscript para Microsoft-, Perl, etc.), en motores de bases de datos y en el lenguaje de consulta SQL. Debido a esta conjunción de tecnologías diferentes es más acertado considerar una aplicación ASP en su conjunto que una serie de páginas web aisladas.Características • Viene implementada por defecto en los servidores web PWS (Windows 95-98-Millenium) e IIS (Windows NT-2000-XP). Además también es posible implementarla en otros servidores, aunque hace falta la instalación de las extensiones adecuadas. • Se puede mezclar código ASP con código HTML y código de script en cliente, sin tener que compilarlos por separado. Esto facilita la construcción de páginas ASP, siendo posible escribirlas en un simple editor de textos (Notepad, Word, etc.). • El código ASP se ejecuta en el servidor web, produciendo como Tema 3. Programación en Internet 25
  27. 27. Desarrollo de Páginas Web salida HTML puro (junto con código de script en el cliente, si así se precisa). Por este motivo, su resultado es interpretado correctamente por cualquier navegador web estándar, aunque se utilice VBScript, compatible tan sólo con Internet Explorer y los navegadores en él basados (aunque es posible ejecutar código VBScript en Nestcape Navigator usando el plug-in ScriptActive, de la casa NetCompass). • Permite usar componentes escritos en otros lenguajes de programación, como Visual Basic, Delphi, etc., que pueden ser llamados desde los propios guiones ASP. • Se ha portado a la plataforma Java, lo que hace que pueda ser utilizado en casi cualquier sistema operativo. • Permite acceder a las bases de datos de una forma rápida y sencilla, siendo éste uno de sus principales usos. • También permite el uso de componentes OLE, acceso a ficheros, a login del sistema, enviar correo, etc. • Tiene persistencia de variables en memoria entre distintas visualizaciones de página, permitiendo con ello manejar sesiones de usuario, con lo que se resuelve uno de los mayores problemas de la programación web, derivado de la no orientación a conexión del protocolo HTTP.Estructura <%@ Language="VBScript"%> <html> <head> <title>Estructura de página ASP</title> <% Dim nombre Nombre=”Karla” %> </head> <body> Tema 3. Programación en Internet 26
  28. 28. Desarrollo de Páginas Web <p>Hola, <%=nombre%>. ¿Cómo estás?.</p> </body> </html>Tipos de datos VBscript sólo considera en su forma general un único tipo de datos, denominado VARIANT. Es esta una clase especial de datos, que puede contener diferentes tipos de información. Así, se comporta como un número cuando se utiliza en un contexto numérico, y como una cadena cuando se usa en este tipo de contextos. No obstante, podemos forzar a los números a comportarse como cadenas poniéndolos entre comillas ("54"). Aunque pueda parecer una fuerte limitación el hecho de que sólo exista un tipo general de datos, nada más lejos de la realidad, ya que el tipo VARIANT se subdivide en una serie de subtipos que cubren todas nuestras necesidades. Subtipo Descripción Empty La Variant no está inicializado. El valor es 0 para variables numéricas o una cadena de longitud cero ("") para variables de cadena. Null La Variant, de manera intencionada, no contiene ningún dato válido. Boolean Contiene True o False. Byte Contiene un número entero entre 0 y 255. Integer Contiene un número entero entre -32.768 y 32.767. Currency De -922.337.203.685.477,5808 a 922.337.203.685.477,5807. Long Contiene un número entero entre -2.147.483.648 y 2.147.483.647. Single Contiene un número de punto flotante de precisión simple comprendido entre -3,402823E38 y -1,401298E- Tema 3. Programación en Internet 27
  29. 29. Desarrollo de Páginas Web 45 para valores negativos y entre 1,401298E-45 y 3,402823E38 para valores positivos. Double Contiene un número de punto flotante de precisión doble comprendido entre -1,79769313486232E308 y - 4,94065645841247E-324 para valores negativos y entre 4,94065645841247E-324 y 1,79769313486232E308 para valores positivos. Date Contiene un número que representa una fecha entre el (Time) 1 de enero del año 100 y el 31 de diciembre del año 9999. String Contiene una cadena de longitud variable que puede ser de hasta aproximadamente 2 mil millones de caracteres. Object Contiene un objeto. Error Contiene un número de error.Variables Se puede definir una variable como un dato que cambia o puede cambiar a lo largo de la ejecución de un programa. Para poder referirnos a ese dato cambiante hace falta un nombre que lo identifique, que va a ser el nombre que le demos a la variable que lo contiene. Es decir, una variable es como un contenedor de datos con nombre asignado. En realidad un puntero a una posición de la memoria donde un programa (el script) puede almacenar, leer y modificar valores durante su ejecución.Tipos de 1) aritméticos: ^ , - (negación) , * , / , , Mod , + , - , &operadores 2) de comparación: = , <> , < , > , <= , >= , Is 3) lógicos: Not , And , Or , Xor , Eqv , Imp , &Código Se ejecuta del lado del servidor Tema 3. Programación en Internet 28
  30. 30. Desarrollo de Páginas WebSistema Windows NT 4.x o mayor de preferencia.OperativoServidor Internet Information Server IIS. En caso del uso de un servidor Linux, Chilisoft ha desarrollado el Chilisoft ASP que también permite el uso de esta tecnología. Otra opción es InstantAsp también para correr ASP en servidores que no sean el IIS.Bases de Access principalmente.Datos3.3.2 Conceptos Php PHPDefinición PHP (acrónimo de "PHP: Hypertext Preprocessor") traducido como Lenguaje de programación de Hipertexto Portable, es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en páginas HTML y ejecutado en el servidor.Características • Se puede integrar PHP en el HTML o se puede utilizar para generar todo el contenido HTML. • Conectividad con bases de datos. • Generación de gráficos sobre la marcha. • Funciones matemáticas. • Archivos PDF y películas Flash (usando libswf y Ming). • También puede presentar otros resultados, como XHTM y archivos XML. PHP puede auto generar estos archivos y almacenarlos en el sistema de archivos en vez de presentarlos en la pantalla. • La característica más potente y destacable de PHP es su soporte para una gran cantidad de bases de datos. Escribir un interfaz vía web para una base de datos es una tarea simple con PHP. Tema 3. Programación en Internet 29
  31. 31. Desarrollo de Páginas WebEstructura <?php $cadena = Hola mundo; echo $cadena; ?>Tipos de datos Booleanos: Este es el tipo más simple. Un boolean expresa un valor de verdad. Puede ser TRUE or FALSE. Para especificar un literal booleano, use alguna de las palabras clave TRUE o FALSE. Ambas son insensibles a mayúsculas y minúsculas. <?php $foo = True; // asignar el valor TRUE a $foo ?> Enteros: Un integer es un número del conjunto Z = {..., -2, -1, 0, 1, 2...). Los enteros pueden ser especificados en notación decimal (base-10), hexadecimal (base-16) u octal (base-8), opcionalmente precedidos por un signo (- o +). Si usa la notación octal, debe preceder el número con un 0 (cero), para usar la notación hexadecimal, preceda el número con 0x. Ejemplo 11-1. Literales tipo entero <?php $a = 1234; // numero decimal $a = -123; // un numero negativo $a = 0123; // numero octal (equivalente al 83 decimal) $a = 0x1A; // numero hexadecimal (equivalente al 26 decimal) ?> Números de punto flotante: Los números de punto flotante (también conocidos como "flotantes", "dobles" o "números reales") pueden ser especificados usando cualquiera de las siguientes Tema 3. Programación en Internet 30
  32. 32. Desarrollo de Páginas Web sintaxis: <?php $a = 1.234; $b = 1.2e3; $c = 7E-10; ?> Cadenas: Un valor string es una serie de caracteres. En PHP, un carácter es lo mismo que un byte, es decir, hay exactamente 256 tipos de caracteres diferentes. Matrices: Una matriz en PHP es en realidad un mapa ordenado. Un mapa es un tipo de datos que asocia valores con claves. Este tipo es optimizado en varias formas, de modo que puede usarlo como una matriz real, o una lista (vector), tabla asociativa (caso particular de implementación de un mapa), diccionario, colección, pila, cola y probablemente más. Ya que puede tener otra matriz PHP como valor, es realmente fácil simular árboles. Un array puede ser creado por la construcción de lenguaje array(). Ésta toma un cierto número de parejas clave => valor separadas con coma. array( [clave =>] valor , ... ) // clave puede ser un integer o string // valor puede ser cualquier valorTipos de PHP proporciona una gran cantidad de variables predefinidas avariables cualquier script que se ejecute. Para obtener una lista de estas variables se puede consultar la sección Variables predefinidas reservadas, en el siguiente link: Tema 3. Programación en Internet 31
  33. 33. Desarrollo de Páginas Web http://www.php.net/manual/es/reserved.variables.php A partir de PHP 4.1.0, PHP ofrece un conjunto adicional de matrices predefinidas, conteniendo variables del servidor Web, el entorno y entradas del usuario. Estas nuevas matrices son un poco especiales porque son automáticamente globales. Por esta razón, son conocidas a menudo como "autoglobales" ó "superglobales". PHP superglobales $GLOBALS: Contiene una referencia a cada variable disponible en el espectro de las variables del script. Las llaves de esta matriz son los nombres de las variables globales. $GLOBALS existe desde PHP 3. $_SERVER: Variables definidas por el servidor web ó directamente relacionadas con el entorno en don el script se esta ejecutando. Análoga a la antigua matriz $HTTP_SERVER_VARS (la cual está todavía disponible, aunque no se use). $_GET: Variables proporcionadas al script por medio de HTTP GET. Análoga a la antigua matriz $HTTP_GET_VARS (la cual está todavía disponible, aunque no se use). $_POST: Variables proporcionadas al script por medio de HTTP POST. Análoga a la antigua matriz $HTTP_POST_VARS (la cual está todavía disponible, aunque no se use). $_COOKIE: Variables proporcionadas al script por medio de HTTP cookies. Análoga a la antigua matriz $HTTP_COOKIE_VARS (la cual está todavía disponible, aunque no se use). $_FILES: Variables proporcionadas al script por medio de la subida de ficheros vía HTTP. Análoga a la antigua matriz $HTTP_POST_FILES (la cual está todavía disponible, aunque no se use). Vea también Subiendo ficheros por método POST para más información. Tema 3. Programación en Internet 32
  34. 34. Desarrollo de Páginas Web $_ENV: Variables proporcionadas al script por medio del entorno. Análoga a la antigua matriz $HTTP_ENV_VARS (la cual está todavía disponible, aunque no se use). $_REQUEST: Variables proporcionadas al script por medio de cualquier mecanismo de entrada del usuario y por lo tanto no se puede confiar en ellas. La presencia y el orden en que aparecen las variables en esta matriz es definido por la directiva de configuración variables_order. Esta matriz no tiene un análogo en versiones anteriores a PHP 4.1.0. Vea también import_request_variables(). Nota: Cuando se utiliza la línea de comandos, argv y argc no son incluidas aquí; estas variables se podrán encontrar en la matriz $_SESSION: Variables registradas en la sesión del script. Análoga a la antigua matriz $HTTP_SESSION_VARS (la cual está todavía disponible, aunque no se use).Tipos de Un operador es algo a lo que se le entrega uno o más valores yoperadores produce otro valor (de modo que la construcción misma se convierte en una expresión). Así que puede pensar sobre las funciones o construcciones que devuelven un valor (como print) como operadores. Existen tres tipos de operadores. En primer lugar se encuentra el operador unario, el cual opera sobre un único valor, por ejemplo (el operador de negación) o ++ (el operador de incremento). El segundo grupo se conoce como operadores binarios; éste grupo contiene la mayoría de operadores que soporta PHP, y una lista se encuentra disponible más adelante en la sección Precedencia de Operadores. El tercer grupo consiste del operador ternario: Éste debe ser usado para seleccionar entre dos expresiones, en base a una tercera, en Tema 3. Programación en Internet 33
  35. 35. Desarrollo de Páginas Web lugar de seleccionar dos sentencias o rutas de ejecución. Rodear las expresiones ternarias con paréntesis es una muy buena idea. Para una intromisión más profunda en los operadores de PHP revisar el siguiente link: http://www.php.net/manual/es/language.operators.phpCódigo Se ejecuta del lado del servidorSistema PHP puede ser utilizado en cualquiera de los principales sistemasOperativo operativos del mercado, incluyendo Linux, muchas variantes Unix (incluyendo HP-UX, Solaris y OpenBSD), Microsoft Windows, Mac OS X, RISC OS.Servidor PHP soporta la mayoría de servidores web de hoy en día, incluyendo Apache, Microsoft Internet Information Server, Personal Web Server, Netscape e iPlanet, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd y muchos otros. PHP tiene módulos disponibles para la mayoría de los servidores, para aquellos otros que soporten el estándar CGI, PHP puede usarse como procesador CGI.Bases de Adabas D, Ingres, Oracle (OCI7 and OCI8), dBase, InterBase,Datos Ovrimos, Empress, FrontBase, PostgreSQL,FilePro (read-only), mSQL, Solid, Hyperwave, Direct MS-SQL, Sybase, IBM, DB2, MySQL, Velocis, Informix, ODBC, Unix dbm.3.3.3 Conceptos CGICGI (Common Gateway Interface). Su significado en español es Interfaz comúnde pasarela común. CGI es un conjunto de convenios, variables y reglas mediantelas cuales interacciona el navegador y el servidor.Para poder escribir CGI es necesario tener un servidor, por la razón vistaanteriormente y seguir ciertos criterios como los que veremos a continuación: Tema 3. Programación en Internet 34
  36. 36. Desarrollo de Páginas Weba) CGI es una especificación sobre transferencia de datos, no un lenguaje de programación.b) Un script CGI es un programa ejecutable que decodifica la especificación CGI.c) Los Scripts CGI pueden ser escritos en cualquier lenguaje de programación, aunque por lo regular están escritos en PERL debido a que operan sobre UNIX, también se pueden realizar en Java o C++.Estructura de un CGIUn programa CGI tiene tres funciones básicas de entrada/salida:1. Recabar la entrada del servidor, en forma de variables estandarizadas, datos de formularios y datos de consulta.2. Proporcionar los datos de salida al cliente (Navegador web)3. Proporcionar información de negociación del contenido (encabezado MIME) para el servidor y el cliente.Las especificaciones completas de CGI se pueden encontrar en:http://hoohoo.ncsa.uiuc.edu/cgi/ #!/usr/local/bin/perl # # hello_s.pl-- simple "hello, world" programa para demostrar básicamente la salida CGI # imprime el encabezado CGI, requerido para las salidas HTML # Noten el extra n, para enviar una línea en blanco print "Content-type: text/htmlnn" ; # imprime la respuesta HTML a STDOUT print “<html><head><title>CGI Hello</title></head>n”; # imprime el cuerpo print “<body><h1>Hello, world.</h1></body></html>”; exit ;La primera línea debe especificar en dónde encontrar el intérprete PERL, en lamayoría de los sistemas será “/usr/bin/perl”, el cual se ha convertido un lugarestándar. Tema 3. Programación en Internet 35
  37. 37. Desarrollo de Páginas WebPor lo general, los Scripts CGI toman su entrada de las variables de ambiente yenvían su salida al flujo de salida estándar. Conocido comúnmente como salidaestándar(stdout). Se llama flujo a esta salida, debido a que se transmite al usuariocomo un flujo de bytes o caracteres. La salida del programa requiere estar en unformato que el navegador pueda desplegar, por lo regular es en HTML. Sinembargo, el script debe decirle primero al navegador de qué tipo de datos se trata.Esto se hace con la siguiente directiva:Content-type: <MIME - type>Esto especifíca el tipo MIME del flujo que se va a enviar al usuario, en su mayoríaserá “text/html” y “text/plain” para documentos informativos. El encabezado MIMEsiempre deberá estar separado del cuerpo del documento por una línea en blanco.Los tipos MIME son cadenas de caracteres estándar de caso sensitivo queidentifican el tipo de datos usado a través de Internet para muchos propósitos.Comienzan con el tipo general de datos (como text, image, o audio), seguido porun slash, y terminando con el tipo específico de datos (como html, gif, or jpeg). Losarchivos HTML se identifican con text/html, y los GIFs y JPEGs se identifican conimage/gif y image/jpeg.PERL utiliza el comando print para enviar texto a la salida estándar. El texto estácerrado entre comillas y no hay líneas nuevas predeterminadas, por lo que sedeben enviar explícitamente.Variables de entornoCGI define una serie de variables de entorno que sirven para pasar la información,dicha información está compuesta por el nombre del servidor, nombre del usuarioautenticado y la dirección IP del cliente que está accediendo al servidor. Estasvariables de entorno se pasan a cada programa CGI que invoca el servidor.Algunas variables son necesarias y otras opcionales. El servidor y el navegadorweb pueden generar variables de entorno y pasarlas al programa CGI.Paraencontrar más información sobre las variables de entorno:http://hoohoo.ncsa.uiuc.edu/cgi/env.html Tema 3. Programación en Internet 36
  38. 38. Desarrollo de Páginas Web3.3.4 Conceptos Perl PERLDefinición El lenguaje Perl toma su nombre de Practical Extraction and Report Language y fue ideado por Larry Wall. La primera versión sale en el año de 1987. Originalmente Larry Wall lo describe como un excelente lenguaje optimizado para leer archivos de texto, extraer información de esos archivos y crear reportes basados en esa información, combinando lo mejor de C. Perl se considera un lenguaje interpretado, es decir, no es necesaria una previa compilación para poder ejecutarse, lo único que se necesita es darle al interprete, perl, el código que queremos que ejecute.Características • Perl es gratuito, su código es abierto y totalmente gratuito, cualquiera puede descargar el código fuente C que constituye un intérprete Perl. Además el usuario tiene la capacidad de ampliar la funcionalidad básica de Perl dentro del ámbito del lenguaje interpretado y modificando el código fuente Perl. • Es fácil de aprender y leer. El lenguaje de Perl es similar a la de C y la de script de shell, pero su formato es menos restrictivo. Es fácil de leer puesto que el código se puede escribir en un formato claro y conciso que es prácticamente igual a una frase en inglés. • Dispone de tipos de datos flexibles. El usuario puede crear variables sencillas que contengan texto o números y Perl, trata los datos de las variables de forma adecuada en el momento en el que se utilice. • Está orientado a objetos. Perl incluye todas las características de la orientación a objetos (herencia, polimorfismo y encapsulación). No existen restricciones sobre cuándo y dónde se pueden utilizar esas características. Tema 3. Programación en Internet 37
  39. 39. Desarrollo de Páginas Web • Permite el trabajo en equipo. Existe una red inmensa de programadores de Perl en todo el mundo. La mayor parte de ellos proporcionan y utilizan los módulos y los scripts que se ofrecen a través de CPAN (Comprehensive Perl Archive network). Se trata de un depósito de los mejores módulos y scripts disponibles. El hecho de utilizar un módulo existente que se haya escrito previamente puede ahorrar muchas horas de trabajo.Estructura #!/usr/local/bin/perl # # Programa para hacer lo evidente # print Hola mundo.; # Imprimir un mensaje La primera línea Todo programa en Perl comienza con esto como su primera línea: #!/usr/local/bin/perl, aunque esto podría variar de un sistema o otro. Esta línea indica a la maquina que hacer con el fichero cuando este es ejecutado (es decir, le indica que ejecute el fichero a través de Perl). Comentarios y sentencias Los comentarios pueden ser insertados en un programa con el símbolo #, y cualquier cosa desde la # hasta el final de la línea es ignorada (con la excepción de la primera línea). La única forma de alargar los comentarios sobre varias líneas es usar # en cada línea. Todo lo demás es una sentencia en Perl la cual debe terminar con un punto y coma, como la última línea de arriba. Tema 3. Programación en Internet 38
  40. 40. Desarrollo de Páginas Web Impresión simple La función print muestra al exterior alguna información. En el ejemplo anterior, imprime literalmente la cadena Hola mundo y por supuesto la sentencia termina en un punto y coma.Tipos de datos Numéricos (reales y enteros): Los valores numéricos espresados literalmente se presentan en forma de valores reales codificados en doble precisión. Este formato interno se utiliza para todas las operaciones aritméticas. Por ejemplo: $x = 0.897; # un real $y = 6.23e-24; # un real $n = 567; # un entero $i = -234; # un entero Cadenas de caracteres: Las cadenas de caracteres se especifican literalmente por medio de un sucesión de caracteres delimitada por comillas ("..") o apóstrofes (..). Estas dos representaciones se distinguen por la interpretación hecha por Perl de las cadenas de caracteres. Cuando van delimitadas por comillas (".."), toda variable referenciada en el interior de la cadena se evalúa y se reemplaza por su valor. Por ejemplo, las instruciones siguientes: $wld = "mundo"; $str = "¡Hola $wld!"; Booleano: El tipo booleano existe, al igual que en C, de modo implícito, es decir, un número es falso si es igual a cero y verdadero en cualquier otro caso. Como el cero está asociado a la ristra vacía (""), ésta también equivale al valor falso.Variables Escalares ($variable): En Perl la variable básica es la escalar. Ésta variable puede contener cualquier tipo de información ya sean Tema 3. Programación en Internet 39
  41. 41. Desarrollo de Páginas Web números, letras, cadenas de texto, signos, código ASCII, etc. Para definir una variable escalar todo lo que tenemos que hacer es: $variable Arrays (@array): Los arrays o arreglos como se les llama comúnmente en español no son exactamente vectores, más que nada se les puede definir como una lista de cosas, éstas cosas pueden ser números, letras, palabras o hasta variables. El array se define de la siguiente manera: my @array; Vemos que debemos de usar el símbolo @ para definir nuestros arrays. Como los arrays son listas de cosas, es diferente la manera en que los inicializamos: my @array = (Perro,Gato,Gallina,Pez); Hashes (%hash): La variable hash o arreglo asociativo es un tipo de variable sumamente especial en Perl, ya que pocos lenguajes cuentan con variables de este tipo. El hash es un tipo de lista por medio de la cual podemos llamar a sus valores con el uso de llaves. Así dependiendo de la llave que se llame será el valor que se retorne. my %Animales = ( Perro => Dog, Gato => Cat, Gallina => Chicken, Pez => Fish ); FILEHANDLES: Con este tipo de variable podemos hacer llamadas a archivos desde Perl. DIRHANDLES: Ésta variable se usa cuando hacemos lectura de un Tema 3. Programación en Internet 40
  42. 42. Desarrollo de Páginas Web directorio. Typeglobs: Un typeglob es una entrada a la tabla de símbolos de Perl, por lo que con un typeglob podemos llamar a todos los tipos de variables de Perl.Tipos de Los operadores son instrucciones que se le da a la computadoraoperadores para efectuar sobre operandos. Los operandos pueden ser desde números hasta palabras. Operadores Aritméticos: Son los operadores más comúnes e incluyen suma, resta, multiplicación, exponenciación, división y módulo. Operadores Aritméticos Unitarios: Los operadores unitarios actúan sobre un solo operando y básicamente se usan para cambiar el signo de un valor, incrementar el valor o disminuir el valor. Operadores Lógicos: Los operadores lógicos normalmente los vamos a usar siempre que queramos controlar el flujo de nuestro programa, dicho programa, va a realizar una decisión en base a dos operandos cuya condición puede retornar verdadero o falso. Operador Ternario: El operador ternario es sumamente útil en Perl y realmente es una secuencia de operadores, su sintaxis es como sigue: CONDICION ? PARTE-VERDADERA : PARTE-FALSA Lo que te permite el operador es evaluar la CONDICION y dependiendo de si es verdadera o falsa se regresará la parte que corresponda. Esto se podrá comprender más con un ejemplo: my $num = 10; my $var1 = ($num > 5) ? "Mayor" : "Menor"; Lo que estamos haciendo es realizando una asignación a la variable $var1 dependiendo de la condición. En este caso la condición es ($num > 5), si esto resulta verdadero, la palabra Mayor se asignará Tema 3. Programación en Internet 41
  43. 43. Desarrollo de Páginas Web a la variable, de lo contrario será la palabra Menor. Operador de Concatenación: Muchas veces no queremos sumar ni restar, o realizar ninguna operación entre dos operandos, sino que queremos "pegarlos. Para eso tenemos el operador de concatenación. Este operador es un simple punto . y funciona de la siguiente manera: my $saludo = "Hola me llamo "; my $nombre = "Uriel"; my $frase = $saludo . $nombre; Como resultado nuestra variable $frase tendrá el valor "Hola me llamo Uriel". Operador de Repetición: Este operador lo usamos para duplicar una cadena n número de veces. El operador se define con una x, por ejemplo: my $var = "A" x 6; Esto genera el valor AAAAAA.CódigoSistema Unix, Windows, MacOS. Siempre que una de las funciones de PerlOperativo esté implementaa por una o más funciones de sistema operativo subyacente, no existe motivo alguno por el que un script en Perl no deba funcionar.Servidor PERL puede acceder a los principales servidores a través de una serie de extensiones proporcionada por CPAN (Comprehensive Perl Archive Network).Bases de PERL puede acceder a los principales sistemas de bases de datos aDatos través de una serie de extensiones proporcionada por el conjunto de herramientas DBI, un módulo disponible a través de CPAN (Comprehensive Perl Archive Network), hay interfaces disponibles Tema 3. Programación en Internet 42
  44. 44. Desarrollo de Páginas Web para el acceso a bases de datos como Oracle, Sybase, Msql, PostgreSQL y OBDC.3.4 Base de DatosLas bases de datos y su tecnología están teniendo un gran impacto sobre el usocreciente de las computadoras. No es exagerado el decir que las bases de datosdesempeñan un papel crucial en casi todas las áreas aplicación de computadoras,como los negocios, la ingeniería, educación, etc. Es por ello su gran relevancia enel ámbito de la programación de sitios Web.Una base de datos es un conjunto de datos relacionados entre sí. Los datos sonhechos conocidos que pueden registrarse y que tienen un significado implícito. Porejemplo podrían ser nombre, números telefónicos, direcciones, etc. Todos ellosson un conjunto de datos relacionados entre sí, de modo que son una base dedatos. Una base de datos tiene las siguientes propiedades implícitas:• Una base de datos representa un aspecto del mundo real, las modificaciones de este mundo se reflejan en la base de datos.• Una base de datos es un conjunto de datos lógicamente coherente, con cierto significado inherente. Una colección aleatoria de datos no puede considerarse una base de datos• Toda base de datos se diseña, construye con datos para un propósito específico. Está dirigida a un grupo de usuarios y tiene ciertas aplicaciones preconcebidas que interesan a dichos usuarios.Las bases de datos pueden ser de cualquier tamaño y tener diversos grados decomplejidad. La generación y el mantenimiento de dichas bases de datos puedenser manuales o mecánicos. El catálogo en tarjetas de una biblioteca es un ejemplode bases de datos manual. Las bases de datos computarizadas se pueden crear ymantener con un grupo de programas de aplicación escritos específicamente paraesa tarea o bien mediante un sistema de gestión de bases de datos.Un sistema de gestión de bases de datos, es un conjunto de programas quepermite a los usuarios crear y mantener, definir, construir y manipular bases dedatos para diversas aplicaciones. Para definir una base de datos hay queespecificar los tipos de datos, las estructuras y las restricciones de los datos quese almacenarán en ella. Construir una base de datos es el proceso de guardar losdatos mismos en algún medio de almacenamiento controlado por el sistema degestión de bases de datos. En la manipulación de la base de datos intervienen Tema 3. Programación en Internet 43
  45. 45. Desarrollo de Páginas Webfunciones como consultar la base de datos, actualizarla y generar informes enbase a esa información.Características del enfoque de bases de datos.Hay varias características que distinguen el enfoque de bases de datos delenfoque tradicional de programación de archivos, entre ellas se encuentran lassiguientes:a) Naturaleza autodescriptiva de los sistemas de bases de datos: Una característica fundamental del enfoque de bases de datos es que el sistema no sólo contiene la base de datos misma, sino también una definición o descripción completa de la base de datos. Esta definición se almacena en el catálogo del sistema que contiene información y diversas restricciones que se aplican a los datos. A la información almacenada en el catálogo se le denomina metadatos y estos describen la estructura de la base de datos primaria.b) Separación entre los programas y los datos, y abstracción de los datos: Los programas de acceso del sistema de gestión de bases de datos se escriben de modo que sean independientes de cualquier archivo específico. La estructura de los archivos de datos se almacenan en el catálogo del SGBD aparte de los programas de acceso. Avances recientes en las bases de datos orientadas a objetos y en los lenguajes de programación permiten a los usuarios definir operaciones sobre los datos como parte de la definición de las bases de datos. Una operación también llamada función se especifica en dos partes; la interfaz de la operación contiene su nombre y los tipos de datos de sus argumentos o parámetros, la otra parte es la implementación o método de la operación que se especifica aparte y se puede modificar sin alterar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando estas operaciones a través de sus nombres y argumentos, sea cual sea la forma en que se hayan implementado. A esto suele llamarse independencia con respecto a los programas y operaciones.c) Manejo de múltiples vistas de los datos: Una base de datos suele tener muchos usuarios, cada uno de los cuales puede requerir una vista diferente de la mencionada en la base de datos. Una vista puede ser un subconjunto de la base de datos o contener datos virtuales que se deriven de los archivos de la base de datos, pero que no estén almacenados explícitamente. Un sistema de gestión de bases de datos multiusuario debe proporcionar mecanismos para definir muchas vistas.d) Compartimiento de datos y procesamiento de transacciones multiusuario: Todo SGBD multiusuario debe permitir a varios usuarios tener acceso simultaneo a la base de datos. Esto es indispensable para que los datos de múltiples aplicaciones se integren y mantengan en una sola base de Tema 3. Programación en Internet 44
  46. 46. Desarrollo de Páginas Web datos. El SGBD debe incluir software de control de concurrencia para asegurar que cuando varios usuarios intenten actualizar los mismos datos lo hagan de manera controlada para que el resultado de las actualizaciones sea correcto.Implicaciones del enfoque de bases de datosExisten implicaciones en el empleo de bases de datos que pueden resultarbenéficas para las organizaciones como podrían ser las siguientes:a) Potencial para imponer normas: Se pueden definir e imponer normas a los usuarios de las bases de datos en una organización grande. Esto facilita la comunicación y cooperación entre diversos departamentos, proyectos y usuarios de la organización.b) Menor tiempo de creación de aplicaciones: La creación de una aplicación así como, la obtención de cierta información de la base de datos para imprimir un nuevo informe requiere de muy poco tiempo. Diseñar e implementar una nueva base de datos desde cero, puede tardar más que escribir una sola aplicación de archivos especializada.c) Flexibilidad: En ocasiones es necesario modificar la estructura de una BD cuando cambian los requerimientos. Algunos SGBD permiten efectuar estas modificaciones en la estructura de la BD sin afectar los datos almacenados y los programas de aplicación ya existentes.d) Disponibilidad de información actualizada: Los SGBD ponen la BD a disposición de todos los usuarios. En el momento en el que un usuario actualiza la BD, todos los demás usuarios pueden ver de inmediato dicha actualización. Esta disponibilidad de información es indispensable en muchas aplicaciones de procesamiento de transacciones, como por ejemplo los sistemas de reservaciones.e) Economías a escala: El enfoque de SGBD permite consolidar los datos y las aplicaciones, reduciéndose así el desperdicio por traslapo entre las actividades del personal de procesamiento de datos en los diferentes proyectos o departamentos. Esto permite que la organización completa invierta en procesadores más potentes, dispositivos de almacenamiento o equipo de comunicación, en vez de que cada departamento tenga que adquirir por separado su propio equipo. Esto reduce los costos totales de operación y control. Tema 3. Programación en Internet 45
  47. 47. Desarrollo de Páginas WebCuándo no usar un SGBDA pesar de todas las ventajas, hay situaciones en el que el empleo de un SGBDpuede generar costos adicionales innecesarios que se evitarían con el proceso dearchivos tradicional. Hay varias causas de estos costos adicionales por utilizar unSGBD, entre ellas:• Una fuerte inversión inicial en el equipo, software y capacitación.• La generalidad que ofrece el SGBD para definir y procesar los datos.• Los costos que implica ofrecer las funciones de seguridad, control de concurrencia, recuperación e integridad.Pueden surgir problemas adicionales si los diseñadores de la BD y eladministrador de la misma no producen un diseño adecuado o si laimplementación de las aplicaciones de sistema de BD no es correcta. En vista delos costos adicionales de emplear un SGBD y de los problemas potenciales deuna administración inadecuada, podría ser más conveniente utilizar archivosordinarios en las siguientes circunstancias:• La BD y aplicaciones son simples, están bien definidas y no se espera que cambien.• Algunos programas tienen requerimientos estrictos de tiempo real que no podrían cumplirse por el costo extra del SGBD.• No se requiere acceso multiusuario a los datos.3.5 SeguridadProtección de los archivos del servidor WebCasi toda la web se basa en documentos almacenados en un servidor Web, porconsecuencia en el caso de que se modifiquen o dañen dichos archivos se vereflejado automáticamente en el sitio y es por esta razón la necesidad de protegerdichos archivos almacenados en el servidor.La mayoría de los archivos que controlan el funcionamiento del servidor seencuentran en el árbol del directorio ServerRoot. Existen excepciones, pero estossólo afectan a los aspectos secundarios del comportamiento del servidor.El servidor por regla general no debería tener la capacidad de modificar ningunode sus archivos de control. Las excepciones más obvias son el registro de erroresy los archivos de registro de acceso, que necesita el servidor para grabarinformación a medida que se van produciendo los eventos. El que el servidor Tema 3. Programación en Internet 46
  48. 48. Desarrollo de Páginas Webtenga la capacidad de modificarlos, abre la posibilidad de que una malaconfiguración permita que un intruso en la web arruine el servidor. Por lo tanto sise desean evitar problemas posteriores, los permisos y propiedades de archivo nodeberán permitir que el servidor pueda modificarlos.Acceso obligatorio y discrecionalLos mecanismos de control obligatorio, a veces llamados controles nodiscrecionales, limitan el acceso basado en atributos sobre los cuales el queintenta acceder no tiene control. Los controles discrecionales dependen de lainformación proporcionada por el usuario.La teoría de la seguridad define tres tipos de atributos utilizados en el control deacceso:• Lo que se tiene• Lo que se conoce• Quién es ustedLos dos primeros atributos son variaciones sobre el mismo tema y la tangibilidad yla cantidad de los aspectos que los distinguen. Estos tipos de atributos se suelenutilizar de forma combinada.Los controles de acceso discrecionales suelen utilizar el atributo “lo que se sabe”.Los controles obligatorios tienden a utilizar los atributos del otro lado, por ejemploademás de la contraseña un acceso restringido de IP.Para poder realizar negocios en línea es necesario que la empresa y el usuarioestén seguros de poder realizar transacciones electrónicas. Los certificadoselectrónicos proveen de dicha seguridad, su efectividad depende del sistema legaly de la llave pública encriptada.Identificación: Grandes organizaciones utilizan credenciales para ayudar a losguardias a determinar quién puede o no entrar al edificio. Entre países se utilizanlos pasaportes o visas controlar el paso entre las fronteras. En las computadorasexisten varios sistemas para determinar la identidad de los usuarios para quepuedan acceder a la información y servicios.Los clientes y empresas necesitandeterminar la identidad cuando ellos adquieren un compromiso de algunatransacción financiera. Tema 3. Programación en Internet 47

×