Con tecnología de Blogger.
RSS

SERVICIOS 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

 Aplicaciones de una sola pieza, "monolíticas":

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. Se suelen conocer también como "fat clients". La situación descrita no es la ideal ya que implica problemas de toda índole a la hora de instalar las aplicaciones y sobre todo cuando se modifican o actualizan (mantenimiento complejo y engorroso).
Una metodología de desarrollo mucho mejor aunque más laboriosa a la hora de programar es el modelo 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. Este modelo es más eficiente y está muy evolucionado respecto al anterior pero aún se puede ir más allá.
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:


Figura 6.3. 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. Ello aumenta mucho la escalabilidad de las aplicaciones, pues basta con añadir nuevos servidores e instalar los componentes en ellos para poder atender más peticiones.

Comunicación entre 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. 



Descubrimiento de servicios: WSDL y UDDI

Otro de los estándares que se definen en SOAP es WSDL (Web Service Definition Language). Se trata de un formato estándar para describir las interfaces de los servicios web. WSDL describe qué métodos están disponibles a través de un servicio Web y cuáles son los parámetros y valores devueltos por éstos. Antes de usar un componente que actúa como servicio web se debe leer su archivo WSDL para averiguar cómo utilizarlo.

Se ha definido también un formato estándar para publicación de información de servicios web llamado UDDI (Universal Description Discovery and Integration). Esta especificación permite la creación de directorios de servicios web, donde se definen métodos que permiten consultarlos para encontrar fácilmente aquel servicio que se necesite.

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

SERVICIOS WEB XML

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.

El uso de un servicio Web comprende la comunicación de métodos de servicio Web a través de una red mediante los protocolos de estándar de la industria,  SOAP, XML y WSDL y esto permite a los clientes de otras plataformas interoperar con servicios Web.

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.
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.

SOAP

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.

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.


Resumen de lo anteriormente citado en un mapa conceptual

ejemplos de un servicio web en el siguiente link 

y el video donde se explica paso a paso el procedimiento


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

COM / DCOM

COM (Component Object Model)

El Component Object Model es una arquitectura de componentes de software que permite que las aplicaciones y sistemas se construyan a partir de componentes producidos por distintos proveedores de software.

SERVIDORES COM

Los objetos “servidores” son aquellas instancias de las clases que contienen los métodos que resuelven el problema del que se ocupa el sistema.

CLIENTE COM

Los objetos “clientes” son aquellas instancias de las clases que contengan la interfaz del sistema con el usuario, que implementan los textos de ayuda del sistema, los cuadros de dialogo para introducir información al sistema o bien para mostrar resultados.

TIPOS DE COMPONENTES COM

In-Process ,se cargan en el mismo espacio de procesos que la aplicación cliente.
•Locales, se ejecutan en un proceso separado en el mismo computador.
•Remotos, se ejecutan en otro computador.

DCOM (Distributed COM)

DCOM es la extensión del Component Object Model a los ambientes distribuidos, que define los mecanismos de conexión y el protocolo de red necesario para hacer llamadas a procedimientos remotos orientadas a objetos, a nivel de aplicación, que lo vuelven útil para sistemas distribuidos de todo tipo basados en componentes
En DCOM, la interacción entre objetos cliente y objetos servidor se realiza mediante un mecanismo de comunicación RPC
Se resume en el siguiente mapa conceptual.
En el siguiente link se podrán descargar ejemplos así como el software embarcadero.

video donde se muestra paso a paso el desarrollo del ejemplo




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

Unidad 3: RMI (Remote Method INVOCATION)

RMI

Es un mecanismo ofrecido por Java para invocar un método de manera remota.
Forma parte del entorno estándar de ejecución de Java y proporciona un mecanismo simple para la comunicación de servidores en aplicaciones distribuidas basadas exclusivamente en Java.

Características:

Facilidad de uso en la programación  por estar específicamente diseñado para  JAVA.

- Proporciona paso de objetos por referencia.
- Recolección de basura distribuida.
     Paso de tipos arbitrarios

Arquitectura:

se puede ver como un modelo de 4 capas
- Primera Capa: es la de aplicación y corresponde con la implementación real de las aplicaciones cliente y servidor.
-Segunda Capa: es la que interactúa directamente con la capa de aplicación. Se encuentran  las llamadas a objetos remotos y acciones junto con sus parámetros y retornos de objetos. 
- Tercera Capa: es la de referencia remota, y es responsable del manejo de la parte semántica de las invocaciones remotas. Es responsable de la replicación de objetos.
- Cuarta Capa: es la de transporte; es la responsable de realizar las conexiones necesarias y manejo del transporte de los datos de una máquina a otra.

Sistema de nombrado Registry

Servidor simple que permite que una aplicación vea los objetos lo cuales están siendo importados por un RMI.
Una vez que se tiene un objeto que está siendo exportado por un servidor que utiliza métodos de RMI, la comunicación es entonces como una simple llamada a métodos de un objeto que puede existir en una máquina diferente.


Mapa mental del tema

A continuación en el siguiente link podrá descargar ejemplos de RMI.

Y tambien un video de como se realizaron estos ejemplos

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