Programacion web XML
angel310895 de Diciembre de 2012
3.415 Palabras (14 Páginas)781 Visitas
INTRODUCCION
Nuestras sociedades están cambiando debido a la introducción del Internet, redes sociales cambian la forma de interactuar con personas y sobre cómo conocer a nuevas personas. Sitios como plentyoffish.com han cambiado la percepción acerca de citas en países norteamericanos y europeas, y probablemente habrán sitios en habla hispana que cambiarán la forma en que interactuamos con las personas.
La cuestión no es sí es importante o no, es que tan importante puede llegar a ser y hasta donde permitirá el ser humano que reemplace las relaciones humanas físicas por las cibernéticas. Creo que estamos muy abiertos a un cambio. La privacidad juega un papel muy importante en la disponibilidad que tienen las personas a utilizar el Internet. Ya no es necesario sentir vergüenza en realizar una pregunta o tratar de conocer a una persona no implica sentirnos tímidos al respecto.
5.1 VISIÓN GENERAL DE SERVICIOS WEB XML.
Los Web XML son bloques de código ejecutable expuestos a través de protocolos estándar para su uso en la Web. El bloque de código que compone un servicio Web XML parece más a un programa de consola sin interfaz; se trata de una clase pública que define, principalmente, métodos. Estos son llamados métodos de servicio Web XML, mismos que podrán ser invocados por aquellos programas que consuman el servicio.
Los servicios Web XML permiten el manejo distribuido de componentes, estos permiten tomar ventaja de la infraestructura de Internet para la distribución de funcionalidad y paquetes de datos.
Las principales características de los servicios Web XML son:
• Independencia de la plataforma. Independientemente de la plataforma que dispongan los clientes de una aplicación, el contrato se encarga de hacer la petición en un formato estándar, y de recibir la respuesta correspondiente.
• Arquitectura libre del manejo de estados (stateless architecture). Los servicios Web XML no manejan estados de objetos; cada respuesta brindada por un servicio Web XML es una nueva instancia de un objeto, con su estado particular. Lo que una petición realiza no impacta lo realizado por otras peticiones.
• Comunicación síncrona y asíncrona. El requerimiento de ejecución de un método de servicio Web XML, y el requerimiento de la respuesta, son independientes. La aplicación que consume el servicio Web XML, y el servicio Web XML mismo, pueden operar con mayor disponibilidad, ya que liberan recursos mientras se está en tiempo de espera.
Los principales usos que tienen los servicios Web XML son los siguientes:
• Cuando se requiere compartir funcionalidad libre de interfaz de usuario. Los servicios Web son útiles en cuando se desea consumir la funcionalidad de un componente, sin la intermediación de una interfaz de usuario. Ejemplos de esto es el consumo de servicios que proporcionan información, como tipos de cambio, estado del clima, precios de productos, disponibilidad de lugares en eventos, sin tener que responder a alguna interfaz de usuario.
• Cuando se quiere comercializar un servicio de uso de software, y no un producto de software. En el futuro, no se venderá software, sino la funcionalidad que el software brinda estará disponible como servicio en la Web, si requerimos de un procesador de palabras, nos enlazaremos a un procesador de palabras en línea, y pagaremos sólo por el tiempo que utilizamos dicho procesador.
• Cuando el equipo cliente y servidor requieren compartir funcionalidad en Internet, pero difieren en su plataforma operativa.
5.2 TECNOLOGÍAS SUBYACENTES.
Las especificaciones que se han desarrollado para implementar los servicios Web se presentan como una pila de tecnologías donde las especificaciones superiores hacen uso de las inferiores, como se muestra.
5.2.1 SOAP (SIMPLE OBJECT ACCESS PROTOCOL).
SOAP define un protocolo que da soporte a la interacción (datos + funcionalidad) entre aplicaciones en entornos distribuidos y heterogéneos, es interoperable es decir neutral a plataforma y lenguajes de programación, independiente del hardware y protocolos. Funciona sobre la infraestructura existente en Internet. Es decir un protocolo que proporciona un mecanismo estándar de empaquetar mensajes. Este protocolo está pensado para el intercambio de información en entornos descentralizados y distribuidos. Usa las tecnologías relacionadas con XML a fin de definir un marco de trabajo extensible para los mensajes. Este marco ha sido diseñado con el fin de que fuera independiente del cualquier modelo de programación y otras implementaciones de semánticas.SOAP define cómo organizar información usando XML de forma estructurada para intercambiarla entre distintos sistemas.
SOAP especifica lo siguiente:
• Un formato de mensaje para una comunicación unidireccional, describiendo cómo se empaqueta la información en documentos XML.
• Un conjunto de convenciones para usar mensajes SOAP para implementar el patrón de interacción RPC (Remote Procedure Call), definiendo cómo los clientes pueden invocar un Procedimiento Remoto enviando un mensaje SOAP y cómo los servicios pueden responder enviando otro mensaje al llamador.
• Un conjunto de reglas que una entidad que procesa mensajes SOAP debe seguir, definiendo en particular los elementos XML que una entidad debe leer y entender, así como las acciones que deben toma si no entienden el contenido, estas reglas son llamadas: Reglas de Codificación de los Datos.
• Una descripción de cómo se debe transportar un mensaje SOAP sobre HTTP y SMTP.
SOAP intercambia información mediante mensajes. Los mensajes se utilizan como envoltorios que la aplicación utiliza para guardar la información que quiere enviar.
Cada mensaje contiene dos partes:
• Una cabecera (opcional). Que contiene información del mensaje, por ejemplo la cabecera puede contener la fecha en que el mensaje es enviado, o información de autenticación, cuando esta presente la cabecera siempre debe estar en la parte de arriba.
• Un cuerpo (obligatorio). Contiene los datos del mensaje.
La cabecera y el cuerpo pueden tener múltiples subpartes en forma de bloques de la cabecera y bloques del cuerpo.
Cuando una aplicación cliente hace una solicitud a un método Web, un paquete SOAP es creado. Este paquete contiene el nombre del método Web que es invocado, y los parámetros que son pasados al método Web en un formato XML. Cuando el paquete SOAP llega al servidor Web en el cual reside el servicio Web, el método Web y sus parámetros son extraídos del paquete SOAP y el método es invocado.
En la siguiente figura, se tiene una representación de la composición de un mensaje SOAP.
Mensaje SOAP.
5.2.2 WSDL (WEB SERVICES DESCRIPTION LANGUAGE). EL LENGUAJE DE DESCRIPCIÓN.
Un WSDL es la especificación estándar de funcionamiento y datos de un servicio Web XML donde se declaran los objetos que se van a compartir vía SOAP, es decir, las operaciones, sus argumentos y sus tipos de datos.
WSDL se maneja a través de un contrato, conocido también como Service Description, que es un documento XML que contiene información relacionada al servicio Web XML y los paquetes de datos que el servicio Web XML maneja, tanto de entrada como de salida.
De cierta forma WSDL específica los datos requeridos por el servicio, su comportamiento, y sus datos de retorno; actúa como un contrato de intercambio de paquetes de datos entre el consumidor de servicios Web XML y el servicio Web XML. WSDL también contiene las referencias a las direcciones asociadas con el servicio Web XML, mismas que dependerán del protocolo utilizado para consumir el servicio.
El documento WSDL es un documento XML; el elemento raíz es llamado definitions, y contiene cinco nodos hijos que muestran la forma en que está definido el servicio Web XML. Dichos elementos hijo son los siguientes:
• Types. Define los tipos de datos utilizados para el intercambio de mensajes entre el consumidor y el servicio.
• Message. Describe los mensajes que serán comunicados entre el consumidor y el servicio.
• portType. Identifica el conjunto de operaciones que realiza el servicio, y los mensajes involucrados en dichas operaciones.
• Binding. Específica los detalles de protocolo para el intercambio de mensajes entre las operaciones, describiendo cómo traducir contenido abstracto a un formato estándar.
• Service. Agrupa aquellos puertos que estén relacionados, y que implementan un Web service.
•
Para generar un WSDL, se utiliza la utilería wsdl.exe con la siguiente sintaxis:
Wsdl /l:Lenguaje /n:NombreNamespace URL_Servicio
Donde Lenguaje es el lenguaje que se desea utilizar, NombreNamespace es el nombre del espacio de nombres a generarse en el WSDL, y URL_Servicio es el URL del servicio Web XML a partir del cual se generará WSDL.
La ejecución de wsdl.exe sobre el servicio Web XML producirá un programa generado en el lenguaje especificado, que deberá ser compilado como librería para su uso programático. Dicho programa contendrá la misma funcionalidad del servicio Web XML, con todas las especificaciones descriptivas.
5.2.3 UDDI (UNIVERSAL DESCRIPTION, DISCOVERY, AND INTEGRATION). EL REPOSITORIO DE SERVICIOS.
Uno
...