Rafael del Corr...'s profile..:: Blog de Rafael del ...BlogLists Tools Help

Blog


    Primero pasos con ASP.NET MOBILE

    "Distintos dispositivos, distintas plataformas, distintos soportes, distintos lenguajes..."

    Es grande... la cantidad de dispositivos que hoy nos ofrece el mercado, sumado a la cantidad de dispositivos que ya ofreció y que están circulando como para pensar que se puede desarrollar un sitio web en un solo lenguaje (elegiríamos el que tenga mayores prestaciones), dejando de lado a todos aquellos que tengan dispositivos con un soporte más limitado. Es el ejemplo de la PocketPC con HTML (HyperText Markup Languaje) en relación con los celulares que soportan WML (Wireless Markup Languaje), cHTML (Compact Hyper Text Markup Languaje), iHTML (para dispositivo que soportan i-mode), entre otros.

    Esta es una de las ventajas de ASP.NET para desarrollo de aplicaciones web móviles. El lenguaje con el cual codifica la página que envía, varía de acuerdo a las características del equipo que la solicita. El procedimiento consiste básicamente en los siguientes pasos:

    1. Una vez enviada la solicitud (HttpRequest), lo primero que hace el server es identificar las características del dispositivo (Device Capabilities), como por ejemplo browser y lenguaje soportado.
    2. El MMIT (Microsoft Mobile Internet Toolkit) guarda esta información que recibe a partir del HttpRequest realizado por el dispositivo, en el archivo "Machine.Config" y contiene los siguientes valores:

      - URL: dirección solicitada.

      - User Agent: el navegador.

      - Header Information: los encabezados.

    3. Una vez localizada la página (a través del parámetro URL enviado en el HttpRequest), la primera vez que es solicitada, la página con extensión aspx. atraviesa el siguiente proceso:

      a) Se envía al parser, que funciona de la siguiente manera: éste recibe una serie de sentencias (en este caso el código que proviene de una página aspx), que de acuerdo a su gramática puede identificar la estructura y las propiedades de los datos que se envían.

      b) La página es enviada al compilador, donde se genera el assembly de la página.

      c) Se almacena el assembly generado en el "Assembly Cache".

      d) El servidor crea una nueva instancia de la página emsamblada que la usará luego para procesar el pedido del HttpRequest enviado por el dispositivo.

      e) Una vez que la página .aspx está instanciada, los Mobile Web Controls (luego haremos una aclaración respecto a la diferencia entre los controles HTML y los Mobile Web Controls) son instanciados también, y la Bussines Logic es ejecutada. Vale la pena destacar, que al existir la posibilidad que dentro de un proyecto tipo "Desktop Asp.NET WebSite" podemos incluir páginas .aspx para dispositivos móviles, podemos utilizar la misma lógica de negocios en uno que en otro (por ejemplo, el caso que querramos hacer una misma página que pueda ser visualizada en una PC de escritorio o en una PocketPC o SmartPhone).

      d) Se genera el lenguaje correspondiente en base a las características del dispositivo, que luego se encapsula en un HttpResponse y es enviado al dispositivo que realizo el HttpRequest.

      En caso que la página ya esté instanciada, los pasos de a) hasta d) se saltean. Esto por supuesto que se va a ver reflejado en una mejor performance del sitio.

    4. Finalmente, la página se renderiza en el dispositivo.

    En un dispositvo que no soporte el protocolo HTTP, y que soporte WAP (Wireless Application Protocol), el proceso es idéntico, sólo que entre el server y el dispositivo interviene un Gateway para codec de HTTP A WAP y viceverza.

    Bueno, para dar los primeros pasos con asp.net mobile creo que hemos tomado el camino correcto. Han visto una excelente caraceterística de asp.net mobile: la posibilidad de desligarle al desarrollador la tarea de tener que identificar con que lenguaje se debe trabajar, que por supuesto se puede hacer manualmente (conociendo el tipo MIME que representa a cada uno de los formatos que el dispositivo permite (tipo_de_formato/formato_especifico), a través del método "AcceptTypes" de la instanciación de la clase System.Web.HttpRequest, que devuelve un vector de cadenas con los tipos aceptados por el dispositivo).

     

    Ésto ha sido todo por ahora, hasta la próxima.

    Comments (2)

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    Picture of Anonymous
    Miguel wrote:
    Primazo!
    Q lo q decí?
    Pensé q la cosa esta era en castellano...
    Se ve q sos un grosso de la PC, ja!
    Ya nos veremos en vivo y en directo pronto.
    Abrazo
    Miguel
    June 29
    Me parece excelente esta nueva propuesta en la blogosfera.
    Te invito a que veas mi blog www.winfxdev.com.ar.
    Saludos.-
    June 5

    Trackbacks

    The trackback URL for this entry is:
    http://mobiledevp.spaces.live.com/blog/cns!B1F45CF18768D48A!105.trak
    Weblogs that reference this entry
    • None