Programación Web Unidad1

download Programación Web Unidad1

of 14

Transcript of Programación Web Unidad1

  • 8/18/2019 Programación Web Unidad1

    1/14

    PROGRAMACIÓN WEB

    Unidad 1. Arquitectura

    En principio, el concepto aplicación proviene del latín applicatĭo, que hace

    referencia al verbo aplicar, que consiste en el accionar y eectuar. A su vez, lanoción de aplicación puede utilizarse como ad!eti"o para un individuo que realizauna actividad con total desenvoltura y talento. Por ejemplo, es común decir quealuien es aplicado en alún deporte o asinatura escolar.

    !esde la perspectiva de un usuario, puede ser difícil percibir la diferencia entre unsitio "eb y una aplicación "eb. #eún el #iccionario O$ord en línea, nosenteramos que una aplicación es $un prorama o conjunto de proramas paraayudar al usuario de un ordenador para procesar una tarea específica$. %naaplicación "eb es b&sicamente una manera de facilitar el loro de una tareaespecífica en la 'eb, a diferencia de un sitio "eb est&tico que es m&s bien unaherramienta, no menos importante, para la comunicación. El t(rmino m&s decisivode esta definición es $tarea específica$.

    A%licaci&n inor'(tica

    !entro del campo de inform&tica, el t(rmino aplicación se le atribuye aaquellos proramas únicamente dise)ados como herramientas que permiten alusuario realizar un trabajo o m&s. #u funcionalidad reside en automatizar problemas complejos en cuestiones de seundos, permitiendo de esta manera untrabajo completamente m&s r&pido y eficiente *hojas de te+to, e+cel, calculadora,base de datos.

    %na aplicación inform&tica puede ser dise)ada en función de la eficiencia que sequiere conseuir. Es así que e+isten proramas que resuelven solo un problemaen específico, llamados a medida- y otros que incluyen en sí una cantidadcolectiva de aplicaciones, conocidos como paquetes interados de soft"are.

    A%licaci&n )e*

    uevamente, dentro del campo de la ineniería inform&tica, podemos encontrar elconcepto de aplicación "eb. %na aplicación "eb es toda herramienta que seencuentre dentro de un servidor "eb al que un usuario puede acceder medianteun naveador "eb y cone+ión a /nternet.

    El beneficio de una aplicación "eb se encuentra en la practicidad que ofrecen susherramientas y el acceso a las mismas. Estas mismas herramientas puedenpermitir una cierta interacción directa con el usuario y los datos que estas posean.

    0eer todo en1 2oncepto de aplicación 3 !efinición y 2oncepto.

    http://concepto.de/aplicacion/#ixzz3yTMAU5V9http://concepto.de/aplicacion/#ixzz3yTMAU5V9

  • 8/18/2019 Programación Web Unidad1

    2/14

  • 8/18/2019 Programación Web Unidad1

    3/14

    en día. Antes de esa fecha, internet nunca había sido considerado uno de losmedios de comunicación m&s importantes.

    El mismo a)o, la compa)ía Boole desarrolló su primer motor de búsqueda enlínea que, por su nueva forma de inde+ar p&inas "eb, facilita enormemente la

    búsqueda de información en internet. Boole siue innovando y se convirtió enuno de los m&s prolíficos en cuanto a las aplicaciones 'eb, con indicación delmuy popular Boole 8aps, Boole !ocs, Bmail y en aumento.

     A principios de GHH=, poco despu(s de la e+plosión de la burbuja de internet,'iCipedia se lanzó como un sub3proyecto de upedia, una enciclopedia en líneatradicional. Para desarrollar su plataforma, se utiliza un tipo de 'iCipedia de laaplicación "eb denominada $"iCi$, que permite a cualquier usuario arear contenido. 0as contribuciones no se hicieron esperar, y al final del primer a)o defuncionamiento, 'iCipedia ya contaba con GHHHH p&inas en => idiomas. oy endía, casi G= millones de artículos en G>9 idiomas conforman el se+to sitio m&svisitado en el mundo, siendo el primero Boole.

    En GHH6, 8y#pace fue fundado y m&s tarde, de GHH9 a GHH>, el sitio se convirtióen el medio de comunicación social m&s visitado. 8y#pace fue una plataforma delanzamiento para otras aplicaciones "eb conocidos como Iou7ube, y #lide.comJ@ocCIou, todos los cuales comenzaron como módulos adicionales para losusuarios de 8y#pace antes de convertirse en sus propios sitios "eb en su propioderecho.

    Entonces, tres acontecimientos muy importantes ocurrieron en GHHK. En primer luar, en una conferencia de la 'eb G.H a caro de Dohn Fattelle y 7im LM@eilly, elconcepto de $)e* co'o %lataor'a$ fue mencionado por primera vez. Estainnovación allanó el camino para futuras aplicaciones "eb, es decir, un soft"areque aprovecha las ventajas de la cone+ión a internet y que se desvían del usotradicional del escritorio. En seundo luar, el sitio interactivo de !i se puso enmarcha. Propuso una forma innovadora de crear y encontrar contenido en internetmediante la promoción de noticias y enlaces democr&ticamente votado por losusuarios. I, por último, el tercer ran evento, pero no menos importante, fue ellanzamiento de

  • 8/18/2019 Programación Web Unidad1

    4/14

    de videos al día, adem&s de un servicio de alquiler de películas en línea, y,finalmente, episodios de emisión para las empresas o las películas de 8B8, 0ionsBate Entertainment y 2F#.

    7"itter, por su parte, se puso en marcha en GHH. 2on los a)os, la popularidad de

    7"itter ha aumentado de =, millones de Mt"eetsM en GHH? con la impresionantecifra de 6KH millones de dólares por día en marzo de GH=G *equivalente a casiKHHH Mt"eetsM por seundo.

    El a)o GHH? estuvo marcado por la aparición del iPhone, que fue sin dudaresponsable de la lleada de la nueva moda para las plataformas móviles yaplicaciones "eb. Ahora son accesibles por tel(fono inteliente.

     A principios de GH==, la empresa NicCstarter, que facilita la financiación deproyectos en línea de forma participativa, ha lleado a los KHHH proyectos con m&sde 6H millones de dólares en donaciones. Por otra parte, casi el KKO de losproyectos se han iniciado con (+ito desde esta plataforma.

    Puesto que en los K6 a)os de la historia de internet, los proramadores hantratado de hacer estallar las barreras entre las aplicaciones tradicionales yaplicaciones "eb. El proreso de los últimos a)os en tecnoloía, velocidad dedescara, así como herramientas de desarrollo *incluyendo la plataforma. et de8icrosoft aborda alunas deficiencias.

    Poco a poco, las aplicaciones 'eb se est&n convirtiendo en una funcionalidadm&s completa, mientras que est&n siendo f&ciles de usar. Podemos tomar por ejemplo de Boole !ocs, Lffice 'eb Apps, Fit!efender uicC#can, 0ast.fm, y enlínea %

  • 8/18/2019 Programación Web Unidad1

    5/14

    #uites para trabajo colaborativo, Administración de relaciones con el cliente*2@8, E@P, etc. 0a 'eb se reinventa día a día. 0o que ayer parecía imposiblehoy es una realidad. ace un a)o, o quiz&s meses, no se podía entender quehubiera tantas opciones para realizar una hoja de c&lculo en una plataforma "ebcomo docs. oole.com, o que pudi(ramos juar a un jueo animado de

    construcción de mundos *tipo Ae of empires en """. travian.net, o que e+istieseun sistema de búsqueda mapas y direcciones como maps.oole.com. Boole esuno de los que m&s ha ayudado al desarrollo y fomento de las aplicaciones "eb ysirve de infraestructura para llevar a cabo tales ideas. Es cierto que la arquitecturacliente3servidor de la "eb ha ofrecido muchas ventajas, pero tambi(n es cierto quecarece de la riqueza r&fica de las aplicaciones de escritorio que cuentan concontroles intelientes que dan mayor fluidez al trabajo del usuario. Esto ha sidoresuelto con varias estrateias o tecnoloías tales como ADAS,

  • 8/18/2019 Programación Web Unidad1

    6/14

    • 2apa de presentación1 la que ve el usuario *tambi(n se la denomina $capa

    de usuario$, presenta el sistema al usuario, le comunica la información ycaptura la información del usuario en un mínimo de proceso *realiza unfiltrado previo para comprobar que no hay errores de formato. 7ambi(n esconocida como interfaz r&fica y debe tener la característica de ser 

    $amiable$ *entendible y f&cil de usar para el usuario. Esta capa secomunica únicamente con la capa de neocio.

    • 2apa de neocio1 es donde residen los proramas que se ejecutan, se

    reciben las peticiones del usuario y se envían las respuestas tras elproceso. #e denomina capa de neocio *e incluso de lóica del neocioporque es aquí donde se establecen todas las relas que deben cumplirse.Esta capa se comunica con la capa de presentación, para recibir lassolicitudes y presentar los resultados, y con la capa de datos, para solicitar al estor de base de datos almacenar o recuperar datos de (l. 7ambi(n seconsideran aquí los proramas de aplicación.

    • 2apa de datos1 es donde residen los datos y es la encarada de acceder a

    los mismos. Est& formada por uno o m&s estores de bases de datos querealizan todo el almacenamiento de datos, reciben solicitudes dealmacenamiento o recuperación de información desde la capa de neocio.

    7odas estas capas pueden residir en un único ordenador, si bien lo m&s usual esque haya una multitud de computadoras en donde reside la capa de presentación*son los clientes de la arquitectura cliente4servidor. 0as capas de neocio y dedatos pueden residir en el mismo ordenador, y si el crecimiento de lasnecesidades lo aconseja se pueden separar en dos o m&s computadoras. Así, si eltama)o o complejidad de la base de datos aumenta, se puede separar en varioscomputadoras los cuales recibir&n las peticiones del ordenador en que resida la

    capa de neocio.

    #i, por el contrario, fuese la complejidad en la capa de neocio lo que obliase a laseparación, esta capa de neocio podría residir en uno o m&s computadoras querealizarían solicitudes a una única base de datos. En sistemas muy complejos sellea a tener una serie de computadoras sobre los cuales corre la capa deneocio, y otra serie de computadoras sobre los cuales corre la base de datos.

    En una arquitectura de tres niveles, los t(rminos $capas$ y $niveles$ no sinificanlo mismo ni son similares.

    El t(rmino $capa$ hace referencia a la forma como una solución es sementadadesde el punto de vista lóico1

    • Presentación. *2onocida como capa 'eb en aplicaciones 'eb o como

    capa de usuario en Aplicaciones ativas

    • 0óica de eocio. *2onocida como capa Aplicativa

    • !atos. *2onocida como capa de Fase de !atos

  • 8/18/2019 Programación Web Unidad1

    7/14

    En cambio, el t(rmino $nivel$ corresponde a la forma en que las capas lóicas seencuentran distribuidas de forma física. Por ejemplo1

    • %na solución de tres capas *presentación, lóica del neocio, datos que

    residen en un solo ordenador *PresentaciónTlóicaTdatos. #e dice que la

    arquitectura de la solución es de tres capas y un nivel.

    • %na solución de tres capas *presentación, lóica del neocio, datos que

    residen en dos computadoras *PresentaciónTlóica por un lado-lóicaTdatos por el otro lado. #e dice que la arquitectura de la solución esde tres capas y dos niveles.

    Arquitectura de + ca%as.Es conocida tambi(n como la arquitectura tradicional de cliente4servidor. @equiereuna interfaz de usuario que se instala y corre en una P2 o estación de trabajo yenvía solicitudes a un servidor para ejecutar operaciones complejas. Por ejemplo,

    una estación de trabajo utilizada como cliente puede correr una aplicación deinterfaz de usuario que interroa a un servidor central de bases de datos.

    ,enta!as-El desarrollo de aplicaciones en un ambiente de dos capas funcionaadecuadamente, pero no es necesariamente lo m&s eficiente. 0as herramientaspara el desarrollo con dos capas son robustas y ampliamente evaluadas.

    0as t(cnicas de ineniería de soft"are de prototipo se emplean f&cilmente. 0assoluciones de dos capas trabajan bien en ambientes no din&micos estables, perono se ejecutan bien en oranizaciones r&pidamente cambiantes.

    1.. /ecnolo0as %ara el desarrollo de a%licaciones )e*.

    /ecnolo0as en la ca%a de Presentaci&n

     

    2a"a 3er"er 4aces 52346 Pri'e 4aces0a tecnoloía Dava #erver

  • 8/18/2019 Programación Web Unidad1

    8/14

     

    A!a$Es el acrónimo para Asynchronous Dava #cript T S80 y el concepto es1 2arar yrenderizar una p&ina, lueo mantenerse en esa p&ina mientras scripts y rutinasvan al servidor buscando, en background , los datos que son usados paraactualizar la p&ina solo re3renderizando la p&ina y mostrando u ocultando

    porciones de la misma.

     ADAS incorpora1o Presentación basada en est&ndares usando S780 y 2##.

    o E+hibición e interacción din&micas usando el !ocument Lbject

    8odel.o /ntercambio y manipulación de datos usando S80 y S#07.

    o @ecuperación de datos asincrónica usando S80 ttp @equest.

     

    A!a$82s Es una librería open source que se intera totalmente en la arquitectura de D#< y

    e+tiende la funcionalidad de sus etiquetas dot&ndolas con tecnoloía Aja+ deforma limpia y sin a)adir códio Dava #cript. 8ediante este frame"orC se puedevariar el ciclo de vida de una petición D#

  • 8/18/2019 Programación Web Unidad1

    9/14

     

    9en0ua!e de Marcado de :i%erte$to E$tensi*le 5;:/M96

    Es una versión m&s estricta y limpia de 780, que nace con el objetivo dereemplazar a 780 ante su limitación de uso con las cada vez m&s

    abundantes herramientas basadas en S80. S780 e+tiende 780 K.Hcombinando la sinta+is de 780, dise)ado para mostrar datos, con la de S80,dise)ado para describir los datos.

    E$tensi*le Mar

  • 8/18/2019 Programación Web Unidad1

    10/14

    servicios. El servicio de persistencia es proporcionado por un frame"orCespecializado denominado proveedor de persistencia.

     

    Plain Old 2a"a O*!ect 5PO2O=s6#on las silas utilizadas por proramadores java para enfatizar el uso de clases

    simples y que no dependen de un frame"orC en especial.

    /ecnolo0as en la ca%a de Acceso a #atos 

    2a"a Persistence API 52PA6El Dava Persistence AP/ fue desarrollado por el rupo de e+pertos de EDF 6.H,aunque su uso no se limita a los componentes soft"are EDF. 7ambi(n puedeutilizarse directamente en aplicaciones "eb y aplicaciones clientes- incluso fuerade la plataforma Dava EE.

    En su definición, se han combinado ideas y conceptos de los principalesframe"orCs de persistencia como ibernate, 7oplinC y D!L y de las versiones

    anteriores de EDF. 7odos estos cuentan actualmente con una implementación DPA.

     

    4ra'e)or< :i*ernateibernate es una capa de persistencia objeto4relacional y un enerador desentencias #0. Permite dise)ar objetos persistentes que podr&n incluir polimorfismo, relaciones, colecciones, y un ran número de tipos de datos. !e unamanera muy r&pida y optimizada se puede enerar bases de datos en cualquierade los entornos soportados1 Lracle, !FG, 8y#ql, etc. I lo m&s importante de todo,es open source, lo que supone, entre otras cosas, que no se tiene que paar nadapor adquirirlo.

    ibernate ofrece tambi(n un lenuaje de consulta de datosllamado 0 *Hibernate Query Language. Puede ser usado para desarrollar ydistribuir aplicaciones de forma ratuita. Es utilizado en las aplicaciones Dava EE.

     

    2Boss 3ea'DFoss #eam es una nueva y poderosa aplicación para la construcción de lapró+ima eneración de aplicaciones 'eb G.H de la unificación y la interación detecnoloías, como Dava #cript asíncrono y S80 *ADAS, Dava #erver

  • 8/18/2019 Programación Web Unidad1

    11/14

    9en0ua!e de Pro0ra'aci&nDava, es un lenuaje orientado a objetos desarrollado por #un 8icrosystems. 0aproramación en Dava, permite el desarrollo de aplicaciones bajo el esquema de2liente #ervidor, como de aplicaciones distribuidas, lo que lo hace capaz deconectar dos o m&s computadoras u computadoras, ejecutando tareas

    simult&neamente, y de esta forma lora distribuir el trabajo a realizar.

    Es distribuido, multiplataforma, compilado, seuro y posee una arquitecturaneutral. Proporciona un conjunto de clases potente y fle+ible. Elimina muchas delas características de 2 y 2TT, lo que lo hace m&s manejable desde el punto devista del proramador.:erra'ientas

     

    Ecli%se Gany'edeEs un entorno interado */!E para desarrollo de aplicaciones con java. Est&soportado por /F8, es un proyecto open source, multiplataforma para desarrollar 

    lo que el proyecto llama $Aplicaciones de 2liente Enriquecido$. #e est&convirtiendo en el est&ndar de facto de los entornos de desarrollo para Dava. I esque Eclipse no es tan solo un /!E, se trata de un marco de trabajo modular ampliable mediante complementos * plugins. !e hecho, e+isten complementosque permite usar Eclipse para proramar en PP, Perl, Python, 242TT, etc.

     

    Post0re3>9 3er"er ?..Es un potente estor de códio abierto, ofrece servicios de control de concurrenciamulti3versión, soportando casi toda la sinta+is #0 *incluyendo subconsultas,transacciones, tipos y funciones definidas por el usuario, contando tambi(n conun amplio conjunto de enlaces con lenuajes de proramación *incluyendo 2, 2T

    T, Dava, Perl y Python. Es e+tensible, brinda ran estabilidad y confiabilidad y esmultiplataforma. 7iene soporte para lenuajes procedurales internos, incluyendoun lenuaje nativo denominado P04PB#0. Este lenuaje es comparable allenuaje procedural del sistema de estión de base de datos relacional Lracle,P04#0.

    %na de sus ventajas es la e+celente documentación que e+iste, adem&s de contar con una comunidad de usuarios y desarrolladores a los que acudir en caso detener problemas.

    1.8. Planiicaci&n de a%licaciones )e*

    8uchos dise)adores en alún u otro momento caen en la tentación de comenzar adise)ar un nuevo proyecto sin ninún tipo de planificación previa. Ia sea por pecar 

    http://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos5/segu/segu.shtmlhttp://www.monografias.com/trabajos12/pmbok/pmbok.shtmlhttp://www.monografias.com/trabajos11/winnet/winnet.shtmlhttp://www.monografias.com/trabajos11/ladocont/ladocont.shtmlhttp://www.monografias.com/trabajos13/vida/vida.shtmlhttp://www.monografias.com/trabajos13/vida/vida.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos5/segu/segu.shtmlhttp://www.monografias.com/trabajos12/pmbok/pmbok.shtmlhttp://www.monografias.com/trabajos11/winnet/winnet.shtmlhttp://www.monografias.com/trabajos11/ladocont/ladocont.shtmlhttp://www.monografias.com/trabajos13/vida/vida.shtml

  • 8/18/2019 Programación Web Unidad1

    12/14

    de novatos, perezosos o simplemente no creer en que la planificación debe formar parte del proceso creativo.

    2on planificación previa no se suiere numerosas horas de escrupulosaplanificación y oranización de todo lo que har&, ha de ser pr&ctico y en ninún

    momento debe ser peor el remedio que la enfermedad, se debe recordar queinteresa planificar para ahorrar tiempo y anar en calidad.

    En este proceso previo de planificación es importante que se de respuesta apreuntas tan b&sicas como1

    • Uu( tipo de "eb voy a crearV

    • Uu( clase de público visitar& la "ebV

    • U2u&l es la finalidad 4 objetivo final de la "ebV

    • U2umplir& el dise)o en mente los objetivosV UEs usable e intuitivoV

    2ontestando a este tipo de preuntas se enfrentan problemas que a pesar de ser demasiado obvios evitar&n alo m&s que un dolor de cabezaW Ucu&ntas veceshemos no se desechan dise)os visualmente atractivos pero que no cumplen losobjetivos b&sicosV

     A menudo antes de empezar un proyecto no tenemos claro cu&l es el objetivo delmismo o qu( pretendemos alcanzar por eso esta peque)a lista te puede ayudar ala hora de planificar un proyecto.

    Planificar una aplicación "eb implica pensar y definir muchas cuestiones deimportancia1

    =. Planificar el futuro Puede sonar un poco duro que nos tenamos planear el futuro de alo que aún noe+iste pero es así, que pasa si en un futuro tuvi(ramos problemas deescalabilidad, y sí tuvi(ramos que mirar las bases de datos de 8y#ql a Lracle,de una buena planificación depende la dificultad en un futuro de realizar cambiosen la plataforma que sostiene nuestra aplicación. G. !ocumentación 

    !ocumenta todo lo que puedas tu aplicación en especial aquellas partes de lamisma que hayan requerido un mayor tiempo de desarrollo, en un futuro cercanote librar& de m&s de un quebradero de cabeza. 6. o empieces por los peque)os detalles 

     A menudo es m&s sencillo plantearse el desarrollo de peque)os servicios cómopueden ser los @## o una alería de im&enes, pero es fundamental comenzar 

  • 8/18/2019 Programación Web Unidad1

    13/14

    por lo que vendr& a ser la base de nuestra aplicación, de este modo podremos ir completando nuestra aplicación en un orden lóico, primero los cimientosW K. !ise)o de la interfaz 

    Esta entrada puede que te ayude en esta parte, es importante conseuir un buendise)o para nuestra interfaz, es importante conseuir un interfaz que se atractivo yútil para la ran mayoría de los usuarios, lo m&s importante es llear a conectar con el usuario y la mejor manera es ofrecerle la mayor cantidad de informaciónposible para que se lleue a sentir parte del proyecto pero todo esto muchasveces no lo lleamos a conseuir por una mala elección en la combinación de loscolores que se interan en nuestra interfaz. 9. Evita construirte librerías o frame"orCs innecesarios 8uchas personas siempre sostienen que es mejor que cada desarrollador utilicesus propias librerías, pero la realidad es que en muchas ocasiones esto suponeuna ran p(rdida de tiempo, es mejor buscar una librería o frame"orC que separezca lo m&s posible a lo deseado que desarrollarlo por ti mismo. . 7en un plan de proyecto 

     Aseúrate de que cada desarrollador que trabaje en el proyecto sepa qu( es loque debe de hacer y cu&ndo tiene que hacerlo, teniendo todo esto redactado enun documento te ayudar& a identificar problemas. ?. Elie el lenuaje adecuado Ia sabes que hay numerosas discusiones sobre U2u&l es el mejor lenuaje deproramaciónV, la respuesta a menudo es depende de para que quieras utilizarlo,por eso aseúrate de escoer el lenuaje adecuado. >. Evita las distracciones Lptimiza tu tiempo, cuando est(s trabajando que nada te distraia, ni llamadastelefónicas, ni clientes de mensajerías instant&neas, proponte un buen número dehoras al día de trabajo aislado dedicado al proyecto. ;. #iue un buen control de calidad 8uchas veces nos equivocamos al planificar los tiempos de proyecto y esto lleva amenudo a los desarrolladores a tener que escribir Qcódio sucioR, esta es unabuena opción si lo que quieres es una demo de la aplicación funcionando pero eaactitud te traer& problemas en el futuro. =H. Plant(ate los pasos a seuir despu(s del desarrollo 

  • 8/18/2019 Programación Web Unidad1

    14/14

    7en en cuenta que est& fase de desarrollo alún día deber& acabar, estudia conqu( frecuencia se deber& actualizar y que se necesita para que este funcione.

    #i quieres conocer m&s, consulta1 https144prezi.com4qmCih>+aefs4planificacion3de3aplicaciones3"eb4

    https://prezi.com/qgmkih8xaefs/planificacion-de-aplicaciones-web/https://prezi.com/qgmkih8xaefs/planificacion-de-aplicaciones-web/https://prezi.com/qgmkih8xaefs/planificacion-de-aplicaciones-web/https://prezi.com/qgmkih8xaefs/planificacion-de-aplicaciones-web/