sábado, 21 de mayo de 2016

JAVA RMI NUESTRA EXPOSICIÓN


RMI es un paquete de JAVA que permite manejar objetos (y sus respectivos métodos) de manera remota, para utilizar los recursos de un servidor de manera transparente para el usuario local.
RMI (Java Remote Method Invocation) 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

Primera capa

 
Es la de aplicación y se corresponde con la implementación real de las aplicaciones cliente y servidor. Aquí tienen lugar las llamadas a alto nivel para acceder y exportar objetos remotos. Cualquier aplicación que quiera que sus métodos estén disponibles para su acceso por clientes
Segunda capa
La capa 2 es la capa proxy, o capa stub-skeleton. Esta capa es la que interactúa directamente con la capa de aplicación. Todas las llamadas a objetos remotos y acciones junto con sus parámetros y retorno de objetos tienen lugar en esta capa.
Tercera capa
Es la de referencia remota, y es responsable del manejo de la parte semántica de las invocaciones remotas. También es responsable de la gestión de la replicación de objetos y realización de tareas específicas de la implementación con los objetos remotos, como el establecimiento de las persistencias semánticas y estrategias adecuadas para la recuperación de conexiones perdidas.
Cuarta capa
Es la responsable de realizar las conexiones necesarias y manejo del transporte de los datos de una máquina a otra. El protocolo de transporte subyacente para RMI es JRMP (Java Remote Method Protocol), que solamente es "comprendido" por programas Java.


Diferencias
 


Los clientes de objetos remotos interactúan con interfaces remotas, NUNCA con la implementación de esas interfaces.

Argumentos no-remotos hacia, y resultados desde, una invocación remota a un método son pasados por copia en vez de por referencia. Esto se debe a que las referencias a objetos son útiles solo dentro de una maquina virtual individual.

Un objeto remoto es pasado por referencia, no copiando su actual implementación remota.

En RMI, el cliente debe manejar una mejor cantidad de Excepciones, debido a que aumentan los tipos de fallas al invocar objetos remotos que cuando se trabaja de manera local (seguridad, red, rmiregistry,etc)   


miércoles, 18 de mayo de 2016

SISTEMAS DE NOMBRES


¿Qué significa DNS?

Cada equipo conectado directamente a Internet tiene al menos una dirección IP específica. Sin embargo, los usuarios no desean trabajar con direcciones numéricas, como por ejemplo 194.153.205.26, sino con un nombre de dominio o más específicamente, con direcciones (llamadas direcciones FQDN) como por ejemplo es.kioskea.net.

Es posible asociar nombres en lenguaje normal con direcciones numéricas gracias a un sistema llamado DNS (Sistema de Nombres de Dominio).

Esta correlación entre las direcciones IP y el nombre de dominio asociado se llama resolución de nombres de dominio (o resolución de direcciones).
Nombres del ordenador

Al comienzo de TCP/IP, puesto que las redes no eran muy extensas, o en otras palabras que el número de equipos conectados a la misma red era bajo, los administradores de red crearon archivos llamados tablas de conversión manual. Estas tablas de conversión manual eran archivos secuenciales, por lo general llamados hosts o hosts.txt, y asociaban en cada línea la dirección IP del equipo con el nombre literal relacionado, denominado nombre del ordenador.
Introducción al Sistema de Nombres de Dominio

Sin embargo, el anterior sistema de tablas de conversión exigía una actualización manual de las tablas para la totalidad de los equipos en caso de incluir o modificar el nombre de una máquina. Por lo tanto, con el aumento en tamaño de las redes y sus interconexiones, fue necesario implementar un sistema de gestión para los nombres que fuese jerárquico y fácil de administrar. El sistema llamado Sistema de Nombres de Dominio (DNS) fue desarrollado en noviembre de 1983 por Paul Mockapetris (RFC 882 y RFC 883) y luego revisado en 1987 en las RFC 1034 y 1035. El DNS ha sido sometido a varias RFC.

Este sistema ofrece:
un espacio de nombre jerárquico que permite garantizar la singularidad de un nombre en una estructura arbórea, como por ejemplo sistemas de archivo Unix.
un sistema de servidores de distribución que permite que el espacio de nombre esté disponible.
un sistema de cliente que permite "resolver" nombres de dominio, es decir, interrogar a los servidores para encontrar la dirección IP que corresponde a un nombre.
Espacio de nombre

La estructura del sistema DNS se basa en una estructura de arbórea en donde se definen los dominios de nivel superior (llamados TLD, Dominios de Nivel Superior); esta estructura está conectada a un nodo raíz representado por un punto. 

Estructura arbórea para el Sistema de nombre de dominio (DNS)