Con la tecnología de Blogger.
RSS

SERVICIO WEB



"Un servicio Web XML es una entidad programable que proporciona un elemento de funcionalidad determinado, como lógica de aplicación, al que se puede tener acceso desde diversos sistemas potencialmente distintos mediante estándares de Internet muy extendidos, como XML y HTTP."

"Un servicio Web XML puede ser utilizado internamente por una aplicación o bien ser expuesto de forma externa en Internet por varias aplicaciones. Dado que a través de una interfaz estándar es posible el acceso a un servicio Web XML, éste permite el funcionamiento de una serie de sistemas heterogéneos como un conjunto integrado."
Modelos de desarrollo
El hecho de poder comunicar componentes de software entre sí tiene una enorme importancia. Hasta no hace tantos años era muy típico hacer aplicaciones de una sola pieza, "monolíticas":

Aplicación "monolítica" aunque distribuida


Estos programas podían acceder a un sistema gestor de datos a través de la red, pero toda la lógica del flujo de datos, la seguridad y las interacciones con las personas se encontraban en el ordenador del usuario en forma de un gran ejecutable
Una metodología de desarrollo mucho mejor aunque más laboriosa a la hora de programar es el modelo Cliente-Servidor en tres capas:
  


Aplicación Cliente Servidor en tres capas

En este modelo toda la lógica de los datos, su validación, los permisos, etc., residen en un servidor intermedio y son utilizados por todos los clientes a través de una red. En este caso en el ordenador del usuario lo único que hay es una capa de presentación que se ocupa básicamente de recoger y recibir datos, es decir, actúa de intermediario entre el usuario y las reglas de negocio residentes en la capa intermedia.
La arquitectura de desarrollo en n-capas (n-tier que dicen los anglosajones) lleva el concepto cliente-servidor un paso hacia adelante, dividiendo la capa intermedia en muchas otras capas especializadas cada una de las cuales puede residir en un servidor diferente:

Arquitectura de desarrollo basada en componentes

En este modelo existe una gran variedad de componentes especializados en tareas específicas como la validación de datos, la autenticación y seguridad o el acceso a datos. Dichos componentes deben trabajar unos con otros como piezas de un mecanismo, gestionando la información que circula entre el usuario y el servidor de datos.
La belleza de este modelo radica en que cada uno de ellos (o cada grupo de ellos) puede residir en un servidor diferente, siendo transparente su ubicación para los clientes que los utilizan. 

El concepto de Arquitectura Orientada a Servicios o SOA se basa en el uso de este tipo de componentes que suplen las necesidades de una o varias aplicaciones, son independientes entre sí y trabajan independientemente del sistema operativo o la plataforma.

Comunicación entre componentes

Servicios y protocolos específicos orientados a la interacción distribuida de componentes:

• DCOM (Distributed Common Object Model), la propuesta de Microsoft, ligada a sus sistemas Windows. Se trata de algo más que un protocolo de invocación remota de procedimientos (RPC) ya que su última encarnación, COM+, incluye servicios avanzados para balanceado de carga, gestión de transacciones o llamadas asíncronas. Los parámetros son transmitidos a través de la red mediante un formato binario propio llamado NDR (Network Data Representation).
• RMI (Remote Method Invocation), es la metodología de llamada remota a procedimientos de Java. No se centra en la definición de interfaces para compatibilidad binaria de componentes, ni en otros conceptos avanzados, y se basa en la existencia de un cliente y un servidor que actúan de intermediarios entre los componentes que se quieren comunicar. Es una tecnología bastante simple que es fácil de utilizar para aplicaciones básicas.
• CORBA (Common Object Request Broker Architecture). Se trata de una serie de convenciones que describen cómo deben comunicarse los distintos componentes, cómo deben transferir los datos de las llamadas y sus resultados o cómo se describen las interfaces de programación de los componentes para que los demás sepan cómo utilizarlos. Fue desarrollado por el OMG (Object Management Group) en la segunda mitad de la década de los '90 y es el modelo que más éxito ha tenido en el mundo UNIX. Su método de empaquetado y transmisión de datos a través de la red se llama CDR (Common Data representation).

SOAP
Gracias a los Servicios Web se derriban las antiguas divisiones resultantes de los modelos de componentes descritos, y la integración de las aplicaciones, la ubicuidad de sus componentes y su reutilización a través de la red se convierten en una realidad.
La tecnología que está detrás de todo ello se llama SOAP (Simple Object Access Protocol) describe un concepto tecnológico basado en la sencillez y la flexibilidad que hace uso de tecnologías y estándares comunes para conseguir las promesas de la ubicuidad de los servicios, la transparencia de los datos y la independencia de la plataforma que según hemos visto, se hacen necesarios en las aplicaciones actuales.


EJEMPLO CREACION DE UN SERVICIO WEB 
DESCARGAR EJEMPLO:WEBSERVICE

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

SERVICIOS WEB XML




¿Qué  es  un  servicio  web?
Los web services son similares a componentes, pero accesibles a través de internet por medio de protocolos estándar, y sin pasar por las dificultades que puede poner un FIREWALL, ya que todo viaja a través del protocolo HTTP, en formato XML.

¿Qué  es  un  servicio  web XML?
El significado de esta sigla es eXtensible Markup  Language, que es un lenguaje para presentar datos estructurados en forma de texto simple, y además es autodescriptivo.
Un servicio Web XML es una entidad programable que proporciona un elemento determinado de funcionalidad, como lógica de la aplicación y es accesible por diversos sistemas potencialmente dispares usando los estándares de Internet , como XML y HTTP.

Caracteristicas  del  lenguaje  XML
      Es fácil representarla.
      Permite comunicar e integrar aplicaciones heterogéneas, al establecen un lenguaje común para expresar los datos.
      Es fácil transmisión por internet mediante protocolos como HTTP, que están diseñados para transferir texto.
      Como los servicios corren sobre protocolo HTTP, no hay problemas para saltar firewalls, ya que todo esta montado sobre el puerto 80.

Otra de las características básicas de un servicio Web XML es el alto grado de abstracción que existe entre la implementación y el uso de un servicio.

Visión general de servicios web XML
Los web services usan XML para representar los datos que viajan hacia/desde el servicio y los mensajes necesarios para
coordinar la operación, mediante un protocolo llamado SOAP

TECNOLOGIAS SUBYACENTES


Tecnologías subyacentes - SOAP
El XML tiene la particularidad de que es posible  definir “SUBLENGUAJES” sobre la base de este. Es decir, estableciendo que TAGS vamos a usar y como, podemos definir un nuevo lenguaje, basado en XML. 

SOAP o Simple Object Access Protocolo, no es mas que un lenguaje basado en XML, diseñado específicamente para trabajar con objetos remotamente, usando XML como lenguaje y HTTP como medio de transporte. Los servicios web usan el protocolo SOAP como estándar para definir el lenguaje XML mediante el cual se comunican el consumidor y el servicio. Para nosotros, esto será transparente.

Tecnologías subyacentes - WSDL.
WSDL es la sigla de Web Service Description Language, un lenguaje creado en XML para informar a un cliente sobre los servicios disponibles en un servidor y las operaciones definidas en cada uno. Cuando un cliente se va a conectar a un servicio, recibe estos datos y genera un archivo local con extensión WSDL, para saber que operaciones  están disponibles y como tienen que utilizarlas.

Tecnologías subyacentes - UDDI.
UDDI es la sigla de Universal Description Discovery and Integration, y es un directorio donde se publican web services de distintas empresas. Son como las páginas amarillas de web services en internet.

Infraestructura de servicios web XML



EJEMPLO SERVICIO WEB


 DECARGAR EJEMPLO :SERVICIO WEB

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS