vi lecturas

Upload: javier-valentin

Post on 06-Jul-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Vi Lecturas

    1/12

    Lenguaje de Programación orientado a la web. / Lenguaje orientado a la Web.

    Lecturas del Bloque 3. VI semestre.

    Los diferentes lenguajes de programación para la web.

    Desde los inicios de Internet, fueron surgiendo diferentes demandas por los usuarios y se dieron solucionmediante lenguajes estáticos. A medida que paso el tiempo, las tecnologías fueron desarrollándose y surgiernuevos problemas a dar solución. Esto dio lugar a desarrollar lenguajes de programación para la eb dinámicque permitieran interactuar con los usuarios y utili!aran sistemas de "ases de Datos. A continuación daremuna introducción a los diferentes lenguajes de programación para la eb.

    Lenguaje !"L

    Desde el surgimiento de internet se #an publicado sitios eb gracias al lenguaje $%&'. Es un lenguaje estátipara el desarrollo de sitios eb (acrónimo en ingl)s de $yper%e*t &ar+up 'anguage, en espaol 'enguaje &arcas $iperte*tuales-. Desarrollado por el orld ide eb /onsortium (0/-. 'os arc#ivos pueden tener e*tensiones (#tm, #tml-.

    1inta*is2

    3#tml4 (Inicio del documento $%&'-

    3#ead4

    ( /abecera -

    35#ead4

    3body4

    3b4 35b4 6egrita

    3p4 35p4 Definir párrafo

    3etiqueta4 Apertura de la etiqueta

    35etiqueta4 /ierre de la etiqueta

    35body4

    35#tml4

    7entajas2

    1encillo que permite describir #iperte*to.

    %e*to presentado de forma estructurada y agradable.

    6o necesita de grandes conocimientos cuando se cuenta con un editor de páginas eb o 81I89.

     Arc#ivos pequeos.

    Despliegue rápido.

    'enguaje de fácil aprendi!aje.'o admiten todos los e*ploradores.

    Desventajas2

    'enguaje estático.

    'a interpretación de cada navegador puede ser diferente.

    9uarda muc#as etiquetas que pueden convertirse en :basura; y dificultan la corrección.

    El diseo es más lento.

    'as etiquetas son muy limitadas.

    1

  • 8/17/2019 Vi Lecturas

    2/12

    Lenguaje #a$ascript

    Este es un lenguaje interpretado, no requiere compilación. scr(no >ava1cript-. El código A1@ puede ser insertado junto con el código $%&'. 'os arc#ivos cuentan cone*tensión (asp-.

    1inta*is2

    3H H4

    7entajas2

    =sa 7isual "asic 1cript, siendo fácil para los usuarios.

    /omunicación óptima con 1' 1erver.

    1oporta el lenguaje >1cript (>avascript de &icrosoft-.

    Desventajas2

    /ódigo desorgani!ado.

    1e necesita escribir muc#o código para reali!ar funciones sencillas.

    %ecnología propietaria.

    $ospedaje de sitios eb costosos.

    2

  • 8/17/2019 Vi Lecturas

    3/12

    Lenguaje %&P.'(!

    Este es un lenguaje comerciali!ado por &icrosoft, y usado por programadores para desarrollar entre otrfunciones, sitios eb. [email protected]% es el sucesor de la tecnología A1@, fue lan!ada al mercado mediante uestrategia de mercado denominada .6E%.

    El [email protected]% fue desarrollado para resolver las limitantes que brindaba tu antecesor A1@. /reado para desarroeb sencillas o grandes aplicaciones. @ara el desarrollo de [email protected]% se puede utili!ar /J, 7".6E% o >J. 'arc#ivos cuentan con la e*tensión (asp*-. @ara su funcionamiento de las páginas se necesita tener instalado

    con el ava. >1@ es un lenguaje multiplataforma. /reado para ejecutarse del lado d

    servidor.

    #&P fue desarrollado por 1un &icrosystems. /omparte ventajas similares a las de [email protected]%, desarrollado paracreación de aplicaciones eb potentes. @osee un motor de páginas basado en los servlets de >ava. @ara funcionamiento se necesita tener instalado un servidor %omcat.

    1inta*is2

    3HB ne java.util.Date(- H4

    /aracterísticas2

    /ódigo separado de la lógica del programa.

    'as páginas son compiladas en la primera petición.@ermite separar la parte dinámica de la estática en las páginas eb.

    'os arc#ivos se encuentran con la e*tensión (jsp-.

    El código >1@ puede ser incrustado en código $%&'.

    Elementos de >1@

    'os elementos que pueden ser insertados en las páginas >1@ son los siguientes2

    /ódigo2 se puede incrustar código :>ava;.

    3

  • 8/17/2019 Vi Lecturas

    4/12

    Directivas2 permite controlar parámetros del servlet.

     Acciones2 permite alterar el flujo normal de ejecución de una página.

    7entajas2

    Ejecución rápida del servlets.

    /rear páginas del lado del servidor.

    &ultiplataforma./ódigo bien estructurado.

    Integridad con los módulos de >ava.

    'a parte dinámica está escrita en >ava.

    @ermite la utili!ación se servlets.

    Desventajas2

    /omplejidad de aprendi!aje.

    Lenguaje P)t*on

    Es un lenguaje de programación creado en el ao FFL por 9uido van Mossum, es el sucesor del lenguaje programación A"/. @yt#on es comparado #abitualmente con @erl. 'os usuarios lo consideran como un lengumás limpio para programar. @ermite la creación de todo tipo de programas incluyendo los sitios eb.

    1u código no necesita ser compilado, por lo que se llama que el código es interpretado. Es un lenguaje programación multiparadigma, lo cual fuer!a a que los programadores adopten por un estilo de programaciparticular2

    @rogramación orientada a objetos.

    @rogramación estructurada.@rogramación funcional.

    @rogramación orientada a aspectos.

    1inta*is2

    Ejemplo de una clase en @#yton2

    def dibujarNmuneco(opcion-2

      if opcion BB 2

      /.createNline(OPL, OL, OPL, 0KL, idt#BQ, fillBCblueC-

      /.createNoval(OL, OL, OGL, KLL, idt#BK, fillBR@eac#@uffR-

    7entajas2

    'ibre y fuente abierta.

    'enguaje de propósito general.

    9ran cantidad de funciones y librerías.

    1encillo y rápido de programar.

    &ultiplataforma.

    4

  • 8/17/2019 Vi Lecturas

    5/12

    'icencia de código abierto (pensource-.

    rientado a bjetos.

    @ortable.

    Desventajas2

    'entitud por ser un lenguaje interpretado.

    Lenguaje +ub).

    Es un lenguaje interpretado de muy alto nivel y orientado a objetos. Desarrollado en el FF0 por el programad japon)s 8u+i#iro :&at!; &atsumoto. 1u sinta*is está inspirada en @#yton, @erl. Es distribuido bajo licencia softare libre (pensource-.

    Muby es un lenguaje dinámico para una programación orientada a objetos rápida y sencilla. @ara los que deseiniciarse en este lenguaje pueden encontrar un tutorial interactivo de ruby. 1e encuentra tambi)n a disposición estos usuarios un sitio con informaciones y cursos en espaol.

    1inta*is2

    puts C#olaC

    ,aracter-sticas

    E*iste diferencia entre may?sculas y min?sculas.

    &?ltiples e*presiones por líneas, separadas por punto y coma :S;.

    Dispone de manejo de e*cepciones.

    Muby puede cargar librerías de e*tensiones dinámicamente si el (1istema perativo- lo permite.

    @ortátil.

    7entajas2@ermite desarrollar soluciones a bajo /osto.

    1oftare libre.

    &ultiplataforma.

    0u1 es programación2

    'a programación informática o programación algorítmica, acortada como programación, es el proceso disear, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente escrito en un lenguaje de programación. El propósito de la programación es crear programas que e*#iban comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áredistintas, además del dominio del lenguaje a utili!ar, algoritmos especiali!ados y lógica formal. @rogramar involucra necesariamente otras tareas tales como el análisis y diseo de la aplicación.

    bjeti$os de la programación.

    'a programación de ordenadores debe perseguir tres objetivos fundamentales2

    ,orrección2 un programa es correcto si #ace lo que debe #acer. @ara determinar si un programa #ace lo qdebe es muy importante especificar claramente qu) debe #acer el programa antes de desarrollarlo y una vacabado compararlo con lo que realmente #ace.

    ,laridad2 es muy importante que el programa sea lo más claro y legible posible para mejorar el mantenimiendel softare. /uando se acaba de escribir el código del programa, se deben buscar errores y corregirlos. &

    5

  • 8/17/2019 Vi Lecturas

    6/12

    concretamente, cuando el programa está concluido, es necesario #acerle ampliaciones o modificaciones, segla demanda de los usuarios, esta labor puede ser llevada a cabo por el mismo programador que implementóprograma o por otros.

    (ficiencia2 debe consumir la menor cantidad de recursos posible. 6ormalmente al #ablar de eficiencia se su#acer referencia al consumo de tiempo y5o memoria.

    Tu) es lenguaje de programaciónU

    0u1 es compilación2

    El programa escrito en un lenguaje de programación (comprensible por el ser #umano, aunque se suelcorresponder con lenguajes formales descritos por gramáticas independientes del conte*to- no inmediatamente ejecutado en una computadora. 'a opción más com?n es compilar el programa, aunqtambi)n puede ser ejecutado mediante un int)rprete informático

    El código fuente del programa se debe someter a un proceso de transformación para convertirse en lenguamáquina, interpretable por el procesador. A este proceso se le llama compilación.

    6ormalmente la creación de un programa ejecutable (un típico.e*e para &icrosoft indos- conlleva dos pasoEl primer paso se llama compilación (propiamente dic#o- y traduce el código fuente escrito en un lenguaje programación almacenado en un arc#ivo a código en bajo nivel, (normalmente en código objeto no directameal lenguaje máquina-. El segundo paso se llama enla!ado (del ingl)s lin+ o lin+er- se junta el código de bajo nigenerado de todos los fic#eros que se #an mandado compilar y se aade el código de las funciones que #ay las bibliotecas del compilador para que el ejecutable pueda comunicarse con el sistemas operativo y traducecódigo objeto a código máquina.

    Programas ) algoritmos

    =n algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que #an de seguirse para resolvun problema. =n programa normalmente implementa (traduce a un lenguaje de programación concreto- algoritmo. 6ótese que es la secuencia de instrucciones en sí la que debe ser finita, no el n?mero de pasreali!ados como la ejecución de ellas.

    'os programas suelen subdividirse en partes menores (módulos-, de modo que la complejidad algorítmica cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa.

    1eg?n 6i+laus irt# un programa está formado por algoritmos y estructura de datos.

    1e #an propuesto diversas t)cnicas de programación, cuyo objetivo es mejorar tanto el proceso de creación softare como su mantenimiento. Entre ellas se pueden mencionar las programaciones lineal, estructuradmodular y orientada a objetos.

    ,iclo de $ida del software.

     Artículo principal2 @roceso para el desarrollo de softareEl t)rmino ciclo de vida del softare describe el desarrollo de softare, desde la fase inicial #asta la fase finincluyendo su estado funcional. El propósito es definir las distintas fases intermedias que se requieren pavalidar el desarrollo de la aplicación, es decir, para garanti!ar que el softare cumpla los requisitos paraaplicación y verificación de los procedimientos de desarrollo2 se asegura que los m)todos utili!ados sapropiados. Estos m)todos se originan en el #ec#o de que es muy costoso rectificar los errores que se detecttarde dentro de la fase de implementación (programación propiamente dic#a-, o peor aun, durante la fafuncional. El modelo de ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permitelos desarrolladores concentrarse en la calidad del softare, en los pla!os de implementación y en los costasociados. El ciclo de vida básico de un softare consta de, al menos, los siguientes procedimientos2

    6

  • 8/17/2019 Vi Lecturas

    7/12

    Definición de objetivos2 definir el resultado del proyecto y su papel en la estrategia global.

     Análisis de los requisitos y su viabilidad2 recopilar, e*aminar y formular los requisitos del cliente y e*amincualquier restricción que se pueda aplicar.

    Diseo general2 requisitos generales de la arquitectura de la aplicación.

    Diseo en detalle2 definición precisa de cada subconjunto de la aplicación.

    @rogramación (programación e implementación-2 es la implementación en un lenguaje de programación pacrear las funciones definidas durante la etapa de diseo.

    @rueba de unidad2 prueba individual de cada subconjunto de la aplicación para garanti!ar que se implementarde acuerdo con las especificaciones.

    Integración2 para garanti!ar que los diferentes módulos y subprogramas se integren con la aplicación. Vste espropósito de la prueba de integración que debe estar cuidadosamente documentada.

    @rueba beta (o validación-, para garanti!ar que el softare cumple con las especificaciones originales.

    Documentación2 se documenta con toda la información necesaria, sea funcional final para los usuarios dsoftare (manual del usuario-, y de desarrollo para futuras adaptaciones, ampliaciones y correcciones.

    &antenimiento2 para todos los procedimientos correctivos (mantenimiento correctivo- y las actuali!acionsecundarias del softare (mantenimiento continuo-.

    0u1 es p*p2

    @$@ es un lenguaje de programación de uso general de código del lado del servidor originalmente diseado pael desarrollo eb de contenido dinámico.

  • 8/17/2019 Vi Lecturas

    8/12

  • 8/17/2019 Vi Lecturas

    9/12

    /uando el cliente #ace una petición al servidor para que le envíe una página eb, el servidor ejecutaint)rprete de @$@. Vste procesa el script solicitado que generará el contenido de manera dinámica (por ejemobteniendo información de una base de datos-. El resultado es enviado por el int)rprete al servidor, quien a ve! se lo envía al cliente.

    &ediante e*tensiones es tambi)n posible la generación de arc#ivos @D

  • 8/17/2019 Vi Lecturas

    10/12

    'a$egador Web @ara establecer cone*iones con los servidores eb, y obtener la información y los servicque estos prestan, el usuario necesita tener instalado en su equipo un programa cliente capa! de comunicarcon ellos. Estos programas son los llamados 6avegadores eb. 'os 6avegadores eb, tambi)n llamad7isores de eb o "rosers, son aplicaciones que permiten ver en pantalla te*to con formato (con palabras negrita, y con distintas fuentes tipográficas, tamaos y colores- y presentar imágenes en línea. %ambi)n permivisuali!ar secuencias de vídeo y escuc#ar fic#eros de sonido.

    &er$idor =n 1ervidor es un tipo de 1oftare que suministra servicios a los usuarios o terminales quesolicitan. @or ejemplo, en una típica Arquitectura /lienteXservidor, el cliente podría ser un ordenador que realpeticiones de información a trav)s de un programa de correo (utloo+ E*press por ejemplo- y, el servidor

    entrega los datos en forma de correos electrónicos en respuesta a su solicitud. =n servidor no necesariamente una máquina de ?ltima generación de grandes proporciones, no es necesariamente superordenadorS un servidor puede ser desde una computadora vieja, #asta una máquina sumamente pote(ej. 1ervidores eb, bases de datos grandes, etc., procesadores especiales y #asta varios gigabytes memoria-.

    &er$idor Web Local

    %ener un servidor eb local debería ser fundamental para todas aquellas personas que no disponen de un 1ieb online. T@or qu)U 'a respuesta es muy sencilla. El 1ervidor local nos va a permitir comprobar que todas modificaciones que se van a reali!ar en nuestro diseos eb, no provoquen alg?n error que pueda afectatodos aquellos usuarios que naveguen por la red. tro aspecto positivo de un 1ervidor local, es que no #ará fatener que subir fic#eros al servidor

  • 8/17/2019 Vi Lecturas

    11/12

    Está diseado para ser un 1ervidor eb potente y fle*ible que pueda funcionar en la más amplia variedad plataformas y entornos. 'as diferentes plataformas y entornos, #acen que a menudo sean necesarias diferencaracterísticas o funcionalidades. Apac#e se #a adaptado siempre a una gran variedad de entornos a trav)s su diseo modular.

    Este diseo permite a los administradores de 1itios eb elegir que características van a ser incluidas enservidor seleccionando que módulos se van a cargar, ya sea al compilar o al ejecutar el servidor. Este es el mcom?n y más utili!ado en todo el mundo.

     Además, es gratuito, y de /ódigo abierto, así que podríamos decir que corre sobre cualquier plataforma. Apaces una muestra, al igual que el 1istema perativo 'inu* (un =ni* desarrollado inicialmente para @/-, de quetrabajo voluntario y cooperativo dentro de Internet es capa! de producir aplicaciones de calidad profesiondifíciles de igualar.

    "icrosoft II& ser$er.

    Es el 1ervidor eb de &icrosoft, el II1 (Internet Informatión 1erver-, es el motor que ofrece esta compaíamodo profesional, con )l es posible programar en A1@ (Active 1erver @ages, @áginas de 1ervidor Activo- cuales vienen a ser algo similares al @$@, este servidor posee componentes programables desde A

    accediendo a cada uno de sus módulos para una función específica.Este tipo de servidor lo llevan sólo los sistemas indos 6%, por tanto aadimos indos KLLL @rofessionindos KLLL Advanced 1erver, indos @ @rofessional, los cuales traen las versiones Q.L, O.L y O., obstante en la versión del indos .6E% 1erver vendrá la versión G.L (dic#o sistema está en fase beta y que puede descargar desde la misma sede de &icrosoft, sólo es necesario registrarse-.

    En los sistemas indos @ el II1 no viene instalado por defecto por tanto #emos de tener el /D con el sistemcompleto a mano para instalarlo desde2

    &un #a$a &)stem Web &er$er 

    Es un servidor eb de alto rendimiento, de escalabilidad masiva y seguro que ofrece contenido dinámico

    estático. 'as características de virtuali!ación de dominio, versatilidad de configuración y seguridad robusbrindan una mejor calidad de servicio.

    'gni5

    6gin* (se pronuncia :engin* *;- es un 1ervidor #ttp y pro*y inverso gratuito, de /ódigo abierto y de arendimiento, además de ser 1ervidor pro*y para I&A@ y @@0.Este servidor esta actualmente manejando enel H y el QH de todos los dominios globales. A pesar de ser todavía una versión :beta;, 6gin* es conocido psu estabilidad, su gran conjunto de características, una configuración sencilla y por consumir pocos recurso/omo este servidor no provee actualmente de un adaptador directo para &erb, usted requerirá utili!ar un proreverso en 6gin* con el fin de direccionar peticiones #acia uno o varios procesos &erb distintos. Esto pue

    ejecutarse con cualquier 1ervidor de aplicaciones basado en Mac+, como &ongrel, %#in, Ebb o 9lassfis#.

    Lig*ttp

    Es un servidor eb para los 1istemas operativos =ni*5'inu* y &icrosoft indos. Este servidor tambconocido como 'ig#ty, es una alternativa para el 1ervidor de paginas eb Apac#e. Esta diseado para sseguro, rápido (muy rápido a decir verdad-, compatible con los estandars y fle*ible a la ve! que esta optimi!apara entornos en los cuales la velocidad es critica.

    1u #uella de memoria es muy pequea (en comparacion a otros servidores eb-, una ligera carga en el /@=su enfoque en velocidad #acen de lig#ttpd perfecto para servidores con demasiada carga. Este servidor eb

    11

  • 8/17/2019 Vi Lecturas

    12/12

    otro de los más ligeros que #ay en el mercado. Está especialmente pensado para #acer cargas pesadas perder balance, utili!ando poca MA& y poca de /@=. Algunas páginas populares que lo usan son 8outui+ipedia y otras que soportan gran tráfico diariamente. %ambi)n es gratuito y se distribuye bajo 'icencia "1D

    0u1 es !ecnolog-a de Información (%I-

    Es la utili!ación de tecnología [ específicamente computadoras y ordenadores electrónicos X para el manejprocesamiento de información [ específicamente la captura, transformación, almacenamiento, protecciónrecuperación de datos e información.

    'os orígenes de las %I son recientes. Aunque el nombre de tecnología de información se remonta a los aos Zsu utili!ación en los negocios se remonta a mediados del siglo , durante la segunda guerra mundial.

    Desde el surgimiento de Internet, se #a incorporado masivamente a la %I el aspecto de comunicación, con lo cse suele #acer referencia a un tema a?n más amplio, conocido como %ecnología de Información/omunicaciones, o %I/.

    !ecnolog-a de Información en la empresa.

    El departamento o equipo que dentro de una organi!ación ejerce las funciones de %I se encarga de estudidisear, desarrollar, implementar y administrar los sistemas de información utili!ados para el manejo de datosinformación de toda la organi!ación. Estos sistemas, a su ve!, comprenden aplicaciones o softare, y equipos#ardare.

    'levar a cabo las tareas de la organi!ación apoyándose en la %ecnología de información, generalmente redunen un procesamiento más rápido y confiable de su datos. 'a información resultante tiene mayor movilidadaccesibilidad, y cuenta con mayor integridad, que cuando se procesa en forma manual. Igualmente, computadoras relevan a los empleados de numerosas actividades repetitivas y aburridas, permiti)ndoaprovec#ar mejor su tiempo en actividades que agregan más valor.

     A medida que los precios de los equipos de computación bajan, su capacidad aumenta, y se #acen más fácide usar, la %I se utili!a en nuevas y variadas formas. En las empresas, sus aplicaciones son diversas. $oy

    día, la mayoría de las empresas medianas y grandes (y cada día más pequeas y microXempresas- utili!an lapara gestionar casi todos los aspectos del negocio, especialmente el manejo de los registros financierostransaccionales de las organi!aciones, registros de empleados, facturación, cobran!a, pagos, compras, y mucmás.

    %plicaciones de las !I.

     Aplicaciones informáticas

    'as aplicaciones o programas que podemos utili!ar con el ordenador en algunos casos no requieren el uso las redes de comunicación, sino que están diseados para su uso de forma local Xoff lineX. Estas aplicacioninformáticas están bastante e*tendidas, siendo las más utili!adas por los usuarios principalmente

    aplicaciones ofimáticas (procesador de te*to, #oja de cálculo, gestor de bases de datos, etc.-, que se adaptanlas necesidades de usuarios de diferentes ámbitos y profesiones. 6o obstante, podemos encontrar otaplicaciones que son utili!adas en ámbitos más específicos o concretos (ej. aplicaciones estadísticcontabilidad, gestión, etc.-.

    12