SlideShare a Scribd company logo
1 of 30
CICLO 2012-III Módulo:I
           Unidad: 1   Semana: 1

  DESARROLLO RÁPIDO DE
APLICACIONES PARA INTERNET

Profesor: Víctor Quevedo Dioses
TÍTULO DEL TEMA




Tecnologías Web
ORIENTACIONES

• En esta sesión aprenderá los conceptos
  de las tecnologías Web
• Diferencia entre el Lenguaje Html y el
  lenguaje ASP.Net
• Estructura de aplicaciones Web con
  ASP.Net
Temario
•   Hypertext Transfer Protocol (HTTP)
•   HTML Forms
•   Procesamiento en el Servidor
•   ASP vs ASP.NET
•   Aplicaciones ASP.NET
•   ASP.NET WebForms
•   Controles de Servidor y de Usuario
•   Administración de Estado
•   Seguridad en ASP.NET
•   Optimización y Distribución en ASP.NET
Hypertext Transfer Protocol (HTTP)
• Uno de los protocolos más importantes del Web
• HTTP define como los navegadores y los servidores
  Web se comunican uno con otro
• Esta basado en texto y es transmitido sobre
  conexiones TCP
Como funciona HTTP
      Cliente
 http://www.cursoaspnet.c
 om/inicio.html
                                                    Servidor
Internet DNS

 IP=66.45.26.25 Puerto: 80

                                 HTTP Request

                                                  www.cursoaspnet.com

                                                     IP = 66.45.26.25

                                                  inicio.html
                                                  <html>

                                 HTTP Response
                                                  <body>
                                                  Bienvenidos al
                                                  Curso ASP.NET
                                                  </body>
                                                  </html>
HTML Forms
• En el corazón de toda aplicación Web genuina están
  los HTML Forms
• Un HTML Form es la porción de un documento HTML
  que aparece entre las etiquetas <form></form>
Suma.html
<html>
  <body>
    <form>
      <input type="text" name="op1" />
      +
      <input type="text" name="op2" />
      <input type="submit" value=" = " />
    </form>
  </body>
</html>
HTML Forms (Cont.)
• Un botón submit (<input type=“submit”>) juega un rol
  especial en un HTML Form:
   – Cuando es pulsado, el navegador envía el HTML Form junto
     con cualquier entrada de datos del usuario al servidor Web
• Cómo el HTML Form es enviado, dependerá del
  atributo Method del form:
   – Si el atributo Method del form no está presente o tiene el
     valor GET, el navegador enviará al servidor un comando
     HTTP GET
   – Si el atributo Method del form tiene el valor POST, el
     navegador enviará al servidor un comando HTTP POST
• Ejemplo >>
HTML Forms (Cont.)
Method = GET                           Method = POST
<form method=“get">                    <form method=“post">
...                                    ...
</form>                                </form>

GET /suma.html?op1=2&op2=2 HTTP/1.1    POST /suma.html HTTP/1.1
  .                                      .
  .                                      .
  .                                    Content-Type: ...
Connection: Keep-Alive                 Content-Length: 11
[blank line]                           [blank line]
                                       op1=2&op2=2


El navegador envia los datos           El navegador envia los datos
ingresados como una                    ingresados en el cuerpo
cadena de consulta                     de la solicitud HTTP

Cualquiera sea el método utilizado, es decir GET o POST, cuando un form es
        enviado al servidor, decimos que se produjo un POSTBACK
Procesamiento en el Servidor
• Construir la parte del cliente es “fácil”, sólo es HTML
• La parte difícil es la construcción de la lógica del lado
  del servidor. “Algo en el servidor”, tiene que
  interpretar las entradas del usuario enviadas junto
  con el form y generar la correspondiente salida.

Suma.html
<html>
                                          Después del procesamiento
 <body>                                  Suma.html
  <form>                                 <html>
   <input type="text" name="op1" />       <body>
   +                                       <form>
   <input type="text" name="op2" />          <input type="text" name="op1“ value=“2”/>
   <input type="submit" value=" = " />       +
  </form>                                    <input type="text" name="op2“ value=“2”>
 </body>                                     <input type="submit" value=" = " />
</html>                                      4
                                           </form>

 Antes del procesamiento                  </body>
                                         </html>
Procesamiento en el Servidor (Cont.)
•   Existen varias tecnologías de procesamiento:
     – CGI (Common Gateway Interface)
         • Define una API de bajo nivel
         • Se programa en Perl
         • Popular en entornos UNIX, no tanto en Windows
     – ISAPI (Internet Server Application Programming Interface)
         • Son DLL Windows que “corren” bajo IIS. Escritas en C++
         • Una solicitud típica sería ,
           http://www.cursoaspnet.com/suma.dll
         • Mejor performance que CGI
     – ASP (Active Server Pages)
         • Simple solución: HTML + Script del lado del servidor
         • Programadas en JScript o VBScript
         • Objetos intrínsecos que abstraen detalles de bajo nivel de
           HTTP. Objetos Request y Response
         • Permite usar ADO (ActiveX Data Object) para acceso a datos
Que pasa con ASP?
• ASP es lenta: el código script es interpretado más
   que compilado
– Por cada solicitud a la página el script es interpretado
• ASP carece de un verdadero modelo de
   encapsulación
– Por ej. NO es posible crear controles ASP reutilizables
  que encapsulen complejos “rendering” o alguna
  lógica de comportamiento, sin recurrir a COM
• El código puede tornarse imposible de leer
• Mezcla de código y la presentación
• Distribuir una aplicación ASP que utilice COM puede
   ser un dolor de cabeza
Que es ASP.NET
• ASP.NET es el framework de programación web
  dentro de .NET
• Permite desarrollar aplicaciones Web con un
  modelo “similar” al utilizado para aplicaciones
  Windows
• El componente fundamental de ASP.NET es el
  WebForm
• Independencia del cliente (navegador, S.O.,
  dispositivo físico, etc.)
• Permite utilizar cualquier lenguaje .NET
• Permite desarrollar Servicios Web XML
ASP.NET - Ventajas
• La “parte ejecutable” de una aplicación ASP.NET es
  COMPILADA
• Implementación y actualización de las aplicaciones
  sin reiniciar el servidor!
• Acceso a toda la BCL del .NET Framework
• Independiente del lenguaje de programación
• Administración automática del estado de los
  controles Web (VIEWSTATE)
• Encapsulamiento a través de controles de servidor y
  controles de usuario!
ASP.NET – Ventajas (Cont.)

• Permite usar ADO.NET para acceso a datos

• Soporta XML, Hojas de estilo CSS, etc.

• Detección automática del navegador cliente,
  generando el lenguaje de marcas soportado
  por el mismo

• Mecanismo de Caching incorporado para
  páginas completa o partes de la misma,
  frecuentemente solicitadas
Modelo de ejecución de ASP.NET
Primera Solicitud                   Parser
                                                   Compilador
                                     <% ... %>

                                     <% ... %>

                                   Inicio.aspx



http://localhost/inicio. aspx

                                                  Assembly
                                Memoria            Cache
                                                   Assembly en
                                                   Assembly en
                                                       MSIL
                                                      MSIL
       Cliente
                                HTTP Runtime

                                                 Servidor
Modelo de ejecución de ASP.NET
                      (Cont.)
   Siguientes                       Parser
   Solicitudes                                     Compilador
                                     <% ... %>

                                     <% ... %>

                                   Inicio.aspx



http://localhost/inicio. aspx

                                                  Assembly
                                Memoria            Cache
                                                   Assembly en
                                                   Assembly en
                                                       MSIL
                                                      MSIL
       Cliente
                                HTTP Runtime

                                                 Servidor
Componentes de una aplicación
               ASP.NET
• WebForms (Formularios Web) o Páginas ASPX
  – Uno o más archivos con extensión .aspx
• Archivos Code-Behind
  – Archivos asociados a WebForms que contienen
    código del lado del servidor (Ej. VB.NET, C#, etc.)
• Archivos de configuración con formato XML
  – Un archivo Web.config por c/aplicación
  – Un único archivo Machine.config por servidor
• Global.asax
  – Eventos a nivel de aplicación
Componentes de una aplicación
              ASP.NET
• Directorio BIN
  – Contiene el assembly de la aplicación (Ej.:
    MiAplic.dll)
  – Cero o más assemblies (Componentes externos)
• Enlaces a Servicios Web XML
  – Permiten a la aplicación ASP.NET enviar y recibir
    datos desde Servicios Web
• Mecanismo de Caching
  – Permite responder al cliente de manera más rápida
    después de la primera solicitud
Componentes de una aplicación
               ASP.NET
  Cliente                      ASP.NET Web Server

                               WebForm1.aspx           Global.asax




                Output Cache
                                WebForm1.aspx.vb

                                                       Web.config


 Internet                      WebForm2.aspx
                                                      BIN
                                WebForm2.aspx.vb
                                                            Comp.
                                                             Comp.



Servicios Web
                                           Database
Las aplicaciones Web ASP.NET + IIS
• IIS es el servidor Web de la plataforma Windows
• Las aplicaciones Web solo pueden existir en una
  ubicación que es publicada por IIS como un
  Directorio Virtual
• Directorio Virtual: es un recurso compartido
  identificado por un alias y que representa una
  ubicación física en el servidor
• El famoso //localhost hace referencia al directorio raíz
  del servidor web
• Por default, //localhost “apunta” a
  C:Inetpubwwwroot
Las aplicaciones Web ASP.NET + IIS
• VS.NET por default crea las aplicaciones web
  bajo el directorio raíz, ej.:
  – MiAplicacion
     • Virtual:   http://localhost/MiAplicacion
     • Física:
      C:InetpubwwwrootMiAplicacion
• Podemos usar IIS para definir un directorio
  virtual donde alojar nuestras aplicaciones
  Web, diferente al predeterminado
Estructura de las aplicaciones Web
• El “perímetro” de una aplicación Web es
  determinada por su estructura de directorios
• Comienza por su directorio raíz, el cual
  contiene:
  – La página o WebForm de inicio
  – El archivo de configuración Web.config
  – El directorio BIN
• El perímetro de la aplicación termina en su
  último directorio o cuando se encuentra el
  directorio raíz de otra aplicación Web
La página de inicio de la aplicación
• Etapa de desarrollo
  – Cuando VS.NET crea una aplicación Web ASP.NET,
    este hace que la página WebForm1.aspx se la página de
    inicio
  – La página de inicio es el primer WebForm que se
    muestra cuando se ejecuta una aplicación desde
    VS.NET
  – Podemos establecer la página de inicio a nuestro gusto

• Etapa de distribución/implementación
  – Bajo IIS deberemos configurar la página a mostrar
    cuando el usuario omita en la URL el nombre de alguna
    página, por ej. cuando escriba http://localhost/MiApp en
    vez de http://localhost/MiApp/inicio.aspx
ASP.NET + IIS
• Cuando IIS recibe una solicitud sobre una página
  ASPX, IIS utiliza aspnet_isapi.dll para invocar al
  ASP.NET Worker Process (aspnet_wp.exe)
• El ASP.NET Worker Process ejecuta el assembly de la
  aplicación y destina un espacio de memoria
  (Application Domain)
• ASP.NET aísla cada aplicación mediante los
  Application Domains
• Por lo tanto “El nivel de aislamiento configurado en
  IIS, NO TIENE EFECTO sobre las aplicaciones
  ASP.NET” (Usado con ASP)
ASP.NET con VS.NET
• Archivos de soluciones
   – Las soluciones contienen uno o más proyectos
   – Existen dos archivos de soluciones:
      • El archivo con extensión .sln mantiene enlaces a los proyectos
        que la contienen y otra información general.
      • El archivo con extensión .suo mantiene información sobre las
        opciones personalizadas de la solución hecha por el usuario.
• Archivos de proyecto
   – Contienen enlaces a todos los items (Clases,
     WebForms, archivos de configuración, etc.) que
     conforman al proyecto.
   – Sus extensiones son .vbproj (VB.NET) y .csproj
     (C#)
ASP.NET con VS.NET
• Assembly del proyecto
  – Cuando compilamos la aplicación, TODAS las clases code-
    behind (.aspx.vb o .aspx.cs) son compiladas en un assembly
    con el nombre MiProyecto.dll dentro del directorio BIN de la
    aplicación
  – También existen los archivos de clase AssemblyInfo.vb y
    AssemblyInfo.cs que contienen información general del
    assembly de la aplicación como ser Versión, Nombre de la
    empresa, etc
Estructura de archivos de una aplicación
             Web ASP.NET

        My Documents
        My Documents               Inetpub
                                    Inetpub



            Visual Studio
            Visual Studio                wwwroot
                                         wwwroot
              Projects
               Projects



               ProyectoA
               ProyectoA                      ProyectoA
                                              ProyectoA


                       ProyectoA.sln                ProyectoA.vbproj
                                                    WebForm1.aspx
    Desarrollo                                      WebForm1.aspx.vb
                                                    (Archivos Code-behind)

   Assemblies                                      Bin
                                                   Bin
                             Generar
                            aplicación                    ProyectoA.dll
CONCLUSIONES Y/O ACTIVIDADES DE
       INVESTIGACIÓN SUGERIDAS


• Podemos concluir que de paginas
  estáticas y no seguras en el cliente
  realizadas con HTML se paso a paginas
  dinámicas, mas seguras y potentes en el
  servidor usando la tecnología Web de
  Microsoft ASP.Net

• Se sugiere ingresar al sitio Web de
  Microsoft Asp.Net
GRACIAS

More Related Content

What's hot

SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)Domingo Suarez Torres
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jspdtbadboy0
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.netSandy Contreras
 
Tutorial de ASP
Tutorial de ASPTutorial de ASP
Tutorial de ASPLeo_Mini
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con RESTAlex Puig
 
Curso Java Avanzado 3 4 Js Ps Con Java Beans
Curso Java Avanzado   3 4 Js Ps Con Java BeansCurso Java Avanzado   3 4 Js Ps Con Java Beans
Curso Java Avanzado 3 4 Js Ps Con Java BeansEmilio Aviles Avila
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQLWilian
 
Qué es jsp
Qué es jspQué es jsp
Qué es jspElim Aqp
 
4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
Programacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorProgramacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorJose Felix Moran Agusto
 
Servicios web en php, perl, java
Servicios web en php, perl, javaServicios web en php, perl, java
Servicios web en php, perl, javaFaby Marcos Solis
 
Servicios web java php-perl-google
Servicios web java php-perl-googleServicios web java php-perl-google
Servicios web java php-perl-googleJosue Hernandez
 
Capa de presentacion jsp
Capa de presentacion jspCapa de presentacion jsp
Capa de presentacion jspmirianapaola
 
Curso: Programación Web con Tecnología Java
Curso:  	Programación Web con Tecnología JavaCurso:  	Programación Web con Tecnología Java
Curso: Programación Web con Tecnología Javaalvaro alcocer sotil
 

What's hot (20)

SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
 
Curso Jsp Mas
Curso Jsp MasCurso Jsp Mas
Curso Jsp Mas
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net
 
Curso Jsp
Curso JspCurso Jsp
Curso Jsp
 
introduccion a Ajax
introduccion a Ajaxintroduccion a Ajax
introduccion a Ajax
 
Aplicaciones Web
Aplicaciones WebAplicaciones Web
Aplicaciones Web
 
Tutorial de ASP
Tutorial de ASPTutorial de ASP
Tutorial de ASP
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
 
Curso Java Avanzado 3 4 Js Ps Con Java Beans
Curso Java Avanzado   3 4 Js Ps Con Java BeansCurso Java Avanzado   3 4 Js Ps Con Java Beans
Curso Java Avanzado 3 4 Js Ps Con Java Beans
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
 
Qué es jsp
Qué es jspQué es jsp
Qué es jsp
 
Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)
 
4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Programacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorProgramacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidor
 
Servicios web en php, perl, java
Servicios web en php, perl, javaServicios web en php, perl, java
Servicios web en php, perl, java
 
Servicios web java php-perl-google
Servicios web java php-perl-googleServicios web java php-perl-google
Servicios web java php-perl-google
 
Capa de presentacion jsp
Capa de presentacion jspCapa de presentacion jsp
Capa de presentacion jsp
 
Curso: Programación Web con Tecnología Java
Curso:  	Programación Web con Tecnología JavaCurso:  	Programación Web con Tecnología Java
Curso: Programación Web con Tecnología Java
 

Viewers also liked

Ss cap7 - diseno filtros fir
Ss   cap7 - diseno filtros firSs   cap7 - diseno filtros fir
Ss cap7 - diseno filtros firkevinXD123
 
DiseñO De Filtros Digitales Fir
DiseñO De Filtros Digitales FirDiseñO De Filtros Digitales Fir
DiseñO De Filtros Digitales FirEdgar Martinez
 
Semana311 pds
Semana311 pdsSemana311 pds
Semana311 pdsINFOVIC
 
PROCESAMIENTO DIGITAL DE SEÑALES PARTE I
PROCESAMIENTO DIGITAL DE SEÑALES PARTE IPROCESAMIENTO DIGITAL DE SEÑALES PARTE I
PROCESAMIENTO DIGITAL DE SEÑALES PARTE IINFOVIC
 
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLABPROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLABINFOVIC
 
Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audioRick P
 
filtro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLABfiltro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLABchrisleoflg
 
Procesamiento digital de señales con matlab
Procesamiento digital de señales con matlabProcesamiento digital de señales con matlab
Procesamiento digital de señales con matlabPercy Julio Chambi Pacco
 

Viewers also liked (9)

Ss cap7 - diseno filtros fir
Ss   cap7 - diseno filtros firSs   cap7 - diseno filtros fir
Ss cap7 - diseno filtros fir
 
DiseñO De Filtros Digitales Fir
DiseñO De Filtros Digitales FirDiseñO De Filtros Digitales Fir
DiseñO De Filtros Digitales Fir
 
Semana311 pds
Semana311 pdsSemana311 pds
Semana311 pds
 
PROCESAMIENTO DIGITAL DE SEÑALES PARTE I
PROCESAMIENTO DIGITAL DE SEÑALES PARTE IPROCESAMIENTO DIGITAL DE SEÑALES PARTE I
PROCESAMIENTO DIGITAL DE SEÑALES PARTE I
 
Filtros digitales
Filtros digitalesFiltros digitales
Filtros digitales
 
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLABPROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
 
Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audio
 
filtro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLABfiltro FIR pasabanda con MATLAB
filtro FIR pasabanda con MATLAB
 
Procesamiento digital de señales con matlab
Procesamiento digital de señales con matlabProcesamiento digital de señales con matlab
Procesamiento digital de señales con matlab
 

Similar to Semana 1 tecnologias web

Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20Marvin Romero
 
Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Antonio Torres
 
Dce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetDce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetEsteban Soraire
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NETwilliamsm
 
Asp .net
Asp .netAsp .net
Asp .netmellcv
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebTensor
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)Tensor
 
Especialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.NetEspecialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.NetMoisés Cid Deza
 
M1 introduccion a php
M1   introduccion a phpM1   introduccion a php
M1 introduccion a phpEDUARDLARA1
 
Introducción ASP .NET
Introducción ASP .NET Introducción ASP .NET
Introducción ASP .NET Universidad
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETJavier Roig
 
2009_asp.net_capitulo_1
2009_asp.net_capitulo_12009_asp.net_capitulo_1
2009_asp.net_capitulo_1zhylz Zevallos
 

Similar to Semana 1 tecnologias web (20)

Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20
 
Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]
 
Dce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetDce2 Introduccion Asp.Net
Dce2 Introduccion Asp.Net
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NET
 
Asp .net
Asp .netAsp .net
Asp .net
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
 
Introduccion aspnet
Introduccion aspnetIntroduccion aspnet
Introduccion aspnet
 
Introduccion aspnet
Introduccion aspnetIntroduccion aspnet
Introduccion aspnet
 
Curso de php
Curso de phpCurso de php
Curso de php
 
Especialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.NetEspecialista Web J13: Introducción a Asp.Net
Especialista Web J13: Introducción a Asp.Net
 
M1 introduccion a php
M1   introduccion a phpM1   introduccion a php
M1 introduccion a php
 
Introducción ASP .NET
Introducción ASP .NET Introducción ASP .NET
Introducción ASP .NET
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NET
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Asp.net
Asp.netAsp.net
Asp.net
 
Asp.net
Asp.netAsp.net
Asp.net
 
2009_asp.net_capitulo_1
2009_asp.net_capitulo_12009_asp.net_capitulo_1
2009_asp.net_capitulo_1
 

Semana 1 tecnologias web

  • 1. CICLO 2012-III Módulo:I Unidad: 1 Semana: 1 DESARROLLO RÁPIDO DE APLICACIONES PARA INTERNET Profesor: Víctor Quevedo Dioses
  • 3. ORIENTACIONES • En esta sesión aprenderá los conceptos de las tecnologías Web • Diferencia entre el Lenguaje Html y el lenguaje ASP.Net • Estructura de aplicaciones Web con ASP.Net
  • 4. Temario • Hypertext Transfer Protocol (HTTP) • HTML Forms • Procesamiento en el Servidor • ASP vs ASP.NET • Aplicaciones ASP.NET • ASP.NET WebForms • Controles de Servidor y de Usuario • Administración de Estado • Seguridad en ASP.NET • Optimización y Distribución en ASP.NET
  • 5. Hypertext Transfer Protocol (HTTP) • Uno de los protocolos más importantes del Web • HTTP define como los navegadores y los servidores Web se comunican uno con otro • Esta basado en texto y es transmitido sobre conexiones TCP
  • 6. Como funciona HTTP Cliente http://www.cursoaspnet.c om/inicio.html Servidor Internet DNS IP=66.45.26.25 Puerto: 80 HTTP Request www.cursoaspnet.com IP = 66.45.26.25 inicio.html <html> HTTP Response <body> Bienvenidos al Curso ASP.NET </body> </html>
  • 7. HTML Forms • En el corazón de toda aplicación Web genuina están los HTML Forms • Un HTML Form es la porción de un documento HTML que aparece entre las etiquetas <form></form> Suma.html <html> <body> <form> <input type="text" name="op1" /> + <input type="text" name="op2" /> <input type="submit" value=" = " /> </form> </body> </html>
  • 8. HTML Forms (Cont.) • Un botón submit (<input type=“submit”>) juega un rol especial en un HTML Form: – Cuando es pulsado, el navegador envía el HTML Form junto con cualquier entrada de datos del usuario al servidor Web • Cómo el HTML Form es enviado, dependerá del atributo Method del form: – Si el atributo Method del form no está presente o tiene el valor GET, el navegador enviará al servidor un comando HTTP GET – Si el atributo Method del form tiene el valor POST, el navegador enviará al servidor un comando HTTP POST • Ejemplo >>
  • 9. HTML Forms (Cont.) Method = GET Method = POST <form method=“get"> <form method=“post"> ... ... </form> </form> GET /suma.html?op1=2&op2=2 HTTP/1.1 POST /suma.html HTTP/1.1 . . . . . Content-Type: ... Connection: Keep-Alive Content-Length: 11 [blank line] [blank line] op1=2&op2=2 El navegador envia los datos El navegador envia los datos ingresados como una ingresados en el cuerpo cadena de consulta de la solicitud HTTP Cualquiera sea el método utilizado, es decir GET o POST, cuando un form es enviado al servidor, decimos que se produjo un POSTBACK
  • 10. Procesamiento en el Servidor • Construir la parte del cliente es “fácil”, sólo es HTML • La parte difícil es la construcción de la lógica del lado del servidor. “Algo en el servidor”, tiene que interpretar las entradas del usuario enviadas junto con el form y generar la correspondiente salida. Suma.html <html> Después del procesamiento <body> Suma.html <form> <html> <input type="text" name="op1" /> <body> + <form> <input type="text" name="op2" /> <input type="text" name="op1“ value=“2”/> <input type="submit" value=" = " /> + </form> <input type="text" name="op2“ value=“2”> </body> <input type="submit" value=" = " /> </html> 4 </form> Antes del procesamiento </body> </html>
  • 11. Procesamiento en el Servidor (Cont.) • Existen varias tecnologías de procesamiento: – CGI (Common Gateway Interface) • Define una API de bajo nivel • Se programa en Perl • Popular en entornos UNIX, no tanto en Windows – ISAPI (Internet Server Application Programming Interface) • Son DLL Windows que “corren” bajo IIS. Escritas en C++ • Una solicitud típica sería , http://www.cursoaspnet.com/suma.dll • Mejor performance que CGI – ASP (Active Server Pages) • Simple solución: HTML + Script del lado del servidor • Programadas en JScript o VBScript • Objetos intrínsecos que abstraen detalles de bajo nivel de HTTP. Objetos Request y Response • Permite usar ADO (ActiveX Data Object) para acceso a datos
  • 12. Que pasa con ASP? • ASP es lenta: el código script es interpretado más que compilado – Por cada solicitud a la página el script es interpretado • ASP carece de un verdadero modelo de encapsulación – Por ej. NO es posible crear controles ASP reutilizables que encapsulen complejos “rendering” o alguna lógica de comportamiento, sin recurrir a COM • El código puede tornarse imposible de leer • Mezcla de código y la presentación • Distribuir una aplicación ASP que utilice COM puede ser un dolor de cabeza
  • 13. Que es ASP.NET • ASP.NET es el framework de programación web dentro de .NET • Permite desarrollar aplicaciones Web con un modelo “similar” al utilizado para aplicaciones Windows • El componente fundamental de ASP.NET es el WebForm • Independencia del cliente (navegador, S.O., dispositivo físico, etc.) • Permite utilizar cualquier lenguaje .NET • Permite desarrollar Servicios Web XML
  • 14. ASP.NET - Ventajas • La “parte ejecutable” de una aplicación ASP.NET es COMPILADA • Implementación y actualización de las aplicaciones sin reiniciar el servidor! • Acceso a toda la BCL del .NET Framework • Independiente del lenguaje de programación • Administración automática del estado de los controles Web (VIEWSTATE) • Encapsulamiento a través de controles de servidor y controles de usuario!
  • 15. ASP.NET – Ventajas (Cont.) • Permite usar ADO.NET para acceso a datos • Soporta XML, Hojas de estilo CSS, etc. • Detección automática del navegador cliente, generando el lenguaje de marcas soportado por el mismo • Mecanismo de Caching incorporado para páginas completa o partes de la misma, frecuentemente solicitadas
  • 16. Modelo de ejecución de ASP.NET Primera Solicitud Parser Compilador <% ... %> <% ... %> Inicio.aspx http://localhost/inicio. aspx Assembly Memoria Cache Assembly en Assembly en MSIL MSIL Cliente HTTP Runtime Servidor
  • 17. Modelo de ejecución de ASP.NET (Cont.) Siguientes Parser Solicitudes Compilador <% ... %> <% ... %> Inicio.aspx http://localhost/inicio. aspx Assembly Memoria Cache Assembly en Assembly en MSIL MSIL Cliente HTTP Runtime Servidor
  • 18. Componentes de una aplicación ASP.NET • WebForms (Formularios Web) o Páginas ASPX – Uno o más archivos con extensión .aspx • Archivos Code-Behind – Archivos asociados a WebForms que contienen código del lado del servidor (Ej. VB.NET, C#, etc.) • Archivos de configuración con formato XML – Un archivo Web.config por c/aplicación – Un único archivo Machine.config por servidor • Global.asax – Eventos a nivel de aplicación
  • 19. Componentes de una aplicación ASP.NET • Directorio BIN – Contiene el assembly de la aplicación (Ej.: MiAplic.dll) – Cero o más assemblies (Componentes externos) • Enlaces a Servicios Web XML – Permiten a la aplicación ASP.NET enviar y recibir datos desde Servicios Web • Mecanismo de Caching – Permite responder al cliente de manera más rápida después de la primera solicitud
  • 20. Componentes de una aplicación ASP.NET Cliente ASP.NET Web Server WebForm1.aspx Global.asax Output Cache WebForm1.aspx.vb Web.config Internet WebForm2.aspx BIN WebForm2.aspx.vb Comp. Comp. Servicios Web Database
  • 21. Las aplicaciones Web ASP.NET + IIS • IIS es el servidor Web de la plataforma Windows • Las aplicaciones Web solo pueden existir en una ubicación que es publicada por IIS como un Directorio Virtual • Directorio Virtual: es un recurso compartido identificado por un alias y que representa una ubicación física en el servidor • El famoso //localhost hace referencia al directorio raíz del servidor web • Por default, //localhost “apunta” a C:Inetpubwwwroot
  • 22. Las aplicaciones Web ASP.NET + IIS • VS.NET por default crea las aplicaciones web bajo el directorio raíz, ej.: – MiAplicacion • Virtual: http://localhost/MiAplicacion • Física: C:InetpubwwwrootMiAplicacion • Podemos usar IIS para definir un directorio virtual donde alojar nuestras aplicaciones Web, diferente al predeterminado
  • 23. Estructura de las aplicaciones Web • El “perímetro” de una aplicación Web es determinada por su estructura de directorios • Comienza por su directorio raíz, el cual contiene: – La página o WebForm de inicio – El archivo de configuración Web.config – El directorio BIN • El perímetro de la aplicación termina en su último directorio o cuando se encuentra el directorio raíz de otra aplicación Web
  • 24. La página de inicio de la aplicación • Etapa de desarrollo – Cuando VS.NET crea una aplicación Web ASP.NET, este hace que la página WebForm1.aspx se la página de inicio – La página de inicio es el primer WebForm que se muestra cuando se ejecuta una aplicación desde VS.NET – Podemos establecer la página de inicio a nuestro gusto • Etapa de distribución/implementación – Bajo IIS deberemos configurar la página a mostrar cuando el usuario omita en la URL el nombre de alguna página, por ej. cuando escriba http://localhost/MiApp en vez de http://localhost/MiApp/inicio.aspx
  • 25. ASP.NET + IIS • Cuando IIS recibe una solicitud sobre una página ASPX, IIS utiliza aspnet_isapi.dll para invocar al ASP.NET Worker Process (aspnet_wp.exe) • El ASP.NET Worker Process ejecuta el assembly de la aplicación y destina un espacio de memoria (Application Domain) • ASP.NET aísla cada aplicación mediante los Application Domains • Por lo tanto “El nivel de aislamiento configurado en IIS, NO TIENE EFECTO sobre las aplicaciones ASP.NET” (Usado con ASP)
  • 26. ASP.NET con VS.NET • Archivos de soluciones – Las soluciones contienen uno o más proyectos – Existen dos archivos de soluciones: • El archivo con extensión .sln mantiene enlaces a los proyectos que la contienen y otra información general. • El archivo con extensión .suo mantiene información sobre las opciones personalizadas de la solución hecha por el usuario. • Archivos de proyecto – Contienen enlaces a todos los items (Clases, WebForms, archivos de configuración, etc.) que conforman al proyecto. – Sus extensiones son .vbproj (VB.NET) y .csproj (C#)
  • 27. ASP.NET con VS.NET • Assembly del proyecto – Cuando compilamos la aplicación, TODAS las clases code- behind (.aspx.vb o .aspx.cs) son compiladas en un assembly con el nombre MiProyecto.dll dentro del directorio BIN de la aplicación – También existen los archivos de clase AssemblyInfo.vb y AssemblyInfo.cs que contienen información general del assembly de la aplicación como ser Versión, Nombre de la empresa, etc
  • 28. Estructura de archivos de una aplicación Web ASP.NET My Documents My Documents Inetpub Inetpub Visual Studio Visual Studio wwwroot wwwroot Projects Projects ProyectoA ProyectoA ProyectoA ProyectoA ProyectoA.sln ProyectoA.vbproj WebForm1.aspx Desarrollo WebForm1.aspx.vb (Archivos Code-behind) Assemblies Bin Bin Generar aplicación ProyectoA.dll
  • 29. CONCLUSIONES Y/O ACTIVIDADES DE INVESTIGACIÓN SUGERIDAS • Podemos concluir que de paginas estáticas y no seguras en el cliente realizadas con HTML se paso a paginas dinámicas, mas seguras y potentes en el servidor usando la tecnología Web de Microsoft ASP.Net • Se sugiere ingresar al sitio Web de Microsoft Asp.Net