lunes, 16 de julio de 2012

preguntas cliente servidor
                                    Introduccion

La arquitectura Cliente-Servidor parece ser muy simple en los ejemplos: cree una conexión, cree una vista remota hacia los datos, y estará en el negocio, correcto? . En esta sesión, Ted se introducirá en la potencia detrás del GUI, con la revisión de los comandos y funciones necesarias para crear un sistema Cliente-Servidor real. SQL Pass-throuhg, control manual de transacciones, manipulación de propiedades en conexiones, vistas y cursores, procesamiento en lote, precompilación y muchos otros temas que necesitará para la lucha con un sistema real a ser considerado.
BIENVENIDO A LA TECNOLOGIA DE COMPUTO CLIENTE/SERVIDOR
En ocasiones las personas relacionadas con la industria de la computación tienen algo que decir de la relación cliente servidor. En este capítulo obtendrá una perspectiva más definitiva de lo que esto significa, primero veremos las fuerzas del mercado entre Internet y ERP en la actualidad la industria de la tecnología cliente/servidor.
La era de la tecnología de computación Cliente/Servidor
La tecnología de computación cliente/servidor es un movimiento arrollador que está remodelando la forma que se utiliza las computadoras. Internet es como un tsunami, está introduciendo un nuevo tipo de tecnología de computación cliente/servidor intergaláctica es una revolución dentro de otra.
Cuál es la verdadera visión de la tecnología Cliente/Servidor
La tecnología de la computo cliente/servidor suministra un ambiente abierto y flexible en donde la "mezcla y acoplamiento" es la norma. Las aplicaciones cliente se ejecutaran de manera predominante en la PC y otras máquinas de escritorio que se sentirán como en casa al estar conectadas a redes de área local y redes de área amplia. Igual se sentirán los servidores exitosos en la red, sabrán con toda exactitud cómo comunicarse con sus PC clientes.
Tecnología cliente/Servidor y los "nuevos servicios de información".
El desarrollo cliente/servidor requiere de habilidades a las que se cuentan procesamientos de transacciones, diseños de bases de datos, experiencia en comunicaciones, diseños de interfaces graficas de usuario y pericia en internet.
La tecnología de computo cliente/servidor podría estar mejor si los servicios de información estuviesen organizados en dos capas, una para que administren y distribuyan sistemas departamentales y otra para que administren la red global, las aplicaciones intra e interempresariales y para que configuren la interoperabilidad y estándares de la infraestructura de componentes.
Competencia en el mercado de la tecnología cliente/servidor
El entorno cliente/servidor abierto sirve como catalizador para que halla una "producción de materia prima" en hardware y software .La PC es un buen ejemplo de materia prima puede obtenerse de diversos proveedores y se venden en condiciones de mercado caracterizadas por un precio bien competitivo.
Internet e Intranets
La World Wide Web está redefiniendo la tecnología de computo cliente/servidor está haciendo que las redes locales departamentales y las redes corporativas de área amplia muten en redes tipo internet, las cuales son desde el punto de vista técnico, intranets ya que se ocultan detrás del firewall. Estas intranets están derribando las barreras tradicionales entre la arquitectura de cómputo cliente/servidor de escala departamental y la de magnitud empresarial.
Ahora tenemos tejidos de servidores interconectados a escala intergaláctica, las redes locales y de área amplia corporativas están convirtiéndose en parte de internet y viceversa.
Una extranet crea un túnel de seguridad entre dos empresas a través de la internet público se utiliza para que empleados lejanos se conecten a la red corporativa mediante la red, la tecnología que crea tales túneles de seguridad recibe el nombre de red virtual privada.

CONTENIDO

Como lo indica su nombre clientes y servidores son entidades lógicas autónomas que trabajan juntas en una red para cumplir una tarea.
Características:

Recursos Compartidos: Un servidor puede servir a varios clientes al mismo tiempo y regular su acceso a recurso compartidos.
Protocolos Asimétricos: Existe una relación de muchos a uno entre varios cliente y un servidor, los clientes solicita un servicio, los servidores que lleguen las solicitudes de los clientes.
Transparencia de Ubicación: El software cliente/servidor oculta a los clientes la ubicación del servidor redireccionando las solicitudes de servicio, un programa puede ser cliente, servidor o las dos cosas a la vez.
Mezclar y Acoplar: el software cliente/servidor es independientes de plataformas de equipos o de sistemas operativos debe ser posible "mezclar y acoplar" plataformas de clientes y servidores.
Intercambios basados en mensajes: clientes y servidores son sistemas acoplados sin grandes restricciones, con un mecanismo de intercambio de mensajes de entrega para las solicitudes y respuestas de servicio.
Encapsulado de servicios: A través de un mensaje se le indica cual es el servicio que se solicita y luego depende de él la forma que se satisface la solicitud.
Escalabilidad: El sistema puede escalar horizontal o verticalmente, el escalamiento horizontal implica que al agregar i quitar estaciones de trabajo clientes produce un pequeño efecto en el desempeño, el escalamiento vertical significa migrar a una maquina más grande y rápida.
Integridad: El código y la información del servidor se administran de manera central que da como resultado un mantenimiento más barato y el resguardo de la integridad de la información compartida.

Servidores de archivos

Con el servidor de archivo, el cliente, casi siempre una computadora personal pasa por la red solicitudes de registros de archivos al servidor. Los servidores de archivos son útiles para compartir archivos a lo largo de la red.

Servidores de Bases de Datos

El cliente pasa como mensajes solicitudes escritas en SQL al servidor de bases de datos, el resultado de cada comando SQL se devuelve por la red, el código que procesa la solicitud de SQL reside en la misma máquina, lo mismo que la información. El servidor emplea su propio poder de procesamiento para encontrar los datos pedidos en vez de entregar todos los registros al cliente y luego deja que este encuentre lo que busca como en el caso del servidor de archivos.

Servidores de transacciones

Con un servidor el cliente llama mediante un motor de bases de datos de SQL que residen en el servidor, estos procedimientos remotos en el servidor ejecutan un conjunto de instrucciones de SQL.
Con un servidor de transacciones usted crea la aplicación cliente/servidor escribiendo el código tanto del componente cliente como el del servidor, el componente cliente suele presentar un interfaz gráfica de usuario; el servidor consta casi siempre de transacciones de SQL hechas contra una base de datos.

Servidores de Groupware

El groupware se encarga de la administración de información semiestructurada, como texto, imágenes, correo electrónico. Estos sistemas cliente/servidor ponen a las personas en contacto directo con otras personas, Notes de Lotus, Exchange de Microsoft son los principales ejemplos de este tipo de sistemas aunque otra cantidad de aplicaciones de varios vendedores y de flujo de trabajo.

Servidores de aplicaciones de objetos

Los objetos clientes se comunican con objetos servidor mediante el intermediario de solicitud de objetos, u ORB (object request broker), el cliente invoca un método sobre un objeto remoto; El ORB localiza una instancia de esa clase de objetos en el servidor de objeto, llama al método invocado y entrega el resultado al objeto del cliente. Los servidores de objetos deben dar soporte para permitir que exista concurrencia y uso compartido. El ORB y las nuevas generaciones de aplicaciones CORBA hacen todo esto, también denominados monitores de transacción de objetos, proveen servicios de coordinación de componentes del lado del servidor.

Servidores de aplicaciones de Web

La World Wide Web es la primera aplicación cliente/servidor intergaláctico, este nuevo modelo de arquitectura consta de clientes delgados, portátiles y universales que se comunican con servidores superobesos.
Un servidor web entrega documentos cuando los cliente se los pide por nombres, y se ponen en contacto a través de un protocolo semejante a una RPC denominado HTTP que es un protocolo que define un conjunto de comandos.
El modelo cliente/servidor esta en evolución, la web y los objetos distribuidos están empezando a reunirse para brindar un tipo de computación cliente/servidor sumamente interactivo, los servidores de aplicaciones web son un nuevo tipo de software para internet el cual amplia a los servidores normales de HTTP con estructuras de componentes del lado del servidor.

Servidores obesos o clientes obesos

El modelo de servidor obeso coloca más funciones en el servidor, el modelo de cliente obeso lo hace a la inversa, los clientes obesos son el tipo más tradicional de la tecnologi9a cliente/servidor la mayor parte de las aplicaciones se ejecutan en el lado del cliente de la ecuación. En los modelos de servidores de bases de datos y archivos saben cómo está organizada y almacenada la información en el lado del servidor.
Los clientes obesos se usan para el soporte de decisiones y el software personal, proporcionan flexibilidad y oportunidades para crear herramientas frontales que permiten a los usuarios finales crear sus propias aplicaciones.
Comparación entre los modelos de dos y tres capas
Las interfaces de usuarios la regla de negocios y la información almacenada compartida son las unidades funcionales más comunes. En los sistemas de cliente/servidor de dos capas, la lógica está dentro de la interfaz de usuario del cliente o dentro de la base de datos del servidor, los servidores de bases de datos y archivos con procedimientos almacenados son ejemplos de las dos capas, en los sistemas de tres capas la lógica de la aplicación reside en la capa intermedia y está separada de la información y de la interfaz de usuario.

Tres capas al rescate

La arquitectura de tres capas es la nueva área de crecimiento de la computación cliente/servidor por que satisface la necesidades de las aplicaciones de la misma. Los sistemas cliente/servidor de tres capas son escalables, robustos y flexibles. Además puede integrar datos provenientes de varias fuentes, es más fácil administrar y distribuir aplicaciones de tres capas en la red. Las aplicaciones de tres capas reducen los intercambios de red al crear planos de servicios abstractos.
El modelo de tres capas se convierten algunas solicitudes del servidor en muchas consulta y actualizaciones hechas con SQL por lo que se obtiene un desempeño mucho mejor que en el de las dos capas.

Cuando las tres capas son N capas

En las aplicaciones de tres capas la intermedia no está implementada como un programa monolítico, esta como un conjunto de componentes que se utilizan en una gran variedad de transacciones de negocios que empiezan en el cliente. Los clientes combinan varios componentes de la capa de en medio en una sola transacción de negocios.

¿Que es un circuito virtual?

Los circuitos virtuales son similares al sistema telefónico: se establecen cuando deben comunicarse dos nod
os y desaparecer una vez que no se los necesita.

¿ que cantidad de ancho de banda podemos esperar?

La cantidad de ancho de banda que usted obtiene depende, en general de que el lado firewall se encuentre. Muchos usuarios corporativos ya están en el paraíso del ancho de banda al menos cuando estén en sus LAN.

¿Estado de redes de área amplia?

El desempeño de las WAN esta determinado principalmente por dos factores: 1. Los conmutadores que enrrutan la información a través de las redes, y 2. El tipo y la calidad de la infraestructura del cable del área que cubre la red.

¿Estado de la interconexión LAN a WAN?

Las LAN actualmente se conectan con las WAN mediante enrutadores. El enrutador se enlaza a una WAN privada o publica a través de líneas dedicadas. en realidad la tecnología de conmutación es de revelo de tramas en sus conexiones LAN o WAN.

¿Que es un revelo de tramas?

Es la tecnología de conmutación de paquetes más popular para las redes de área amplia. Esta tecnología apareció por primera vez en 1992 como una implementación imperfeccionada de x.25, una tecnología de conmutación de paquetes anterior. El revelo de tramas puede enrrutar paquetes de longitud variable a velocidades de megabit sobre el enrutador.

¿Que es SMDS?

SMDS se diseño originalmente para cubrir el hueco de los servidores de alta velocidad para redes de área amplia hasta que ATM tuvo una amplia difusión. Soportar paquetes de longitud variable que puede dividirse en células de tamaño ATM fijo para facilitar la migración.

¿Que es ATM?

Es un protocolo de conmutación de paquetes que alcanza velocidades muy altas gracias a que emplea celdas de información de longitud.

Servidores básicos

A partir de la descripción precedente; ahora debe ser obvio que el programa servidor tiene un alto grado de concurrencia. en teoría se asigna una tarea independiente a cada uno de los clientes a los que por diseño, el servidor debe soportar de manera concurrente.

Servidores extendidos

Proporcionan el software del sistema avanzado que explota el potencial distribuido de las redes, además el acceso flexible a información compartida a la vez que facilitan la administración y el mantenimiento del sistema. También hacen que sea más fácil para los vendedores de software independientes.

Anatomía del cliente grupo 101

Las aplicaciones cliente servidor se centran en el cliente. Este proporciona el aspecto y sensación de los servidores que presta el sistema. Todas las aplicaciones cliente tienen esto en común solicitan los servicios de un servidor.
Sitios de despacho Un sitio es un ensamble visual de componentes correlacionados. Un sitio de despacho es un contenedor móvil de componentes; es un lugar que puede enviarse por la red. Por tanto un sitio es un minimundo virtual que los servidores pueden despachar a sus clientes. Es una interfaz de despacho para servidores de internet especializado en todo tipo así como de objetos de servidor.

Híbridos cliente servidor

Otro aspecto por considerar es que la industria esta yendo más allá del modelo cliente servidor Los clientes de base de datos mantienen instantánea más tablas de forma local.

Ventajas

Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado. Cualquier elemento puede ser aumentado (o mejorado) en cualquier momento, o se pueden añadir nuevos nodos a la red (clientes y/o servidores).
Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades entre varios ordenadores independientes, es posible reemplazar, reparar, actualizar, o incluso trasladar un servidor, mientras que sus clientes no se verán afectados por ese cambio (o se afectarán mínimamente). Esta independencia de los cambios también se conoce como encapsulación.
Existen tecnologías, suficientemente desarrolladas, diseñadas para el paradigma de C/S que aseguran la seguridad en las transacciones, la amigabilidad de la interfaz, y la facilidad de empleo.
Conclusión
Visual FoxPro provee excelentes herramientas para obtener un control completo de Cliente-Servidor, tanto en variedad gráfica, como a través de la línea de comando. La tecnología Cliente-Servidor es apropiada para tamaños de datos extremadamente grandes, para situaciones de seguridad de alto riesgo, y para ambientes con comunicaciones con bajo ancho de banda desde el cliente al servidor. Además de que el Diseñador de Vistas y el Diseñador de Conexiones pueden permitir un completo diseñado gráficamente, Visual FoxPro también provee las herramientas y funciones para mezclar diseños programáticos y gráficos (o hasta basados en metatablas). Esta combinación hace fácil de aprender combinando el poder en la implementación.