Desarrollo web - Examen A1 AGE 2017

Responder
amodeo
PreparaTIC27
Mensajes: 74
Registrado: 31 Jul 2018, 14:02
Agradecido: 0
Agradecimiento recibido: 0

Desarrollo web - Examen A1 AGE 2017

Mensaje por amodeo »

Buenas!

La pregunta 5 del examen de 2017 de AGE A1 dice así:

5. Su organización dispone de una aplicación que debe ser ofrecida a través de Internet, cuya estructura está separada en 4 capas: cliente pesado, capa web, capa de aplicación y capa de datos, ¿cómo publicaría dicha aplicación sin desplegar el cliente pesado en los puestos de usuario?
a) Virtualización de aplicaciones y escritorios.
b) VPN – Virtual Private Network.
c) Proxy inverso.
d) Ninguno de los anteriores.

La correcta es la a). Mi problema es que no entiendo exactamente cómo aplica el concepto de virtualización de equipos y escritorios a un desarrollo web distribuido, como el que plantea. Si alguien que conozca el tema pudiera aclararlo o poner algún ejemplo con tecnologías concretas sería de gran ayuda. Gracias!

Saludos

varocarbas
Usuario registrado
Mensajes: 64
Registrado: 03 Oct 2018, 15:54
Agradecido: 0
Agradecimiento recibido: 0

Re: Desarrollo web - Examen A1 AGE 2017

Mensaje por varocarbas »

Parece que el problema es que has malinterpretado el enunciado. No habla de desplegar una aplicación web a través de virtualización de escritorio (lo que no tendría ningún sentido), sino una aplicación a través de internet. De hecho, parece más bien una pregunta a pillar en la medida que la mayor parte de la información que ofrecen es irrelevante de cara a responder. Borrar toda la parte inicial y dejar solo la pregunta final vendría a ser lo mismo. Se podría dudar de la d), pero no de las otras porque se refieren a redes, no a sustitución de un puesto de usuario.

Respecto a lo que dices de aplicaciones web distribuidas, tampoco es demasiado aplicable aquí. Cuando hablas de aplicaciones web (diferente que hablar de aplicaciones distribuidas/ofrecidas a través de una web), estás presuponiendo la dualidad cliente/servidor y la independencia entre ambos. El hecho de que tu aplicación web esté distribuida, usando 1000 ordenadores en diferentes países, o no al cliente le debería resultar indiferente.

amodeo
PreparaTIC27
Mensajes: 74
Registrado: 31 Jul 2018, 14:02
Agradecido: 0
Agradecimiento recibido: 0

Re: Desarrollo web - Examen A1 AGE 2017

Mensaje por amodeo »

Hola varocarbas,

En efecto, el hecho de que se refiera específicamente a una aplicación web y no a una página web le da algo más de sentido, pero el concepto como tal sigue siendo algo que no me suena haber visto nunca. ¿Conoces algún ejemplo o tecnología que permita hacer eso? Gracias

Saludos

varocarbas
Usuario registrado
Mensajes: 64
Registrado: 03 Oct 2018, 15:54
Agradecido: 0
Agradecimiento recibido: 0

Re: Desarrollo web - Examen A1 AGE 2017

Mensaje por varocarbas »

No, todavía no has entendido la idea.

- Una aplicación web es, por ejemplo, la que estamos usando ahora mismo para escribir aquí. Un formulario web basado en la bipartición cliente/servidor. El servidor es el ordenador (u ordenadores) donde se albergan todo los archivos que contienen el HTML/recursos y, eventualmente, el código dinámico (el back-end, lo que construyes con lenguajes como PHP, ASP.NET o Java; aunque potencialmente puedes usar cualquier lenguaje de programación). El cliente son los exploradores que estamos usando para comunicarnos con el servidor, el front-end, lo que vemos y usamos tan solo en la medida que nos lo permite el servidor, donde también se pueden usar lenguajes como JavaScript que reaccionan a acciones en el cliente (= navegador), en vez de tener que comunicarse con el servidor (someter otro formulario y esperar a ver la respuesta que nos muestra).
Cuando hablas de aplicaciones web distribuidas, estás generalmente hablando de usar una arquitectura distribuida para construir aplicaciones basadas en dicho paradigma cliente-servidor. Lo que significa que el backend, donde se almacenan todos los archivos, esta distribuido entre varios ordenadores, incluso en diferentes localizaciones. Puede considerarse un tipo de virtualización, pero únicamente es relevante desde el punto de vista del servidor, del desarrollador que crea la aplicación web, nunca para el cliente, el que la usa vía explorador web. Cómo sabes tú si este formulario que estamos usando se ejecuta solo desde una máquina o desde muchas? Y por qué te iba a importar? Es decir, es un concepto irrelevante para el usuario, para lo que se pregunta aquí.

- Una aplicación distribuida/ofrecida a través de una web puede ser de cualquier tipo: de escritorio, móvil, etc. A la que no es aplicable la bipartición cliente/servidor, al menos no caracteriza su esencia como en el caso de las aplicaciones web. Estas aplicaciones son más autocontenidas, en el sentido de que, aunque puedan necesitar conectarse a internet/un servidor remoto, ese no es un requisito esencial que las define. Por ejemplo, los archivos .exe o .bat en Windows son aplicaciones de escritorio, se ejecutan directamente y, en principio, solo necesitan hacerlo en una versión de Windows compatible; puedes hacerte con una copia bajándotela de una página web, pero eso no implica que sea una aplicación web (sino una aplicación que resulta que es distribuida a través de una web). Generalmente (o siempre?), cuando se habla de clientes pesados se refieren a este segundo tipo (aplicaciones que te bajas y ejecutas en tu máquina), dejando la designación de cliente ligero para aplicaciones web, que tienen que ser ejecutadas a través de un explorador y donde no puedes acceder a los archivos (las que describo en el punto anterior).

Si has entendido todas las ideas de más arriba, comprenderás que lo que preguntan es cómo se puede evitar que el usuario ejecute una aplicación (no una aplicación web, para la que siempre se usa un explorador y a cuyos archivos no se tiene acceso, sino una que se puede bajar, de escritorio o similar, incluso web pero teniendo acceso a todos sus archivos) en una máquina que no es la suya. Como alternativas te dan dos opciones de conexión/redes (= nada que ver con lo que se está preguntando) y la opción abstracta de usar virtualización de escritorio que es precisamente lo que se busca: evitar que el usuario ejecute en su máquina una aplicación que está precisamente pensada para ejecutarse en su máquina. Esto se puede conseguir, por ejemplo, a través de una máquina virtual/sistema operativo virtual en la nube, donde el usuario puede instalar la aplicación y ejecutarla sin usar recursos de su propio ordenador.

Si me permites un consejo. Me da que tu conocimiento de (desarrollo de) software es bastante endeble y, a lo mejor, deberías enfocar tu estudio aceptando esa realidad: o te buscas algo de material básico acerca del tema para ir asentando conocimientos (los apuntes de ASTIC sí me parece que entran bastante en detalle en el tema de redes, incluso en conceptos básicos, por suerte lo que yo necesitaba; pero en la parte de desarrollo de software parece que dan bastantes ideas por sabidas) o lo vas dejando un poco de lado no perdiendo tiempo en algo que tampoco va a ser tremendamente relevante en el test (sin duda que habrá varias preguntas de esto, pero tampoco muchas). Sí que convendría que tuvieses los conceptos básicos claros para el tercer examen, porque sí que parece que pueden ser necesarios allí.

amodeo
PreparaTIC27
Mensajes: 74
Registrado: 31 Jul 2018, 14:02
Agradecido: 0
Agradecimiento recibido: 0

Re: Desarrollo web - Examen A1 AGE 2017

Mensaje por amodeo »

Esta es la clave que no había yo interpretado de la pregunta:
Puedes hacerte con una copia bajándotela de una página web, pero eso no implica que sea una aplicación web (sino una aplicación que resulta que es distribuida a través de una web). Generalmente (o siempre?), cuando se habla de clientes pesados se refieren a este segundo tipo (aplicaciones que te bajas y ejecutas en tu máquina), dejando la designación de cliente ligero para aplicaciones web, que tienen que ser ejecutadas a través de un explorador
Simplemente entendía que hacía referencia en todo caso a una aplicación web para acceso por navegador, de ahí mi duda. Gracias!

varocarbas
Usuario registrado
Mensajes: 64
Registrado: 03 Oct 2018, 15:54
Agradecido: 0
Agradecimiento recibido: 0

Re: Desarrollo web - Examen A1 AGE 2017

Mensaje por varocarbas »

amodeo escribió:
17 Abr 2019, 14:07
Simplemente entendía que hacía referencia en todo caso a una aplicación web para acceso por navegador, de ahí mi duda. Gracias!
Nada, para eso estamos. Pero una última aclaración: ten en cuenta que el tema cliente pesado/ligero es muy abstracto, casi jerga y ha surgido en el mundo web. Podría entenderse también como una aplicación web cliente-servidor que tire una barbaridad de parte cliente/JavaScript (aunque no parecería un escenario demasiado lógico, menos con la potencia de hoy en día). La idea importante y lo que lo hace distinto a la aplicación web típica (el navegador como cliente ligero y el servidor gestionando la mayor parte de la carga) es que use muchos recursos del ordenador del usuario. Para usar una web, por defecto, no hay que plantearse virtualización para minimizar el tremendo impacto en la máquina de los usuarios. Al hablar de un cliente pesado, por el contrario, sí. El formato exacto de esa aplicación o su arquitectura o el lenguaje de programación usado no son muy relevantes. Es una expresión genérica cuyo objetivo es poner énfasis en la característica más relevante: qué ordenador se encarga de la mayor parte del trabajo (cliente = usuario).

Responder

Volver a “PREGUNTAS TEST - ERRORES Y DUDAS”