Inicio Apuntes FP Selección de arquitecturas y herramientas de programación

Selección de arquitecturas y herramientas de programación

Publicado por entreunosyceros
Publicado el: Última actualización:

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

Modelos de programación cliente-servidor:

* World Wide Web:

Es un conjunto de recursos interconectados que conforman el conocimiento humano actual.

  • Hubs, repetidores, puentes, pasarelas o encaminadores.
  • Protocolos de comunicaciones: TCP, IP, HTTP, FTP, SMTP.
  • Sistema de nombres de dominio (DNS).

 

*Configuración arquitectónica más habitual: cliente/servidor.

– El Cliente es un componente consumidor de los servicios.

– El Servidor es un proceso proveedor de servicios.

cliente servidor

 * Funcionalidades en los entornos Cliente/Servidor (capas):

Capa de presentación: Es la que ve el usuario.

Capa de negocio: Es la capa que conoce y gestiona las funcionalidades que esperamos del sistema o aplicación web.

Capa de persistencia o de datos: Es la capa donde residen los datos y la encargada de acceder a los mismos.

 * Clasificación de los modelos de programación Web:

– Según el tamaño de los componentes:

  • Fat client (thin Server), el mayor peso de la aplicación se ejecuta en el cliente.
  • Fat server (thin Client), funcionalidad asociada al cliente limitada a la presentación de la información enviada por el servidor.

– Según la naturaleza del servicio ofrecido en función de las capacidades ofrecidas por el servidor:

  • Servidores de ficheros, servidores de bases de datos, servidores de transacciones, servidores de objetos, servidores web …

– Reparto de funciones entre cliente y servidor: gestionar y distribuir las responsabilidades de cada una de las prestaciones funcionales entre el cliente y el servidor:

  • Modelo en dos capas.
  • Modelo en tres capas.

* Clasificación de las aplicaciones Web:

  • Aplicaciones Web Estáticas: El usuario recibe una página web en la que la interacción no conlleva ningún tipo de acción.
  • Aplicaciones Web Dinámicas: La interacción del cliente con el recurso recibido por parte del servidor (página web) produce algún tipo de cambio en la visualización del mismo.
  • Aplicaciones Web Interactivas: La integración del usuario hace que se genere un diálogo entre el cliente y el servidor.

* Lenguaje de programación correspondiente a un entorno servidor:

– Es aquel cuyo código, bien sea como objeto precompilado (C++) o bien como código interpretado, es ejecutado por un software específico en el componente que actúa como servidor.

* Tipos:

  • Lenguaje de Scripting.
  • Aplicaciones CGI y derivados.
  • Aplicaciones híbridas de código repartido.

* Lenguajes de Scripting:

  • PHP (PHP Hypertext Processor)
  • ASP (Active Server Pages)
  • Perl
  • Python
  • JSP

* Aplicaciones CGI y derivados:

  • Delegan la creación de páginas dinámicas a un programa externo, que recibe ciertos parámetros de entrada y devuelve como resultado el contenido que debe visualizar el cliente.
  • El estandar CGI (Common Getaway Interface), especificado en la RFC3875, define este comportamiento.
  • El programa externo no depende del código a generar.
  • Desventajas: Escaso rendimiento a la hora de responder a múltiples peticiones CGI simultáneamente.

* Aplicaciones Híbridas de código repartido:

– Tecnología intermedia alternativa a los lenguajes de scripting (interpretados) y a las aplicaciones CGI y derivadas.

– Solución más representativa: Plataforma Microsoft .Net Framework a través de ASP.Net.

  • Los formularios web están contenidos en archivos con una extensión ASPX que son los que el cliente solicita a través de una URL al servidor.
  • Estos ficheros ASPX contienen código HTML o estático y también etiquetas propias de la plataforma .Net.
  • Estas etiquetas definen Controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el código estático y dinámico requerido por una página web.

* Herramientas de programación:

El equipo de desarrollo no tiene por qué realizarse en el mismo equipo en el que finalmente se despliegue y ejecute la aplicación web que se está desarrollando.

Instrumentos involucrados en el desarrollo web:

  • Navegadores.
  • Editores de documentos.
  • Entornos de programación.
  • Herramientas de tratamiento de imágenes.
  • Herramientas para la creación y administración de bases de datos.

Entornos de programación como IDE’S de desarrollo destinadas a la programación Web.

* Entornos de programación:

– Marcadores de texto:

Nos ayudan a identificar mejor la sintaxis del lenguaje, cambiando de color las etiquetas, realizando tabulaciones en el texto, etc … Archnophilia, Notepad++, UltraEdit, Context, etc …

– Herramientas genéricas:

Ofrecen capacidades tales como la sugerencia de estructuras o funciones predeterminadas o la posibilidad de validad la corrección del código escrito. Front Page, Eclipse, DreamWeaver, etc …

– Herramientas específicas:

Herramientas par auna tecnología concreta, que exigen que el desarrollador tenga instalada una plataforma de desarrollo concreta. Visual Studio, NetBeans IDE, etc …

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.