Soap, xml, javascript y webservices
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 12,69 KB
WEBSERVICE
Un servicio Web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios Web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares.
Estándares Empleados
Ø Web Services Protocol Stack
Así se denomina al conjunto de servicios y protocolos de los servicios Web.
Ø XML (Extensible Markup Language): Es el formato estándar para los datos que se vayan a intercambiar.
Ø SOAP(Simple Object Access Protocol) o XML-RPC (XML Remote Procedure Call): Protocolos sobre los que se establece el intercambio.
Ø Otros protocolos: los datos en XML también pueden enviarse de una aplicación a otra mediante protocolos normales como HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer Protocol).
Ø WSDL (Web Services Description Languages): Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con los servicios Web.
Ø UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la información de los servicios Web. Permite comprobar qué servicios web están disponibles.
Ø WS-Security (Web Service Security): Protocolo de seguridad aceptado como estándar por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza la autenticación de los actores y la confidencialidad de los mensajes enviados...
Inconvenientes
Ø Para realizar transacciones no pueden compararse en su grado de desarrollo con los estándares abiertos de computación distribuida como CORBA (Common Object Request Broker Architecture).
Ø Su rendimiento es bajo si se compara con otros modelos de computación distribuida, tales como RMI (Remote Method Invocation), CORBA, o DCOM (Distributed Component Object Model). Es uno de los inconvenientes derivados de adoptar un formato basado en texto. Y es que entre los objetivos de XML no se encuentra la concisión ni la eficacia de procesamiento.
Ø Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall cuyas reglas tratan de bloquear o auditar la comunicación entre programas a ambos lados de la barrera.
Razones
Ø La principal razón para usar servicios Web es que se basan en HTTP sobre TCP (Transmission Control Protocol) en el puerto 80.
Ø Otra razón es que, antes de que existiera SOAP, no había buenas interfaces para acceder a las funcionalidades de otros ordenadores en red.
Ø Una tercera razón por la que los servicios Web son muy prácticos es que pueden aportar gran independencia entre la aplicación que usa el servicio Web y el propio servicio.
Ø Se espera que para los próximos años mejoren la calidad y cantidad de servicios ofrecidos basados en los nuevos estándares.
XML
XML es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a HTML pero su función principal es describir datos y no mostrarlos como es el caso de HTML. XML es un formato que permite la lectura de datos a través de diferentes aplicaciones
Entre las tecnologías XML disponibles se pueden destacar:
• XSL : Lenguaje Extensible de Hojas de Estilo
• XPath: Lenguaje de Rutas XML
• XLink: Lenguaje de Enlace XML
• XPointer: Lenguaje de Direccionamiento XML
• XQL: Lenguaje de Consulta XML
Tipos de documentos XML
• Bien formados: Son todos los que cumplen las especificaciones del lenguaje respecto a las reglas sintácticas
• Válidos: Además de estar bien formados, siguen una estructura y una semántica determinada por un DTD: sus elementos y sobre todo la estructura jerárquica que define el DTD, además de los atributos, deben ajustarse a lo que el DTD dicte
• PARSEREl parser o procesador de XML es la herramienta principal de cualquier aplicación XML. Mediante el parser no solamente podemos comprobar si nuestros documentos son bien formados o válidos, sino que también podemos incorporarlos a nuestras aplicaciones, de manera que estas puedan manipular y trabajar con documentos XML
¿QUE ES AJAX?
• El término AJAX es un acrónimo de:
Asynchronous JavaScript + XML,
• Se puede traducir como:
"JavaScript asíncrono + XML".
Es una técnica de desarrollo Web para crear aplicaciones interactivas.
Tecnologías que forman AJAX
• XHTML y CSS, para crear una presentación basada en estándares.
• DOM, para la interacción y manipulación dinámica de la presentación.
• XML, XSLT y JSON, para el intercambio y la manipulación de información.
• XMLHttpRequest, para el intercambio asíncrono de información.
• JavaScript, para unir todas las demás tecnologías.
• XHTML y CSS, para crear una presentación basada en estándares.
• DOM, para la interacción y manipulación dinámica de la presentación.
• XML, XSLT y JSON, para el intercambio y la manipulación de información.
• XMLHttpRequest, para el intercambio asíncrono de información.
• JavaScript, para unir todas las demás tecnologías.
¿COMO FUNCIONA AJAX?
En las aplicaciones Web tradicionales, las acciones del usuario en la página (pinchar en un botón, seleccionar un valor de una lista, etc.) desencadenan llamadas al servidor. Una vez procesada la petición del usuario, el servidor devuelve una nueva página HTML al navegador del usuario.
Las aplicaciones construidas con AJAX eliminan la recarga constante de páginas mediante la creación de un elemento intermedio entre el usuario y el servidor. La nueva capa intermedia de AJAX mejora la respuesta de la aplicación, ya que el usuario nunca se encuentra con una ventana del navegador vacía esperando la respuesta del servidor.
VENTAJAS
Interactividad
• Las aplicaciones AJAX se ejecutan en la máquina cliente, manipulando la página actual dentro de sus navegadores usando métodos de Document Object Model.
Portabilidad
• Las aplicaciones de Ajax utilizan características bien documentadas presentes en todos los navegadores importantes en la mayoría de las plataformas existentes.
DESVENTAJAS
Críticas de usabilidad
• Una de las mayores críticas contra el uso de AJAX en aplicaciones Web es que puede fácilmente acabar con el comportamiento normal del botón atrás del navegador
JavaScript
• Aunque AJAX no necesita ningún tipo de plug-in para el navegador, requiere que los usuarios tengan el JavaScript activado.
SOAP
• SOAP(Simple Object Access Protocol)
Es un protocolo estándar que permite la comunicación y la interoperabilidad entre diversas aplicaciones Web desarrolladas bajo tecnologías diferentes.
QUE CONTIENE
• Información adicional incluida en el documento XML (lenguaje de marcado extensible), que describe el contenido y como podría ser procesada.
• Definición de la especificación de algunas estructuras en XML, tales como arrays.
• El modelo descentralizado, esto significa que puede ser procesado por varios intermediarios.
• Características especificas para operaciones clásicas de RPC (Llamados a Procedimientos remotos)con parámetros in/out, etc.
OBJETIVO DE SOAP
• Establecer un protocolo estándar de invocación de servicios remotos, basado en protocolos estándares de Internet: HTTP (Protocolo de transporte de Hipertexto) para la transmisión y XML (lenguaje de marcado extensible) para la codificación de datos.
• Independencia de plataforma, lenguaje de desarrollo e implementación (modelo de objetos).
• SOAP utiliza XML para transportar información, ya que el lenguaje XML es liviano, extensible y altamente personalizable, permite transportar casi cualquier tipo de datos o información.
• Breves especificaciones y características del XML:
• Las etiquetas XML dan nombre a los objetos, estas ordenan e identifican un objeto en un flujo de datos.
• Los nombres de los elementos son sensibles a minúsculas y mayúsculas. ‘descripción’, ‘DESCRIPCION’ y ‘Descripción’, pueden hacer referencia a elementos diferentes.
• Los mensajes SOAP son transmisiones unidireccionales desde un emisor a un receptor.
• Se suelen combinar mensajes para implementar patrones, como petición/respuesta.
• Las implementaciones SOAP se pueden optimizar para explotar las características específicas de sistemas de red concretos.
• SOAP puede ser extendido realizando adiciones de módulos de funcionalidad:
• Attachments - Incluir un documento no XML, archivo binario ó de enviar documentos codificados en Base64.
• Routing/Intermediaries - Rutear mensajes SOAP a través de intermediarios.
• Security - Dar un marco de seguridad a la comunicación (SSL, firma digital, etc.)
• Quality of Services - QoS mide la calidad del servicio.
• Context/Privacy - Hace referencia a guardar el contexto y privacidad, del entorno de los usuarios.
• Una aplicación SOAP debe procesar un mensaje siguiendo un orden de acciones:
1. Identificar las partes del mensaje SOAP dirigido a dicha aplicación.
2. Aceptar las partes obligatorias identificadas en el paso 1 y procesarlas de la forma adecuada. De lo contrario, descartar el mensaje.
3. Si la aplicación SOAP no es el destino final del mensaje, quitar todas las partes identificadas en el paso 1 antes de reenviar el mensaje.
JAVASCRIP
JavaScript es un lenguaje de programación interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C.
• Todos los navegadores modernos interpretan el código JavaScript integrado dentro de las páginas web.
• Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del DOM.
DOM
(Modelo en Objetos para la representación de Documentos)
• Es esencialmente un modelo computacional a través del cual los programas y scripts pueden acceder y modificar dinámicamente el contenido, estructura y estilo de los documentos HTML y XML. Su objetivo es ofrecer un modelo orientado a objetos para el tratamiento y manipulación en tiempo real (o de forma dinámica) a la vez que de manera estática de páginas de internet.
• Tradicionalmente, se venía utilizando en páginas web HTML, para realizar tareas y operaciones en el marco de la aplicación únicamente cliente, sin acceso a funciones del servidor. JavaScript se ejecuta en el agente de usuario al mismo tiempo que las sentencias van descargándose junto con el código HTML.
Un servicio Web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios Web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares.
Estándares Empleados
Ø Web Services Protocol Stack
Así se denomina al conjunto de servicios y protocolos de los servicios Web.
Ø XML (Extensible Markup Language): Es el formato estándar para los datos que se vayan a intercambiar.
Ø SOAP(Simple Object Access Protocol) o XML-RPC (XML Remote Procedure Call): Protocolos sobre los que se establece el intercambio.
Ø Otros protocolos: los datos en XML también pueden enviarse de una aplicación a otra mediante protocolos normales como HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer Protocol).
Ø WSDL (Web Services Description Languages): Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con los servicios Web.
Ø UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la información de los servicios Web. Permite comprobar qué servicios web están disponibles.
Ø WS-Security (Web Service Security): Protocolo de seguridad aceptado como estándar por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza la autenticación de los actores y la confidencialidad de los mensajes enviados...
Inconvenientes
Ø Para realizar transacciones no pueden compararse en su grado de desarrollo con los estándares abiertos de computación distribuida como CORBA (Common Object Request Broker Architecture).
Ø Su rendimiento es bajo si se compara con otros modelos de computación distribuida, tales como RMI (Remote Method Invocation), CORBA, o DCOM (Distributed Component Object Model). Es uno de los inconvenientes derivados de adoptar un formato basado en texto. Y es que entre los objetivos de XML no se encuentra la concisión ni la eficacia de procesamiento.
Ø Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall cuyas reglas tratan de bloquear o auditar la comunicación entre programas a ambos lados de la barrera.
Razones
Ø La principal razón para usar servicios Web es que se basan en HTTP sobre TCP (Transmission Control Protocol) en el puerto 80.
Ø Otra razón es que, antes de que existiera SOAP, no había buenas interfaces para acceder a las funcionalidades de otros ordenadores en red.
Ø Una tercera razón por la que los servicios Web son muy prácticos es que pueden aportar gran independencia entre la aplicación que usa el servicio Web y el propio servicio.
Ø Se espera que para los próximos años mejoren la calidad y cantidad de servicios ofrecidos basados en los nuevos estándares.
XML
XML es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a HTML pero su función principal es describir datos y no mostrarlos como es el caso de HTML. XML es un formato que permite la lectura de datos a través de diferentes aplicaciones
Entre las tecnologías XML disponibles se pueden destacar:
• XSL : Lenguaje Extensible de Hojas de Estilo
• XPath: Lenguaje de Rutas XML
• XLink: Lenguaje de Enlace XML
• XPointer: Lenguaje de Direccionamiento XML
• XQL: Lenguaje de Consulta XML
Tipos de documentos XML
• Bien formados: Son todos los que cumplen las especificaciones del lenguaje respecto a las reglas sintácticas
• Válidos: Además de estar bien formados, siguen una estructura y una semántica determinada por un DTD: sus elementos y sobre todo la estructura jerárquica que define el DTD, además de los atributos, deben ajustarse a lo que el DTD dicte
• PARSEREl parser o procesador de XML es la herramienta principal de cualquier aplicación XML. Mediante el parser no solamente podemos comprobar si nuestros documentos son bien formados o válidos, sino que también podemos incorporarlos a nuestras aplicaciones, de manera que estas puedan manipular y trabajar con documentos XML
¿QUE ES AJAX?
• El término AJAX es un acrónimo de:
Asynchronous JavaScript + XML,
• Se puede traducir como:
"JavaScript asíncrono + XML".
Es una técnica de desarrollo Web para crear aplicaciones interactivas.
Tecnologías que forman AJAX
• XHTML y CSS, para crear una presentación basada en estándares.
• DOM, para la interacción y manipulación dinámica de la presentación.
• XML, XSLT y JSON, para el intercambio y la manipulación de información.
• XMLHttpRequest, para el intercambio asíncrono de información.
• JavaScript, para unir todas las demás tecnologías.
• XHTML y CSS, para crear una presentación basada en estándares.
• DOM, para la interacción y manipulación dinámica de la presentación.
• XML, XSLT y JSON, para el intercambio y la manipulación de información.
• XMLHttpRequest, para el intercambio asíncrono de información.
• JavaScript, para unir todas las demás tecnologías.
¿COMO FUNCIONA AJAX?
En las aplicaciones Web tradicionales, las acciones del usuario en la página (pinchar en un botón, seleccionar un valor de una lista, etc.) desencadenan llamadas al servidor. Una vez procesada la petición del usuario, el servidor devuelve una nueva página HTML al navegador del usuario.
Las aplicaciones construidas con AJAX eliminan la recarga constante de páginas mediante la creación de un elemento intermedio entre el usuario y el servidor. La nueva capa intermedia de AJAX mejora la respuesta de la aplicación, ya que el usuario nunca se encuentra con una ventana del navegador vacía esperando la respuesta del servidor.
VENTAJAS
Interactividad
• Las aplicaciones AJAX se ejecutan en la máquina cliente, manipulando la página actual dentro de sus navegadores usando métodos de Document Object Model.
Portabilidad
• Las aplicaciones de Ajax utilizan características bien documentadas presentes en todos los navegadores importantes en la mayoría de las plataformas existentes.
DESVENTAJAS
Críticas de usabilidad
• Una de las mayores críticas contra el uso de AJAX en aplicaciones Web es que puede fácilmente acabar con el comportamiento normal del botón atrás del navegador
JavaScript
• Aunque AJAX no necesita ningún tipo de plug-in para el navegador, requiere que los usuarios tengan el JavaScript activado.
SOAP
• SOAP(Simple Object Access Protocol)
Es un protocolo estándar que permite la comunicación y la interoperabilidad entre diversas aplicaciones Web desarrolladas bajo tecnologías diferentes.
QUE CONTIENE
• Información adicional incluida en el documento XML (lenguaje de marcado extensible), que describe el contenido y como podría ser procesada.
• Definición de la especificación de algunas estructuras en XML, tales como arrays.
• El modelo descentralizado, esto significa que puede ser procesado por varios intermediarios.
• Características especificas para operaciones clásicas de RPC (Llamados a Procedimientos remotos)con parámetros in/out, etc.
OBJETIVO DE SOAP
• Establecer un protocolo estándar de invocación de servicios remotos, basado en protocolos estándares de Internet: HTTP (Protocolo de transporte de Hipertexto) para la transmisión y XML (lenguaje de marcado extensible) para la codificación de datos.
• Independencia de plataforma, lenguaje de desarrollo e implementación (modelo de objetos).
• SOAP utiliza XML para transportar información, ya que el lenguaje XML es liviano, extensible y altamente personalizable, permite transportar casi cualquier tipo de datos o información.
• Breves especificaciones y características del XML:
• Las etiquetas XML dan nombre a los objetos, estas ordenan e identifican un objeto en un flujo de datos.
• Los nombres de los elementos son sensibles a minúsculas y mayúsculas. ‘descripción’, ‘DESCRIPCION’ y ‘Descripción’, pueden hacer referencia a elementos diferentes.
• Los mensajes SOAP son transmisiones unidireccionales desde un emisor a un receptor.
• Se suelen combinar mensajes para implementar patrones, como petición/respuesta.
• Las implementaciones SOAP se pueden optimizar para explotar las características específicas de sistemas de red concretos.
• SOAP puede ser extendido realizando adiciones de módulos de funcionalidad:
• Attachments - Incluir un documento no XML, archivo binario ó de enviar documentos codificados en Base64.
• Routing/Intermediaries - Rutear mensajes SOAP a través de intermediarios.
• Security - Dar un marco de seguridad a la comunicación (SSL, firma digital, etc.)
• Quality of Services - QoS mide la calidad del servicio.
• Context/Privacy - Hace referencia a guardar el contexto y privacidad, del entorno de los usuarios.
• Una aplicación SOAP debe procesar un mensaje siguiendo un orden de acciones:
1. Identificar las partes del mensaje SOAP dirigido a dicha aplicación.
2. Aceptar las partes obligatorias identificadas en el paso 1 y procesarlas de la forma adecuada. De lo contrario, descartar el mensaje.
3. Si la aplicación SOAP no es el destino final del mensaje, quitar todas las partes identificadas en el paso 1 antes de reenviar el mensaje.
JAVASCRIP
JavaScript es un lenguaje de programación interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C.
• Todos los navegadores modernos interpretan el código JavaScript integrado dentro de las páginas web.
• Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del DOM.
DOM
(Modelo en Objetos para la representación de Documentos)
• Es esencialmente un modelo computacional a través del cual los programas y scripts pueden acceder y modificar dinámicamente el contenido, estructura y estilo de los documentos HTML y XML. Su objetivo es ofrecer un modelo orientado a objetos para el tratamiento y manipulación en tiempo real (o de forma dinámica) a la vez que de manera estática de páginas de internet.
• Tradicionalmente, se venía utilizando en páginas web HTML, para realizar tareas y operaciones en el marco de la aplicación únicamente cliente, sin acceso a funciones del servidor. JavaScript se ejecuta en el agente de usuario al mismo tiempo que las sentencias van descargándose junto con el código HTML.