Sistemas Distribuidos



Documentos relacionados
Sistemas de Información

La arquitectura CORBA

Componentes de Integración entre Plataformas Información Detallada

3.9 Patrón Distributed callback

Resultados del aprendizaje y Criterios de evaluación del módulo: Implantación de Aplicaciones Web

TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA

Nombramiento. M. en C. José Alfredo Estrada Soto. Servicio de nombres

Práctica 5: Common Object Request Broker Architecture CORBA

Windows Server 2012: Zonas DNS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

El gráfico siguiente muestra un uso básico de DNS, consistente en la búsqueda de la dirección IP de un equipo basada en su nombre.

Autenticación Centralizada

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler

GMF Gestor de incidencias

DOMAIN NAME SYSTEM DNS

Redes de área local: Aplicaciones y servicios WINDOWS

Informàtica i Comunicacions Plaça Prnt. Tarradellas, FIGUERES (Girona) Tel Fax

Instalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

Windows Server Windows Server 2003

Servidores de nombres de dominio (DNS) Jesús Torres Cejudo

Gran número de usuarios accediendo a un único servicio y con un único protocolo. Servidores y clientes con distintos protocolos.

OMG - CORBA. Object Management Group. Common Object Request Broker (CORBA)

Ministerio de Educación,Cultura y Deporte. Aulas en Red. Windows. Módulo 2: Servicios Básicos. Directorio Activo

Servidor DNS sencillo en Linux con dnsmasq

Ministerio de Educación,Cultura y Deporte. Aulas en Red. Windows. Módulo 2: Servicios Básicos. DNS

Creación y administración de grupos locales

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

Práctica sobre compartición de instancias remotas.

REQUIERE ATENDER DESCONFIGURACIÓN DEL C.P.U.

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Es un servicio de resolución de nombres que resuelve direcciones legibles (como en direcciones IP (como ).

File System Distribuido - FSD

Microsoft SQL Server 2005

Validación de usuarios y acceso a recursos digitales con Ezproxy. Biblioteca Dulce Chacón

SISTEMAS IDEALES SISTIDE, S.A. SISTEMA GESTION DE USUARIOS

WINDOWS SERVER SERVICIOS DE RED Y DIRECTORIO ACTIVO

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS

WINDOWS 2003 SERVER DIRECTORIO ACTIVO Y DNS

4.1. Introducción Servicios de Dominio del Directorio Activo

PLAN DE CARRERA DE MICROSOFT TECHNICAL:

CORBA desde Java. Diego Sevilla Ruiz Sistemas Distribuidos. 1. Introducción

Hacemos que tu negocio se mueva. Plataforma de ventas movilidapp

Unidad I: La capa de Red

Configuring and Troubleshooting Windows Server 2008 Active Directory Domain Services

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

Novedades en Q-flow 3.02

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Espacio de nombres de dominio. Jesús Torres Cejudo

Ramón Manjavacas Ortiz

Resolución inversa. Jesús Torres Cejudo

USUARIOS Y EQUIPOS DE ACTIVE DIRECTORY

Manual de instalación Actualizador masivo de Stocks y Precios

SIEWEB. La intranet corporativa de SIE

1. Aplica medidas de seguridad pasiva en sistemas informáticos describiendo características de entornos y relacionándolas con sus necesidades

Proceso de resolución de un nombre de dominio. Javier Rodríguez Granados

LDAP (Linux)

WINDOWS : TERMINAL SERVER

Manual Operativo SICEWeb

Espacio de nombres de dominio. Javier Rodríguez Granados

Puesta en Marcha versión Monousuario

MANUAL PARA INCLUIR EL MOTOR DE RESERVAS EN LA WEB DEL ESTABLECIMIENTO

Contenido. Práctica 1. Configuración de sistemas operativos. Vista clásica. Configuración y personalización

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

Creación y administración de grupos de dominio

UNIVERSIDAD DE SALAMANCA

PROGRAMA DEL CURSO. SEGURIDAD EN EQUIPOS INFORMATICOS MF0486_3 90 horas MEDIO-AVANZADO DURACION:

DNS Domain Name System Sistema de Nombres de Dominio Administración de Redes de Computadores John Deivis Tabares Tobón Luis Fernando Ramirez

Clientes DNS ( resolvers de nombres). Javier Rodríguez Granados

SMV. Superintendencia del Mercado de Valores

Información sobre seguridad

Manual del Protocolo XML-RPC de Mensajería Negocios

Servidores corporativos Linux

Desarrollo de Servicios Web con JBuilder

índice CONVENCIONES USADAs...17

Componentes del servicio de nombres de dominio. Javier Rodríguez Granados

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

Microsoft SQL Server Conceptos.

PROCESO SERVICIOS INFORMÁTICOS Y DE TELECOMUNICACIONES. Versión: 02 GUIA PARA PUBLICACIÓN DE DOCUMENTOS EN LA WEB Página 1de 6.

PROYECTO. Solución Empresarial Ingeniería y Desarrollo de Software - info@solucionempresarial.com.

Información sobre seguridad

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Gestión de Redes IP. Presentación realizada por: Ing. Pablo Borrelli. Gestión de Redes IP 1

Arquitectura de sistema de alta disponibilidad

Modelos de Help Desk

UNIDAD DIDACTICA 3 USUARIOS Y GRUPOS EN REDES WINDOWS 2003 SERVER I

Network Services Location Manager. Guía para los administradores de redes

[CONFIGURACIÓN DE DNS]

Manual Avanzado Windows Server 2008

Servicios de impresión y de archivos (Windows 2008)

Capítulo 5. Cliente-Servidor.

MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP

Título de la pista: Windows Server 2012 Detalles técnicos de redes

Trebelius SISTEMA INTEGRADO DE GESTION DE CLINICAS

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Eurowin 8.0 SQL. Manual del módulo TALLAS Y COLORES

Transcripción:

Sistemas Distribuidos Sesión 3 CORBA: Sistemas de Información Diego Sevilla Ruiz DITEC Facultad de Informática Murcia, 2012 Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 1 / 23

Índice Servicios de Nombres Servicios de Trading CORBA Naming Service CORBA Trading Service Patrones: Iterator, Federation Bibliografía: Colouris Cap. 9 y 17, Henning & Vinoski, Cap. 18 y 19 Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 2 / 23

Servicios de Nombres En un sistema distribuido, los nombres se utilizan para identificar todo tipo de recursos: objetos, ficheros Un nombre se resuelve cuando se puede asociar a la información a la que identifica La asociación entre un nombre e información se llama enlace o simplemente asociación Ejemplos: DNS Directorio X.500 (personas correo, número de teléfono, etc.) Servicio de Nombres, Trading Lightweight Directory Access Protocol (LDAP) Globus MDS (Metacomputing Directory Service) Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 3 / 23

Servicios de Nombres (ii) Servicio de Nombres: Almacena contextos, esto es, conjuntos de asociaciones entre nombres y entidades nombradas La principal operación es la resolución de nombres También otras operaciones, como añadir nuevas asociaciones, eliminar, crear contextos, etc. Requisitos y características: Gestionar un número arbitrariamente grande de asociaciones Tiempo de vida elevado Alta disponibilidad (recurso crítico) Aislamiento de fallos Consistencia de caché no tan crítica (pocas actualizaciones) Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 4 / 23

Servicios de Nombres (ii) Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 5 / 23

Servicios de Trading Los objetos no se buscan por nombre, sino por un conjunto de propiedades Nombres Páginas Blancas Trading Páginas Amarillas Un Trader guarda objetos junto con sus propiedades La búsqueda no es por nombre, sino por tipo y características P. ej. Imaginemos que describimos las impresoras en un servicio de trading A cada impresora se le asocian características (color, ppm, resolución, ubicación) Un cliente especifica: impresora, ubicación==xxx, color=si Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 6 / 23

Servicio de Nombres de CORBA (CORBA Naming Service) k a r o i j q p Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 7 / 23

Servicio de Nombres de CORBA Un nombre: module CosNaming { typedef string Istring; struct NameComponent { Istring id; Istring kind; }; typedef sequence<namecomponent> Name;... }; kind normalmente se deja vacío No hay separador estándar Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 8 / 23

CosNaming module CosNaming { interface NamingContext { void bind(in Name n, in Object obj) raises(notfound, CannotProceed, InvalidName, AlreadyBound); void rebind(in Name n, in Object obj) raises(notfound, CannotProceed, InvalidName); void bind_context(in Name n, in NamingContext nc) raises(notfound, CannotProceed, InvalidName, AlreadyBound); void rebind_context(in Name n, in NamingContext nc) raises(notfound, CannotProceed, InvalidName); Object resolve (in Name n) raises(notfound, CannotProceed, InvalidName); void unbind(in Name n) raises(notfound, CannotProceed, InvalidName); NamingContext new_context(); NamingContext bind_new_context(in Name n) raises(notfound, AlreadyBound, CannotProceed, InvalidName); void destroy() raises(notempty); void list(in unsigned long how_many, out BindingList bl, out BindingIterator bi); };... }; Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 9 / 23

Servicio de Nombres de CORBA Permite obtener y registrar referencias relativas a un contexto Actúa como factoría de contextos: new_context y bind_new_context También destrucción de contextos: destroy + unbind Las operaciones se aplican recursivamente sobre los elementos del nombre (Name): Resolver a/b/c sobre el contexto raíz es equivalente a resolver b/c sobre el contexto a Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 10 / 23

Servicio de Nombres de CORBA Las aplicaciones tienen que buscar el contexto inicial CORBA::ORB_var orb = CORBA::ORB_init(...); CORBA::Object_var o = orb->resolve_initial_references("nameservice"); assert(!corba::is_nil( o )); CosNaming::NamingContext_var contextoinicial = CosNaming::NamingContext::_narrow( o ); Se puede especificar el contexto inicial con el parámetro -ORBInitRef:./aplicación -ORBInitRef NameService=<ior> Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 11 / 23

Servicio de Nombres de CORBA IORs como URLs corbaloc corbaname Formato corbaloc corbaloc::máquina:3000/nameservice NameService es el ObjectID Identifica a cualquier objeto El servidor de nombres se puede configurar para que se instale en ese puerto, y utiliza ese identificador de objeto Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 12 / 23

Servicio de Nombres de CORBA Formato corbaname: Especifica el nombre de un objeto almacenado en el servicio de nombres El formato es parecido al corbaloc, salvo que añade el nombre del objeto buscado: corbaname::máquina:3000/nameservice#a/b/c Usados sólo para referencias iniciales, no como mecanismo general P. ej. -ORBInitRef Para lanzar el Servicio de Nombres en ORBacus: nameserv -OAport 3000 (la opción -i muestra el IOR (aunque forzando el puerto se puede usar corbaloc) Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 13 / 23

Servicio de Nombres de CORBA CosNamning::Name name; name.length(1); name[0].id = CORBA::string_dup("app1"); CosNaming::NamingContext_var app1 = contextoinicial->bind_new_context( name ); name[0].id = CORBA::string_dup("dispositivos"); CosNaming::NamingContext_var app1_disp = app1->bind_new_context( name ); CORBA::Object_var obj = //... objeto a incluir en el NS name[0].id = CORBA::string_dup("disp1"); app1_disp->bind(name, obj); // El objeto es app1/dispositivos/disp1 Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 14 / 23

Servicio de Nombres de CORBA CosNamning::Name name; name.length(3); name[0].id = CORBA::string_dup("app1"); name[1].id = CORBA::string_dup("dispositivos"); name[2].id = CORBA::string_dup("disp1"); CORBA::Object_var o; try { o = contextoinicial->resolve( name ); } catch (CosNaming::NamingContext::NotFound &) { cerr << "No se encuentra el objeto" << endl; throw 0; } Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 15 / 23

Servicio de Nombres de CORBA Iterador module CosNaming { enum BindingType {nobject, ncontext}; struct Binding { Name binding_name; BindingType binding_type; }; typedef sequence<binding> BindingList; interface BindingIterator; interface NamingContext { void list(in unsigned long how_many, out BindingList bl, out BindingIterator bi); }; interface BindingIterator { boolean next_one(out Binding b); boolean next_n(in unsigned long how_many, out BindingList bl); void destroy(); }; }; Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 16 / 23

Servicio de Nombres de CORBA Iterador Características interesantes: Se ofrecen funciones que permiten parametrizar el número de elementos devueltos (how_many) La primera llamada devuelve un primer grupo y un iterador Incluso ese primer grupo puede incluir a todos los nombres Una sola llamada remota Las llamadas next_n devuelven how_many elementos Functión destroy Manejo de memoria en el servidor de objetos BindingIterator? Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 17 / 23

Servicio de Nombres de CORBA Federation Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 18 / 23

Servicio de Nombres de CORBA Federation Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 19 / 23

Servicio de Nombres de CORBA Federation Opción 1: Espacio de nombres uniforme Buena tolerancia a fallos Difícil de administrar Opción 2: Más fácil de administrar Relativamente tolerante a fallos Cada contexto inicial tiene un enlace al padre Espacio de nombres no uniforme Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 20 / 23

Servicio de nombres de CORBA Conclusión El uso de contextos como objetos hace que se puedan implementar patrones como el de Federation Escalabilidad El patrón de iteración permite tratar conjuntos muy grandes de objetos. Aunque hay otras posibilidades Condiciones: ItemList find_items_by_condition( in unsigned long num_items, in Condition cond); El objeto condición restringe la búsqueda Más funcionalidad al servidor Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 21 / 23

CORBA Trading Service Un trader almacena ofertas de servicio Almacenan la descripción del servicio y una referencia al objeto que ofrece el servicio El que pone un servicio en un trader se llama un exportador El objeto que ofrece es el servicio se llama proveedor del servicio La descripción de un servicio incluye una serie de pares nombre, valor llamadas propiedades El acto de buscar un servicio por unas características se llama importar Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 22 / 23

CORBA Trading Service Interesante: Políticas de federación en una importación search_card Indica el número máximo de ofertas a buscar match_card Número de ofertas que se ordenan return_card Indica el número máximo de ofertas retornadas como máximo follow_policy Indica la política de seguimiento de traders federados: local_only, if_no_local, always hop_count Número máximo de veces que una consulta se reenvía a otro servidor... Diego Sevilla Ruiz (DITEC Facultad de Informática) Sistemas Distribuidos Murcia, 2012 23 / 23