• No se han encontrado resultados

Unidad 3 Comunicacion Sistemas Distribuidos 1

N/A
N/A
Protected

Academic year: 2021

Share "Unidad 3 Comunicacion Sistemas Distribuidos 1"

Copied!
29
0
0

Texto completo

(1)

Sistemas Distribuidos 1

Sistemas Distribuidos 1

Materia

Lic. Gutiérrez Madrigal José Luis

Lic. Gutiérrez Madrigal José Luis

Docente

Comunicación

Comunicación

Unidad 3

A

AL

LU

UM

MN

NO

O

N

NO

O.

. C

CO

ON

NT

TR

RO

OL

L

B

Ba

au

uttiis

stta

a H

He

errn

án

nd

de

ez

z P

Pa

ab

bo

o

1

1!

!!

!"

""

"#

#$

$%

%

Ingeniería en Sistemas Computacionales

Enero - Julio 2017

Te&no'(i&o Na&iona de

Te&no'(i&o Na&iona de

M)*i&o

M)*i&o

Cam+us Pa&,u&a

Cam+us Pa&,u&a

“El Hombre Alimenta el Ingenio

(2)

- COMUNCAC/N

- COMUNCAC/N

La comunicación entre procesos en sistemas con un único procesador se lleva a cao mediante el uso de memoria compartida entre los procesos! En los sistemas distriuidos" al no #aer cone$ión %ísica entre las distintas memorias de los e&uipos" la comunicación se reali'a mediante la trans%erencia de mensa(es!

Comuni&a&i'n Ciente0Seridor

Comuni&a&i'n Ciente0Seridor

So&2ets

So&2ets

Es un mecanismo de comunicación" )ermite a los sistemas cliente*servidor ser desarrollados Localmente en una sola m+&uina , travs de redes! .unciones tales como impresión" utilerías de red" tales como login / %tp" usualmente usan socets para comunicarse!

Socet designa un concepto astracto por el cual dos programas posilemente situados en computadoras distintas pueden intercamiarse cual&uier 3u(o de datos" generalmente de manera 4ale / ordenada!

5n socet &ueda de4nido por una dirección I)" un protocolo / un número de puerto!

3*+i&a&i'n detaada

3*+i&a&i'n detaada

)ara &ue dos programas puedan comunicarse entre sí es necesario &ue se cumplan ciertos re&uisitos6

• ue un programa sea capa' de locali'ar al otro!

• ue amos programas sean capaces de intercamiarse cual&uier

secuencia de octetos" es decir" datos relevantes a su 4nalidad!

)ara ello son necesarios los tres recursos &ue srcinan el concepto de socet6

• 5n protocolo de comunicaciones" &ue permite el intercamio de

(3)

• 5na dirección del )rotocolo de 8ed 9irección I)" si se utili'a el

)rotocolo :C)*I)" &ue identi4ca una computadora!

• 5n número de puerto" &ue identi4ca a un programa dentro de una

computadora!

Los socets permiten implementar una ar&uitectura cliente-servidor! La comunicación #a de ser iniciada por uno de los programas &ue se denomina programa cliente! El segundo programa espera a &ue otro inicie la comunicación" por este motivo se denomina programa servidor! 5n socet es un 4c#ero e$istente en la m+&uina cliente / en la m+&uina servidora" &ue sirve en última instancia para &ue el programa servidor / el cliente lean / escrian la in%ormación! Esta in%ormación ser+ la transmitida por las di%erentes capas de red!

Comuni&a&i'n RPC

Comuni&a&i'n RPC

;tro paso en el dise<o de un sistema operativo distriuido plantea las llamadas a procedimientos remotos o 8)Cs! Los 8)C amplían la llamada local a procedimientos" / los generali'an a una llamada a un procedimiento locali'ado en cual&uier lugar de todo el sistema distriuido! En un sistema distriuido no se deería distinguir entre llamadas locales / 8)Cs" lo &ue %avorece en gran medida la transparencia del sistema!

5na de las di4cultades m+s evidentes a las &ue se en%renta el 8)C es el %ormato de los par+metros de los procedimientos! 5n e(emplo es la posiilidad de &ue" en un sistema distriuido %ormado por di%erentes tipos de ordenadores" un ordenador con %ormato little endian llamara a un procedimiento de otro ordenador con %ormato ig endian" etc! Este prolema se podría solucionar si tenemos en cuenta &ue amos programas conocen el tipo de datos de los par+metros" o estaleciendo un est+ndar en el %ormato de los par+metros" de %orma &ue sea usado de %orma única!

)or último" &ueda por solucionar la tolerancia a %allos! 5na llamada a un procedimiento remoto puede %allar por motivos &ue antes no e$istían" como la prdida de mensa(es o el %allo del cliente o del servidor durante la e(ecución del procedimiento!

(4)

La limitación del 8)C m+s clara en los sistemas distriuidos es &ue no permite enviar una solicitud / reciir respuesta de varias %uentes a la ve'" sino &ue la comunicación se reali'a únicamente entre dos procesos! )or motivos de tolerancia a %allos" lo&ueos" u otros" sería interesante poder tratar la comunicación en grupo!

Comuni&a&i'n en (ru+o

Comuni&a&i'n en (ru+o

La comunicación en grupo tiene &ue permitir la de4nición de grupos" así como características propias de los grupos" como la distinción entre grupos aiertos o &ue permiten el acceso / cerrados &ue lo limitan" o como la distinción del tipo de (erar&uía dentro del grupo! Igualmente" los grupos #an de tener operaciones relacionadas con su mane(o" como la creación o modi4cación!

Toeran&ia a 4aos

Toeran&ia a 4aos

ue el sistema de arc#ivos sea tolerante a %allos implica &ue el sistema dee guardar varias copias del mismo arc#ivo en distintos ordenadores para garanti'ar la disponiilidad en caso de %allo del servidor srcinal! ,dem+s" se #a de aplicar un algoritmo &ue nos permita mantener todas las copias actuali'adas de %orma consistente" o un mtodo alternativo &ue sólo nos permita acceder al arc#ivo actuali'ado" como invalidar el resto de copias cuando en cual&uiera de ellas se va/a a reali'ar una operación de escritura! El uso de memorias cac#e para agili'ar el acceso a los arc#ivos tamin es recomendale" pero este caso re&uiere anali'ar con especial atención la consistencia del sistema!

-.1 Paso de mensa5es

-.1 Paso de mensa5es

La apro$imación m+s +sica a la comunicación entre procesos es el paso de mensa(es! En este paradigma" los datos &ue representan mensa(es se intercamian entre dos procesos" un emisor / un receptor!

El paso de mensa(es es el paradigma %undamental para aplicaciones distriuidas! 5n proceso envía un mensa(e &ue representa una petición! El mensa(e se entrega a un receptor" &ue procesa la petición / envía un mensa(e como respuesta! En secuencia" la rplica puede disparar

(5)

posteriores peticiones" &ue lleven a sucesivas respuestas" / así en adelante!

Las operaciones +sicas necesarias para dar soporte al paradigma de paso de mensa(es son enviar / reciir! )ara comunicaciones orientadas a cone$ión" tamin se necesitan las operaciones conectar / desconectar! Los detalles sore las operaciones" tales como argumentos o valores de retorno" se dar+n (unto a las respectivas #erramientas / %uncionalidades en los capítulos posteriores! )or medio del grado de astracción proporcionado por este modelo" los procesos interconectados reali'an la entrada / la salida #acia el otro proceso" de una %orma similar a la utili'ada en la entrada*salida E*S de 4c#eros! Como en el caso de la E*S de 4c#eros" las operaciones sirven para encapsular el detalle de la comunicación a nivel del sistema operativo" de %orma &ue el programador puede #acer uso de operaciones para enviar / reciir

mensa(es sin preocuparse por el detalle su/acente!

La inter%a' de programación de aplicaciones de socets &ue se estudiar+ en el Capítulo = se asa en este paradigma! 5sando un socet" una construcción lógica" dos procesos pueden intercamiarse datos de la siguiente %orma6 5n emisor escrie o inserta un mensa(e en el socet> en el otro e$tremo" un receptor lee o e$trae un mensa(e del socet!

La implementación de nuestro sistema de suastas usando paso de mensa(es / el paradigma cliente-servidor se descriir+ en la pró$ima sección!

Los procesos de un S!;! pueden comunicarse entre sí al compartir espacios de memoria" /a sean variales compartidas o u?ers" o a

travs de las #erramientas provistas por las rutinas de comunicación de interprocesos!

(6)

)ara comunicar procesos en un amiente distriuido" adem+s del uso de un sistema de nomres de recursos" se necesita un es&uema de comunicación lógico &ue d sentido a estas transacciones! El sistema operativo provee mínimamente dos primitivas" enviar / reciir" normalmente llamadas send / receive" pero tendr+ &ue implementar un enlace de comunicación entre los procesos! Este enlace puede ser unidireccional o multidireccional según permita la comunicación en solo uno o en varios sentidos" / dependiendo de la %orma en &ue se dispara la comunicación!

Comuni&a&i'n S6n&rona.

Comuni&a&i'n S6n&rona.

uien envía permanece lo&ueado esperando a &ue llegue una respuesta del receptor antes de reali'ar cual&uier otro e(ercicio!

Comuni&a&i'n As6n&rona.

Comuni&a&i'n As6n&rona.

uien envía continúa con su e(ecución inmediatamente despus de enviar el mensa(e al receptor!

Comuni&a&i'n Persistente.

Comuni&a&i'n Persistente.

El receptor no tiene &ue estar operativo al mismo tiempo &ue se reali'a la comunicación" el mensa(e se almacena tanto tiempo como sea necesario para poder ser entregado!

Comuni&a&i'n

Comuni&a&i'n T

Transitoria.

ransitoria.

El mensa(e se descarta si el receptor no est+ operativo al tiempo &ue se reali'a la comunicación! )or lo tanto" no ser+ entregado!

Comuni&a&i'n Dire&ta.

Comuni&a&i'n Dire&ta.

Las primitivas enviar / reciir usan directamente el nomre del proceso

(7)

@enviar mensa(e" , envía un mensa(e al proceso ,! ;srvese &ue la primitiva sólo dee especi4car cu+l va a ser el proceso 9estino" /a &ue el proceso %uente viene direccionado en la comunicación!A

Las operaciones +sicas Send / 8eceive se de4nen de la siguiente manera6 Send )" mensa(e> envía un mensa(e al proceso )! 8eceive " mensa(e> espera la recepción de un mensa(e por parte del proceso !

Comuni&a&i'n ndire&ta.

Comuni&a&i'n ndire&ta.

Es a&uella donde la comunicación est+ asada en un gateBa/" enrutador" puente o sBitc#" /a &ue el emisor / el receptor est+n a distancia!

Comuni&a&i'n Sim)tri&a.

Comuni&a&i'n Sim)tri&a.

:odos los procesos pueden enviar o reciir! :amin estalece una llamada idireccional para el caso de dos procesos!

Comuni&a&i'n Asim)tri&a.

Comuni&a&i'n Asim)tri&a.

5n proceso puede enviar" los dem+s procesos solo recien! :amin llamada unidireccional o no interactiva! Es el es&uema típico de algunos servidores de Internet!

Comuni&a&i'n &on uso de bu7ers automáti&o.

Comuni&a&i'n &on uso de bu7ers automáti&o.

El transmisor se lo&uea #asta &ue el receptor recie el mensa(e completo" pero ste tiene capacidad para reciirlo" aun&ue no est listo para procesarlo!

La comunicación / sincroni'ación en S!;!9! es m+s comple(a / se estalece en canales lentos / menos con4ales &ue los uses internos de una computadora" lo &ue incorpora prolemas como la prdida de mensa(es" la llegada de datagramas desordenados" la #eterogeneidad de los nodos / su di%erente rendimiento" etc!

La %orma natural de comunicar / sincroni'ar procesos en los sistemas distriuidos es mediante paso de mensa(es> los procesos intercamian

(8)

mensa(es mediante las primitivas &ue adem+s estalecen una e$tensión de los sem+%oros en la &ue se transmite m+s in%ormación en un conte$to sincroni'ado!

5na de las venta(as de emplear mecanismos de comunicación / sincroni'ación asados en paso de mensa(e es la portailidad de las soluciones programadas para di%erentes ar&uitecturas de computadoras" incluidos los sistemas con memoria compartida" otra venta(a es &ue no e$iste el prolema del acceso en e$clusión mutua a datos compartidos"

/a &ue no #a/ contienda por el acceso al recurso" sino una 4la en espera!

5n sistema operativo o lengua(e de programación podría o%recer #erramientas" algunas asadas en memoria compartida / otras asadas en la comunicación mediante paso de mensa(es" por lo &ue podríamos llegar a tener un mismo proceso o #ilo &ue empleara las dos posiilidades! Los siguientes son aspectos relevantes en el dise<o de los sistemas de paso de mensa(es6

• Identi4cación en el proceso de comunicación! • Sincroni'ación!

• Características del canal capacidad" 3u(o de datos" etc!

-.! Ob5etos distribuidos

-.! Ob5etos distribuidos

aitualmente" los sistemas distriuidos se #an venido constru/endo utili'ando conceptos utili'ados en los sistemas operativos tradicionales! El concepto de proceso / los mecanismos de comunicación entre procesos son los m+s destacales!

En los últimos tiempos" el auge de las tecnologías orientadas a o(etos #a llevado a los dise<adores a plantearse la %orma en &ue pueden aplicarlas para la construcción de sistemas distriuidos! La aplicación de dic#as tecnologías no se #a detenido en la construcción en sí del sistema distriuido" sino en la %orma &ue ste proporciona sus servicios / en la manera en &ue se constru/en las aplicaciones de usuario!

El prolema &ue surge inmediatamente es cómo construir el sistema distriuido para &ue cura dic#as e$pectativas! La construcción se

(9)

deer+ reali'ar as+ndose en uno de los dos modelos siguientes6 el modelo de procesos o cliente*servidor o el modelo de o(etos!

Modeo basado en ob5etos

Modeo basado en ob5etos

El modelo asado en o(etos a%ronta la construcción del sistema identi4cando las astracciones clave del dominio del prolema! 9ic#as entidades son vistas como agentes autónomos &ue colaoran para llevar a cao un comportamiento de nivel superior!

El modelo asado en o(etos pone n%asis en la identi4cación / caracteri'ación de los componentes del sistema" &ue ser+n modelados con o(etos! In%ormalmente" se puede de4nir un o(eto como una colección %ormada por una serie de datos / un con(unto de operaciones de4nidas sore ellos" de tal manera &ue se garanti'a la ocultación de los detalles internos!

)ara alterar el estado de un o(eto" se tendr+ &ue invocar la operación apropiada" de tal %orma &ue el con(unto de las operaciones de4nidas para un o(eto de4nir+ colectivamente su comportamiento! El

mecanismo de encapsulación de los o(etos se encarga de &ue esto sea así!

:amin se pueden utili'ar los mecanismos de #erencia / polimor4smo como #erramientas adicionales de estructuración para el dise<o / construcción de sistemas distriuidos! La aplicación de conceptos de orientación a o(etos tal cual para la construcción de sistemas distriuidos es denominada en DFGH apro$imación aplicativa! 5n e(emplo cl+sico del uso de estos mecanismos es el sistema operativo C#oices DCI8GK!

El modelo asado en o(etos no di4ere del tradicional paradigma de ;; en el &ue cada entidad es un o(eto con una inter%a' de mensa(es &ue proporcionan sus operaciones! En el modelo asado en o(etos para los sistemas distriuidos" cada recurso compartido se representa como un o(eto! Los o(etos son identi4cados de %orma unívoca / se pueden mover por la red sin camiar su identidad! Cuando un proceso re&uiere el acceso a un recurso" envía un mensa(e al o(eto correspondiente! Este mensa(e es despac#ado al mtodo adecuado &ue resuelve la petición / envía un mensa(e de respuesta al proceso adecuado!

(10)

El modelo asado en o(etos es simple / 3e$ile! ;%rece una visión uni%orme de todos los recursos! Como en los modelos descritos

anteriormente" los o(etos pueden actuar como clientes / servidores! Sin emargo" en el modelo cliente*servidor" el es&uema de nomrado de los recursos dependía del gestor mientras &ue a&uí todos los recursos se re%erencian de manera uni%orme!

-.!.1 RM

-.!.1 RM

8I 8emote et#od Invocation DSunGM %ue dise<ado para permitir la invocación de mtodos remotos de o(etos entre distintas m+&uinas Java uicadas en el mismo o en distintos computadores de manera

transparente! Integra directamente un modelo de o(etos distriuidos en el lengua(e Java a travs de un con(unto de clases e inter%aces!

5n o(eto 8I es un o(eto cu/os mtodos pueden ser invocados desde otra m+&uina Java" incluso a travs de una red! Cada o(eto remoto implementa una o m+s inter%aces remotas &ue especi4can &u operaciones pueden ser invocadas por los clientes! Cual&uier otra operación púlica &ue tenga el o(eto pero &ue no apare'ca en la inter%a' remota no podr+ ser utili'ada por los clientes remotos! Los clientes invocan dic#os mtodos e$actamente igual &ue si %ueran mtodos locales" &uedando ocultos los detalles de la comunicación! Se utili'an los denominados sustitutos stu / es&ueletos seleton" &ue actúan de intermediarios entre los o(etos local / remoto! Los sustitutos / los es&ueletos son generados de manera autom+tica por el compilador rmic!

9esde el punto de vista del programador" los o(etos remotos se manipulan de la misma manera &ue los locales" a travs de re%erencias! 8ealmente" una re%erencia a un o(eto remoto apunta a una re%erencia a un sustituto local &ue lo representa" / &ue es el encargado de transmitir los par+metros de la invocación al computador remoto / reciir de l el valor de retorno! La manipulación de o(etos remotos tiene &ue tener en cuenta6

Cómo otener una re%erencia a un o(eto remoto!

Festión de e$cepciones especí4cas de la invocación de mtodos remotos!

(11)

)or su parte" un es&ueleto es el encargado de recoger los par+metros &ue recie del sustituto a travs de la red" invocar de manera local al o(eto remoto / devolver el resultado de nuevo a travs de la red al sustituto del o(eto &ue reali'ó la invocación!

, di%erencia de una invocación local" una invocación 8I pasa los o(etos locales &ue %orman parte de la lista de par+metros por copia por valor" dado &ue una re%erencia a un o(eto local sólo sería útil en una m+&uina virtual única! 8I utili'a el servicio de seriali'ación de o(etos para

aplanar el estado de un o(eto local / colocarlo en el mensa(e a enviar a la m+&uina virtual remota! Si el o(eto es no-seriali'ale" no se puede usar como par+metro! :amin son pasados por valor los par+metros de tipos primitivos! )or otro lado" 8I pasa los o(etos remotos o(etos &ue implementan una inter%a' remota por re%erencia!

8I proporciona inter%aces / clases para uscar o(etos remotos" cargarlos / e(ecutarlos de manera segura! ,dicionalmente" proporciona un servicio de nomrado un tanto primitivo servicio de nomrado no persistente / espacio de nomres plano &ue permite locali'ar o(etos remotos / otener re%erencias a ellos" de manera &ue se puedan invocar sus mtodos!

La utili'ación de o(etos remotos lleva consigo la aparición de nuevas situaciones de error" de tal %orma &ue el programador deer+ mane(ar el con(unto de nuevas e$cepciones &ue pueden ocurrir durante una invocación remota!

8I inclu/e una característica de recolección de asura distriuida" &ue recolecta a&uellos o(etos servidores &ue no son re%erenciados por ningún cliente de la red!

-.!.! CORBA

-.!.! CORBA

C;8, Common ;(ect 8e&uest roer ,rc#itecture D;FGG es una especi4cación de4nida por el ;F ;(ect anagement Froup para la creación / uso de o(etos remotos" cu/o o(etivo en proporcionar interoperailidad entre aplicaciones en un entorno distriuido / #eterogneo! ;F es el ma/or consorcio mundial de compa<ías de so%tBare alrededor de M00 entre las &ue destaca la ausencia de icroso%t" &ue tiene su propia plata%orma de o(etos distriuidos6 9C; 9istriuted Component ;(ect odel" odelo de ;(etos Componentes 9istriuido!

(12)

Es conocido como un tipo de @middleBareA" /a &ue no reali'a las %unciones de a(o nivel necesarias para ser considerado un sistema operativo! , pesar de &ue dee %uncionar sore sistemas operativos tradicionales" reali'a muc#as de las operaciones &ue tradicionalmente se #an considerado del dominio de los sistemas operativos para entornos distriuidos!

Los o(etos C;8, se di%erencian de los o(etos de los lengua(es #aituales de programación en &ue6

pueden estar locali'ados en cual&uier lugar de la red"

• pueden e(ecutarse en cual&uier plata%orma #ardBare  sistema

operativo" /

• pueden estar escritos en cual&uier lengua(e!

5n cliente puede utili'ar un o(eto C;8, sin saer dónde est+ ni en &u lengua(e #a sido implementado> lo único &ue tiene &ue conocer es la inter%a' &ue pulica dic#o o(eto!

El cora'ón de C;8, es su ;8 ;(ect 8e&uest roer! El ;8 es el responsale de6

• uscar la implementación del o(eto servidor! • )repararlo para reciir la petición!

• )oner en contacto el cliente con el servidor!

• :ransportar los datos par+metros / valores de retorno entre uno

/ otro" trans%orm+ndolos adecuadamente!

En de4nitiva" es el responsale de &ue ni cliente ni servidor necesiten conocer ni la locali'ación ni el lengua(e de implementación del otro!

Los o(etos C;8, se tienen &ue de4nir con el lengua(e de de4nición de inter%aces I9L Inter%ace 9e4nition Language &ue" como su propio nomre indica" se limita a de4nir la inter%a' del o(eto / no su implementación! La de4nición del o(eto inclu/e la de4nición de sus atriutos" sus mtodos denominados operaciones / las e$cepciones &ue eleva! La implementación del o(eto se tiene &ue reali'ar con algún lengua(e de programación &ue tenga enlaces con I9L en la actualidad e$isten enlaces con lengua(es como C" C" Java" Smalltal" ,da" etc!!

(13)

I9L proporciona #erencia múltiple de inter%aces" de manera &ue las inter%aces derivadas #eredan las operaciones / los tipos de4nidos en las inter%aces ase! :odas las inter%aces derivan de una inter%a' raí'" denominada ;(ect" la cual proporciona servicios &ue son comunes a todos los o(etos C;8," como duplicación / lieración de re%erencias a o(etos" etc!

La compilación de una de4nición de o(etos en I9L genera" entre otras cosas" un sustituto stu / un es&ueleto seleton" para el cliente / servidor" respectivamente! El sustituto crea una petición de servicio al ;8 a instancias del cliente / representa al o(eto servidor! El es&ueleto" por su parte" entrega las peticiones a la implementación del o(eto C;8,!

Es posile utili'ar para la de4nición de los o(etos una serie de tipos asicos / construidos &ue no tienen la categoría de o(etos / &ue son similares a otros tipos encontrados en la ma/oría de los lengua(es de programación6 c#ar" oolean" arra/" struct" etc!

Las inter%aces de o(etos se almacenan en un repositorio de inter%aces I8" Inter%ace 8epositor/" &ue proporciona un almacenamiento

persistente de las declaraciones de inter%aces reali'adas en I9L! Los servicios proporcionados por un I8 permiten la navegación por la (erar&uía de #erencia de un o(eto / proporcionan la descripción de

todas las operaciones soportadas por un o(eto!

La %unción principal del I8 es proporcionar la in%ormación de tipos necesaria para reali'ar peticiones utili'ando la Inter%a' de Invocación 9in+mica" aun&ue puede tener otros propósitos" como servir de almacenamiento de componentes reutili'ales para los desarrolladores de aplicaciones!

La compilación de las declaraciones I9L en algún lengua(e de programación permite a los clientes invocar operaciones en o(etos conocidos" pero algunas aplicaciones necesitan poder reali'ar llamadas a o(etos sin tener conocimiento de sus inter%aces en tiempo de compilación! En esencia" la Inter%a' de Invocación 9in+mica 9II" 9/namic Invocation Inter%ace es un stu genrico de clientes capa' de enviar cual&uier petición a cual&uier o(eto" interpretando en tiempo de e(ecución los par+metros de la petición / los identi4cadores de la operación!

C;8, permite &ue la implementación de los o(etos sea todo lo variada &ue se &uiera! En unos casos" varias inter%aces I9L pueden estar

(14)

puede estar implementada por una serie de programas" uno para cada operación!

5n ,daptador de ;(etos ;," ;(ect ,dapter proporciona los medios por los &ue varios tipos de implementaciones de o(etos utili'an los servicios del ;8" como por e(emplo6

• generación de re%erencias de o(etos! • invocación de mtodos de o(etos! • seguridad!

• activación / desactivación de o(etos e implementaciones!

9ependiendo del ;8 su/acente" un ;, puede elegir entre

proporcionar estos servicios delegando en el ;8 o reali'ando el traa(o l mismo! En cual&uier caso" las implementaciones de los o(etos no van a estar al tanto de la di%erencia" /a &ue únicamente usan la inter%a' proporcionada por el ;,!

)ara &ue un cliente pueda reali'ar una petición a un o(eto servidor" deer+ utili'ar una re%erencia al o(eto! 5na re%erencia siempre re4ere el mismo o(eto para la &ue %ue creada" durante tanto tiempo como e$ista el o(eto! Las re%erencias son tanto inmutales como opacas" de manera &ue un cliente no puede @entrarA en una re%erencia / modi4carla! Sólo el ;8 sae &ue es lo &ue #a/ @dentroA de la re%erencia!

Cuando se pasan o(etos como par+metros en invocaciones a mtodos" lo &ue realmente se pasan son re%erencias a dic#os o(etos! El paso de o(etos como par+metro es" por tanto" por re%erencia!

En la última revisión importante de C;8, revisión 2!K" de Junio de 1GGG se introdu(o la propuesta de o(etos-por-valor o(ects-/-value" &ue e$tienden el modelo de o(etos de C;8, tradicional para permitir el paso de o(etos por valor dentro de los par+metros de los mtodos! )ara conseguirlo se introduce un nuevo tipo I9L denominado el tipo valor value!

Cuando un ;8 encuentra un o(eto de tipo valor dentro de un par+metro" autom+ticamente pasa una copia del estado del o(eto al

receptor! En contraste" el ;8 pasar+ por re%erencia cual&uier o(eto declarado vía una inter%a' I9L!

(15)

5n tipo valor se puede entender a medio camino entre una inter%a' I9L / una estructura del estilo de las del lengua(e C! La sinta$is del valor permite especi4car algunos detalles de implementación por e(emplo" su estado" &ue no %orman parte de una inter%a' I9L! ,dem+s" se pueden especi4car mtodos locales para operar con dic#o estado! , di%erencia de las inter%aces" los mtodos de los tipos valor no pueden ser invocados remotamente!

Los C;8,services son un con(unto de servicios &ue aumentan / complementan los servicios proporcionados por el ;8! :odos ellos son accesiles a travs de un con(unto de inter%aces especi4cadas en I9L! Se relacionan" a continuación" los servicios incluidos en el est+ndar6

Li%e C/cle Service6 de%ine las operaciones para crear" copiar" mover /



eliminar o(etos!

)ersistence Service6 proporciona una inter%a' para almacenar



o(etos de manera persistente en una amplia variedad de servidores de almacenamiento6 ases de datos orientadas a o(etos ;9Ss" ases de datos relacionales 89Ss / 4c#eros tradicionales!

Naming Service6 permite a los o(etos locali'ar otros o(etos" incluso



utili'ando servicios de directorio como O!P00" NIS" N9S" L9,)" etc!

Event Service6 permite a los o(etos registrar din+micamente su



inters por eventos especí4cos! Este servicio de4ne el o(eto

denominado event c#annel" &ue recolecta / distriu/e eventos entre los o(etos" &ue no necesitar+n conocerse entre sí!

Concurrenc/ Control Service6 proporciona un gestor de cerraduras



loc" en ingls!

:ransaction Service6 proporciona una coordinación de dos %ases



tBo-p#ase commit utili'ando transacciones planas o anidadas!

8elations#ip Service6 proporciona una %orma de crear asociaciones



din+micas entre o(etos &ue no se conocen entre sí!

E$ternali'ation Service6 proporciona una manera est+ndar de



introducir*enviar al e$terior datos de un o(eto utili'ando un mecanismo de tipo 3u(o de /tes stream!

uer/ Service6 proporciona operaciones de consulta sore o(etos!



(16)

Licensing Service6 proporciona operaciones para medir la utili'ación



de o(etos para asegurar una compensación (usta por su uso! )ermite controlar el coste por sesión" por nodo" por creación de instancia" etc!

)roperties Service6 proporciona operaciones &ue permiten asociar



valores con nomre propiedades a cual&uier o(eto!

:ime Service6 proporciona inter%aces para sincroni'ar relo(es en un



entorno de o(etos distriuidos! :amin proporciona operaciones para de4nir / gestionar eventos dependientes del tiempo!

Securit/ Service6 proporciona seguridad en el entorno de o(etos



distriuidos" soportando autenticación" listas de control de acceso" con4dencialidad" etc!

:rader Service6 proporciona @p+ginas amarillasA para los o(etos!



)ermite a los o(etos pulicitar sus servicios / pu(ar por la reali'ación de traa(os!

Collection Service6 proporciona inter%aces para crear / manipular las



collecciones m+s comunes!

-.!.- COM

-.!.- COM

C; Component ;(ect odel DicGP es la tecnología de de4nición / manipulación de componentes de icroso%t &ue proporciona un modelo de programación / un est+ndar inario para los mismos! 9C; DicGM de 9istriuted C; es la tecnología &ue e$tiende C; para permitir a los o(etos componentes residir en m+&uinas remotas / est+ disponile desde la aparición de QindoBs N: =!0! , partir de a#ora se utili'ar+n los trminos C; / 9C; indistintamente!

5n o(eto C; se de4ne en trminos de las inter%aces individuales &ue soporta una o m+s / &ue est+n de4nidas en la clase o(eto clase a la &ue pertenece! Cada inter%a' est+ identi4cada por un identi4cador único II9" Inter%ace Identi4er" &ue es un caso particular de identi4cador gloal / único F5I9" Floal 5ni&ue Identi4er! Los F5I9 son valores de 12M its &ue se garanti'an únicos estadísticamente en el espacio / en el tiempo!

Las inter%aces son el único medio de interactuar con un o(eto C;! 5n cliente &ue desea utili'ar los servicios de un o(eto #ar+ de otener primero un puntero a una de sus inter%aces!

(17)

Los o(etos clase implementan una o m+s inter%aces / se identi4can por un identi4cador de clase CLSI9" Class Identi4er! Los CLSI9 son tamin un caso particular de F5I9! Con el 4n de &ue un cliente pueda crear un o(eto C;" es necesario descriir su clase utili'ando el lengua(e de de4nición de inter%aces I9L" Inter%ace 9e4nition Language! La

compilación de dic#a descripción genera un representante pro$/ para los clientes / un sustituto stu para el servidor!

C; no proporciona la #erencia como instrumento para lograr la reutili'ación! En su lugar proporciona los mecanismos de contención / agregación! El polimor4smo es conseguido cuando di%erentes clases soportan la misma inter%a'" permitiendo a una aplicación utili'ar el mismo código para comunicarse con cual&uiera de ellas!

El o(etivo principal de C; es proporcionar un medio por el &ue los clientes pueden #acer uso de los o(etos servidores" sin tener en cuenta &ue pueden #aer sido desarrollados por di%erentes compa<ías

utili'ando di%erentes lengua(es de programación! Con el 4n de lograr este nivel de interoperailidad" C; de4ne un est+ndar inario" &ue especi4ca cómo se dispone un o(eto en memoria principal en tiempo de e(ecución! Cual&uier lengua(e &ue pueda reproducir dic#a disposición en memoria podr+ crear o(etos C;!

,dem+s del o(etivo de la interoperailidad" C; tiene otros o(etivos6

• )roporcionar una solución para los prolemas de versiones /

evolución!

• )roporcionar una visión del sistema de los o(etos! • )roporcionar un modelo de programación singular! • )roporcionar soporte para capacidades de distriución!

En el modelo de programación C;" los clientes C; se conectan a uno o m+s o(etos C;! Cada o(eto C; e$pone sus servicios a travs de una o m+s inter%aces" &ue no son m+s &ue agrupaciones de %unciones relacionadas sem+nticamente!

La implementación compilada de cada o(eto C; est+ contenida en un módulo inario e$e o dll denominado servidor C;! 5n único servidor

C; es capa' de contener la implementación compilada de varios o(etos C;!

(18)

5n servidor C; puede estar enla'ado al proceso cliente in-process server" puede e(ecutarse en un proceso distinto del cliente pero en la misma m+&uina local server o ien" puede e(ecutarse en un proceso separado en una m+&uina distinta" incluso en un sistema operativo distinto remote server! )ara la comunicación con o(etos situados en espacios de direcciones distintos del espacio de direcciones del cliente" se utili'an intermediarios en la %orma de representantes / sustitutos!

El modelo de programación C; de4ne &ue un servidor C; dee e$poner o(etos C;" un o(eto C; dee e$poner sus servicios / un cliente C; dee usar los servicios de o(etos C;!

)ara comunicarse con un o(eto &ue no es local" C; emplea un mecanismo de comunicación entre procesos &ue es transparente a la aplicación" incluso en lo relativo a la locali'ación del o(eto!

:odos los o(etos C; tienen &ue implementar una inter%a' particular" denominada I5nnoBn! Esta inter%a' es el cora'ón de C; / es utili'ada para negociación de inter%aces en tiempo de e(ecución preguntar al o(eto &u inter%aces soporta / otener punteros a las mismas" gestión del ciclo de vida del o(eto / agregación!

Cada o(eto mantiene una cuenta de re%erencia &ue es incrementada cada ve' &ue un cliente solicita un puntero para una inter%a' o pasa una re%erencia al mismo! Cuando la inter%a' de(a de ser utili'ada por el cliente" la cuenta de re%erencia se decrementa! Las operaciones de incremento / decremento son reali'adas de manera e$plícita por el cliente invocando %unciones pertenecientes a la inter%a'!

-.- S6n&rona 8 as6n&rona

-.- S6n&rona 8 as6n&rona

Síncrona Síncrona

La transmisión síncrona es una tcnica &ue consiste en el enviar una trama de datos con(unto de caracteres &ue con4gura un lo&ue de in%ormación comen'ando con un con(unto deits de sincronismo SRN / terminando con otro con(unto de its de 4nal de lo&ue E:! En este caso" los its de sincronismo tienen la %unción de sincroni'ar los relo(es e$istentes tanto en el emisor como en el receptor" de tal %orma &ue estos controlan la duración de cada it / car+cter!

(19)

9ic#a transmisión se reali'a con un ritmo &ue se genera

centrali'adamente en la red / es el mismo para el emisor como para el receptor! La in%ormación se transmite entre dos grupos" denominados delimitadores M its!

Características

Los lo&ues a ser transmitidos tienen un tama<o &ue oscila entre 12M / 1"02= /tes! La se<al de sincronismo en el e$tremo %uente" puede ser generada por el e&uipo terminal de datos o por el módem! Cuando se transmiten lo&ues de 1"02= /tes / se usan no m+s de 10 /tes de caecera / terminación" el rendimiento de transmisión supera el GG por 100!

enta(as

• )osee un alto rendimiento en la transmisión

• Son aptos para transmisiones de altas velocidades iguales o

ma/ores a 1"200 audios de velocidad de modulación

• El 3u(o de datos es m+s regular!

:amin llamada :ransmisión Sincrónica! , todo el con(unto de its / de datos se le denomina :8,,!

9esventa(a

• Los e&uipamientos son de tecnología m+s completa / de costos

(20)

As6n&rona

As6n&rona

La transmisión asíncrona tiene lugar cuando el proceso de sincroni'ación entre emisor / receptor se reali'a en cada palara de código

transmitido! Esta sincroni'ación se lleva a cao a travs de unos its especiales &ue de4nen el entorno de cada código!

:amin se dice &ue se estalece una relación asíncrona cuando no #a/ ninguna relación temporal entre la estación &ue transmite / la &ue recie! Es decir" el ritmo de presentación de la in%ormación al destino no tiene por &u coincidir con el ritmo de presentación de la in%ormación por la %uente! En estas situaciones tampoco se necesita garanti'ar un anc#o de anda determinado" suministrando solamente el &ue est en ese momento disponile! Es un tipo de relación típica para la

transmisión de datos!

En este tipo de red el receptor no sae con precisión cuando reciir+ un mensa(e! Cada car+cter a ser transmitido es delimitado por un it de in%ormación denominado de caecera o de arran&ue" / uno o dos its denominados de terminación o de parada!

El it de arran&ue tiene dos %unciones de sincroni'ación de relo( del transmisor / del receptor!

(21)

9espus de la transmisión de los its de in%ormación se suele agregar un it de paridad par o impar! 9ic#o it sirve para comproar &ue los datos se trans4eran sin interrupción! El receptor revisa la paridad de cada unidad de entrada de datos!

)artiendo desde la línea de transmisión en reposo" cuando tiene el nivel lógico 1" el emisor in%orma al receptor de &ue va a llegar un car+cter" para ello antepone un it de arran&ue Start  con el valor lógico 0! 5na ve' &ue el it Start llega al receptor este disparar+ un relo( interno / se

&uedar+ esperando por los sucesivos its &ue contendr+ la in%ormación del car+cter transmitido por el emisor!

5na ve' &ue el receptor recie todos los its de in%ormación se a<adir+ al menos un it de parada Stop de nivel lógico 1" &ue repondr+n en su estado inicial a la línea de datos" de(+ndola así preparada para la siguiente transmisión del siguiente car+cter! Es usada en velocidades de modulación de #asta 1"200 audios! El rendimiento se asa en el uso de un it de arran&ue / dos de parada" en una se<al &ue use código de 7 its m+s uno de paridad M its sore 11 transmitidos es del 72 por 100! enta(as / desventa(as del modo asíncrono6

• En caso de errores se pierde siempre una cantidad pe&ue<a de

caracteres" pues stos se sincroni'an / se transmiten de uno en uno!

• a(o rendimiento de transmisión" dada la proporción de its útiles

/ de its de sincronismo" &ue #a/ &ue transmitir por cada car+cter!

• Es un procedimiento &ue permite el uso de e&uipamiento m+s

económico / de tecnología menos so4sticada!

• Se adecua m+s %+cilmente en aplicaciones" donde el 3u(o

transmitido es m+s irregular!

• Son especialmente aptos" cuando no se necesitan lograr altas

(22)

-.% Considera&iones de se(uridad

-.% Considera&iones de se(uridad

9eido a ellas surge la necesidad de proteger la integridad / la privacidad de la

in%ormación" / otros recursos &ue pertenecen a individuos / organi'aciones" se

con(uga amos mundos6 el %ísico / el digital! Nace" como es lógico" de la necesidad de compartir recursos! En el mundo %ísico" las organi'aciones adoptan políticas de seguridad para poder compartir recursos dentro de unos

límites especi4cados! Las políticas de seguridad se #acen cumplir con la a/uda

de los mecanismos de seguridad.

En el mundo electrónico" la distinción entre políticas de seguridad / los mecanismos tamin es importante6 sin ella" sería di%ícil determinar si un

sistema particular es seguro! Las políticas de seguridad son independientes de

la tecnología empleada" así como el instalar una cerradura en una puerta no

garanti'a la seguridad del edi4cio a menos &ue #a/a una política de uso por

e(emplo! &ue la puerta est cerrada cuando no est vigilada! Los mecanismos de seguridad &ue descriir no garanti'an" por sí mismos" la seguridad de un

(23)

sistema!

3ou&i'n de as Ne&esidades de Se(uridad

3ou&i'n de as Ne&esidades de Se(uridad

, continuación descriiremos los mecanismos &ue permiten #acer cumplir las

políticas de seguridad en los sistemas distriuidos!

La distinción entre políticas de seguridad / mecanismos de seguridad es de

utilidad cuando se dise<an sistemas seguros" pero no es %+cil estar seguro de

&ue cierto con(unto de mecanismos de seguridad implementan completamente

las políticas de seguridad deseadas! Este es un modelo de seguridad dise<ado

para a/udar en el an+lisis de las amena'as de seguridad potenciales en un

sistema distriuido!

8esumiendo el modelo de seguridad como sigue6

T Los procesos encapsulan recursos / acceden a comunicarse con los clientes a travs de sus inter%aces! Los usuarios u otros procesos pueden estar autori'ados para operar sore los recursos / estos deen estar protegidos contra accesos no autori'ados!

(24)

T Los procesos interactúan en la red" &ue es compartida! Los enemigos o atacantes pueden acceder a la red / podr+n copiar" leer o introducir mensa(es aritrarios" dirigidos #acia cual&uier destino / simular &ue provienen de cual&uier otro!

Este modelo de seguridad identi4ca las características de los sistemas de

seguridad e$puestos a ata&ues!

La Emergencia de la Criptografía en el Dominio Púlico La Emergencia de la Criptografía en el Dominio Púlico

La criptogra%ía proporciona la ase para la ma/oría de los sistemas de seguridad de los computadores! La criptogra%ía tiene una larga / %ascinante

#istoria! La necesidad de comunicaciones militares seguras / la correspondiente necesidad del enemigo de interceptarlas / desencriptarlas #a

%omentado la inversión de muc#o es%uer'o intelectual" por parte de los me(ores

cereros matem+ticos de cada poca!

)ero sólo en tiempos recientes la criptogra%ía emerge de la trastienda en la &ue

%ue puesta por la clase dirigente de políticos / militares &ue solían controlar su

desarrollo / su aplicación! o/ en día es un tema de investigación aierta / con

una comunidad de investigadores amplia / mu/ activa!

La reciente apertura es" en su ma/or medida" resultado del importante crecimiento del inters en las aplicaciones no militares de la criptogra%ía / los

re&uisitos de seguridad de los sistemas de computadores distriuidos! Esto

desemocó en la e$istencia" por primera ve'" de una comunidad autosu4ciente

de criptógra%os aparte del entorno militar!

Irónicamente" esta apertura al púlico de la criptogra%ía #a traído consigo un

ma/or avance de las tcnicas criptogr+4cas" su resistencia a los ata&ues criptoanalíticos / la comodidad con la &ue se despliegan las medidas criptogr+4cas! La criptogra%ía de clave púlica es %ruto de esta apertura! 5n

e(emplo m+s" el algoritmo de encriptación est+ndar 9ES %ue inicialmente un

secreto militar! Su eventual pulicación / los es%uer'os e$itosos para romperlo

(25)

#an traído consigo el desarrollo de algoritmos de encriptación de clave secreta

muc#o m+s resistentes!

;tro producto secundario útil #a sido el desarrollo de una terminología / apro$imación común! 5n e(emplo de esto último es la adopción de un con(unto

de nomres %amiliares para los protagonistas principales involucrados en las

transacciones &ue #a/ &ue asegurar! El uso de nomres %amiliares para los

principales / los atacantes a/uda a aclarar / acercar al mundo las descripciones de los protocolos de seguridad / los potenciales ata&ues sore

ellos" lo &ue supone un paso importante #acia la identi4cación de sus deilidades!

,lice )rimer participante! o Segundo participante!

Carol ;tro participante en los protocolos a tres o cuatro andas! 9ave )articipante en protocolos a cuatro andas!

Eve .isgón!

allor/ ,tacante malevolente! Sara 5n servidor!

-.

-.#

# O+

O+&i

&ion

ones

es te

te&n

&no

o'(

'(i&

i&as

as 9A

9ASM

SM:;

:; <C

<C=

=;

; RM

RM;

;

et&.>

et&.>

5n desarrollador puede incluir en sus sitiossou&iones senten&iassou&iones senten&ias" es decir" instrucciones &ue consuman Qe Services de terceros o propios como por e(emplo a&uellos &ue proporcionan los datos meteorológicos para una localidad determinada" las coti'aciones de determinadas monedas" la cartelera de películas" el calendario o agenda de un especialista mdico" etc!

)ensando un poco m+s en %orma comercial" Uu pasaría si por e(emplo estuvieras traa(ando en tu procesador de te$to en un idioma para el cual no tienes un corrector ortogr+4co ni sint+ctico instalado &ui'+s no e$ista para instalar" pero deseas reali'ar la revisión del documento a toda costaV ien" per%ectamente podría #aer una opción en el menú de este procesador &ue de alguna %orma localice un Qe Service en Internet &ue rinde esta %uncionalidad" / lo m+s interesante aún para &uien lo #a/a desarrollado es &ue puede solicitar al usuario &ue se suscria para su uso! Como ves" todos ganan en esta transacción!

El e(emplo anterior muestra una realidad a la &ue no podemos estar a(enos! Es un replanteo de la estrategia utili'ada por los desarrolladores &uienes a#ora" al reali'ar una aplicación" no deen pensar únicamente en el lugar %ísico donde la misma va a

(26)

e(ecutarse sino en &ue esa aplicación deer+ estar interconectada con otras computadoras" corriendo otras aplicaciones &ui'+s en otras plata%ormas / lengua(es" pero usando protocolos / est+ndares universales! El intercamio se intensi4car+ muc#ísimo m+s / &ui'+s e$istan por e(emplo @proveedores de dominios de datosA como ser los países" de %orma tal &ue la aplicación &ue /o realice en lugar de crear toda la lógica para mane(ar las talas / el cargado de los datos para el concepto ),IS" se limite a consumir un Qe Service &ue me tome esta in%ormación de algún lugar en Internet! Imagino una reutili'ación aún ma/or de %uncionalidades / una colaoración e intercamio de lógica a nivel mundial! ui'+s sea mu/ amicioso en este planteo! )asando al terreno m+s tcnico / pr+ctico de este artículo" e$isten algunas

consideraciones / conceptos &ue es necesario mencionar para comen'ar a entender el tema6

• 5n Qe Service puede ser registrado para poder de(arlo a disposición de otros

usuarios / para &ue los mismos puedan locali'arlo! 5n mecanismo para registrar estos servicios es por medio de 599I" sigla &ue corresponde aUniersaUniersa Des&ri+tion

Des&ri+tion;;Dis&oer8 and Dis&oer8 and nte(rationnte(ration" un @repositorio de Qe ServicesA! )ara registrar un servicio tendr+s &ue tener en cuenta &ue dees suministrar la in%ormación de tu empresa" en &u categorías uicarías tu servicio / la inter%a' a utili'ar para consumir este servicio!

• El mecanismo utili'ado por un Qe Service para especi4car de &u %orma #a/

&ue proporcionarle los datos" de manera tal &ue cual&uiera pueda interaccionar con el mismo" es por medio de lengua(e:ML:ML! Esta in%ormación se almacena en un arc#ivo llamado QS9L <eb Seri&es Des&ri+tion Lan(ua(e<eb Seri&es Des&ri+tion Lan(ua(e" el cual contiene un documento OL (unto con la descripción de ciertos mensa(es S;,) / cómo deen intercamiarse" así como tamin dónde est+ el recurso del servicio / con &u protocolo dee dialogar &uien lo consume!

• El protocolo de comunicación utili'ado es elSOAPSOAP generalmente" el cual es

relativamente sencillo de utili'ar!

• Los Qe Services utili'an protocolos comúnmente conocidos / di%undidos tales

como el %ormato OL" :C)*I) como protocolo de transporte / ::) como protocolo de trans%erencia de #iperte$to!

Uu es S;,)V

S;,) es un protocolo &ue de4ne el %ormato OL para los mensa(es de intercamio en el uso de un Qe Service! )ara a&uellos programadores &ue solían utili'ar llamadas del tipo 8)C" S;,) tamin las soporta! ,dicionalmente" es posile medianteS;,) de4nir un mensa(e ::) / este punto es de especial inters puesto &ue el protocolo imprescindile para Internet es ::)!

Un servicio Web o WebService es un servicio ofrecido por una aplicacin que expone su lgica a clientes de cualquier plataforma mediante una interfaz accesible a travs de la red utilizando tecnologas (protocolos) estndar de nternet!

(27)

"or e#emplo$ una aplicacin como %ccess est formada por un con#unto de componentes que ofrecen una serie de servicios$ como el acceso a datos$ la impresin de informes$ el dise&o de tablas!!!

'a idea de los servicios es la misma$ aunque stos no tienen por qu estar en el mismo ordenador que el cliente  adems son accedidos a travs de un servidor Web  de un modo independiente de la plataforma$ utilizando protocolos estndar (**"$ S+%"$ WS,'$ U,,)!

"ara crear un servicio puede utilizarse cualquiera de los lengua#es disponibles en la plataforma !-.*!

Una vez creado el servicio$ para conseguir que sea accesible por los consumidores$ es necesario describirlo utilizando un lengua#e estndar llamado WS,' (eb Ser!ice Description "anguage)!

'os clientes del servicio podrn estar creados en cualquier lengua#e  e#ecutarse sobre cualquier sistema operativo  /ard0are$ lo 1nico necesario es que sean capaces de obtener  entender la descripcin WS,' de un servicio!

Un arc/ivo WS,' es$ en realidad$ un arc/ivo 23' en el que se identifica el servicio  se indica el esquema para poder utilizarlo$ as como el protocolo o protocolos que es posible utilizar!

(28)

Una vez dispone de esta informacin$ el cliente puede comunicarse con el servicio utilizando protocolos como **" o S+%" (S+%" a&ade invocacin de mtodos a **"$ aunque es posible /acerlo con peticiones **"45.* 6o **"4"+S* en lugar de S+%")! %dems de describir un servicio para que pueda ser utilizado por los clientes es importante publicar el servicio de modo que pueda ser encontrado por clientes que no conozcan

necesariamente el componente que ofrece el servicio$ pero que busquen un servicio de sus caractersticas! .sto se logra mediante el estndar U,, (Uni!ersal Description# Disco!er$ and Integration %egistr$ )! 7ealmente se trata de un servicio mundial en el que los proveedores de servicios pueden registrarlos de modo gratuito!

Un Servicio Web es una entidad programable, proporcionado un elemento particular de funcionalidades, como Lógica de aplicación. Puede ser usado internamente por cualquier aplicación o externamente, a través de la internet por cualquier número de aplicaciones usando estndares comoXMLXML !Lengua"e de #arca $xtensible% &HTTPHTTP !Protocolo de 'ransferencia de (ipertexto%.

)lgunos $specificaciones *úcleos de un servicio Web son+

• S)P+ $s un Protocolo basado en -#L.

• WSL+ $s un formato -#L describe la interfa/ pública a los servicios Web • U0+ $s un protocolo para publicar & descubrir #etadatos.

$xiste dos v1a primaria para crea Servicios en )SP.*$'+ 2. Servicios Web basado en el #odelo )SP.*$' !.asmx.asmx%.

3. Servicios Web basado en #icrosoft Windo4s 5ommunication 6oundation !WCFWCF%. La diferencia fundamental entre ellos es+

LosServicios Web de ASP.NETServicios Web de ASP.NET se 7ospedan directamente en #icrosoft 0nternet 0nformation ServiceIISIIS, cuales son procesados & e"ecutados a través de protocolo de transferencia de (ipertexto !(''P%.

)7ora

LosServicios Web de Windows Servicios Web de Windows CommunicaioCommunicaion Foundaionn Foundaion !W56% pueden traba"ar con una variedad de (osts, Protocolos & 5lientes.

(29)

Protocolos+ (''P, '5P, #S#8, 9inar& (''P, etc. 5lientes+ Windo4s, Web, #obile, etc.

Referencias

Documento similar

Ei sociólogo suele aventurarse por uno u otro teína de investigación de acuerdo con sus personales convicciones o con su biografía particular. Pero para salir airoso de su aventura,

If certification of devices under the MDR has not been finalised before expiry of the Directive’s certificate, and where the device does not present an unacceptable risk to health

In addition to the requirements set out in Chapter VII MDR, also other MDR requirements should apply to ‘legacy devices’, provided that those requirements

Según los datos suministrados por los sistemas de responsabilidad ampliada del productor, los aceites minerales usados recogidos en Castilla-La Mancha fueron

(*) Conforme a lo establecido en el apartado 1.6 del Real Decreto 373/2020, de 18 de febrero de 2020, por el que se desarrolla la estructura orgánica básica del Ministerio de

Sa- ludo a vanos amigos italianos, que están ansiosos de saber lo que hago en Alemania, en.plena guerra y sin ocupar un puesto efe Embajada; pero mi inseparable acompañante acude

En el capítulo de desventajas o posibles inconvenientes que ofrece la forma del Organismo autónomo figura la rigidez de su régimen jurídico, absorbentemente de Derecho público por

Para poder hacer referencia al servidor desde el cliente, obtenemos una referencia al proxy del objeto remoto mediante una llamada al método GetObject() de la