Sie sind auf Seite 1von 13

INSTITUTO TECNOLGICO

SUPERIOR
DE CINTALAPA

INGENIERA EN INFORMTICA

MATERIA:
Programacin en ambiente cliente/servidor.

CATEDRTICO:

TEMA:
Contexto de la programacin cliente/ servidor.
SUBTEMAS
1.1. Arquitectura del modelo cliente/servidor.
1.2. Modelos de dos y tres capas.
1.3. Usos y aplicaciones.
1.4 Comunicacin entre programas.
1.5 Modelos de computacin distribuida.
1.5.1. RMI.
1.5.2. COM/DCOM.
1.5.3. Servicios Web.

ALUMNO:

CINTALAPA CHIS A 26/08/2017.


INTRODUCCION

El uso principal de la arquitectura cliente/servidor es crear una relacin entre


cliente y servidor es por ello debemos de tener claro que es un cliente y que es un
servidor. Pues bien un cliente normalmente puede ser un ordenador comn con
caractersticas mnimas este puede hacer peticiones por medio de una red a un
servidor. Mientras que un servidor son ordenadores muy potentes dedicados a
gestionar unidades de disco que tiene la orden de responder la peticin que hace
un cliente. Cabe destacar que un cliente no puede atender a otros clientes,
mientras que un servidor puede atender a todos los clientes que le pidan una
peticin.

La arquitectura cliente/servidor no es ms que una relacin entre procesos que


solicita (servicios) el cliente y procesos que responde el servidor. Esta
arquitectura implica el uso de aplicaciones distribuidas donde el trabajo se separa
segn sea las funciones.
Esta separacin se puede hacerse en tres niveles:

Lgica de presentacin.
Lgica de aplicacin(o negocios).
Lgica de datos.
Contexto de la programacin cliente/servidor

CLIENTE: Normalmente se trata de un pc que se comunica a travs de una


red, tanto con sus iguales como con otros clientes, as como con un gran
ordenador denominado servidor, cuya funcion principal es almacenar los
datos que necesitan utilizar muchos usuarios. El cliente solo tiene un
usuario, el servidor muchos.
SERVIDOR: Se aplica de forma genrica a equipos informticos que
suministran servicios de base de datos.

Con ms precisin se atribuye a procesos lgicos que aportan servicio a


formulaciones de solicitudes, tambin lgicas.

Arquitectura del modelo cliente/servidor.

CLIENTE/SERVIDOR es una arquitectura de red en la que cada ordenador


o proceso en la red es cliente o servidor. Normalmente, los servidores son
ordenadores potentes dedicados a gestionar unidades de disco (servidor de
cheros), impresoras (servidor de impresoras), trfico de red (servidor de
red), datos (servidor de bases de datos) o incluso aplicaciones (servidor de
aplicaciones), mientras que los clientes son mquinas menos potentes y
usan los recursos que ofrecen los servidores.

Esta arquitectura implica la existencia de una relacin entre procesos que


solicitan servicios (clientes) y procesos que responden a estos servicios
(servidores).Estos dos tipos de procesos pueden ejecutarse en el mismo
procesador o en distintos.

La arquitectura cliente/servidor implica la realizacin de aplicaciones


distribuidas.
La principal ventaja de esta arquitectura es que permite separar las
funciones segn su servicio, permitiendo situar cada funcin en la
plataforma ms adecuada para su ejecucin. Adems, tambin presenta las
siguientes ventajas:

Las redes de ordenadores permiten que mltiples procesadores


puedan ejecutar partes distribuidas de una misma aplicacin,
logrando concurrencia de procesos.

Existe la posibilidad de migrar aplicaciones de un procesador a otro


con modificaciones mnimas en los programas.

Se obtiene una escalabilidad de la aplicacin. Permite la ampliacin


horizontal o vertical de las aplicaciones. La escalabilidad horizontal
se refiere a la capacidad de aadir o suprimir estaciones de trabajo
que hagan uso de la aplicacin (clientes), sin que afecte
sustancialmente al rendimiento general. La escalabilidad vertical
permite la migracin hacia servidores de mayor o menor capacidad y
velocidad o de un tipo diferente.

Posibilita el acceso a los datos independientemente de donde se


encuentre el usuario.

Separacin de funciones

La arquitectura cliente/servidor nos permite la separacin de funciones en


tres niveles, tal como se muestra en la Figura 1.1:
Lgica de presentacin. La presentacin de los datos es una
funcin independiente del resto.
Lgica de negocio (o aplicacin). Los flujos de trabajo pueden cambiarse
segn las necesidades existentes de un procesador a otro.
Lgica de datos. La gestin de los datos debe ser independiente para
poder ser distribuida segn las necesidades de la empresa en cada
momento.
Si un sistema distribuido se disea correctamente, los tres niveles anteriores pueden
distribuirse y redistribuirse independientemente sin afectar al funcionamiento de la
aplicacin.
Modelos de distribucin en aplicaciones cliente/-Servidor.
Segn como se distribuyan las tres funciones bsicas de una aplicacin (presentacin,
negocio y datos) entre el cliente y el servidor, podemos contemplar tres modelos:
Presentacin distribuida, aplicacin distribuida y datos distribuidos.

Presentacin distribuida
El cliente slo mantiene la presentacin, el resto de la aplicacin se ejecuta remotamente
(Figura 1.2). La presentacin distribuida, en su forma ms simple, es una interfaz grfica
de usuario a la que se le pueden acoplar controles de validacin de datos, para evitar la
validacin de los mismos en el servidor.

Aplicacin distribuida
Es el modelo que proporciona mxima flexibilidad, puesto que permite tanto a servidor
como a cliente mantener la lgica de negocio realizando cada uno las funciones que le
sean ms propias, bien por organizacin, o bien por mejora en el rendimiento del sistema
(Figura 1.3).
Datos distribuidos
Los datos son los que se distribuyen, por lo que la lgica de datos es lo que queda
separado del resto de la aplicacin (Figura 1.4). Se puede dar de dos formas: ficheros
distribuidos o bases de datos distribuidas.

Descripcin de un sistema cliente/servidor.


Un sistema cliente/servidor suele presentar las siguientes caractersticas:

1. Una combinacin de la parte cliente (tambin llamada front-end) que interacta con el
usuario (hace de interfaz entre el usuario y el resto de la aplicacin) y la parte servidor (o
back-end) que interacta con los recursos compartidos (bases de datos, impresoras,
mdems).
2. La parte cliente y servidor tienen diferentes necesidades de recursos a la hora de
ejecutarse: velocidad de procesador, memoria, velocidad y capacidad de los discos duros,
dispositivos de entrada/salida, etc.

3. El entorno suele ser heterogneo y multivendedor. El hardware y sistema operativo del


cliente y el servidor suelen diferir. El cliente y el servidor se suelen comunicar a travs de
unas API2 y RPC3 conocidas (por ejemplo, ODBC4 para acceder a bases de datos).

4. Normalmente la parte cliente se implementa haciendo uso de una interfaz grfica de


usuario, que permite la introduccin de datos a travs de teclado, ratn, lpiz ptico, etc.

Modelo de dos y tres capas

La diferencia entre las aplicaciones de dos y tres niveles estriba en la forma de


distribucin de la aplicacin entre el cliente y el servidor.

Una arquitectura de dos niveles est basada en un sistema gestor de bases de datos
donde el cliente mantiene la lgica de la presentacin, negocio, y de acceso a los datos, y
el servidor nicamente gestiona los datos. Suelen ser aplicaciones cerradas que
supeditan la lgica de los procesos cliente al gestor de base de datos que se est usando.

En las arquitecturas de tres niveles, la lgica de presentacin, la lgica de negocio y la


lgica de datos estn separadas, de tal forma que mientras la lgica de presentacin se
ejecutar normalmente en la estacin cliente, la lgica de negocio y la de datos pueden
estar repartidas entre distintos procesadores.
El objetivo de aumentar el nmero de niveles en una aplicacin distribuida es lograr una
mayor independencia entre un nivel y otro, lo que facilita la portabilidad en entornos
heterogneos.

Usos y aplicaciones

Qu servidores son los ms utilizados? No significa que sean los mejores, solo
que por sus prestaciones, coste econmico, versatilidad y facilidad en su
configuracin los hacen ms significativos.

Servidor web

Es una aplicacin informtica del lado del servidor que realiza conexiones
bidireccionales y/o unidireccionales y sncronas o asncronas con el cliente
generando una respuesta en cualquier lenguaje o aplicacin del lado del cliente.

Servidor de aplicaciones.
Est relacionado con el concepto de sistemas distribuidos. Es aquel que permite
mejorar varios aspectos fundamentales en una aplicacin: alta disponibilidad,
escalabilidad y mantenimiento.

Servidores de Correo.
Permite la transferencia de mensajes y/o documentos desde un origen a un
destino pasando por los distintos servidores que se ponen en contacto.

Servidores de mensajera.
Son complemento de los servicios de internet .Este servicio permite el envi
instantneo de mensajes y/o archivos.

Servidores de bases de datos.


Se usa para compartir esa informacin con un conjunto de usuarios de una
manera segura y eficaz.
Comunicacin entre programas.
La programacin de sockets proporciona un mecanismo de muy bajo nivel para la
comunicacin e intercambio de datos entre dos ordenadores, uno considerando
como CLIENTE, que es el que inicia la conexin con el otro, SERVIDOR, que est
a la espera de conexiones.

Un objeto socket es la representacin de una conexin TCP. Un protocolo de


comunicacin entre ambos determinara lo que suceda tras el establecimiento de la
conexin para que las dos mquinas puedan entenderse, ambas deben
implementar un protocolo conocido por la dos. En la programacin de socket, la
comunicacin es full-dplex, en ambos sentidos a las vez, entre cliente y servidor;

Modelos de computacin distribuida.

Por razones de seguridad e interoperabilidad, la computacin distribuida ha sido


principalmente implementada a nivel organizacional. Una organizacin tiene varios
servidores y reparte su carga computacional entre ellos. Debido a que dichos
servidores estn todos dentro de la misma organizacin, pueden aplicarse
estndares locales y procesos operacionales. Aunque, para los sistemas basados
en web, las computadoras cliente estn a menudo fuera de los lmites de la
organizacin, su funcionalidad est limitada a la ejecucin de software de interfaz
de usuario.

Sin embargo, actualmente estn disponibles modelos ms recientes de


computacin distribuida que permiten computacin distribuida interorganizacional
en lugar de intraorganizacional. Comentamos dos de estas aproximaciones en
esta seccin. La computacin peer-topeer se basa en clculos que se llevan a
cabo en nodos individuales de la red. Los sistemas orientados a servicios estn
relacionados con los servicios distribuidos en lugar de con objetos distribuidos, y
tambin se relacionan con estndares basados en XML para intercambio de datos.

Arquitecturas peer-to-peer
Los sistemas peer-to-peer (p2p) son sistemas descentralizados en los que
los clculos pueden llevarse a cabo en cualquier nodo de la red y, al menos
en principio, no se hacen distinciones entre clientes y servidores. En las
aplicaciones peer-to-peer, el sistema en su totalidad se disea para
aprovechar la ventaja de la potencia computacional y disponibilidad de
almacenamiento a travs de una red de computadoras potencialmente
enorme. Los estndares y protocolos que posibilitan las comunicaciones a
travs de los nodos estn embebidos en la propia aplicacin, y cada nodo
debe ejecutar una copia de dicha aplicacin.

En el momento de escribir este libro, las tecnologas peer-to-peer han sido


mayormente usadas para sistemas personales (Oram, 2001). Por ejemplo,
los sistemas de comparticin de ficheros basados en los protocolos Gnutella
y Kazaa se usan para compartir ficheros sobre PCs de usuario, y sistemas
de mensajera instantnea tales como 1CQ y Jabber proporcionan
comunicaciones directas entre usuarios sin un servidor intermedio.
SETI@home es un proyecto a largo plazo para procesar datos de
radiotelescopios sobre PCs desde casa para buscar indicios de vida
extraterrestre, y Freenet es una base de datos descentralizada que ha sido
diseada para hacer ms fcil la publicacin de informacin de forma
annima y hacer que sea ms difcil para las autoridades suprimir esta
informacin.

Arquitectura de sistemas orientados a servicios.

El desarrollo de la WWW trajo consigo que las computadoras cliente tuviesen


acceso a los servidores remotos situados fuera de sus propias organizaciones. Si
estas organizaciones convertan su informacin a formato HTML, entonces sta
poda ser accedida por estas computadoras. Sin embargo, el acceso se realizaba
solamente a travs de un navegador web. y el acceso directo a los almacenes de
informacin por otros programas no era prctico. Esto implicaba que las
conexiones oportunistas entre servidores en donde, por ejemplo, un programa
solicitaba informacin a varios catlogos, no eran posibles.

Para solucionar este problema, se propuso la nocin de un servicio web. Mediante


el uso de un servicio web, las organizaciones que quieren hacer accesible la
informacin a otros programas, pueden hacerlo definiendo y publicando una
Interfaz de servicio web. Esta interfaz define los datos disponibles y cmo se
puede acceder a ellos. De forma ms general, un servicio web es una
representacin estndar para cualquier recurso computacional o de informacin
que pueda ser usado por otros programas. Por lo tanto, se podra definir un
servicio de recaudacin de impuestos en el que los usuarios podran rellenar sus
formularios de impuestos y estos ser automticamente comprobados y enviados a
las autoridades de hacienda. Un servicio web es una instancia de una nocin ms
general de un servicio, la cual se define en (Lovelock et al.. 1996) como:

Un acto o realizacin ofertada p o r una de las partes a otra. Si bien el proceso


puede estar asociado a un producto fsico, la realizacin es esencialmente
intangible, y no se convierte normalmente en propietaria de cualquiera de los
factores de la produccin.

RMI(Remote method invocation).


La invocacin de mtodos remotos permite que un objeto que se ejecuta bajo el
control de una mquina virtual pueda invocar mtodos de un objeto que se
encuentra en ejecucin bajo el control de otra mquina virtual diferente. Estas dos
mquinas virtuales pueden estar ejecutndose como dos procesos independientes
en el mismo ordenador o, lo que es ms interesante, estar lanzadas en
ordenadores distintos conectados a travs de una red TCP/ip. Es decir que como
internet es en ultimo termino una red TCP/ip, lo anterior se puede traducir en que
una mquina, cliente en cualquier rincn del mundo es capaz de invocar mtodos
de un objeto que se encuentra en ejecucin sobre un servidor en cualquier rincn
del mundo. La potencia que esta afirmacin puede tener seguro el lector, que
sobrepasa con creces su imaginacin.
COM/DCOM.

Es una tecnologa de bajo nivel que permite interactuar a componentes.OLE,Actix


y MTS son por el contrario servicios de aplicacin de alto nivel basadas en
com.OLE proporciona servicios de documentos.Active x aade capacidades para
usar com en sitios web.MTS extiende com con servicios empresariales como
trabsacciones y seguridad.

COM: Es una especificacin binaria donde objeto expone los servicios que
ofrece atreves de un objeto de interfaces. Estas interfaces son la nica
forma de trabajar con objeto com.

La estructura binaria de un objeto COM es la base de interoperabilidad


con otros objetos COM escritos en el mismo o diferente lenguaje de
programacin.

DCOM: Permite que aplicaciones desarrolladas en distintos lenguajes y


situadas en distintas maquinas puedan compartir objetos, es decir, con com
podremos desde una aplicacin acceder a mtodos y propiedades de
objetos de otras aplicaciones.

Servicios Web.

Existen mltiples definiciones de que son los servicios web, pero en todos los
casos, el concepto inherente es el de funcionalidades que se <<encapsulan>>
Y se publican, para ser accedidas por otras aplicaciones, mediante una serie de
protocolos basados en XML.

La idea que existe detrs de los servicios web no es nuevas: desarrollar


componentes para crear sistemas distribuidos , primando la interoperabilidad
entre diferentes arquitecturas y lenguajes de programacin. La principal novedad
que proporcionan los servicios web es que esto lo hagan mediante un modelo
de comunicacin a travs de internet y utilizando fundamentalmente lenguajes
definidos con el meta-lenguajes XML.

Una de las caractersticas ms significativas de un servicio web es que en


realidad no es ms que un servicio o componente en un lenguaje tradicional
(servlet java, EJB o una clase c++), que inicialmente solo pudieran accederse de
forma <<nativa>> (con los mecanismo proporcionados por el lenguaje de
programacin empleado).
BIBLIOGRAFIAS

Cliente/ servidor y objetos gua de supervivencia tercera edicin


escrito por Robert orfali, dan harkey, jeri Edwards editorial OXFORD
UNIVERSITY PRESS,2002, pag 220 a 230.

Programacin en internet: clientes web escrito por Sergio Lujn Mora


editorial Club universitario, 2001, capitulo 1 Arquitecturas cliente/
servidor pag 1 a 6.

Implantacin de aplicaciones web en entornos internet, intranet y


extranet MF0493-3 escrito por jose talledo san maguel editorial
paraninfo, 2015, pag 51 a 63.

Ingeniera del software. Sptima edicin por ian sommerville editorial


Pearson educacin,s.a, Madrid,2005, pag 256 a 258.
Java Tm 2 manual de usuario y tutorial 5a edicin escrito por agustin
froufe quintas editorial alfaomega grupo editor,s.a de c.v mexico,2008,
capitulo 20: RMI Pag 617.

Sistemas interativos y colaborativos en la web/ coordinadores,


Crescencio bravo santos,miguel angel redondo duque-cuenca:
ediciones de la universidad de castilla- la macha, 2005, pag 179.

CONCLUSIN
La arquitectura de cliente/ servidor es una parte muy esencial en los servicios que,
se suele brindar a un cliente podemos decir que sin esta arquitectura un cliente no
tendra la ayuda para hacer el proceso de peticin (servicio) a un servidor.
Causando as un descontrol para muchos procesos tanto para el cliente como
para el servidor.
Es por ello que la arquitectura cliente/servidor es una parte crucial para los
equipos informticos.
Hoy en da esta arquitectura facilita muchos procesos para ambos equipos. Como
por ejemplo:
Facilita la separacin de funciones segn sea su servicio, permitiendo una
liberacin de memoria que tendran que usar el servidor para dicho
proceso y repartindola con el cliente segn sea el proceso a realizar.

Das könnte Ihnen auch gefallen