miércoles, 25 de septiembre de 2013

Despliege de aplicaciones web - Ejercicio 1

DESPLIEGE DE APLICACIONES WEB


Como nuestra profesora de Despliegue de Aplicaciones Web y los demás profesores nos piden, la mayoría que publiquemos los ejercicios en nuestros blogs veréis bastantes entradas este año, así que sin mas paso al ejercicio 1


  1. Define "aplicación web"  e indica sus ventajas e inconvenientes.
En la ingeniería de software se denomina aplicación web a aquellas herramientas que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación software que se codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución al navegador.

  • Ventajas:
- Ahorra tiempo: Se pueden realizar tareas sencillas sin necesidad de descargar ni instalar ningún programa.
- No hay problemas de compatibilidad: Basta tener un navegador actualizado para poder utilizarlas.
- No ocupan espacio en nuestro disco duro.
- Actualizaciones inmediatas: Como el software lo gestiona el propio desarrollador, cuando nos conectamos estamos usando siempre la última versión que haya lanzado.
- Consumo de recursos bajo: Dado que toda (o gran parte) de la aplicación no se encuentra en nuestro ordenador, muchas de las tareas que realiza el software no consumen recursos nuestros porque se realizan desde otro ordenador.
- Multiplataforma: Se pueden usar desde cualquier sistema operativo porque sólo es necesario tener un navegador.
- Portables: Es independiente del ordenador donde se utilice (un PC de sobremesa, un portátil...) porque se accede a través de una página web (sólo es necesario disponer de acceso a Internet). La reciente tendencia al acceso a las aplicaciones web a través de teléfonos móviles requiere sin embargo un diseño específico de los ficheros CSS para no dificultar el acceso de estos usuarios.
- La disponibilidad suele ser alta porque el servicio se ofrece desde múltiples localizaciones para asegurar la continuidad del mismo.
- Los virus no dañan los datos porque éstos están guardados en el servidor de la aplicación.
- Colaboración: Gracias a que el acceso al servicio se realiza desde una única ubicación es sencillo el acceso y compartición de datos por parte de varios usuarios. Tiene mucho sentido, por ejemplo, en aplicaciones online de calendarios u oficina.
- Los navegadores ofrecen cada vez más y mejores funcionalidades para crear aplicaciones web ricas (RIAs).

  • Inconvenientes:
- Habitualmente ofrecen menos funcionalidades que las aplicaciones de escritorio. Se debe a que las funcionalidades que se pueden realizar desde un navegador son más limitadas que las que se pueden realizar desde el sistema operativo. Pero cada vez los navegadores están más preparados para mejorar en este aspecto. La aparición de HTML 5 representa un hito en este sentido. Es posible añadir funcionalidades a estas aplicaciones gracias al uso de Aplicaciones de Internet Enriquecidas.

    2. Arquitectura Cliente-Servidor. Descríbela brevemente y enumera los elementos involucrados en ella. Indica sus características y software necesario en cada parte.
Descripción: La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.

Elementos involucrados: Son la red, el cliente y el servidor, también puede ser de tres capas incorporando un servidor de bases de datos.

Características y software necesario en cada parte:

   -Cliente: El cliente es una aplicación informática o un computador que consume un servicio remoto en otro computador, conocido como servidor, normalmente a través de una red de telecomunicaciones.

  • Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo).
  • Espera y recibe las respuestas del servidor.
  • Por lo general, puede conectarse a varios servidores a la vez.
  • Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
  • Al contratar un servicio de redes, se debe tener en cuenta la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.

  •   -Servidor: En informática, un servidor es un nodo que forma parte de una red, provee servicios a otros nodos denominados clientes.

  • Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo).
  • Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
  • Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado).
  • No es frecuente que interactúen directamente con los usuarios finales.

  •   -Software necesario: En el cliente es necesario un navegador y, obviamente, el SO y en el servidor, además de el SO, un Software para servir web, bases de datos y un interprete para los lenguajes del lado de servidor, por ejemplo, php y rubi.

            3. Define las tecnologías de desarrollo usadas para la  parte cliente (lenguaje HTML, etc) y las usadas en la parte servidor (HTML, lenguajes script, etc) en un servicio web

      -Cliente: Las tecnologías más empleadas son:
     
    HyperText Markup Language (HTML)

    Cascading Style Sheets (CSS), DHTML documento XML

    Lenguaje de script (JavaScript, VBScript, etc.)

    Control ActiveX

    Applets en Java

    Plug-ins: Macromedia Flash, Autodesk MapGuide, ...

    Virtual Reality Modeling Language (VRML)

      -Servidor:
     
    CGI: complejo y poco eficiente
     
    SSI: estándar de “macros” de servidor web

    ASP (Microsoft): Windows, Windows NT

    JSP y Servlets (Sun Microsystems): Windows, algunos Unix

    PHP (PHP.net): código fuente, binarios para Win32 y algunos Unix

    ColdFusion (Macromedia/allaire): Windows, Windows NT, Linux, Solaris, HP-UX

     4. ISS vs Apache:
    Indica qué tienen en común IIS y Apache y qué servicios proporcionan cada uno de ellos.

    La parte común seria que los dos son servidores web, sirven para crear y administrar paginas web.

    - Apache

    • Tiene soporte para los lenguajes  Php(lenguaje standard de este servidor), cgi, Perl, cold fusion, mysql(standard en bases de datos de este server), jsp, sql, MSsql, ASP, ASP.NET (estos solo funcionan en modo perlscript y c o instalando el chilisoft), xml, ajax.
    • Módulos de autenticación: mod_access, mod_auth y mod_digest.
    • Soporte para SSL y TLS.
    • Permite la configuración de mensajes de errores personalizados y negociaciónde contenido.
    • Permite autenticación de base de datos basada en SGBD


    - IIS

    • Tiene soporte para los lenguajes ASP, ASP.NET, vbscript, ajax, MSsql, mysql(en versiones superiores a Win2000), xml, Acsses



    2. Indica ahora sus principales diferencias.



    • Apache es software libre, y IIS necesitas una licencia de Windows
    • Apache se necesitan conocimientos mayores para configurar el servidor, en IIS esos conocimientos son menores.
    • Apache es multiplataforma, IIS solo puede ser ejecutado en sistemas Windows Server.





    3. Investiga cuál de los dos es más usado. Indica los artículos de donde hayas sacado la información. 

    El mas usado Apache pero según comparativas ISS + NT es 3 veces mas rápido que la pareja Linux Apache, pero es mas usado este ultimo por su gratuidad y acceso al código

    Angel Moreno Cubero y Francisco Valmisa Agundo.



     

    No hay comentarios:

    Publicar un comentario