miércoles, 21 de agosto de 2019

CONCEPTOS FUNDAMENTALES SOBRE SITIOS WEB

LENGUAJE DE MARCACIÓN DE HIPERTEXTO (HTML).

La mayoría de las solicitudes HTTP son flujos de texto devueltos cliente que realizó la solicitud. HTML es el lenguaje que le da formato dicho flujo, y todos los navegadores lo entienden.

CONTENIDO DINÁMICO.

Los primeros sitios web fueron construidos principalmente usando páginas HTML estáticas, lo cual permitía navegar hacia una página y leer el documento ahí alojado. Sin embargo, HTML evolucionó para ser capaz de mucho más que simplemente dar formato a textos.

COMMON GATEWAY INTERFACE (CGI).

Los primeros servicios web que soportaron "contenido web dinámico" lo hicieron por medio de CGI, el cual fue el primer estándar para construir servidores web. Los programas CGI se ejecutan en tiempo real y cambian sus salidas basados en el estado de las aplicaciones y las solicitudes entrantes. Cada solicitud proveniente de un servidor web ejecutando CGI corre una instancia del programa para poder responderla. Sin embargo, también representaba un alto costo debido a los elevados tiempos de espera y los requerimientos de memoria.

LA PLATAFORMA MICROSOFT COMO UN SERVIDOR WEB.

Debido a que era muy costoso para la plataforma Microsoft el tener que ejecutar un nuevo proceso para cada solicitud, la solución de Microsoft fue disponer de un proceso daemon (que en Microsoft se le llama servicio) para monitorear el puerto 80 en busca de paquetes de red entrantes y cargar DLLs para manejar solicitudes separadas cuando el contenido necesita ser cambiado. La plataforma web estándar de Microsoft está basada en los Servicios de Información de Internet (IIS).

INTERNET SERVICES APPLICATION PROGRAMMING INTERFACE (ISAPI).

Crear un espacio de proceso sobre la plataforma Microsoft es una proposición costosa (en términos de recursos de sistema y ciclos de reloj), ya que al intentar responder a cada solicitud iniciando un programa separado saturaría muy rápidamente un servidor.

INTERNET INFORMATION SERVICES (IIS).

Todos los ambientes de aplicaciones web trabajan fundamentalmente de la misma forma: alguna parte de software es requerida en el servidor para monitorear al puerto 80 (típicamente) por solicitudes HTTP entrantes.

PÁGINAS ACTIVAS DE SERVIDOR (ASP – ACTIVE SERVER PAGES).

Microsoft desarrolló originalmente Páginas Activas de Servidor para motivar a un gran número de desarrolladores y no solo a los que usaban C++ a realizar el desarrollo web. Cuando apareció IIS, era un ambiente factible para desarrollar sitios web sobre la plataforma Microsoft comparada con otras plataformas. Sin embargo, escribir un sitio entero usando sólo ISAPI DLLs puede ser intimidante debido a la cantidad de retos de programación que implica.

ASP.NET.

ASP.NET toma características ya implementadas por muchos desarrolladores y las incluye en el marco de trabajo de ASP.NET. ASP.NET es un marco de trabajo de código abierto para crear aplicaciones web del lado del servidor, diseñado para el desarrollo web con el propósito de generar páginas web dinámicas.


Nota: Puede obtener información adicional sobre historia y mejoras para cada versión de .NET Framework y ASP.NET en las páginas siguientes:

https://msdn.microsoft.com/en-us/library/ms171868(v=vs.110).aspx#core 

http://en.wikipedia.org/wiki/ASP.NET

ARQUITECTURA Y FUNCIONAMIENTOS DE LAS APLICACIONES WEB

¿CÓMO TRABAJAN LAS TRANSACCIONES WEB?

HTTP es el mecanismo de comunicación por el cual los navegadores web "hablan" con los sitios web. Originalmente fue concebido para enlazar documentos sin considerar las interfaces de usuario basadas en web, que son un requerimiento básico de los sitios web modernos. Las primeras versiones soportaban sólo transferencia de flujos de texto marcado con etiquetas HTML, como se muestra en la fig. 1.


Una aplicación web ASP.NET trabaja de la siguiente manera:

  1. Funcionan según la arquitectura cliente/servidor. 
  2. En el cliente todo lo que se requiere es un navegador que entienda HTML. 
  3. En el servidor, la aplicación se ejecuta en IIS.

¿CÓMO TRABAJAN LAS TRANSACCIONES WEB ESTÁTICAS?

Un sitio web requiere que exista un servidor web, el cual es una aplicación de software que continuamente espera por solicitudes web para una particular URL (o URI – Ver fig. 2).


¿CÓMO TRABAJAN LAS TRANSACCIONES WEB DINÁMICAS?

El modelo anterior es insuficiente para servir páginas dinámicas porque el servidor web devuelve el contenido de la URL sin modificar. Sin embargo, las páginas web dinámicas contienen código fuente que es ejecutado cuando la página es solicitada, produciendo código HTML que es devuelto al navegador solicitante.

Cuando llega una solicitud, el servidor web determina si la página es estática para enviar su contenido directamente de regreso al navegador que inició la solicitud, o dinámica (por ejemplo, una página ASP.NET) para transferir la responsabilidad de ejecutar la página al motor ASP.NET, como se muestra en la fig. 3.


Para saber más:


lunes, 19 de agosto de 2019

¿QUÉ ES ASP.NET?



ASP.NET es una plataforma de desarrollo web creada por Microsoft para construir sitios web, aplicaciones web conducidas por contenido dinámico y servicios web. Las características principales de ASP.NET son:

1. Es un subconjunto de .NET Framework.
2. Es el sucesor de ASP clásico.

Una aplicación web es una aplicación que puede ser accedida por los usuarios usando un navegador web. Una página web dinámicas es una páginas web cuyo contenido es dinámicamente regenerado cada vez que la página es solicitada, basado en algún factor externo. Lo opuesto a una página dinámica es una página estática: página web que aloja contenidos que no cambian por ningún factor externo. Por ejemplo, las páginas HTML son páginas web estáticas. Considere una página HTML en un sitio web con las siguientes etiquetas:


Este código genera una página estática, porque la salida siempre será la misma sin importar quién vea la página o qué factores externos existan. La única vez que el contenido de una página estática cambia es cuando alguien lo edita y guarda la página, sobrescribiendo la versión anterior.

Virtualmente todos los sitios web existentes contienen una mezcla de páginas estáticas y dinámicas. Hay pocos sitios web que sólo tenga páginas estáticas, porque tales páginas son muy limitadas en su funcionalidad.

ASP.NET es solo una de muchas tecnologías que pueden ser empleadas para crear páginas web dinámicas. Algunas otras tecnologías son: Ajax, ASP, Action Script, CSS, Cold Fusion, CGI, HTML, Java, JavaScript, JSP, Lasso, Node.js, OSGI, Perl, PHP, PSGI, Python, Ruby.

CARACTERÍSTICAS DE ASP.NET

  • Es una tecnología de secuencia de comandos del lado del servidor (incrustada en páginas web) para ser ejecutadas por un servidor de internet. 
  • Un archivo ASP.NET puede contener texto, HTML, XML y secuencias de comandos. 
  • Un archivo ASP.NET tiene la extensión ".aspx". 
  • Cuando un navegador solicita un archivo HTML, el servidor le devuelve el archivo sin efectuar ningún procesamiento. 
  • Cuando un navegador solicita un archivo ASP.NET, IIS traslada la solicitud al motor ASP.NET en el servidor.
  • El motor ASP.NET lee el archivo línea por línea y ejecuta la secuencia de comandos en el archivo que están marcadas como secuencias de comando del servidor en <% %>. 
  • Finalmente, la salida generada es devuelta al navegador como etiquetas HTML. 


A diferencia del desarrollo de la mayoría de aplicaciones de escritorio, en las cuales muchas de las partes se encuentran disponibles localmente (como componentes en el disco duro del usuario), desarrollar una aplicación web requiere obtener partes de software que trabajen sobre una amplia red distribuida usando un protocolo desconectado.

Para trabajar adecuadamente con ASP.NET se requiere conocer lo siguiente:

  • Cómo trabajan las transacciones HTTP. 
  • Cómo trabaja HTML. 
  • Cómo son manejadas las transacciones HTTP en la plataforma de producción web de Microsoft, Servicios de Información de Internet (IIS).



Para saber mas:



Puede encontrar mas información sobre este tema en el sitio oficial de Microsoft: https://docs.microsoft.com/es-es/aspnet/overview