Generador de Proxy remoto JavaScript.



Documentos relacionados
Manual para el uso del Correo Electrónico Institucional Via Webmail

Grupo: Documentación Tipo documento: Manual de Usuario V.1.0 /2011 René Darío Pacios Díaz

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

MANUAL INSTALACIÓN ABOGADOS MF

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

Convirtiendo arboles de expresión lambda en diferentes strings.

Modelo de Objetos Distribuidos

Herramientas CONTENIDOS. MiAulario

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

GUIA DE LABORATORIO N 8 A(Netbeans-java,Glassfish)

PLATAFORMA ON-LINE DE FORMACIÓN. Manual del Alumno

Elastix Web Services (WSDL) Manual de Usuario

LA RED DE CAPACITACIÓN GASTRONÓMICA MÁS GRANDE DE LATINOAMÉRICA

Manual de usuario Noticias y Accesos Directos en Facultades ÍNDICE

Kaldeera Advanced Forms 2009 Guía del usuario

Bloque 2 EL AULA MOODLE DESDE EL PUNTO DE VISTA DEL ALUMNO(I) Utilidades básicas y acceso a recursos de aprendizaje

Instalar y configurar W3 Total Cache

Se ha confeccionado una aplicación sencilla para poder probar el interfaz de gestión explotación de MEGA, Modelo Estandarizado de Gestión de Agua.

Internet Information Server

Plantillas Office. Manual de usuario Versión 1.1

ÁLAMO SOFTWARE PARA GESTIÓN INMOBILIARIA

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

Manual de USO de la Web. Afilnet.com. Afilnet. Servicios de Telecomunicaciones SMS

Aplicaciones Web con Delphi

GUÍA PARA LA INSTALACIÓN Y USO DE WORDPRESS BY MASTERHACKS. Guía de instalación y uso de Wordpress Página 1

Manual CMS Mobincube

Gestión de Subtotales en Documentos de Venta WhitePaper Febrero de 2007

SCGDoc. SisConGes & Estrategia

Transacciones y bloqueos en SQL-Server

INSTRUCTIVO PARA LA UTILIZACIÓN DEL SERVICIO DE CORREO CORPORATIVO A TRAVÉS DE WEBMAIL

La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.

Sistema Integrado de Control de Presencia Dactilar

TUTORIAL PHP WEBQUEST

Introducción a LinoIt Breve guía sobre algunas de sus funcionalidades destacables.

DNS IPLAN ABM DE REGISTROS DNS EN IPLAN CONTROL

Conceptos Generales en Joomla

JavaScript como Orientación a Objetos

ACTIVE DIRECTORY - PROPIEDADES DE USUARIO

Plantilla de texto plano

MARKETING IPLAN

PRÁCTICA 10. Configuración de Correo y Publicar en la Web

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

Posicionamiento internacional

Edición de Ofertas Excel Manual de Usuario

TS RemoteApp Manager

DOCUMENTOS COMPARTIDOS CON GOOGLE DOCS

Cobian Backup. Inguralde [Enero 2011]

MANAUAL DE MANTENIMIENTO PARA LA PÁGINA WEB DE PROYECTO ADL GESTOR DE CONTENIDOS

Plataforma Educativa Manual del Docente Nivel II Módulo 3 Wiki

CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA. BizAgi Process Modeler

UNIDAD DIDÁCTICA Nº 7 USO DE LOS RECURSOS EN MOODLE

Manual de usuario para el Sistema de reservas del portal Museos de la Región de Murcia

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

Optimizar base de datos WordPress

MANUAL DE USUARIO IMPORTADOR DE FICHERO DE USUARIOS EN EL SERVIDOR DE CENTRO

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

Sesión6-Insercion de objetos

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

CONFIGURACION AVANZADA DE MOZILLA THUNDERBIRD

MANUAL BASICO DE WEBEX

Para añadir un presupuesto nuevo, seleccionaremos en el apartado Presupuestos la opción en la parte superior Añadir.

Campus Virtual, Escuela de Ingeniería Mecánica Guía Estudiante

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA

MANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

El módulo de texto plano es un sencillo editor. Al seleccionarlo en la caja de módulos, el área central adoptará al siguiente aspecto:

Introducción a Moodle

Manual del programador

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Carrito de Compras. Esta opción dentro de Jazz la podremos utilizar como cualquier otro carrito de compras de una página de Internet.

SIMPLE Cuentas Corrientes

Manual para la utilización de PrestaShop

El ejemplo de wiki más conocido es la enciclopedia universal colaborativa wikipedia.

Symantec Backup Exec System Recovery Manager

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS

Portal Del Emisor MANUAL DEL USUARIO. Plataforma de Facturación Electrónica

Autores en Web of Science y ResearcherID

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

MANUAL PARA EMPRESAS PRÁCTICAS CURRICULARES

MANUAL PLATAFORMA SMSWORLD

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

ICARO MANUAL DE LA EMPRESA

MANUAL DE INICIACIÓN A JOVELLANOS VIRTUAL J. A. Espejo coordinador.tic@iesjovellanos.org 1

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

Guía nuevo panel de clientes Hostalia

Tutorial: Primeros Pasos con Subversion

Unidad Didáctica 12. La publicación

BANNERS CÍCLICOS CON JAVASCRIPT

Practica creación de tesauros

Web de Letras Manual de usuario. Gestiona tus letras por internet

Transcripción:

Generador de Proxy remoto JavaScript. 1. Introducción: La aplicación genera un proxy JavaScript a partir de un servicio web de.net con extensión.asmx, tomado como entrada. Automatizando de esta manera la tarea, para que el desarrollador no pierda tiempo ni esfuerzo realizando un desarrollo totalmente mecánico en lenguaje JavaScript del proxy remoto. Así los métodos del servicio.asmx son publicados y están disponibles para su uso desde cualquier página web, ocultando la complejidad del envió de parámetros, la recepción de objetos retornados, la serialización y deserialización de objetos a formato JSON. El proxy generado depende de las librerías de JQuery ya que las utiliza para invocar a los métodos del servicio web. 2. Código de ejemplo del servicio web y del proxy generado: En la Figura A, podemos ver como los métodos del servicio web (WebMethods), son transformados en sus homólogos, métodos JavaScript del proxy remoto. Figura A. La Figura B y la Figura C, muestran con más detalles el código fuente del WebMethod Add escrito en C Sharp y su correspondiente método en el proxy remoto escrito en JavaScript. El método Add retorna una lista de objetos persona serializada al formato JSON, para esto se utilizó el objeto JavaScriptSerializer y su método Serialize. En la otra punta el proxy remoto JavaScript toma este string y lo transforma de nuevo a objetos para que el desarrollador pueda utilizarlo sin tener que preocuparse por su deserialización. El proxy utiliza librerías JQuery para serializar y deserializar los objetos que van y viene desde el cliente al servidor web y viceversa.

Figura B. Figura C.

3. Como invocar los métodos remotos como si estuvieran en el cliente: Los métodos publicados por el proxy remoto se convierten en métodos estáticos JavaScript, no hay que hacer un new de la clase para crear el objeto. La Figura D muestra una simple invocación para el método Add. Figura D. La Figura E, muestra el código fuente JavaScript, que invoca al método Add pero en forma más completa con manejo de excepciones. Observemos que la excepción también es manejada como un objeto ya que también ha sido serializada. Figura E. 4. Manejo de excepciones: El proxy generado nos permite manejar las excepciones de las siguientes maneras: WebServiceSumador.AlertException Descripción True Le indica al proxy que ante la aparición de una excepción esta debe ser mostrada al usuario mediante un alert() False Le indica al proxy que ante la aparición de una excepción este debe burbujearla mediante el uso de un thow de JavaScript, siendo responsabilidad del desarrollador el manejo posterior de la misma. El código mostrado en la Figura F, muestra el establecimiento de la propiedad AlertException a false, razón por la cual se ha encerrado la invocación al método Add dentro de un bloque try-catch, al ocurrir una excepción el bloque catch muestra al

usuario las tres propiedades Message, StackTrace, ExceptionType de la excepción ocurrida en el lado servidor. Figura F. La Figura G muestra el código que libera al desarrollador del manejo de las excepciones ya que el establecimiento de la propiedad AlertException a true causa que el comportamiento sea el de mostrar mediante un alert() la excepción ocurrida en el servidor. Figura G. Luego de la ejecución del código de la Figura G podemos ver en el explorador web el siguiente mensaje de error causado por el método alert(), observemos la serializarían con formato JSON del error: Figura H.

5. Establecimiento de la URL del servicio web: La propiedad WebServiceSumador.URL, es del tipo string y nos brinda la posibilidad de establecer la URL en la cual se encuentra el servicio web. La siguiente figura muestra que se establece la propiedad WebServiceSumador.URL = 'http://localhost:59063/' ya que el servicio web se encuentra en: http://localhost:59063/webservicesumador.asmx. Si la propiedad no se establece y se utiliza su valor por defecto, el proxy entiende que la URL del servicio web es la misma que la URL en la que se encuentra la página web que lo invoca. Figura I. 6. Uso del generador de proxy remoto: Consta de solo 4 pasos a saber: (Paso 1) Escoger el path al archivo.dll resultado de la compilación del servicio web.asmx (Paso 2) Escoger el path donde queremos guardar el código del proxy JavaScript generado. (Paso 3) El sistema muestra al usuario un resumen de lo seleccionado. (Paso 4) Generar el código fuente JavaScript del proxy remoto. Figura J.

7. Plantillas (templates): La aplicación generadora utiliza plantillas (Templates) y marcadores (Placeholder) del tipo NVelocity. De esta manera se logra la separación entre modelo y vista dando la posibilidad al desarrollador de cambiar dicha vista sin tener que cambiar el modelo o en otras palabras pude modificar el código JavaScript generado sin la necesidad de recompilar la aplicación. En el directorio \JsonProxyGenerator\Templates podemos encontrar los siguientes archivos de plantilla JavaScript.vm y script.vm el siguiente es un pedazo de código fuente de estos archivos: Figura K. Podemos editar este archivo con un simple editor de texto plano como el notepad.exe o algo más potente y con coloreado de sentencias como ser Notepad++ y alterar el código generado a nuestro antojo. En la línea 11 podemos ver la sentencia foreach provista e interpretada por NVelocity y que aquí la utilizamos para generar el código JavaScript de cada uno de los métodos que componen nuestro servicio web. Los marcadores comienzan con el signo $, por ejemplo el marcador $webservice.webmethods, de la línea 11, retorna la lista de métodos que componen el servicio web del cual queremos generar su archivo proxy. 8. Referencias: Lista de referencias relacionadas con esta aplicación: Descripción Enlace JQuery http://jquery.com/ JSON http://www.json.org/ NVelocity http://nvelocity.sourceforge.net/ Notepad++ http://notepad-plus-plus.org/ Paint.net http://www.getpaint.net/ JSON (JavaScript Object Notation) http://www.json.org/