Curso de ASP.NET - Cursos de ASP .NET On-Line - Ciberaula

Cursos relacionados

Cursos demo gratis





asp net
Programación web con ASP.NET
ASP .Net forma parte de la plataforma .Net. Los programadores interactuarán utilizando los tipos apropiados en la biblioteca de clases para escribir programas y diseñar formularios Web. Cuando un cliente solicita una página, se ejecuta el servicio ASP .Net, después ejecuta su código y crea una página HTML final para enviar al cliente.

ASP.NET es la nueva versión de la tecnología de Microsoft para la creación dinámica de páginas web conocida como ASP (Active Server Pages) Para entender lo que esto significa es necesario hacer antes un poco de historia.

Breve historia de la programación web

La WWW estática

La base del éxito del fenómeno que es hoy en día Internet se encuentra en el sistema de intercambio de información conocido como WWW (World Wide Web), que permite a sus usuarios acceder a documentos con los que pueden interactuar y que aparte de texto pueden incluir toda clase de contenido multimedia (imágenes, vídeo, sonidos, etc.) Su origen se remonta al año 1989, cuando Tim Berners-Lee, investigador de los laboratorios suizos del CERN (Conseil Europeen pour le Recherche Nucleaire) desarrolló un sistema de intercambio de datos basado en el uso de documentos de texto –llamados páginas web - enlazados entre sí por hipervínculos y escritos en un subconjunto sencillo del complejo lenguaje SGML (Standard Generalized Markup Language) llamado HTML (HyperText Markup Language) Los hipervínculos no más que secciones especiales en los documentos con las que los usuarios podían interactuar –típicamente pulsando sobre ellos con el teclado o el ratón - para ir saltando de unos documentos a otros.

Poco podía imaginarse entonces que este sistema de intercambio de información de datos científicos entre los investigadores del CERN, iba a terminar popularizándose y tener el tremendo éxito que ha alcanzado hoy en día. A medida que el rango de audiencia del WWW iba aumentando fue necesario también ir mejorando el lenguaje HTML inicial para incluir funcionalidades que sus usuarios iban demandando,como la capacidad de mostrar contenido multimedia. Esto fue dando lugar a la aparición de sucesivas versiones del lenguaje cada vez más potentes hasta llegarse a su actual versión 4.01; o a XHTML 1.0, y más adelante la versión XHTML 2.0, ambas versiones son el resultado de reescribirlo siguiendo las reglas del lenguaje estándar de marcas conocido como XML (Extensible Markup Language).

El principal punto flaco que inicialmente tenía este sistema consistía en que las páginas HTML eran simples ficheros colocados en un servidor Web, que eran enviadas a sus clientes tal cual, sin ninguna posibilidad de interacción con los mismos –excepto, claro está, la utilización de sus hipervínculos- y forzando a que cualquier actualización que se les hiciese, tenía que ser realizada editando su contenido y sobrescribiéndolo en el servidor.

Esto, a medida que fue creciendo la red y utilizándose profesionalmente como vehículo con el que realizar operaciones de comercio electrónico, fue volviéndose inadmisible, y se empezaron a pedir mayores posibilidades de interacción que permitiesen realizar aplicaciones web con capacidades similares a las de las aplicaciones tradicionales, así como mecanismos con que actualizar programáticamente su contenido. Por eso, a lo largo de las diferentes revisiones que se fueron haciendo de HTML, se fue introduciendo en el lenguaje y en el funcionamiento de los servidores web diferentes mecanismos destinados a permitir la modificación y generación dinámica del contenido de las páginas web.

Tecnologías en el lado cliente

Una forma de conseguir aumentar el dinamismo de los sitios Web consistió en dotar al lenguaje HTML de la capacidad de poder incluir scripts de código escritos en diversos lenguajes (como Javascript o VBScript) que los navegadores interpretarían para, a través de ellos, modificar el aspecto de las páginas e interactuar con el navegador, a esto se le conoce como DHTML (HTML dinámico) y forma parte de las denominadas tecnologías en el lado cliente, pues requiere de un soporte directo por parte del navegador del cliente. Ahí es precisamente donde se encuentra su principal problema: Los fabricantes de navegadores nunca han llegado a un acuerdo a la hora de implementar esto, y cada uno soporta tanto diferentes lenguajes de scripts como diversas peculiaridades dentro de un mismo lenguaje, lo que hace que sea difícil la creación y mantenimiento de páginas DHTML compatibles con los navegadores más utilizados, antes Internet Explorer y Netscape Navigator, y ahora Internet Explorer y Mozilla.


Tecnologías en el lado servidor

Otra alternativa mucho más compatible son lo que se denominan tecnologías en el lado del servidor, que se basan en la ejecución de código en el servidor que se encargue de generar dinámicamente el contenido (páginas web, imágenes o cualquier otro tipo de información binaria) a enviar a cada cliente. Esto se realiza de forma completamente transparente al cliente, quien recibe los contenidos tal como si fuesen ficheros estáticos almacenados en el servidor, por lo que no necesita ninguna clase de soporte especial para tratarlos. Aunque hay quien puede argumentar que esta opción provoca un aumento en la carga de trabajo del servidor, lo cierto es que el alto nivel de compatibilidad que proporciona está haciendo que se convierta en la tendencia actual en el desarrollo de aplicaciones web, sobre todo debido a la proliferación de todo tipo de dispositivos con acceso a Internet (teléfonos móviles, agendas electrónicas, etc.) y con capacidades de visualización y procesamiento muy heterogéneas, cuyos navegadores suelen ser muy simples y no admitir scripts.

El primer tipo de tecnología en el lado del servidor surgida fue la posibilidad de que los servidores web pudiesen interactuar con ejecutables escritos en prácticamente cualquier lenguaje de programación (los más usados para estos menesteres son C, Python y Perl), que siguiesen una serie de reglas conocidas como interfaz CGI (Common Gateway Interface) En ellas se define cómo les pasaría el servidor la información (mediante la línea de comandos y ciertas variables de entorno) y cómo proporcionaría al servidor el contenido a enviar al cliente (mediante su salida estándar. Por ejemplo, en C esto se traduciría en usar printfs) Su gran problema es que cada vez que llegue una nueva petición CGI al servidor, éste tendrá que lanzar un nuevo ejecutable para tratarla y descargarlo de memoria tras ello, lo que resulta un proceso muy costoso y que tiende a degradar mucho el rendimiento y la escalabilidad de la aplicación web.

Como solución a este problema se empezó a tender a sustituir los programas CGIs por librerías que el servidor enlazase dinámicamente en su mismo espacio de memoria (DLLs) cuyos tiempos de carga y ejecución serán muy inferiores que los de programas que se ejecutan en espacios de memoria independientes, no siendo además necesaria descargarlas tras atender a cada cliente. Entre este tipo de tecnologías destaca la llamada ISAPI (Information Server Application Program Interface) de Microsoft, admitida por su servidor IIS (Internet Information Server) y por servidores de otras empresas. Sin embargo, la implementación de estas librerías tiene el problema de ser relativamente complicada, requiriendo de personal especialmente cualificado para ello.

Como alternativa, muchas empresas empezaron a sacar sus propias soluciones con las que facilitar el desarrollo de sitios web con contenido dinámico, como JSP, ColdFusion, PHP o JTHML. Entre ellas destaca ASP (Active Server Pages), que es la proporcionada por Microsoft a partir de la versión 3.0 de su servidor web IIS y posteriormente actualizada en las sucesivas versiones del mismo hasta llegarse a ASP 3.0 en IIS 5.0. Sin duda, esta solución es una de las que más éxito ha alcanzado entre la competencia debido a factores tales como su facilidad de aprendizaje e instalación, sus reducidos requisitos de hardware, el excelente soporte tanto técnico como bibliográfico proporcionado por Microsoft, los entornos de desarrollo potentes y cómodos con los que cuenta, y su fácil integración con el resto de productos de Microsoft.

ASP.NET

Durante la conferencia para desarrolladores de software profesionales llamada PDC (Proffessional Developers Conference) celebrada por Microsoft en Orlando en Julio de 2000, se presentó la nueva apuesta de futuro de esta compañía para el desarrollo de software: la plataforma .NET. Como parte de ella se incluye una nueva versión de la tecnología en el lado cliente de Microsoft denominada ASP.NET. Ésta ofrece unas muy sustanciales mejoras frente a su predecesora ASP 3.0, entre las que cabe destacar:

  • Compilación: En las páginas ASP tradicionales se consigue el dinamismo mediante la inserción de código escrito en lenguajes de script como JScript o VBScript que se encarga de generar el contenido web a enviar al cliente. Sin embargo, este código es interpretado por el servidor por cada petición que reciba, lo que es un proceso lento. En ASP.NET, para mejorar el rendimiento se opta por compilarlo la primera vez que algún cliente lo pida, y así el resto de peticiones del mismo se atenderán más rápido.

  • Programación multilenguaje: En ASP.NET el programador ya no se encuentra restringido a la utilización de VBScript o JScript para programar las páginas ASP. Puede utilizar cualquiera admitido por la plataforma .NET, lo que incluye un gran abanico de lenguajes como C#, Visual Basic.NET, JScript.NET, COBOL.NET y un largísimo etc.

  • Separación lógica-presentación: Los desarrolladores siempre se ha quejado de que el código ASP carece de estructuración, mezclando indiscriminadamente HTML con código en lenguajes de script a ejecutar en el servidor. Esto daba lugar al fenómeno conocido como “código espagueti”, que resulta en páginas ASP muy difíciles de leer y mantener que en cierto sentido incluso pueden recordar a los primeros tiempos del lenguaje BASIC en los que se carecía de cualquier tipo de estructuración. ASP.NET soluciona esto mediante una técnica denominada código trasero, con la que pueden separarse en ficheros independientes la presentación y el código de las páginas.

  • Programación visual: La arquitectura de ASP.NET se ha diseñado de manera que el desarrollo de las interfaces de las aplicaciones web sea análogo a la forma en que se hace en las aplicaciones de ventanas estándar, representándose cada uno de sus controles (botones, casillas, listas, etc.) como objetos que programáticamente se pueden manipular análogamente a como se hace en librerías de ventanas orientadas a objetos (MFC de Microsoft para C++, o Swing de Java, etc.) Esto además permite que con herramientas de desarrollo visuales, diseñarlas sea tan fácil como arrastrar los componentes necesarios sobre la superficie de la página y hacer doble clic sobre cada uno para escribir la lógica de respuesta a los eventos que puedan producirse sobre ellos (pulsación de botones, selección de elementos en listas, etc.), de forma parecida a como se hace en entornos RAD (Rapid Application Development) como Visual Basic o Delphi.

Objetivo del curso

Este curso está dedicado al aprendizaje de esta nueva tecnología para la programación web y culmina con un proyecto de tienda virtual donde el alumno podrá aplicar a un caso práctico todos los conocimientos adquiridos a lo largo del mismo.

Para no entorpecer el ritmo de los más aventajados, se presupone que los alumnos ya dominan la plataforma .NET, el lenguaje C# y la librería de acceso a datos ADO.NET. Si no fuese así, el alumno debería realizar antes el curso “Plataforma .NET y C#” donde se le explicará todos estos conocimientos básicos.

Contacta

   

© 2006 - Todos los derechos reservados Ciberaula -c/ Villalobos, 135 - 28018 Madrid - España - Tel. (34) 91 3035800
Aviso legal

Lo más buscado y visitado en Ciberaula

Masters: Programación Web | Diseño Web | Diseño Gráfico | Java | Flash MX | PHP | 3D Studio Max
Cursos: GNU/Linux | OpenOffice Impress | OpenOffice Writer | PHP 5 | HTML | J2EE | J2SE | Dreamweaver | Flash MX | ActionScript MX | Photoshop Diseño Web | Photoshop Diseño Gráfico | Adobe Premiere | Freehand MX | 3d Studio Max | 3d Studio Iluminación | 3d Studio Modelado | Word | Excel | Access
Secciones: Formación a Distancia | Formación a Empresas | Servicios a Empresas | Cursos a Distancia | Cursos On-Line | E-learning | Ofimática