Subido por Beatriz C.Flores

1.1. cliente servidor ejemplo y 1.2. modelos de dos y tres capas ejemplo

Anuncio
Nombre: Campos Flores Beatriz
Materia: Programación en ambiente cliente/servido
1.1.
Grupo 6751
Cliente servidor
¿Qué es cliente servido?
La expresión cliente servidor se utiliza en el ámbito de la informática. En dicho
contexto, se llama cliente al dispositivo que requiere ciertos servicios a un servidor.
La idea de servidor, por su parte, alude al equipo que brinda servicios a las
computadoras (ordenadores) que se hallan conectadas con él mediante una red.
El concepto de cliente servidor, o cliente-servidor, refiere por lo tanto a un modelo
de comunicación que vincula a varios dispositivos informáticos a través de una red.
El cliente, en este marco, realiza peticiones de servicios al servidor, que se encarga
de satisfacer dichos requerimientos.
Con esta arquitectura, las tareas se distribuyen entre los servidores (que proveen
los servicios) y los clientes (que demandan dichos servicios). Dicho de otro modo:
el cliente le pide un recurso al servidor, que brinda una respuesta.
Este tipo de modelos permite repartir de la capacidad de procesamiento.
El servidor puede ejecutarse sobre más de un equipo y ser más de un programa.
De acuerdo a los servicios que brinda, se lo puede llamar servidor web, servidor de
correo o de otro modo.
En las redes estructuradas bajo el modelo cliente servidor, los clientes centralizan
diferentes aplicaciones y recursos en el servidor. El servidor, a su vez, se encarga
de que estos recursos estén disponibles cada vez que un cliente los requiere.
Es importante mencionar que gran parte de los servicios de Internet obedecen a la
arquitectura cliente servidor. El servidor web pone a disposición del cliente los sitios
web, a los cuales el cliente accede a través de su navegador. El servidor, de esta
manera, aloja los datos que el cliente solicita mediante el navegador instalado en
su computadora.
Uno de los ejemplos más “antiguos” en este contexto es el correo electrónico, que
demuestra a cada segundo de su funcionamiento los principios del modelo cliente
servidor. En este caso, el cliente envía y recibe mensajes que “viajan” a través de
redes de comunicación, y éstos se alojan en “buzones” cuyo nombre técnico
es servidores de correo.
Nombre: Campos Flores Beatriz
Materia: Programación en ambiente cliente/servido
Grupo 6751
A diferencia de lo que ocurre fuera de la informática, en el ámbito del correo
tradicional, el usuario no abre un buzón material para mirar dentro de él si hay cartas
o paquetes, sino que debe solicitar a un servidor (normalmente remoto) que
verifique la presencia de nuevos mensajes y le envíe una respuesta con el resultado.
Cada acción se apoya en esta relación, de manera que el equipo del cliente no es
autosuficiente.
Entre las disposiciones más comunes del modelo cliente servidor se encuentran
los sistemas multicapa, según los cuales el servidor ofrece la ejecución de varios
programas para que varios ordenadores puedan solicitarlos según sus necesidades,
de manera que el nivel de distribución aumenta.
Una de las ventajas menos aparentes de la organización en servidores y clientes es
que la capacidad de procesamiento y memoria de estos últimos no debe ser tan
grande como la de los primeros, lo cual beneficia al consumidor final permitiéndole
usar un equipo relativamente antiguo para disfrutar de servicios generalmente muy
avanzados.
Por ejemplo, a pesar de que el correo electrónico parezca una “aplicación” muy
liviana y sencilla, los servidores deben almacenar volúmenes colosales de datos
para satisfacer a todos sus clientes, y, por consiguiente, realizar búsquedas y
consultas muy demandantes para responder a todas sus solicitudes. Cuando
buscamos un término en nuestra casilla para dar con un mensaje en particular, el
servidor debe revisar cientos o miles de archivos, y lo hace en una fracción de
segundo, algo que sería imposible en nuestros hogares.
Los sistemas de streaming de videojuegos para usarlos a distancia son otro
ejemplo, en este caso mucho más exigente que el correo electrónico, ya que el
cliente puede disfrutar de un programa de última generación en tiempo real con un
ordenador que simplemente le permita recibir el vídeo de forma fluida y enviar
los eventos de su mando, teclado y ratón.
Ejemplo de cliente servidor
Una aplicación de fraces
Nombre: Campos Flores Beatriz
Materia: Programación en ambiente cliente/servido
Grupo 6751
Donde en cliente ingresa una flace y la sube se guarde en un servidor
que se utiliza androi studio y mysql, el servidor.
Nombre: Campos Flores Beatriz
Materia: Programación en ambiente cliente/servido
1.2.
Grupo 6751
Modelos de dos y tres capas
Definición
Arquitecturas C/S de dos capas



El cliente se comunica directamente con un servidor de bases de datos
La aplicación o lógica de negocio bien reside en el cliente, o en el servidor de
base de datos en la forma de procedimientos almacenados
Un primer modelo C/S de dos capas comenzó a emerger con las aplicaciones
desarrolladas para redes LAN a finales de los 80 y principios de los 90
• Estas aplicaciones se basaban en técnicas sencillas de compartición
de archivos, implementadas mediante lenguajes del tipo Xbase
(Xbase se refiere genéricamente a los lenguajes derivados a partir del
lenguaje de dBase: dBase, FoxPro, Clipper, Paradox, etc.)
ARQUITECTURA CLIENTE/SERVIDOR (DOS CAPAS)
La arquitectura tradicional de cliente/servidor también es conocida como
arquitectura de dos capas. Requiere una interfaz de usuario que se instala y se
ejecuta en una PC o estación de trabajo y envía solicitudes a un servidor para
ejecutar operaciones complejas.
Por ejemplo, una estación de trabajo utilizada como cliente puede ejecutar una
aplicación de interfaz de usuario que interroga a un servidor central de ases de
datos.
Ventajas del Sistema de Dos Capas:
Nombre: Campos Flores Beatriz
Materia: Programación en ambiente cliente/servido
Grupo 6751
El desarrollo de aplicaciones en un ambiente de dos capas funciona
adecuadamente, pero no es necesariamente lo más eficiente. Las herramientas
para el desarrollo con dos capas son robustas y amplia mente evaluadas.
Las técnicas de ingeniería de software de prototipo se emplean fácilmente. Las
soluciones de dos capas trabajan en en ambientes no dinámicos, pero no se
ejecutan bien en organizaciones rápidamente cambiantes.
Desventajas del sistema de dos capas:
Los ambientes de dos capas requieren control excesivo de las versiones y
demandan esfuerzo de distribución de la aplicación cuando se les hacen camios.
Esto se ve al hecho de que la mayoría de la aplicación lógica existe en la estación
de trabajo del cliente.
La seguridad del sistema en un diseño de dos capas es compleja y a menudo
requiere administración de las bases de datos; esto es debido al número de
dispositivos con acceso directo al ambiente de esas bases de datos.
Las herramientas del cliente y de la base de datos, utilizadas en diseños de dos
capas, constantemente están cambiando. La dependencia a largo plazo de
cualquier herramienta, puede complicar el escalamiento futuro o las
implementaciones.
Nombre: Campos Flores Beatriz
Materia: Programación en ambiente cliente/servido
Grupo 6751
Arquitecturas C/S de tres capas



Una generación más novel de la arquitectura C/S añade una capa intermedia
(middle tier)
En la arquitectura de tres capas (en general, en la arquitectura multicapa) el
cliente implementa la lógica de presentación (cliente “fino”), el servidor(es)
de aplicación implementan la lógica de negocio y los datos residen en uno (o
varios) servidor(es) de bases de datos
Una arquitectura multicapa se define por tanto por las siguientes tres capas
de componentes:
• Un componente front-end que es el responsable de proporcionar la
lógica de presentación
• Un componente back-end que proporciona acceso a servicios
dedicados, tales como un servidor de bases de datos
• Un componente que hace las funciones de capa intermediaria (middletier) que permite a los usuarios compartir y controlar la lógica de
negocio mediante su aislamiento de la aplicación real
Aplicaciones de 2,3 y n capas.
Es la aplicación donde la interfaz, la lógica del negocio, el acceso a los datos y los
datos se encuentran separados.
Nombre: Campos Flores Beatriz
Materia: Programación en ambiente cliente/servido
Grupo 6751
El modelo n−tier (n−capas) de informática distribuida ha emergido como la
arquitectura predominante para la construcción de aplicaciones multiplataforma en
la mayor parte de las empresas.
 1.Codificar al mismo tiempo
Este cambio radical en los modelos de computación, desde los sistemas
monolíticos basados en mainframe y los tradicionales sistemas cliente−servidor,
hacia sistemas distribuidos multiplataforma altamente modulables, representa
simplemente la punta del iceberg de lo que está por llegar en el mundo del
desarrollo de aplicaciones, tal y como se pone de manifiesto en las últimas
tendencias de las grandes empresas de tecnología, como Sun con su estrategia
Sun Tone, o Microsoft con DotNET (.Net).
Ventajas del modelo






Desarrollos paralelos (varios programadores en cada capa)
Aplicaciones más robustas debido al encapsulamiento
Mantenimiento y soporte más sencillo (es más sencillo cambiar un
componente que modificar una aplicación monolítica)
Mayor flexibilidad (se pueden añadir nuevos módulos para dotar al sistema
de nueva funcionalidad)
Alta escalabilidad. La principal ventaja de una aplicación distribuida bien
diseñada es su buen escalado, es decir, que puede manejar muchas
peticiones con el mismo rendimiento simplemente añadiendo más
hardware. El crecimiento es casi lineal y no es necesario añadir más código
para conseguir esta escalabilidad.
Arquitectura lógica “clásica” Presentación Lógica de negocio (Que es lo que
hace el sistema) Datos Fuentes de datos
La división de aplicaciones en capas, normalmente está compuesta por tres
capas:



Capa de presentación
Capa de negocio
Capa de datos
Nombre: Campos Flores Beatriz
Materia: Programación en ambiente cliente/servido
Grupo 6751
Capa de presentación: Presenta el sistema al usuario, comunica la información y
captura la información del usuario en un mínimo proceso. Esta capa se comunica
únicamente con la capa de negocio.
Capa de negocio: Es donde residen los programas que se ejecutan, se reciben
peticiones del usuario y se envían las respuestas tras el proceso, es aquí donde
se establecen todas las reglas que deben cumplirse, se comunica con la capa de
presentación, para recibir solicitudes y presentar los resultados, y con la capa de
datos, para solicitar al gestor de base de datos almacenar o recuperar datos.
Capa de datos: Es donde residen los datos y es la encargada de acceder a los
mismos. Está formada por uno o más gestores de bases de datos que realizan
todo el almacenamiento de datos, reciben solicitudes de almacenamiento o
recuperación de información desde la capa de negocio.
EJEMPLO:
En cualquier red de supermercado, se encuentra conectada en capas, ya que
podríamos decir que de una manera pragmática, las cajas de todos los
departamentos están conectadas con una interfaz que actuaría como la Capa de
Presentación, en esta estaría un cajero realizando las operaciones que estuvieran
programadas dentro de sus funciones el ambiente gráfico de la computadora, en
este caso sería cobrar los productos, hacer devoluciones, cancelaciones, cobros
con tarjetas de crédito, etc. Por otra parte existiría una Capa de Negocio, esta
indicaría de qué manera se ejecutaran las funciones propias de la computadora,
en este caso se contaría con un servidor que soportara todas las plataformas
donde reside el ambiente gráfico, de manera ordenada, para corroborar la
secuencia de la orden o petición, esta capa actuaría realizando la petición-servicio,
que sería la conexión final. Y por último la Capa de Datos en este caso de igual
manera se contaría con un servidor con la información de los productos, así como
de los usuarios de cualquier terminal o de cualquier rango. De esta forma
podemos darnos cuenta del uso que podemos darle a las aplicaciones por capas
que ya son parte de los sistemas orientados a objetos de la actualidad.
APLICACIONES DE 2 CAPAS.
Nombre: Campos Flores Beatriz
Materia: Programación en ambiente cliente/servido
Grupo 6751
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.
Aplicación de dos capas.
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.
Existen herramientas para el desarrollo en dos capas por ejemplo visual basic,
access y sql.
APLICACIONES DE TRES CAPAS
La arquitectura de dos capas si bien ayudó en unos años atrás, se vio la
necesidad de crear una nueva arquitectura ya que en dos capas se tenía algunos
problemas en la capa de aplicación ya que la principal desventaja de esta era el
peso que tenia para el cliente, como se mencionó anteriormente.
Aplicación de tres capas.
Nombre: Campos Flores Beatriz
Materia: Programación en ambiente cliente/servido
Grupo 6751
Por estas razones, existe una fuerte y bien avanzada tendencia a adoptar una
arquitectura de tres capas.
y es así que se creó la arquitectura de tres capas las cuales son:
• Nivel de aplicación
la diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que
solo tiene que trabajar con la semántica propia de 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.
En cambio 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 actuará en todos
los clientes, cosa que ni sucedía con la arquitectura en dos capas que si alguna
regla se la cambia, se tenía que ir a cada cliente a realizar el cambio.
• Nivel de repositorio.
Sigue siendo la capa en donde se almacenan los datos y toda la información.
Las herramientas para el desarrollo de tres capas son:
• visual basic en lo que se refiere a la capa de aplicación
• sql server en lo que se refiere al repositorio de datos.
• mts en lo que se refiere al nivel del dominio de aplicación
APLICACIONES 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.
Nombre: Campos Flores Beatriz
Materia: Programación en ambiente cliente/servido
Grupo 6751
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#.
Descargar