0% encontró este documento útil (0 votos)
619 vistas

Inv. Unidad 1 Contexto de La Programación Cliente-Servidor

Este documento describe la arquitectura del modelo cliente-servidor. Explica que este modelo divide las tareas entre clientes y servidores, donde los clientes realizan solicitudes a los servidores, los cuales responden. Describe los elementos clave de este modelo como los clientes, servidores y middleware. También explica conceptos como la comunicación entre programas, los modelos de dos y tres capas, y ejemplos de uso como las aplicaciones web.

Cargado por

SARAI RAMIREZ
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
619 vistas

Inv. Unidad 1 Contexto de La Programación Cliente-Servidor

Este documento describe la arquitectura del modelo cliente-servidor. Explica que este modelo divide las tareas entre clientes y servidores, donde los clientes realizan solicitudes a los servidores, los cuales responden. Describe los elementos clave de este modelo como los clientes, servidores y middleware. También explica conceptos como la comunicación entre programas, los modelos de dos y tres capas, y ejemplos de uso como las aplicaciones web.

Cargado por

SARAI RAMIREZ
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 32

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE COMITANCILLO

TITULO
“INVESTIGACION DE LA UNIDAD 1.- CONTEXTO DE LA PROGRAMACIÓN
CLIENTE/SERVIDOR”

INTEGRANTES DEL EQUIPO:


SARAI DEL CARMEN RAMIREZ JIMENEZ

AREMY PAOLA SILVA JIMENEZ

DANIA LOPEZ GUERRA

EDSON CABRERA OJEDA

PROFESOR
LIC. ISIDRO LOPEZ RUIZ

San Pedro Comitancillo, Oax., a 23 de Agosto del 2017

1
Contenido
INTRODUCCIÓN .............................................................................................................................. 3
UNIDAD 1.- Contexto de la programación cliente/servidor ....................................................... 4
1.1 Arquitectura del modelo Cliente/Servidor .......................................................................... 4
1.2 Modelos de dos capas y tres capas.................................................................................... 8
1.3 Usos y aplicaciones ............................................................................................................. 12
1.4 Comunicación entre programas ........................................................................................ 15
1.5 Modelos de computación distribución .............................................................................. 17
1.5.1 RMI ................................................................................................................................. 18
1.5.2 COM/DCOM .................................................................................................................. 22
1.5.3 Servicios Web ............................................................................................................... 25
1.5.4 Otros ............................................................................................................................... 26
CONCLUSIÓN ................................................................................................................................ 31
BIBLIOGRAFÍA .................................................................................................................................... 32

2
INTRODUCCIÓN

El contexto de la programación cliente/servidor abarca diferentes temas las


cuales están relacionadas entre sí. Por lo consecuente se debe contar con los
conocimientos básicos respecto a las palabras comunes que usamos en cualquier
ámbito y que se asemeja a los conceptos de los respectivos temas a tratar de la
Unidad 1; como lo es “Modelo=Forma” y “Arquitectura=Estructura”, así se define
cada uno de los conceptos que integra una Arquitectura del modelo Cliente-
Servidor, conteniendo así las ventajas y desventajas de esta.

También están los Modelos de computación distribuida que son para


resolver problemas de computación masiva utilizando un gran número de
ordenadores organizados en clústeres incrustados en una infraestructura de
telecomunicaciones distribuidas como son el RMI, COM/DCOM, por mencionar
algunos. Así como los usos y aplicaciones que la arquitectura Cliente-Servidor
puede ofrecer y la forma de comunicarse.

Los elementos principales de la arquitectura cliente servidor son el cliente y


servidor. Por ejemplo dentro de un ambiente multimedia, el elemento cliente seria
el dispositivo que puede observar el vídeo, cuadros y texto, o reproduce el audio
distribuido por el elemento servidor.

3
UNIDAD 1.- Contexto de la programación cliente/servidor
1.1 Arquitectura del modelo Cliente/Servidor

La arquitectura cliente-servidor es un
modelo de diseño de software en el
que tareas se reparten entre los
proveedores de recursos o servicios,
llamados servidores, y los
demandantes, llamados clientes. Un
cliente realiza peticiones a otro
programa, el servidor, quien le da
respuesta.

Esta idea también se puede


aplicar a programas que se ejecutan sobre una sola computadora, aunque es más
ventajosa en un sistema operativo multiusuario distribuido a través de una red de
computadoras.

En esta arquitectura la capacidad de proceso está repartida entre los


clientes y los servidores, aunque son más importantes las ventajas de tipo
organizativo debidas a la centralización de la gestión de la información y la
separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.

La separación entre cliente y servidor es una separación de tipo lógico,


donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es
necesariamente un sólo programa. Los tipos específicos de servidores incluyen los
servidores web, los servidores de archivo, los servidores del correo, etc. Mientras
que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá
siendo la misma. (Wikipedia, 2013)

https://es.wikipedia.org/wiki/Cliente-servidor

Elementos De La Arquitectura Cliente/Servidor.


Cliente: El cliente es el proceso que permite al usuario formular los requerimientos
y pasarlos al servidor, se le conoce con el término front-end. El Cliente
normalmente maneja todas las funciones relacionadas con la manipulación y
despliegue de datos, por lo que están desarrollados sobre plataformas que
permiten construir interfaces gráficas de usuario (GUI), además de acceder a los
servicios distribuidos en cualquier parte de una red.

4
Las funciones que lleva a cabo el proceso cliente se resumen en los
siguientes puntos:

o Administrar la interfaz de usuario.


o Interactuar con el usuario.
o Procesar la lógica de la aplicación y hacer validaciones locales.
o Generar requerimientos de bases de datos.
o Recibir resultados del servidor.
o Formatear resultados.

Servidor:

Es el proceso encargado de atender a múltiples clientes que hacen


peticiones de algún recurso administrado por él. Al proceso servidor se le conoce
con el término back-end. El servidor normalmente maneja todas las funciones
relacionadas con la mayoría de las reglas del negocio y los recursos de datos.

Las funciones que lleva a cabo el proceso servidor se resumen en los


siguientes puntos:

o Aceptar los requerimientos de bases de datos que hacen los clientes.


o Procesar requerimientos de bases de datos.
o Formatear datos para trasmitirlos a los clientes.
o Procesar la lógica de la aplicación y realizar validaciones a nivel de bases
de datos.

El Middleware

Es la parte del software del sistema que se encarga del transporte de los
mensajes entre el cliente y el servidor, por lo que se ejecuta en ambos lados de la
estructura.

El middleware permite independizar a los clientes y a los servidores, sobre


todo, gracias a los sistemas abiertos, que eliminan la necesidad de supeditarse a
tecnologías propietarias.

Por lo tanto, el middleware facilita el desarrollo de aplicaciones, porque


resuelve la parte del transporte de mensajes y facilita la interconexión de sistemas
heterogéneos sin utilizar tecnologías propietarias.

Características de la arquitectura Cliente/Servidor:


Combinación de un cliente que interactúa con el usuario, y un servidor que
interactúa con los recursos compartidos.

5
Las tareas del cliente y del servidor tienen diferentes requerimientos en
cuanto a recursos de cómputo como velocidad del procesador, memoria,
velocidad y capacidades del disco e input-output devices.
Se establece una relación entre procesos distintos, los cuales pueden ser
ejecutados en la misma máquina o en máquinas diferentes distribuidas a lo
largo de la red.
Existe una clara distinción de funciones basada en el concepto de
"servicio", que se establece entre clientes y servidores.
La relación establecida puede ser de muchos a uno
No existe otra relación entre clientes y servidores que no sea la que se
establece a través del intercambio de mensajes entre ambos.
El ambiente es heterogéneo.

El concepto de escalabilidad tanto horizontal como vertical es aplicable a


cualquier sistema Cliente/Servidor. La escalabilidad horizontal permite agregar
más estaciones de trabajo activas sin afectar significativamente el rendimiento. La
escalabilidad vertical permite mejorar las características del servidor o agregar
múltiples servidores. (Márquez Avendaño, 2004)
http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/marquez_a_bm/capitulo5.pdf

Tipos de arquitectura cliente-servidor:

 Cliente Activo, Servidor Pasivo: El cliente realiza la totalidad del trabajo


de procesado de la información.
 Cliente Pasivo, Servidor Pasivo: Tanto el cliente como el servidor
simplemente pasan información.
 Cliente Pasivo, Servidor Activo: El Servidor realiza todo el trabajo de
procesado y el cliente simplemente presenta los datos.
 Cliente Activo, Servidor Activo: Tanto el Servidor como el Cliente
procesan la información.

Ejemplo: Servicios de Correo Electrónico.

En los casos prácticos que se han desarrollado, como se verá más


adelante, tanto el servidor como el cliente son activos, pues ambos dispositivos
procesan información. Además, la filosofía de este tipo de arquitectura permite
tener varios clientes e incluso varios servidores.

6
Figura 1. Arquitectura cliente-servidor con un único servidor

No necesariamente tiene que existir un único servidor. Por ejemplo, se


puede configurar un servidor para realizar tareas de procesamiento de imágenes y
otro servidor para que ejecute operaciones con estos valores.

Figura 2. Arquitectura cliente-servidor con tres servidores. (Pérez, 2010)

https://riunet.upv.es/bitstream/handle/10251/13943/Documentacion.pdf?sequence
=1

Ventajas del esquema Cliente/Servidor:


1.- La existencia de plataformas de hardware cada vez más baratas.

2.- El esquema Cliente/Servidor facilita la integración entre sistemas diferentes y


comparte información permitiendo,

3.- Al favorecer el uso de interfaces gráficas interactivas, los sistemas construidos


bajo este esquema tienen mayor interacción y más intuitiva con el usuario.

4.- Una ventaja adicional del uso del esquema Cliente/Servidor es que es más
rápido el mantenimiento y el desarrollo de aplicaciones, pues se pueden emplear
las 7 herramientas existentes.

7
5.- La estructura inherentemente modular facilita además la integración de nuevas
tecnologías y el crecimiento de la infraestructura computacional, favoreciendo así
la escalabilidad de las soluciones.

6.- El esquema Cliente/Servidor contribuye además, a proporcionar, a los


diferentes departamentos de una organización, soluciones locales, pero
permitiendo la integración de la información relevante a nivel global.

Desventajas del esquema Cliente/Servidor:


1.- El mantenimiento de los sistemas es más difícil.

2.- Se cuenta con muy escasas herramientas para la administración y ajuste del
desempeño de los sistemas.

3.- Es importante que los clientes y los servidores utilicen el mismo mecanismo
(por ejemplo sockets o RPC), lo cual implica que se deben tener mecanismos
generales que existan en diferentes plataformas.

4.- Además, hay que tener estrategias para el manejo de errores y para mantener
la consistencia de los datos.

5.- El desempeño es otro de los aspectos que se deben tener en cuenta en el


esquema Cliente/Servidor. Problemas de este estilo pueden presentarse por
congestión en la red, dificultad de tráfico de datos, etc. (Mulato, 2013)

http://todosobreprogramacionclienteservidor.blogspot.mx/

1.2 Modelos de dos capas y tres capas

MODELO EN DOS CAPAS:

La arquitectura de dos capas en la actualidad es muy utilizada, aunque con


muchas fallas, todavía no se ha podido dejar de usar. Estas arquitecturas fueron
las primeras en aprovecharse de la estructura cliente-servidor.

Las capas que esta arquitectura presenta son las siguientes:

Nivel de aplicación: este nivel es en el que se encuentra toda la interfaz del


sistema y es la que el usuario puede disponer para realizar su actividad con el
sistema.

Nivel de la base de datos: este nivel de la base de datos también llamado el


repositorio de datos, es la capa en donde se almacena toda la información
ingresada en el sistema y que se deposita en forma permanente.
8
Existen herramientas para el desarrollo en dos capas por ejemplo visual
Basic, access y sql.

Un ejemplo de esta configuración podría ser un applet Java que se carga


en el navegador del cliente y trabaja directamente con la base de datos mediante
JDBC.

Ventajas de este modelo:

 Se mantiene una conexión persistente con la base de datos.


 Se minimizan las peticiones en el servidor trasladándose la mayor parte del
trabajo al cliente.
 Se gana en rendimiento gracias a la conexión directa y permanente con la
base de datos. A través de una única conexión se realiza el envío y
recepción de varios datos.

Inconvenientes:

 La más importante desventaja, es que esta solución es muy dependiente


del tipo controlador JDBC que se utilice para acceder a la base de datos. El
acceso se realiza desde el cliente y esto significa que es él el que tiene que
tener instalado en su sistema los controladores necesarios para que se
produzca la comunicación con la base de datos.

ARQUITECTURA EN TRES CAPAS:

La arquitectura de 2 capas si bien ayuda en


unos años atrás, se vio la necesidad de crear
una nueva arquitectura ya que en dos capas
se tenía unos problemas en la capa de
aplicación ya que la principal desventaja de
esta era el peso que se tenía para el cliente.

9
Por estas razones existe una fuerte y bien avanzada tendencia a adoptar
una arquitectura de 3 capas, la cual incluye lo siguiente:

Nivel de aplicación. La diferencia de este nivel aplicado ahora en una


arquitectura en 3 capas es que solo tiene que trabajar con la semántica
propia de la aplicación sin tener que preocuparse de cómo esta
implementado este ni de su estructura física.
Nivel de dominio de la aplicación. Este nivel se encarga de toda la
estructura física y el dominio de aplicación, algo muy importante y que es la
mayor ventaja de esta arquitectura es que ahora únicamente se cambia la
regla en el servidor de aplicación y esta actuara en todos los clientes; esto
no sucede con la arquitectura en 2 capas, que si alguna regla se le cambia
se tiene que ir a cada cliente a realizar cambios.
Nivel de repositorio.es la capa donde se almacenan los datos y toda la
información que se ha procesado.

Las herramientas para el desarrollo de 3 capas son las siguientes:

1. SQL Server en lo que se refiere el repositorio de datos.

2. Visual Basic en los que se refiere a la capa de aplicación

3. MTS en lo que se refiere al nivel del dominio de aplicación.

Ventajas de este modelo:

 No existe ningún problema con respecto al tipo de controlador JDBC


utilizado para acceder a la base de datos. Todos los recursos necesarios
para establecer la conexión con la base de datos se encuentran en el
servidor y por tanto, el cliente no necesita instalar nada adicional en su
máquina para poder acceder a la base de datos.
 Esta arquitectura proporciona considerables mejoras desde el punto de
vista de la portabilidad de la aplicación, escalabilidad, robustez y
10
reutilización del código. Asimismo facilita las tareas de migración o cambios
en el sistema gestor de la base de datos.
 Desaparecen las restricciones debidas a las limitaciones de los applets
impuestas por el modelo de seguridad de Java.

Inconveniente:

 Esta solución es algo menos eficiente que la del modelo de dos capas, ya
que hemos añadido una capa intermedia más de software. (Mulato, 2013)

http://todosobreprogramacionclienteservidor.blogspot.mx/

ARQUITECTURA DE N CAPAS:

En una aplicación distribuida en n-capas los


diferentes procesos están distribuidos en
diferentes capas no sólo lógicas, sino también
físicas. los procesos se ejecutan en diferentes
equipos, que pueden incluso residir en
plataformas o sistemas operativos completamente
distintos. Cada equipo posee una configuración
distinta y está optimizado para realizar el papel
que le ha sido asignado dentro de la estructura de la aplicación, de modo que
tanto los recursos como la eficiencia global del sistema se optimicen.

Aplicación n capas.

El surgimiento de la tecnología de componentes distribuidos es la clave de las


arquitecturas de n-capas. Estos sistemas de computación utilizan un número
variable de componentes individuales que se comunican entre ellos utilizando
estándares predefinidos y frameworks de comunicación como:

 Corba: (common object request broker architecture) del object management


group (omg).
 dna: (distributed network applications) de Microsoft (incluye com/dcom y
com+ además de mts, msmq, etc.
 ejb : (enterprise java beans) de sun microsystems
 xml : (extensible markup language) del world wide web consortium (w3
 net: de Microsoft que incluye nuevos lenguajes como visual basic.net, c#.

11
(Munguìa, 2011)

http://odelgado330.blogspot.mx/2011/02/113-aplicaciones-de-2-3-y-n-capas.html

1.3 Usos y aplicaciones

Entre las principales utilidades que le podemos asignar a las aplicaciones


cliente/servidor destacan las siguientes:

 Ligereza impresionante, ya que toda la carga y consumo de recursos se


hace directamente en el servidor.
 Facilidad de mantenimiento, ya que se hace mantenimiento general en el
código principal en el servidor.
 Posibilidad de realizar trabajos dinámicos y en grupo.
 Servicio de trabajo incluso en zonas remotas, gracias a Internet.
 Posibilidad de ser desarrolladas en diversos lenguajes de programación.
 Capacidad de trabajar, por lo general, en diferentes plataformas de manera
simultánea.

12
Comunicación cliente/servidor

En la actualidad, la tendencia de desarrollo es hacia aplicaciones


cliente/servidor de bajo consumo y que ofrezcan la posibilidad de realizar el
trabajo rápidamente. Un ejemplo de este tipo de aplicaciones son los clientes de e-
mail, las aplicaciones en la nube y algunos sistemas de base de datos que
podemos encontrar en Internet. (Culturación)

http://culturacion.com/cual-es-la-utilidad-de-las-aplicaciones-clienteservidor/

La mayoría de los servicios de Internet son tipo de cliente-servidor. La


acción de visitar un sitio web requiere una arquitectura cliente-servidor, ya que el
servidor web sirve las páginas web al navegador (al cliente).
Un ejemplo podría ser el funcionamiento de un juego online. Si existen dos
servidores de juego, cuando un usuario lo descarga y lo instala en su computadora
pasa a ser un cliente. Si tres personas juegan en un solo computador existirían
dos servidores, un cliente y tres usuarios. Si cada usuario instala el juego en su
propio ordenador existirían dos servidores, tres clientes y tres usuarios.
(Wikipedia, 2013)
https://es.wikipedia.org/wiki/Cliente-servidor
¿CUÁNDO IMPLANTAR CLIENTE/SERVIDOR?

1. Cambios estructurales y organizativos.


2. Cambios en organigramas.
3. Respuesta dinámica de mercado.
4. Cambio en procesos de negocio.

¿QUÉ AYUDA A LA IMPLEMENTACIÓN?

1. La demanda de sistemas fáciles.


2. Precio/rendimiento de estaciones y servidores.
3. Creciente acceso a la información para decisiones:

13
 Separación datos-programas.
 Programas flexibles.
4. Nuevas tecnologías de alta productividad.

FUNCIONAMIENTO DEL SISTEMA CLIENTE / SERVIDOR

Un sistema cliente/servidor funciona tal como se detalla en el siguiente diagrama:

 El cliente envía una solicitud al servidor mediante su dirección IP y el


puerto, que está reservado para un servicio en particular que se ejecuta en
el servidor.

 El servidor recibe la solicitud y responde con la dirección IP del equipo


cliente y su puerto.

APLICACIONES SIMPLES

No requieren una gran Base de Datos compartida, pueden ser elaboradas


solamente en el Cliente.

APLICACIONES COMPLEJAS

Exigen dos capas, una para la aplicación del usuario (Cliente) y otra para la base
de datos (Servidor).

FUNCIONES DE LOS NIVELES EN LA ARQUITECTURA C/S

14
(Mendoza, 2010)

https://es.slideshare.net/NoeGonzalezMendoza/arquitectura-cliente-servidor

Ejemplos de aplicaciones C-S:

• Servicio de correo electrónico


• Servidores de impresión
• Servidores web
• Servidores de transferencia de archivos
• Servidor de aplicaciones
• Bases de datos distribuidas
• Sistemas de transacciones
• Variante del c-s:
• Peer to peer (P2P) (Producciones, 2016)

https://prezi.com/omx6lt7najqu/unidad-1-contexto-de-la-programacion-cliente-
servidor/

1.4 Comunicación entre programas

Los programas de comunicaciones son programas de ordenador, componentes


de sistemas operativos, e incluso firmware, encargados de realizar las diferentes
tareas a realizar para conectar dos o más ordenadores (velocidad
del modem, paridad, etc), o tareas de gestión de red u otras de niveles superiores.

15
Cada uno de estos programas realiza tareas adecuadas a su nivel de
abstracción en un protocolo de comunicaciones determinado. Cada uno de ellos
puede realizar tareas de bajo nivel de configuración del entorno físico de
comunicación, (ven los que darán todas las funcionalidades de la comunicación al
usuario, como navegadores web, programas de IRC, etc.) (Wikipedia, 2017)

https://es.wikipedia.org/wiki/Programa_de_comunicaciones

En el modelo c-s aunque una dirección IP o un nombre DNS permiten


identificar un nodo de manera inequívoca, falta identificar la aplicación concreta de
entre todas las que se está ejecutando dentro del nodo con la que queremos
comunicar.

TCP-IP proporciona un mecanismo un número entero (puerto) diferente a cada


aplicación que desee acceder a la red. Por lo tanto, la combinación dirección IP:
puerto o nombre DNS: puerto, será el que realmente identifique al nodo y servicio.

Otro esquema de comunicación entre aplicaciones: http. (Producciones, 2016)

El middleware es un módulo intermedio que actúa como conductor entre


sistemas permitiendo a cualquier usuario de sistemas de información comunicarse
con varias fuentes de información que se encuentran conectadas por una red. En
el caso que nos concierne, es el intermediario entre el cliente y el servidor y se
ejecuta en ambas partes.

Tipos de comunicación

• Síncrona

Quien envía permanece bloqueado esperando a que llegue una respuesta del
receptor antes de realizar cualquier otro ejercicio.

• Asíncrona

Quien envía continúa con su ejecución inmediatamente después de enviar el


mensaje al receptor.

• Persistente

El receptor no tiene que estar operativo al mismo tiempo que se realiza la


comunicación, el mensaje se almacena tanto tiempo como sea necesario para
poder ser entregado (Ej.: e-Mail).

16
• Momentánea (transient)

El mensaje se descarta si el receptor no está operativo al tiempo que se realiza la


comunicación. Por lo tanto no será entregado.

• Directa

Los primitivos enviar y recibir explicitan el nombre del proceso con el que se
comunican. Ejemplo: enviar (mensaje, A) envía un mensaje al proceso A .Es decir
se debe especificar cuál va a ser el proceso fuente y cuál va a ser el proceso
Destino.

Las operaciones básicas Send y Receive se definen de la siguiente manera:


Send (P, mensaje); envía un mensaje al proceso P (P es el proceso destino).
Receive (Q, mensaje); espera la recepción de un mensaje por parte del proceso Q
(Q es el proceso fuente).

Nota: Receive puede esperar de un proceso cualquiera, un mensaje, pero el Send


sí debe especificar a quién va dirigido y cuál es el mensaje.

• Indirecta

La comunicación Indirecta: Es aquella donde la comunicación está basada en una


herramienta o instrumento ya que el emisor y el receptor están a distancia.

• Simétrica

Todos los procesos pueden enviar o recibir. También llamada bidireccional para el
caso de dos procesos. Es una comunicación equilibrada donde tanto emisor como
receptor reciben la misma información.

• Asimétrica

Un proceso puede enviar, los demás procesos solo reciben. También llamada
unidireccional. Suele usarse para hospedar servidores en Internet.

• Uso de buffers automático

El transmisor se bloquea hasta que el receptor recibe el mensaje (capacidad cero).

1.5 Modelos de computación distribución


Es un modelo de programación enfocado a desarrollar sistemas distribuidos,
abiertos, escalables, transparentes y tolerantes a fallos. Casi cualquier lenguaje de
programación que tenga acceso al más bajo nivel del hardware del sistema puede

17
manejar la programación distribuida, teniendo en cuenta que hace falta una gran
cantidad de tiempo y código.

1.5.1 RMI
Es un mecanismo que permite realizar llamadas a métodos de objetos
remotos situados en distintas (o la misma) máquinas virtuales de Java,
compartiendo así recursos y carga de procesamiento a través de varios sistemas.

RMI es un paquete de JAVA que permite manejar objetos (y sus respectivos


metodos) de manera remota, para utilizar los recursos de un servidor de manera
transparente para el usuario local.

OBJETIVOS:
 Proporcionar invocación remota de objetos que se encuentran en
MVs diferentes.
 Soportar llamadas a los servidores desde las aplicaciones.
 Integrar el modelo de objetos distribuidos en el lenguaje Java de una
manera natural, conservando en medida de lo posible la semántica
de los objetos Java.
 Hacer tan simple como sea posible la escritura de aplicaciones
distribuidas.
 Preservar la seguridad proporcionada por el ambiente Java.
 Proporcionar varias semánticas para las referencias de los objetos
remotos (persistentes, no persistentes y de "activación retardada")
CARACTERÍSTICAS:
• Concurrencia
• Nombrado de objetos: Utiliza la notación URL. Por Ejemplo:
rmi://localhost:8080/miObjeto.
• Paso de parámetros: Primitivos, Serializados y Objetos remotos.
• Recolector de basura
• Facilidad de uso en la programación por estar específicamente diseñado
para JAVA
• Proporciona paso de objeto por referencia
• Paso de tipos arbitrarios

VENTAJAS:
• Permite distribuir una aplicación de forma muy transparente, es decir, sin
que el programador tenga que modificar apenas el código.
• Las invocaciones remotas son más eficientes que las peticiones vía http
que se usan con los CGIs o los Servlets.
DESVENTAJAS:

18
• El paso de parámetros por valor implica tiempo para hacer la Serialización,
enviar los objetos serializados a través de la red y luego volver a
recomponer los objetos en el destino.

ESTRUCTURA DE RMI

Arquitectura RMI

19
Capas del RMI
1. Capa de Aplicación
• Implementación real de las aplicaciones cliente y servidor.
• Llamadas a alto nivel para acceder y exportar objetos remotos.
• Se declaran métodos en una interfaz que herede de java.rmi.Remote.
• Una vez que los métodos han sido implementados, el objeto debe ser
exportado.
• De forma implícita: si el objeto hereda de la clase UnicastRemoteObject
(paquete java.rmi.server)
• De forma explícita: con una llamada al método exportObject () del mismo
paquete.
2. 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.
3. Capa de referencia remota
• 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.

4. Capa de Transporte
 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.

¿Cómo se produce la conectividad entre cliente y servidor?


􀂇 Se ocupa la herramienta de Java, java MRI Registry.

20
􀂇 Puede estar localizado en un lugar distinto al servidor, se encarga de registrar
un determinado objeto y asignarle un servidor que se encargara de procesar dicho
objeto.

Funcionamiento General
􀂇 Se ejecuta el RMI Registry en algún lugar de la red.
􀂇 El servidor que desea manejar un objeto se registra en dicho servidor
􀂇 El RMI Registry registra el par: OBJETO/SERVIDOR
􀂇 El cliente que necesita utilizar un determinado objeto, hace una consulta RMI
Registry, quien devuelve el STUB listo para la comunicación. (Slideshare, 2016)

La tecnología RMI (Remote Method Ivocation, Invocación Remota de


Métodos), permite hacer que un objeto que se está ejecutando en una máquina
virtual invoque métodos de otro objeto que se está ejecutando en otra máquina
virtual distinta, en la misma computadora o no.

A grandes rasgos, un programa que utiliza RMI para obtener un objeto


remoto e invocar sus métodos se ve así:

Componentes de una aplicación RMI

• Una aplicación RMI se compone de tres partes: clientes, servidor y los


objetos remotos.

• El servidor es el programa que instancia los objetos remotos y los hace


accesibles al cliente publicándolos en un repositorio de objetos: el
rmiregistry.

• El cliente es el programa que, luego de realizar una búsqueda en el


repositorio, obtiene una referencia al objeto remoto y le invoca sus
métodos.

• Los objetos remotos son los objetos publicados por el server a los que el
cliente podrá acceder remotamente.

RMI y Serialización de Objetos

21
• El server publica objetos remotos en la registry para que el cliente, luego de
ubicarlos, invoque sus métodos.

• Los métodos de los objetos remotos pueden recibir y retornar objetos


siempre y cuando estos sean instancias de clases seriabliables. Es decir,
objetos cuyas clases implementen la interface Serializable. También
podemos enviar y recibir valores de tipos de datos primitivos como int,
double, boolean, etc. (Gonzalez, 2016)

https://es.slideshare.net/geovannymendozag/rmi-58255967

1.5.2 COM/DCOM

El Component Object Model es una arquitectura de componentes de


software que permite que las aplicaciones y sistemas se construyan a partir de
componentes producidos por distintos proveedores de software.

Servidores COM.- Los objetos “servidores” son aquellas instancias de las clases
que contienen los métodos que resuelven el problema del que se ocupa el
sistema.

Cliente COM.- Los objetos “clientes” son aquellas instancias de las clases que
contengan la interfaz del sistema con el usuario, que implementan los textos de
ayuda del sistema, los cuadros de dialogo para introducir información al sistema o
bien para mostrar resultados.

COM está diseñado para permitir que los clientes se comuniquen con otros
objetos en forma transparente independientemente del lugar donde se están
ejecutando, ya sea en el mismo proceso, la misma computadora o una
computadora diferente.

COM provee acceso transparente a los servidores locales y remotos a


través de objetos proxy y Stub. (Anayeli, 2014)

http://cliente-servidor-anayeli.blogspot.mx/2014/11/comdcom-component-
object-model.html

Modelo de Objetos de Componentes Distribuidos .Es una tecnología


propietaria de Microsoft para desarrollar componentes software distribuidos sobre
varios ordenadores y que se comunican entre sí. Extiende el modelo COM de
Microsoft y proporciona el sustrato de comunicación entre la infraestructura del

22
servidor de aplicaciones COM+ de Microsoft. Ha sido abandonada en favor del
framework .NET.

La adición de la "D" a COM fue debido al uso extensivo de DCE/RPC(llamada


a procedimiento remoto ), o más específicamente la versión mejorada de
Microsoft, conocida como MSRPC. En términos de las extensiones que añade a
COM, DCOM tenía que resolver los problemas de:

• Aplanamiento - Serializar y deserializar los argumentos y valores de retorno


de las llamadas a los métodos "sobre el cable".
• Recolección de basura distribuida, asegurándose que las referencias
mantenidas por clientes de las interfaces sean liberadas cuando, por
ejemplo, el proceso cliente ha caído o la conexión de red se pierde.

En el contexto del Component Object Model (y


derivados) se refiere a la capacidad de poder crear componentes COM que
tengan la capacidad de ser usados sin necesidad de conocer los nombres y
parámetros de los métodos, de antemano. Esto sirve para que lenguajes
como Visual Basic o los de scripting (VBScript, JScript) puedan invocar
estos componentes mediante un valor numérico (algo así como "método
uno", "método dos", etc). Esto se logra mediante los archivos idl/odl y
la implementación de la interfaz IDispatch. Cuando un componente tiene un
subproceso de ejecución, se puede ejecutar el código fuente de un solo objeto a la
vez.

La característica de automatización del Modelo de objetos componentes


(Component Object Model, COM) controla esta situación mediante
la serialización de las peticiones. Es decir, las peticiones se sitúan en una cola y
se procesan una por una hasta terminar todas.

En un entorno operativo de subprocesamiento múltiple, la Serialización evita


que los objetos de un solo subproceso se superpongan a las peticiones de
clientes: es decir, que se ejecute el código de una propiedad o método mientras se
esté ejecutando una o varias peticiones de clientes.

ATL (Active Témplate Library)

El Active Témplate Library (ATL) es un conjunto de clases basadas en


plantillas de C ++ clases desarrolladas por Microsoft, destinado a simplificar la
programación del Modelo de objetos componentes (COM) de objetos.

23
Es un conjunto de clases de C++ basadas en plantillas que permiten crear
objetos pequeños, rápidos (COM) del modelo de objetos componentes. El apoyo
COM en Microsoft Visual C ++ permite a los desarrolladores crear una variedad de
objetos COM, OLE Automation servidores y ActiveX controles. ATL incluye un
asistente de objeto que establece la estructura primaria de los objetos muy
rápidamente con un mínimo de codificación manual.

En el lado del cliente COM ATL proporciona punteros inteligentes que tienen
que ver con el recuento de referencias COM.

Para soportar comunicación entre objetos en ordenadores distintos, en una


LAN, WAN, o incluso en Internet. Con DCOM una aplicación puede ser distribuida
en lugares que dan más sentido al cliente y a la aplicación.

DCOM es una evolución lógica de COM, se pueden utilizar los componentes


creados en aplicaciones basadas en COM, y trasladarlas a entornos distribuidos.
DCOM maneja detales muy bajos de protocolos de red, por lo que uno se puede
centrar en la realidad de los negocios: proporcionar soluciones a clientes. Es una
extensión de COM, y éste define como los componentes y sus clientes interactúan
entre sí. Esta interacción es definida de tal manera que el cliente y el componente
puede conectar sin la necesidad de un sistema intermedio. El cliente llama a los
métodos del componente sin tener que preocuparse de niveles más complejos.

En los actuales sistemas operativos, los procesos están separados unos de


otros. Un cliente que necesita comunicarse con un componente en otro proceso no
puede llamarlo directamente, y tendrá que utilizar alguna forma de comunicación
entre procesos que proporcione el sistema operativo.

COM proporciona este tipo de comunicación de una forma transparente:


intercepta las llamadas del cliente y las reenvía al componente que está en otro
proceso.

Independencia del lenguaje de programación

Como una extensión de COM, DCOM es completamente independiente del


lenguaje. Virtualmente cualquier lenguaje puede ser utilizado para crear
componentes COM, y estos componentes puede ser utilizado por muchos más
lenguajes y herramientas. Java, Microsoft Visual C++, Microsoft Visual Basic,
Delphi, PowerBuilder, y Micro Focus COBOL interactúan perfectamente con
DCOM.

24
Independencia del protocolo

DCOM puede utilizar cualquier protocolo de transporte, como TCP/IP, UDP,


IPX/SPX y NetBIOS. DCOM proporciona un marco de seguridad a todos estos
protocolos.

Los desarrolladores pueden simplemente utilizar las características


proporcionadas por DCOM y asegurar que sus aplicaciones son completamente
independientes del protocolo. (Ponce, 2014)

https://es.slideshare.net/VERONICAPONCE5/com-41837493

1.5.3 Servicios Web

Un servicio web es un proveedor de servicios de información a través de


una red de área local (LAN) o una red de área amplia (WAN) .Es esencialmente,
un servicio que proporciona información a través de internet, los web services
comprenden:

a. Protocolo de transferencia: el http es el más utilizado

b. Transformación del procesamiento: cambiar datos de un formato a otro

c. Protocolos de servicios web: permite la interpretación semántica de los


servicios web.

Si una aplicación puede ser accedida a través de una red usando una
combinación de protocolos como HTTP, XML, SMTP, JABBER (protocolo de
mensajería instantánea). Los web services no son cosa nueva. Representan la
evolución de los principios que han guiado a la internet por años.

Es una entidad accesible desde cualquier nodo de Internet, capaz de


reaccionar a peticiones del usuario, sin implicar ningún tipo de lenguaje de
programación, ningún tipo de transporte en concreto.

El consorcio W3C define los Servicios Web como sistemas software


diseñados para soportar una interacción interoperable maquina a maquina sobre
una red. Los Servicios Web suelen ser APIs Web que pueden ser accedidas
dentro de una red (principalmente Internet) y son ejecutados en el sistema que los
aloja. (Producciones, 2016)

Los servicios web son esenciales en las Infraestructuras de Datos


Espaciales (IDE) porque permiten a los usuarios el acceder a datos de manera

25
estándar mediante Sistemas de Información Geográfica y otras aplicaciones a
través de Internet. Debido a que este tipo de servicios sirven como protocolo entre
las aplicaciones cliente y nuestro servidor de mapas, no pueden ser utilizados
directamente en un navegador como Microsoft Internet Explorer, Mozilla Firefox o
Google Chrome. Además de HTML, el desarrollo de
nuevos lenguajes como XML ha hecho posible la utilización de estándares que
permiten que las aplicaciones descritas en distintos lenguajes de programación y
ejecutadas en distintas plataformas puedan interoperar entre ellas, es decir,
puedan intercambiar los datos. De esta forma, los distintos servicios que se
ofrecen en la Word Wide Web pueden combinarse para ejecutar operaciones
complejas.

LA INTEROPERABILIDAD PUEDE SER DE 3 TIPOS:

• Técnica: capacidad para que los sistemas de información intercambien


señales y se realiza tanto a través de una conexión física (cable, ondas, etc.),
como por medio de una serie de protocolos de comunicaciones (TCP/IP, etc).

• Sintáctica: capacidad para que un sistema pueda leer e interpretar los


datos de otros sistemas. Para ello se utilizan una serie de aplicaciones como
las Interfaz de programación de aplicaciones que permiten intercambiar y
analizar los datos.

• Semántica: capacidad de intercambiar el contenido de la información


basándose en el significado. Estos servicios proporcionan mecanismos de
comunicación estándares entre diferentes aplicaciones, que interactúan entre sí
para presentar información dinámica al usuario. Para proporcionar
interoperabilidad y extensibilidad entre estas aplicaciones, y que al mismo tiempo
sea posible su combinación para realizar operaciones complejas, es necesaria una
arquitectura de referencia estándar.

1.5.4 Otros
 XML.

Los servicios Web basados en XML, ofrecen una forma de acceder a diversos
servicios en un entorno distribuido. Recientemente, el mundo de la informática en
grid y los servicios Web caminan juntos para ofrecer el grid como un servicio Web.
La arquitectura está definida por la Open Grid Services Architecture (OGSA). La
versión 3.0 de Globus Toolkit, será una implementación de referencia acorde con
el estándar OGSA.

Características

26
 XML es un subconjunto de SGML que incorpora las tres características
más importantes de este:
o Extensibilidad
o Estructura
o Validación
 Basado en texto.
 Orientado a los contenidos no presentación.
 Las etiquetas se definen para crear los documentos, no tienen un
significado preestablecido.
 No es sustituto de HTML.
 No existe un visor genérico de XML.
Aplicaciones de XML

 Publicar e intercambiar contenidos de bases de datos.


 Formatos de mensaje para comunicación entre aplicaciones (B2B)
 Descripción de metacontenidos. (XML)
http://www.mundolinux.info/que-es-xml.htm

 Clustering.

Otro método para crear sistemas de supercomputadoras es el clustering.


Un cluster o racimo de computadoras consiste en un grupo de ordenadores de
bajo coste en relación al de una supercomputadora, conectados entre sí mediante
una red de alta velocidad (Gigabit de fibra óptica, Myrinet, etc.) y un software que
realiza la distribución de carga del trabajo entre los equipos. En un cluster, todos
los nodos (ordenadores) se encuentran en el mismo lugar geográfico, conectados
por una red local para englobar todos los recursos.

Este tipo de sistemas se basa en la unión de varios servidores que trabajan


como si de uno sólo se tratase. Los sistemas cluster han evolucionado mucho
desde su primera aparición, ahora se pueden crear distintos tipos de clusters, en
función de lo que se necesite:

1. Unión de Hardware
2. Clusters de Software

27
3. Alto rendimiento de bases de datos

Un cluster es un grupo de múltiples ordenadores unidos mediante una red de


alta velocidad, de tal forma que el conjunto es visto como un único ordenador, más
potente que los comunes de escritorio.
De un sistema de este tipo se espera que presente combinaciones de los
siguientes servicios:

1. Alto rendimiento
2. Alta disponibilidad
3. Equilibrio de carga
4. Escalabilidad

Para que un sistema cluster funcione no es necesario que todas las máquinas
dispongan del mismo Hardware y sistema operativo (cluster heterogéneo). Este
tipo de sistemas debe de disponer de un interfaz de manejo de clusters, la cual se
encargue de interactuar con el usuario y los procesos, repartiendo la carga entre
las diferentes máquinas del grupo.
¿Qué componentes necesita un cluster para funcionar?

Por norma general un cluster hace uso de diferentes componentes para funcionar,
entre estos están:

 Nodos (Ordenadores o servidores)


 Sistema operativo
 Conexión de Red (ampliado más abajo)
 Middleware (capa entre el usuario y el sistema operativo)
 Protocolos de comunicación y servicio
 Aplicaciones

Nodos:
Los nodos pueden ser ordenadores de escritorio o servidores, de hecho se puede
establecer un cluster con cualquier tipo de máquina.
Sistema operativo: Este debe de tener un entorno multiusuario, cuanto más fácil
sea el manejo del sistema menores problemas tendremos. Comúnmente Solingest
instala sus cluster con sistemas Microsoft Cluster Services (MSCS), pero es
totalmente factible la instalación de un Cluster con un sistema Linux o Unix como
podrían ser Rocks (Linux) o Solaris (Unix).
Conexiones de Red: Las conexiones utilizadas en este tipo de sistema pueden
ser muy variadas, se pueden utilizar desde simples conexiones Ethernet con

28
placas de red comunes o sistemas de alta velocidad como Fast Ethernet, Gigabit
Ethernet, Myrinet, Infiniband, SCI, etc.
Middleware:
El middleware es el software que actúa entre el sistema operativo y las
aplicaciones y que brinda al usuario la experiencia de estar utilizando una única
súper máquina. Este software provee una única interfaz de acceso al sistema,
denominada SSI (Single System Image). Optimiza el sistema y provee
herramientas de mantenimiento para procesos pesados como podrían ser
migraciones, balanceo de carga, tolerancia de fallos, etc.
Este sistema también se encarga de la escalabilidad del cluster, detectando
nuevas máquinas y añadiéndolas al grupo.
Por lo tanto, si un cliente quisiera disponer de un cluster para su servidor Web,
este podría optar entre diferentes opciones. No habría ningún problema en instalar
un cluster que tuviese un sistema MySQL y PHP repartido entre diferentes
máquinas. (Solingest, 2015)
http://www.solingest.com/blog/cluster-de-servidores-que-es-y-como-funciona
 Peer-to-peer.

En el modelo cliente-servidor hay una clara diferenciación. El servidor ofrece a


los clientes servicios y los clientes utilizan estos servicios. En sistemas P2P los
procesos que participan en la comunicación realizan los mimos papeles: de cliente
y de servidor.

Este sistema está más asociado a lo que es la informática distribuida, ya


que se olvida de la centralización y tiene un sistema más dinámico y
descentralizado. Una red informática entre iguales (en inglés, peer- To -peer -que
se traduciría de par a par- o de punto a punto, y más conocida como P2P) se
refiere a una red que no tiene clientes ni servidores fijos, sino una serie de nodos
que se comportan simultáneamente como clientes y como servidores respecto de
los demás nodos de la red. Es una forma legal de compartir archivos de forma
similar a como se hace en el email o mensajes.

Las redes de ordenadores Peer-Too-peer (o “P2P”) son redes que


aprovechan, administran y optimizan el uso de banda ancha que acumulan de los
demás usuarios en una red por medio de la conectividad entre los mismos
usuarios participantes de la red, obteniendo como resultado mucho más
rendimiento en las conexiones y transferencias que con algunos métodos
centralizados convencionales, donde una cantidad relativamente pequeña de
servidores provee el total de banda ancha y recursos compartidos para un servicio

29
o aplicación. Típicamente, estas redes se conectan en gran parte con otros nodos
vía “ad hoc”.

Características
 Escalabilidad: Las redes P2P tienen un alcance mundial con cientos de millones
de usuarios potenciales. En general, lo deseable es que cuantos más nodos estén
conectados a una red P2P mejor será su funcionamiento. Así, cuando los nodos
llegan y comparten sus propios recursos, los recursos totales del sistema
aumentan.
 Robustez: La naturaleza distribuida de las redes peer-Too-peer también
incrementa la robustez en caso de haber fallos en la réplica excesiva de los datos
hacia múltiples destinos.
 Descentralización: Estas redes por definición son descentralizadas y todos los
nodos son iguales. No existen nodos con funciones especiales, y por tanto ningún
nodo es imprescindible para el funcionamiento de la red.
 Anonimato: Es deseable que en estas redes quede anónimo el autor de un
contenido, el editor, el lector, el servidor que lo alberga y la petición para
encontrarlo siempre que así lo necesiten los usuarios. Muchas veces el derecho al
anonimato y los derechos de autor son incompatibles entre sí.
 Seguridad: Es una de las características deseables de las redes P2P menos
implementada. Los objetivos de un P2P seguro serían identificar y evitar los nodos
maliciosos, evitar el contenido infectado, evitar el espionaje de las comunicaciones
entre nodos, creación de grupos seguros de nodos dentro de la red, protección de
los recursos de la red (Quinodóz, 2013)
http://profecarolinaquinodoz.com/principal/?p=392
 Grid

La computación en grid o en malla es un nuevo paradigma de computación


distribuida en el cual todos los recursos de un número indeterminado
de computadoras son englobados para ser tratados como un
único superordenador de manera transparente. Las computadoras asociadas al
grid no están conectadas o enlazadas firmemente, es decir no tienen por qué estar
en el mismo lugar geográfico.

El grid ofrece una forma de resolver grandes problemas, como el


plegamiento de las proteínas y descubrimiento de medicamentos, construcción de
modelos financieros, simulación de terremotos, inundaciones y otras catástrofes
naturales, modelado del clima y el tiempo, etc.. (Aroquipa, 200)

http://bibing.us.es/proyectos/abreproy/11374/fichero/MEMORIA%252F02-
COMPUTACION_DISTRIBUIDA.pdf

30
CONCLUSIÓN

Como resultado de la investigación realizada se concluye que un


Arquitectura Modelo Cliente -Servidor nos permite interactuar con los
requerimientos del cliente siendo el Servidor el que nos brinda servicios entre las
que se encuentran impresión, acceso a base de datos y un sinfín de ellos. Por lo
que se define como un modelo que se acopla al servicio que se requiera con el
objetivo de aumentar el rendimiento. Por lo que se considera de gran utilidad
gracias a la ligereza que tiene al no ejecutar grandes recursos en el cliente sino
que todo lo realiza directamente en el servidor, facilitando la posibilidad de la
realización de trabajos dinámicos llevándolo a cabo en diferentes plataformas.

La comunicación entre el Cliente y el Servidor se maneja de manera que el


cliente es el que envía una petición o solicitud al Servidor mediante su dirección IP
y el puerto que está asignado para que el Servidor reciba y responda la petición.
Es imprescindible conocer los diferentes modelos de computación distribuida que
tienen un enfoque tolerante a fallos, entre los que se encuentran el RMI,
COM/DCOM, Servidor Web, etc.

31
BIBLIOGRAFÍA
Anayeli. (Noviembre de 2014). Programacion en ambiente cliente servidor. Obtenido de http://cliente-
servidor-anayeli.blogspot.mx/2014/11/comdcom-component-object-model.html

Aroquipa, E. T. (200). Sistema Distribuido. segunda.

Culturación. (s.f.). Obtenido de http://culturacion.com/cual-es-la-utilidad-de-las-aplicaciones-


clienteservidor/

Gonzalez, G. M. (15 de Febrero de 2016). Obtenido de https://es.slideshare.net/geovannymendozag/rmi-


58255967

Márquez Avendaño, B. M. ( 2004). UDLAP Bibliotecas. Obtenido de


http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/marquez_a_bm/capitulo5.pdf

Mendoza, N. G. (08 de Diciembre de 2010). Slideshare. Obtenido de


https://es.slideshare.net/NoeGonzalezMendoza/arquitectura-cliente-servidor

Mulato, D. (13 de Diciembre de 2013). Programación en ambiente Cliente/Servidor. Obtenido de


http://todosobreprogramacionclienteservidor.blogspot.mx/

Munguìa, O. D. (11 de Febrero de 2011). ###- -> T H E P A P O´S BLOG <- -###. Obtenido de
http://odelgado330.blogspot.mx/2011/02/113-aplicaciones-de-2-3-y-n-capas.html

Pérez, F. L. (14 de Julio de 2010). Obtenido de


https://riunet.upv.es/bitstream/handle/10251/13943/Documentacion.pdf?sequence=1

Ponce, V. (20 de Noviembre de 2014). Slideshare. Obtenido de


https://es.slideshare.net/VERONICAPONCE5/com-41837493

Producciones, p. (26 de Agosto de 2016). PREZI. Obtenido de https://prezi.com/omx6lt7najqu/unidad-1-


contexto-de-la-programacion-cliente-servidor/

Quinodóz, P. C. (01 de Octubre de 2013). Blog de Informática, Educación Tecnológica y TIC. Obtenido de
http://profecarolinaquinodoz.com/principal/?p=392

Slideshare. (31 de Marzo de 2016). Obtenido de https://es.slideshare.net/Tensor/rmi-60292840

Solingest. (2015). Obtenido de http://www.solingest.com/blog/cluster-de-servidores-que-es-y-como-


funciona

Wikipedia. (08 de Septiembre de 2013). Obtenido de https://es.wikipedia.org/wiki/Cliente-servidor

Wikipedia. (31 de Julio de 2017). Obtenido de https://es.wikipedia.org/wiki/Programa_de_comunicaciones

XML, M. (s.f.). Area de Programacion. Obtenido de http://www.mundolinux.info/que-es-xml.htm

32

También podría gustarte