PDF de programación - PROGRAMACION CONCURRENTE - VI.3: Objetos distribuidos

Imágen de pdf PROGRAMACION CONCURRENTE - VI.3: Objetos distribuidos

PROGRAMACION CONCURRENTE - VI.3: Objetos distribuidosgráfica de visualizaciones

Publicado el 14 de Enero del 2017
799 visualizaciones desde el 14 de Enero del 2017
481,7 KB
14 paginas
Creado hace 15a (25/11/2008)
PROGRAMACION CONCURRENTE

VI.3: Objetos distribuidos

José M. Drake

Notas:

Posibilidades que ofrece Java para la comunicación en red: Socket,RMI y URL.

1

Libertad en la representación abstracta.

Dominio del problema

Problema del
mundo real

Solución en el
mundo real

Resultados
del problema

Representación
abstracta del
problema

Interpretación
de los datos
salida

Solución en el
computador

Formulación
informática

Datos de salida

Dominio solución

Procodis’08: VI.3- Transacciones José M. Drake

2

Notas:

La complejidad de los problemas que se resuelven es consecuencia del desacoplo entre el lenguaje y
los conceptos del dominio del problema que se resuelve y los del dominio informático.

El cliente que plantea el problema y el ingeniero que lo resuelve mediante una aplicación software,
manejan diferentes interpretaciones del problema:
•Tiene diferente visión de su naturaleza.
•Conciben soluciones diferentes.
•Intercambian entre ellos especificaciones muy complejas.

Pequeños cambios en las especificaciones del problema pueden requerir cambios muy importantes
(cualitativamente y cuantitativamente) en la correspondiente formulación informática.

2

Objetos y componentes

Los objetos tradicionales son módulos de código que encapsulan operaciones e
información y que son capaces de modelar conceptos del dominio de aplicación.
La metodología orientada a objetos es una estrategia de descomposición del
código que facilita:
Descomponibilidad modular: Permita descomponer sucesivamente cada módulo

en otros mas simples que puedan ser abordados por sí.

Componibilidad modular: Genere módulos que puedan ser libremente combinados

para generar módulos mas complejos.

Comprensibilidad modular: Cada módulo que se genera puede ser descrito y

comprendido por sí y con independencia de otros.

Continuidad modular: La descomposición debe ser tal que pequeñas

modificaciones de las especificación del problema induzca cambios en poco módulos y
en proporción de las modificaciones introducidas.

Protección modular: Los errores que se produzcan en un módulo queden confinados

y puedan tratarse en él.

Soporte inherente de la concurrencia: La concurrencia propia de los dominios

reales se transfiere de forma natural a la aplicación.

Los objetos tradicionales son elementos incrustados en la aplicación que sólo
conocen los diseñadores y programadores.

Procodis’08: VI.3- Transacciones José M. Drake

3

Notas:

3

Objetos distribuidos: Componentes

Un objeto distribuido es un módulo de código con plena
autonomía que se puede instanciar en cualquier nudo de la red
y a cuyos servicios pueden acceder clientes ubicados en
cualquier otro nudo.
Un componente es un módulo autocontenido concebido para
la reutilización, que tiene especificado:
Los servicios que ofrece (como los objetos).
Los requerimientos que requieren para poder ser instalados en un

nudo.

La posibilidades de configuración que ofrecen.
Información instrospectiva que describe su naturaleza y funcionalidad.
Un componente es un objetos distribuido que no está ligado a
ninguna aplicación, que se puede instanciar en cualquier nudo
y ser gestionado por herramientas automáticas.

Procodis’08: VI.3- Transacciones José M. Drake

4

Notas:

4

Ventajas de los objetos distribuidos:

Los objetos encapsulan la funcionalidad y la información de negocio en
elementos que pueden ubicarse en cualquier punto del sistema distribuido.
Los sistemas cliente/servidor construidos mediante objetos permiten
adaptar la granularidad de la descomposición al nivel que se quiera.
Ofrecen una alta capacidad de dar información de si mismo, y en
consecuencia pueden ser manejados por herramientas visuales que facilitan
su localización y manejo por operadores, o por aplicaciones de gestión
automática del sistema.
La interfaz y la implementación de un componentes son independientes, por
lo que especialmente facilitan su mantenimiento y sustitución.
Los componentes son especialmente idóneos para encapsular aplicaciones
legadas. Remozándolas con una interfaz de componente se les proporciona
nuevas opciones de conectividad e integración.
Existen middlewares de distribución estandarizados que facilitan el
ensamblado de componentes.

Procodis’08: VI.3- Transacciones José M. Drake

5

Notas:

5

Perspectivas de la tecnologías de componentes

Va a modificar el papel de los diseñadores de aplicaciones. Dejaran de ser
programadores y pasarán a ser ensambladores.
Los pequeños desarrolladores y los ISV (Independent Software Vendors)
pueden crear productos que se integren de forma sencilla con el software
existente.
Los grandes desarrolladores y los fabricantes de ERP (Enterprise Resource
Planning) simplificaran la complejidad de sus aplicaciones utilizando
componentes como cajas negras.
Se generará un mercado de software orientados a mercados específicos que
ofrecerá catálogos de componentes que podrán integrarse para construir
nuevas aplicaciones o para enriquecer las existentes.
La metodología de componentes, reducen la complejidad de las
aplicaciones, el costo de desarrollo y el tiempo de acceso al mercado. Las
aplicaciones serán mas mantenibles, mas independiente de las plataformas,
y permitirán un mayor nivel de calidad.

Procodis’08: VI.3- Transacciones José M. Drake

6

Notas:

6

¿Que es un componente?

Un componente es una pieza de software suficientemente pequeña para
crearla y mantenerla con un esfuerzo reducido, y los suficientemente
grande para ser distribuida y soportada.
Características propias de un componente son:
Es una unidad distribuible comercialmente. Es una pieza de código (ejecutable

o fuente) autocontenida y que habitualmente se adquiere en el mercado de
software.

No es una aplicación completa: Es un módulo que realiza una funcionalidad

limitada concebida para ser ensamblada con otros.

Concebida para ser combinada de forma impredecible: El diseñador debe

prever que puede ser usada de formas no prevista por él.

Tiene unas interfaces bien especificadas: La interfaz es independiente de su
implementación, y constituye el contrato que ofrece el componente frente al
mundo externo.

Dispone de recursos para ser gestionado mediante herramientas: Un

componente puede ser incorporado a una caja de herramientas estándar y sus
características ser visualizadas mediante ventanas de configuración.

Procodis’08: VI.3- Transacciones José M. Drake

7

Notas:

7

Cracterísticas de los componentes (2)

Notificación de eventos: Los componentes tienen capacidad de generar

eventos que son recibidos asíncronamente por clientes o servidores
que se hayan declarados suscriptores del mismo.

Administración de configuración y propiedades: Un propiedad es un
atributo con nombre cuyo valor puede ser leído y que al asignársele
valores cambian su estado y modifican su comportamiento.

Metadatos e instroinspección: A un componente se le puede requerir

información de naturaleza y funcionalidad que ofrece. Las
herramientas deben tener capacidad de gestionar componentes
desconocidos.

Interoperatibidad: Un componente puede ser accedido de acuerdo con

protocolos bien definidos a través de punteros, redes, lenguajes
sistemas operativos y herramientas.

Facilidad de uso: Un componente ofrece un conjunto de operaciones

estándar para su gestión: Creación, destrucción, activación, pasivación,
conexión, desconexión, etc.

Procodis’08: VI.3- Transacciones José M. Drake

8

Notas:

8

Características de los componentes servidores

Los componentes específicamente destinados a constituir servidores de carácter
público, tienen mas características:
Seguridad: Un componente debe tener defensas frente a amenazas externas: Capacidad

de autentificarse, autentificar a los clientes, control de acceso, registros de auditoría.

Licencias: Un componente de ofrecer mecanismos de gestión de licencias, y de auditoria

de su uso para repercutir su costo.

Versiones: Debe ofrecer control de su versión, así como garantizar que los clientes

encuentran la versión que necesitan.

Administración del ciclo de vida: Debe controlar gestionar su creación, destrucción,

almacenamiento, así como clonarse y migrar.

Control de transacciones: Debe tener capacidad de protegerse frente a una utilización

abusiva.

Persistencia: Debe tener capacidad de guardar transitoriamente su estado en un

repositorio para poder posteriormente recuperarlo.

Relaciones: Debe tener capacidad de asociarse dinámicamente y estáticamente con otros

componentes. Por ejemplo, como contenedor.

Autoprueba: Debe tener capacidad de autodiagnosticarse y de notificar sus problemas.
Autoinstalación: Debe tener capacidad de autoinstalarse y darse de alta en el Registro de

objetos.

Procodis’08: VI.3- Transacciones José M. Drake

9

Notas:

9

Ejemplo componentes Java Bean

JavaBeans es una tecnología de componentes basada en el lenguaje Java
que posibilita construir aplicaciones mediante ensamblado de módulos
(componentes) reusables.
Los JavaBeans son clases 100% Java solo que son formuladas con unos
patrones de diseño y de convenios de identificadores que facilitan su
gestión:
Escribir módulos que pueden reusarse en multitud de aplicaciones.
Desarrollar entornos de trabajo que facilitan la construcción de las

aplicaciones.

Los Beans hacen públicas sus propiedades (métodos, eventos, atributos,
etc.) de forma que las herramientas gráficas de diseño pueden mantenerlos
en toolboox y mostrar al diseñador sus características
  • Links de descarga
http://lwp-l.com/pdf1033

Comentarios de: PROGRAMACION CONCURRENTE - VI.3: Objetos distribuidos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad