If you can't read please download the document
Upload
jaziel-torres
View
10.568
Download
0
Embed Size (px)
Citation preview
2. Introduccin
A lo largo del tiempo, se ha pretendido lograr que el
procesamiento de la informacin no se haga en un solo
equipo, sino que mas bien se haga en diferentes incluso
que estn en lugares lejanos.
Es as como nacieron los sistemas distribuidos, en esta
presentacin conoceremos las principales plataformas
que trabajan como sistemas distribuidos.
Al finalizar se escoger una sola para implementar el
proyecto propuesto, mostrando las razones por las cuales
se eligi .
3. Definicin Sistemas Distribuidos
Un sistema distribuido se define como una coleccin de
computadores
autnomos conectados por una red, y con el software
distribuido
adecuado para que el sistema sea visto por los usuarios como
una
nica entidad capaz de proporcionar facilidades de computacin.
Entre las plataformas en las cuales se pueden implementar
esta
metodologa estn:
Sockets
CORBA
RMI
DCOM
SERVLETS
Java Beans
4. Sockets
Son puntos o mecanismos de comunicacin entre procesos que
permiten que un proceso que se ejecuta en un ordenador, hable
(emita
o recibainformacin) con otro proceso,incluso estando estos
procesos en distintas mquinas de una red.
Las implementaciones de sockets soportan los siguientes
protocolos
de comunicaciones:
Dominio Unix
Dominio Internet (TCP/IP)
Dominio Xerox NS
La comunicacin entre procesos a travs de sockets se basa en
la
filosofa CLIENTE-SERVIDOR
5. Sockets
El mecanismo de comunicacin va sockets tiene los
siguientes pasos:
El proceso servidor crea un socket con nombre y espera
laconexin.
El proceso cliente crea un socket sin nombre.
El proceso cliente realiza una peticin de conexin al
socketservidor.
El cliente realiza la conexin a travs de su socket mientras el
proceso servidor mantiene el socket servidor original
consunombre.
6. CORBA
Es un middlewaremarco de trabajo estndar y abierto
de objetos distribuidos que permite a los componentes
en la red interoperar en un ambiente comn independiente de la
plataforma, lenguaje de desarrollo, sistemaoperativo o el
tipo
de red que se este utilizando.
Trabaja con 2 pilares fundamentales, que son: ORB(Object
RequestBroker), que es un componente software que dirige la
comunicacin entre objetos CORBA, y el segundo es el IDL, que
se encarga de definir las interfaces de los componentes de la
aplicacin sobre los que se construyen las aplicaciones CORBA
7. CORBA
Tres de las principales diferencias entre el modelo de
objetos de CORBA y los modelos tradicionales radican
en la forma semi-transparente de distribuir los objetos
en CORBA, el tratamiento de las referencias a objetos y
el uso de los llamados adaptadores de objetos (como el
BOA -Basic ObjectAdapter-).
Para un cliente CORBA, una llamada a un mtodo
remoto es exactamente igual a una llamada a un
mtodo local.
8. RMI
Es el sistema de invocacin remota de mtodos, que
permite a un objeto que se est ejecutando en una
Mquina Virtual Java (VM) llamar a mtodos de otro
objeto que est en otra VM diferente. RMI proporciona
comunicacin remota entre programas escritos en Java
Las aplicaciones RMI normalmente comprenden dos
programas separados: un servidor y un cliente. RMI
proporciona el mecanismo por el que se comunican y se
pasan informacin del cliente al servidor y viceversa
9. RMI
Cuando se utiliza RMI para desarrollar aplicaciones
distribuida,
se deben seguir los siguientes pasos:
Disear e implementar los componentes de la aplicacin: Lo primero es
definir la arquitectura de la aplicacin y determinar los
componentes que seran objetos locales y los que seran
remotos.
Compilar fuentes y generar los Stubs: Este es un proceso de dos
pasos. En el primer paso, se utiliza el compilador javac para
compilar los ficheros fuentes de Java, los cuales contienen las
implementaciones de las interfaces remotas, las clases del
servidor, y del cliente. En el segundo paso es utilizar el
compilador rmic para crear los stubs de los objetos remotos. RMI
utiliza una clase stub del objeto remoto como un proxy en el
cliente para que los clientes puedan comunicarse con un objeto
remoto particular
10. RMI
Hacer accesible las Clases a travs de la Red: Los ficheros de
clases Java con sus interfaces remotas, los stubs y otras clases
que necesitamos descargar en los clientes, deben estar accesible a
travs de un servidor Web.
Ejecutar la Aplicacin: Se debe ejecutar o lanzar el registro de
objetos remotos y luego el servidor y el cliente.
11. DCOM
El Modelo de Objeto Componente Distribuido, es un protocolo
que
permite a componentes de software comunicarse de una manera
segura, eficiente y confiable con otros componentes, localizados
en
otro computador de una red Microsoft.
La arquitectura DCOM esta basada en:
Objeto DCOM: Es un componente que soporta una o mas
interfaces.
Interface DCOM: no es mas que un grupo predefinido de funciones
relacionadas.
Clase DCOM : Es aquella que implementa una o mas interfaces.
Servidor DCOM: Provee la estructura necesaria alrededor de un
objeto para hacerlo disponible a los clientes.
12. DCOM
Para implementar DCOM se pueden seguir estos pasos, usando
como lenguaje de programacin el lenguaje Java.
Crear el IDL DCOM (y ODL) para su objeto
Generar GUIs para sus interfaces IDL
Crear el archivo de typelibrary
Crear los wrappers java para las clases DCOM en Java
Implementar sus clases DCOM en Java
Compilar su implementacin
Registrar su clase Java
Escribir el Cdigo Cliente
Compilar el Cliente
Registrar el Cliente
Iniciar el cliente
13. SERVLETS
Son mdulos que extienden los servidores orientados
a peticin-respuesta, como los servidores web
compatibles con Java.
Los Servlets son un sustituto eficaz de los CGI s ya que
proveen la forma de generar documentos dinmicos
que son fciles de escribir y ejecutar. Tambin evitan el
problema de desarrollar la programacin segn la
plataforma utilizada.
14. SERVLETS
La interfaz ServletRequest permite al servlet acceder a
informacin como, los nombres de parmetros pasados
por el cliente, el protocolo usado por el cliente, y los
nombres de los hosts remotos que hacen la solicitud y el
servidor que la recibe.
Esta interfaz permite a los servlets el acceso a mtodos
que permiten manejar la presentacin de la respuesta
como salida en el navegador, a travs de los cuales
consiguen los datos desde el cliente que usa protocolos
como HTTP POST , etc.
15. Java Beans
Un Java Bean oBean es un componente hecho en
software que se puede reutilizar y que puede ser
manipulado de forma visual por una herramienta de
programacin en lenguaje Java.
Para tal manipulacin se define una interfaz en el
momento de diseo, a travs de la cual se puede
interrogar al componente y conocer sus propiedades y
los tipos de eventos o sucesos que puede generar como
respuesta a diversas acciones.
16. Las caractersticas de los Java Beans son:
Introspection: Permite analizar a la herramienta de programacin o
IDE como trabaja el Bean
Customization: El programador puede alterar la apariencia y la
conducta del Bean.
Events: Informa al IDE de los sucesos que puede generar en
respuesta a las acciones del usuario o del sistema, y tambin los
sucesos que puede manejar.
Properties: Una propiedad es un atributo del JavaBean que afecta a
su apariencia o a su conducta
Persistence: Se puede guardar el estado de los Beans que han sido
personalizados por el programador, cambiando los valores de sus
propiedades
17. Arquitectura Elegida para el Proyecto
La arquitectura que eleg para que en dado caso se
implementara el proyecto propuesto como sistema
distribuido es: Sockets
Las razones por las cuales eleg esta arquitectura son:
Fcil implementacin
Se tiene un mayor control sobre la comunicacin
Consume menos ancho de banda
Es mas seguro
18. Implementacin
Como vimos en la presentacin la implementacin
de sockets se hacen mediante 4 pasos que son:
El proceso servidor crea un socket con nombre y espera
laconexin.
El proceso cliente crea un socket sin nombre.
Para estos primeros dos pasos tenemos que escoger el
tipo de socket y el dominio sobre el cual se quiere
implementar este.
19. Implementacin
Entre los diferentes tipos que existen y dominios eleg
los siguientes:
SOCK_STREAM: Sirve para establecer comunicaciones
confiables en modo conectado ningn dato transmitido se
pierde, los datos llegan en el orden que han sido
transmitidos). En eldominioInternet est asociado al protocolo
TCP.
AF_INET: Protocolos de Internet, donde el cliente y el
servidor
pueden estar en cualquier mquina de la red Internet.
20. Implementacin
Los pasos que siguen son:
3) El proceso cliente realiza una peticin de conexin al socket
servidor.
4) El cliente realiza la conexin a travs de su socket mientras el
proceso servidor mantiene el socket servidor original
consunombre.
En el servidor se hara asi la llamada:
intsocket ( intdominio, inttipo, intprotocolo )crea un
socket sin nombre de un dominio, tipo y protocolo especfico
dominio : AF_INET,
tipo : SOCK__STREAM
protocolo : 0 ( protocolo por defecto )
21. Implementacin
intbind ( intdfServer, structsockaddr* direccServer, intlongDirecc
)
intlisten ( intdfServer, intlongCola )
Intaccept ( intdfServer, structsockaddr* direccCliente, int*
longDireccCli)
En el cliente se seguiran las siguientes instrucciones:
intsocket ( intdominio, inttipo, intprotocolo )
intconnect ( intdfCliente, structsockaddr* direccServer,
intlongDirecc )
22. Implementacin
Por ltimo en esta tabla se muestra las llamadas que se
produciran en el sistema: