Cliente/Servidor - UPV/EHU

Transcription

Cliente/Servidor?El cómputo por Internet no sustituye, deningún modo, a la tecnología de computaciónde cliente/servidor. ¿por qué? PorqueInternet ya usa esta tecnología.Cliente/Servidor(Director de Euclid Associates)12ÍndiceBibliografía? 1. Antecedentes? 2. Nociones generales de la arq. C/S? 3. Características de los sistemas C/S? 4. Estructura de una aplicación y su relación con C/S? 5. Diseño de aplicaciones C/S? 6. Ventajas y Desventajas de C/S? 7. Componentes de la arquitectura C/S? 8. Middleware? 9. Arquitectura de 3 niveles? 10. Evolución de C/S. P2P? R. Orfali, D.Harkey, J. EdwardsCliente/Servidor y objetos : Guía de Supervivencia3. Edición McGraw -Hill Interamericana México D.F.2002? G. Hamilton, R. Catell, M. FisherJDBC Database Access with Java. A tutorial andAnnotated ReferenceAddison Wesley 19973Arquitectura Cliente/Servidor.Antecedentes4Arquitectura Cliente/Servidor.Antecedentes? Se constata la necesidad que tienen las organizaciones (empresas oinstituciones públicas o privadas), de realizar sus operaciones m áseficientemente, debido a la creciente presión competitiva a la que estánsometidas, lo cual se traduce en la necesidad de que su personal sea masproductivo, que se reduzcan los costos y gastos de operación, al mismotiempo que se generan productos y servicios más rápidamente y con mejorcalidad.? El modelo Cliente/Servidor reúne las características necesariaspara proveer esta infraestructura, independientemente deltamaño y complejidad de las operaciones de las organizacionespúblicas o privadas y, consecuentemente desempeña un papelimportante en este proceso de evolución.? En este contexto, es necesario establecer una infraestructura deprocesamiento de información, que cuente con los elementos requeridospara proveer información adecuada, exacta y oportuna en la toma dedecisiones y para proporcionar un mejor servicio a los clientes yciudadanos.561

Arquitectura Cliente/Servidor.Antecedentes2. Arquitectura C/SLa arquitectura Cliente/Servidor es el resultado de la integración de dos culturas. Porun lado, la del Mainframe que aporta capacidad de almacenamiento, integridad yacceso a la informaci ón y, por el otro, la del computador que aporta facilidad de uso(cultura de PC), bajo costo, presentaci ón atractiva (aspecto lúdico) y una ampliaoferta en productos y aplicaciones.Conceptualmente son parte de la noción desistemas abiertos.Conectar una variedad de ordenadores con diferenteshardware y software para trabajar coordinadamente conel fin de lograr los objetivos del usuario.El objetivo de los sistemas abiertos consiste enlograr la interoperabilidad.Estado que caracteriza a múltiples sistemasheterogéneos que se comunican y contribuyen a laterminación de una tarea común.782. Arquitectura Cliente/Servidorniveles)2. Filosofía Cliente/Servidor(2Desde un punto de vista conceptual:?«Es un modelo para construir sistemas de información, que sesustenta en la idea de repartir el tratamiento de la informaci ón ylos datos por todo el sistema informático, permitiendo mejorar elrendimiento del sistema global de informaci ón». Provee una claraseparación de funciones con base en la idea de servicio .? Cliente (frontend): consumidor deservicios.? Servidor (backend): proveedor deservicios92. Arquitectura Cliente/Servidor102. ¿Qué es Cliente/Servidor?En términos de arquitectura:Cada usuario tiene la libertad de obtener lainformación que requiera en un momento dadoproveniente de una o varias fuentes locales odistantes y de procesarla como según leconvenga. Los distintos servidores tambiénpueden intercambiar información dentro de estaarquitectura.11Es la integración distribuida de un sistema en red, con losrecursos, medios y aplicaciones que definidos modularmente enlos servidores, administran, ejecutan y atienden las solicitudes delos clientes; todos interrelacionados física y l ógicamente,compartiendo datos, procesos e informaci ón; estableciendo asíun enlace de comunicaci ón transparente entre los elementos queconforman la estructura.122

2. ¿Qué es Cliente/Servidor?2. ¿Qué es C/S: requisitos b ásicos? IBM define al modelo Cliente/Servidor? «Es la tecnología que proporciona al usuario final elacceso transparente a las aplicaciones, datos, serviciosde cómputo o cualquier otro recurso del grupo de trabajoy/o, a través de la organización, en múltiplesplataformas. El modelo soporta un medio ambientedistribuido en el cual los requerimientos de serviciohechos por estaciones de trabajo inteligentes o"clientes'', resultan en un trabajo realizado por otroscomputadores llamados servidores".?Cliente y servidor pueden estar en dosordenadores distintos?Cliente y servidor no son aplicacionescompletas ? se complementan?Cada subsistema de la aplicación en elsitio más adecuado?Varios clientes ? replicado del servidor13142. Arquitectura C/S2. Arquitectura C/S?La potencia descansa en el concepto deDivisión de Funciones.? La arquitectura Cliente/Servidor requiere una determinada especializaciónde cada uno de los diferentes componentes que la integran.Cliente. Ofrece un GUI y ejecuta programas deinterés para el usuario.Servidor. Gestiona el acceso a los datos yrealiza funciones de control y seguridad.?Podemos tener lo mejor de ambos mundos. Fuerza quese cumpla el principio de Modularidad.15163. Características de los sistemasCliente/Servidor3. Características de los sistemasCliente/Servidor?El servidor presenta a todos sus clientes unainterfaz única y bien definida.?El cliente no necesita conocer la lógica delservidor, sólo su interfaz externa.?El cliente no depende de la ubicación física delservidor, ni del tipo de equipo físico en el que seencuentra, ni de su sistema operativo.?Los cambios en el servidor implican pocos oningún cambio en el cliente.17?Servicio: se trata principalmente de unarelación entre procesos en máquinas diferentes.El proceso servidor proporciona servicios. Elcliente consume servicios. Este mecanismoproporciona una separación clara de funcionesbasada en la idea de servicio?Recursos Compartidos. Un servidor puedeatender a muchos clientes al mismo tiempo yregular sus accesos a los recursos compartidos183

3. Características de los sistemasCliente/Servidor3. Características de los sistemasCliente/Servidor? Protocolos Asimétricos: Hay una relación 1 a n entreel servidor y los clientes. Los clientes siempre inician eldiálogo pidiendo servicios. Los servidores esperanpasivamente las peticiones de los clientes.?Independencia: El software cliente/servidorideal es independiente del hardware y delsistema operativo.? Transparencia de la Localización: El servidor es unproceso que puede residir en la misma m áquina que losclientes o en una m áquina diferente en una red. Elsoftware Cliente/Servidor oculta la localización delservidor a los clientes, redirigiendo las llamadas a losservicios cuando sea necesario.?Intercambios basados en Mensajes: Losclientes y servidores interactúan utilizando unmecanismo de paso de mensajes. El mensajees el soporte para las peticiones de servicios ylas respuestas193. Características de los sistemasCliente/Servidor203. Características de los sistemasCliente/Servidor? Encapsulación de Servicios: El servidor es unespecialista. Un mensaje le dice al servidor que serviciose solicita; es tarea del servidor determinar comorealizar el trabajo. Los servidores se pueden actualizarsin afectar a los clientes siempre y cuando no semodifique su interfaz.?Integridad: El código y los datos del servidor semantienen centralizados, con lo que es menoscostoso su mantenimiento y controlar laintegridad de los datos compartidos.? Escalabilidad: Los sistemas cliente/servidor se puedenescalar horizontal y verticalmente. Horizontalmentesignifica añadir o eliminar clientes. Verticalmentesignifica migrar a m áquinas servidoras m ás potentes omultiservidores .21224. La Estructura de una Aplicación y suRelación con Cliente/Servidor4. La Estructura de una Aplicación y suRelación con Cliente/Servidor? Toda aplicación de software tiene tres funcionesfundamentales: administración de los datos, lógica de laaplicación (procesos) y lógica de la presentación(interfaz de usuario).23Existe un conjunto de variantes de la arquitectura Cliente/Servidor,dependiendo d ónde se ejecutan las diversas funciones de unaaplicaci ón (qué asume el cliente y qué el servidor)? Presentación Distribuida. En este modelo, se distribuye lapresentaci ón entre el cliente y el servidor, pero éste último ejecutatodos los procesos y almacena la totalidad de los datos.? Presentación Remota. Aquí, la interfaz del usuario est ácompletamente en el cliente, la presentación soporta la captura dedatos, incluyendo una validaci ón parcial de los mismos y unapresentaci ón de las consultas. La l ógica de la aplicación y los datosestá en el servidor.244

4. La Estructura de una Aplicación y suRelación con Cliente/Servidor4. La Estructura de una Aplicación y suRelación con Cliente/Servidor. Modelos Básicos? Proceso Distribuido. Se da cuando la presentaciónestá en el cliente, la base de datos está en el servidor yla lógica de la aplicación está distribuida entre el clientey el servidor.? Gestión de Datos Remota. Para este modelo, tanto lapresentación como los procesos de la aplicación residenen el cliente, mientras que las bases de datospermanecen centralizadas en el servidor.? Bases de Datos Distribuidas. Este último modelo, lapresentación, los procesos de la aplicación y parte delos datos de la Base de Datos están en el cliente; elresto de los datos están en el servidor.? Servidores amplios, cuando la parte preponderante de laaplicaci ón está en el servidor (presentaci ón distribuida). En estemodelo, el cliente aporta la interfaz gráfica de usuario e interactúacon el servidor a través de llamadas a procedimientos remotos(RPC).? Clientes grandes, cuando la mayor parte de la aplicación corre enel cliente (gestión de datos remota y bases de datos distribuidas);aquí se aprovecha la potencia de procesamiento del cliente y seminimiza el costo del procesamiento en el servidor. Este modelo seemplea en software de apoyo de decisiones y personal . Losservidores de bases de datos y archivos son ejemplos de clientesgrandes.254. La Estructura de una Aplicación y suRelación con Cliente/Servidor. Arquitecturas26Arquitecturas Cliente/Servidor?Arquitectura de dos niveles.? La l ógica de la aplicación está integrada ya sea a la interfaz delusuario en el cliente o a la base de datos en el servidor (o aambas); ejemplo: servidores de archivos y de bases de datos.?Arquitectura de tres niveles.? El proceso de la aplicación ocupa el plano intermedio; est áseparada tanto de los datos como de la presentación. Losprocesos se pueden administrar y desplegar en formaautónoma, sin relaci ón con la interfaz gráfica del usuario y labase de datos.Cliente(primera capa), servidor de aplicaciones(segunda capa) yservidor de bases de datos (tercera capa).27285. Diseño Etapas5. DISEÑO?No se cuentan con metodologías claras para eldiseño?Las metodologías tradicionales de desarrollo desistemas de información se quedan cortas (ej.Modelo E/R, orientado a objetos)29?5.1 Planificación y Análisis de Sistemas?5.2 Costos?5.3 DISEÑO?5.4 Desarrollo?5.5 Aplicaciones de Prueba?5.6 Entrega del sistema305

5.1 Planificación y Análisis de Sistemas5.1 Planificación y Análisis de Sistemas?En esta etapa se debe:? Hay que realizar un análisis completo sobre la problemáticaexistente en la organizaci ón:? Necesidades de la empresa y volúmenes de la información quemaneja? Restricciones de accesos a la información real para los usuariosde los distintos niveles empresariales? Aplicaciones críticas para la empresa? Frecuencia de transacciones diarias? Identificar las funciones del hardware? Dificultades en la comunicaci ón y manejo de documentos entregrupos de trabajo? Visi ón del crecimiento (usuarios, aplicaciones)? Sistemas de red actual y sus alternativas de crecimiento.?Definir los objetivos y las metas?Indicar el personal que esté involucrado en elproyecto?Especificar la justificación de migración hacia elnuevo sistema?Presentar los beneficios que se pretenderobtener315.2 Costos325.3 DISEÑO?Se recomienda centrarse primero en laestructura lógica del sistema antes deinvolucrarse en los detalles físicos. Sedeben seguir los siguientes pasos:?El estudio debe reflejar cual sería el impactopara la empresa, el migrar hacia el nuevosistema en términos de corto, medio y largoplazo.¿Cuándo se recuperará la inversión de lasadquisiciones?Costos cuantitativos, cualitativos y periodos detiempo.?Asignar los requerimientos funcionales entreclientes y servidores.?Distribuir los recursos entre los servidores33345.3 DISEÑO. Distribuir los recursosentre los servidores5. Reglas heurísticas para el diseño de?Aspecto lógico?Disponer del mayor procesamiento posible en elcliente?Administrar todos los recursos compartidos en elservidor?Minimizar los datos transferidos entre clientes yservidores?Evitar la centralización de serviciosaplicaciones Cliente/Servidor?Seleccionar arquitectura de 2 o 3 niveles?Mencionar el tipo y las caracter ísticas del software quese piensa adquirir para incorporarlo con el ya existente?Aspecto técnico?Caracter ísticas de los componentes?Topología de la redPara el diseño de aplicaciones C/S se proponen unosheurísticos?.35366

5.4 Desarrollo5.5 Aplicaciones de Prueba?Principales elementos a verificar:?Interfaz gráfica de usuario?Ayuda de contexto y otra documentación en línea?Manejo de errores?Integración?Impacto al entorno de operació n?Flujo de información?Ejecución?Administración y operación?Seguridad?Se efectuarán las gestiones respectivas ala adquisición de los componentes físicosy/o software que se requieran?Realizar la instalación e interconexiónreal, integrando y distribuyendofísicamente todos los recursos dentro dela red.375.6 Entrega del sistema386. Ventajas del modelo C/S?Mejora el servicio prestado a los clientes?Descarga de trabajo a los mainframes ?Aumenta la productividad?Mejora la compartición e integridad de los datos.Disminuye costes de operación?Reduce el tráfico en la red?Reduce el tiempo de desarrollo: reutilización,portabilidad, modularidad.?“NO es necesaria” la etapa de formación39Ventajas para las organizaciones40Ventajas para las organizaciones? Se reducen los costos de producción de software y se disminuyen lostiempos requeridos. Esto es así, pues, para la construcción de una nuevaaplicación pueden usarse los servidores que est én disponibles,reduciéndose el desarrollo a la elaboración de los procesos del cliente,según los requerimientos deseados. Lo anterior disminuye los costosinternos del área de sistemas. Adem ás, se pueden obtener ventajasimportantes al reducir el costo del hardware requerido, llevando lasaplicaciones a plataformas más baratas, aprovechando el poder decómputo de los diferentes elementos de la red, y facilitando la interacciónentre las distintas aplicaciones de la organización.? Facilita el suministro de información a los usuarios . Esto es as í, porquepor un lado proporciona una mayor consistencia a la información de laorganización, al contar con un control centralizado de los elementoscompartidos, y por otro, porque facilita la construcción de interfacesgráficas interactivas, las cuales pueden hacer que los "datos" seconviertan en "información".? Permite llevar m ás f ácilmente la información a donde se necesita,contribuye a aumentar su precisión pues se puede obtener de la fuente(el servidor) y no de una copia en papel o en medio magnético.? El esquema Cliente/Servidor también contribuye a una disminución de loscostos de formación de personal, pues favorecen la construcción deinterfaces gráficas interactivas, las cuales son m ás intuitivas y f áciles deusar por el usuario final.? La habilidad de integrar sistemas heterogéneos es inherente al modeloCliente/Servidor, pues los clientes y los servidores pueden existir enmúltiples plataformas y tener acceso a datos de cualquier sitio de lared. Un cliente puede integrar datos de diferentes sitios parapresentarlos, a su manera, al usuario final.41427

Ventajas para las OrganizacionesVentajas para las Organizaciones? Al favorecer la construcción de interfaces gráficas interactivas y el accesotransparente a diferentes nodos de la red, se facilita el uso de lasaplicaciones por parte de los usuarios, lo cual aumenta su productividad.? Hace algunos años cuando una organización decidía comprar un equipo,no podía evitar quedar casada con la compañía vendedora, pues ésta erala única que podía prestar servicios de mantenimiento y actualización.Dado que los equipos de diferentes vendedores no tenían nada en com ún,cualquier desarrollo posterior a la primera compra implicaba com pras almismo vendedor, por factores de compatibilidad. Por esta razón se reduc íala competencia, pues las grandes compañías acaparaban el mercado y losclientes o ciudadanos no podían cambiar de proveedor.Con este panorama surgió la idea de la implantación de estándares, porqueellos posibilitan el intercambio de información de manera coherente entreproductos de diferentes vendedores. Esto permite a nuevos proveedores laoportunidad de entrar al mercado y a los clientes, la oportunidad decambiar de proveedor.? Favorece la adaptación a cambios en la tecnología, pues facilita lamigración de las aplicaciones a otras plataformas y, al aislar clarament e lasdiferentes funciones de una aplicación, hace más f ácil incorporar nuevastecnologías en ésta.? Hoy en día tienen mucha importancia los conceptos de sistemas abiertos einteroperabilidad, los cuales est án íntimamente ligados con el concepto deCliente/Servidor.436. Desventajas del modeloCliente/Servidor447. Componentes de la arquitecturaCliente/Servidor?Complejidad?Falta de estándares. Necesidad de trabajar condiferentes productos?Uso intensivo de los recursos en la parte cliente?Acceso distribuido?Congestión de la red?Difícil asegurar un grado elevado de seguridad?Cliente?Servidor?Middleware. Infraestructura decomunicaciones457. Componentes467. Clientes? Entidad por medio de la cual un usuario solicita un servicio , realizauna petición o demanda el uso de recursos. Este elemento seencarga, b ásicamente, de la presentaci ón de los datos y/oinformación al usuario en un ambiente gráfico.? Soportan el código de aplicaci ón no relacionado directamente conlos datos. El código se genera utilizando herramientas de desarrollode aplicaciones. Implementan los di álogos interactivos con losusuarios, los tratamientos de los mensajes y la presentaci ón deresultados.? Es el que inicia un requerimiento de servicio. El requerimiento inicialpuede convertirse en múltiples requerimientos de trabajo a travésde redes LAN o WAN. La ubicaci ón de los datos o de lasaplicaciones es totalmente transparente para el cliente.47488

7. Funciones del cliente7. Servidores?Administrar la interfaz de usuario?Aceptar datos usuario.?Procesar la lógica de la aplicación?Generar las solicitudes para la BD?Transmitir las solicitudes de la BD al servidor?Recibir los resultados del servidor.?Dar formato a los resultados.?Captura y validación de los datos de entrada? El servidor es la entidad física que provee un servicio ydevuelve resultados ; ejecuta el procesamiento de datos,aplicaciones y manejo de la información o recursos.? Aseguran el almacenamiento, distribución, gestión de ladisponibilidad y de la seguridad de los datos. Permiten elacceso a los datos.? El proceso del servidor es reactivo, es decir, realiza unafunción posterior a una petición o la ejecución de unatransacción requerida por el cliente, o bien por otroservidor.49507. Funciones del servidor (SQL)7. Diferentes tipos de servidores? Aceptar las solicitudes sobre la BD de los clientes.? Procesar las solicitudes sobre la BD? Dar formato a los resultados y transmitirlos al cliente.? Llevar a cabo la verificación de integridad.? Mantener los datos generales de la BD.? Proporcionar control de acceso concurrente.? Llevar a cabo la recuperación.? Optimizar el procesamiento de consultas/actualización.? A distintos sistemas con diferentes arquitecturas se lesha denominado Cliente/Servidor. Sin embargo seclasifican bas ándose en su funcionalidad?Servidores de Ficheros?Servidores de Bases de Datos?Servidores de Transacciones?Servidores de Objetos?Servidores de Web?.51527. Diferentes tipos de servidores7. Diferentes tipos de servidores? Servidores de Ficheros.? Servidores de Transacciones?El cliente invoca a procedimientos que residen en elservidor. Dichos procedimientos ejecutan un conjuntode sentencias SQL. (OLTP)?El cliente formula peticiones de registros, a trav és deuna red, al servidor de ficheros? Servidores de Bases de Datos?El cliente formula peticiones SQL al servidor de BD. Deinterés para los casos en los que se requierenpreguntas ad-hoc53? Servidores de Objetos?Los objetos clientes se comunican con los objetosservidores usando ORB. El cliente invoca un método deun objeto remoto. El ORB localiza una instancia de esaclase de servidor de objetos, invoca el método solicitadoy env ía los resultados a los objetos cliente.549

7. Diferentes tipos de servidores7. Diferentes tipos de servidores? Servidores de WebLa Web es la primera aplicación cliente/servidor.Consta de clientes “universales ” que se comunican congrandes servidores.Clientes y servidores se ponen en contacto a través delprotocolo HTTP.557. Diferentes tipos de servidores568. Middleware . Definiciones? Software que se encuentra en el medio (MIDDLE) delsistema C/S y se ejecuta en ambos lados.? El middleware es un módulo intermedio que nopertenece a los dominios del servidor ni a la interfaz deusuario ni a la lógica de la aplicación en los dominios delcliente. Tampoco debe confundirse con la red física ensí. El middleware es una interfaz lógica estándar de losservicios de red.57588. Middleware . Definiciones8 Middleware?Software que permite a las aplicaciones cliente(de cualquier tipo) comunicarse con servidoresdistantes (heterogéneos) para cualquier tipo deheterogeneidad de los recursos utilizados.?Software distribuido necesario para el soportede interacciones entre clientes y servidores.?Se distinguen 4 categorías:?Transport Stack?NOS (Network Operating System)?DSM (Distributed System Management )?Service Specific (middleware espec ífico deservicios)596010

8 Middleware8 Middleware. Transport Stack?Consiste en los protocolos de transporte queproporcionan comunicaciones punto a puntofiables en Redes WAN y LAN?NetBIOS? Redes Microsoft?TCP/IP ? Internet?IPX/SPX ? Netware?SNA ? Redes de IBMPor encima de este nivel se pueden tener APIsindependientes, por ejemplo Sockets.618 Middleware. NOS (Network OperatingSystem)?Las funciones realizadas por este middlewareson:?1. Extender el alcance del SO local para incluirdispositivos en red como impresoras etc.?2. Proporcionar los fundamentos que ayuden a crear unsistema único de todos los recursos diversosdistribuidos en la red. Ej. servicios de directorio paraencontrar cosas en la red, servicios de seguridad.628 Middleware. NOS (NetworkOperating System)?Soportar la coordinación de aplicacionesque se repartan en nodos cliente/servidor.?Existen dos tipos de intercambioscliente/servidor: Interacciones de petici ón/respuesta fuertementeacopladas.RPC (Remote Procedure Calls)proporciona estas interacciones. Interacciones básadas en colas débilmenteacopladas.Se usa MOM (Message-OrientedMidleware ) para estas interacciones638 Middleware. DSM (Distributed SystemManagement)648 Middleware. Service Specific?Permite que las estaciones hablen con losservicios a gestionar?Se ejecuta en todos los nodos de la red?Estándares actuales?SNMP (Simple Network Management Protocol). ParaInternet. El más extendido?CMIP ( Complex Management Information protocol)?DME ( Distributed Management Environment). Pretendedar una solución total para sistemas de gestión deredes en entornos heterogéneos de varios fabricantes.65? SQL/IDAPI (DBMS): permite invocar servicios basadosen SQL sobre varias bases de datos de distintosfabricantes. Ej. ODBC, IDAPI (IBM )? TxRPC. (OLTP): permite a los clientes invocar serviciossobre varios servidores de transacciones.? Mail (Groupware): permiten que los clientes invoquenservicios en un servidor groupware (workflow, correoelectrónico etc.)? ORB (Objects): permiten a los clientes invocar métodosque residen en servidores remotos.6611

8. Middleware8. Transparencia a las redes?Software construido sobre el protocolo detransporte con el fin de permitir el intercambiode peticiones y respuestas entre el cliente y elservidor de manera transparente.?Se deben soportar todo tipo de redes. Elmiddleware se construirá sobre los nivelesOSI y ocultará la heterogeneidad de lasredes y protocolos de transporte que seusen ofreciendo una interfaz estándar dedialogo a la aplicación.?En resumen, trata de asegurar la transparenciarespecto a las redes, los SGBD y en ciertamedida a los lenguajes de acceso.67688. Transparencia a los servidores8. Transparencia a los lenguajes?El middleware debe ocultar la diversidad yuniformizar el lenguaje SQL apoyandoseen lo posible en los estándares.?El middleware? debe resolver los problemas asociados al mododiferente de trabajar, que pueden surgir entre unlenguaje, a menudo secuencial y el servidor conjuntista .?Debe permitir la integración de funciones de conexión alos servidores, de emisión de peticiones y recepción derespuestas para cualquier lenguaje de desarrolloutilizado por el cliente.69708. Funciones del Middleware8. Funciones del Middleware? Independizar las dos entidades: El cliente y el servidorno necesitan saber comunicarse entre ellos, sino cómocomunicarse con el módulo de middleware.? Traducir la información de una aplicación y pasarla ala otra. Acepta consultas y datos recuperándolos de laaplicación cliente, los transmite y envía la respuesta deregreso. También genera los códigos de error.? Controlar las comunicaciones. Da a la red lascaracterísticas adecuadas de desempeño, confiabilidad,transparencia y administración.?Procedimiento de Conexión.71Operación que permite abrir un camino desde un cliente alservidor designado por un nombre, con verificación delnombre de usuario y palabra reservada. Es necesarioidentificar también el nombre de la BD.?Preparación de la peticiónOperación que permite enviar una petición conparámetros no instanciados a un servidor con el fin depreparar su ejecución.7212

8. Funciones del Middleware8. Técnicas del Middleware?Ejecución de la petición?Cacheo de ResultadosOperación que permite enviar una orden de ejecución decon los parámetros instanciados?Recuperación de los resultadosTécnica que permite transferir los resultados por bloquesy conservarlos sobre el cliente o servidor a fin de reutilizarlos para responder a peticiones.?Cacheo de PeticionesOperación que permite traer todo o parte del resultado alcliente.?Procedimiento de DesconexiónOperación que permite cerrar el camino abierto desde elcliente al servidor.Conjuntos de instrucciones y lógica de procedimientosde SQL compilado, verificado y almacenado en la Basede Datos del servidor. El cliente invoca un procedimientoremoto y le transmite los parámetros requeridos a unprocedimiento almacenado. Problema NO son estándar73748. Tipos de Midlleware8. Objetivos del Middleware?El Middleware general es el sustrato de lamayoría de las interacciones deCliente/Servidor. Incluye las pilas decomunicación etc.?Transporte de peticiones y respuestas.?Simplificación de la visión de usuario.?Armonización de tipos de datos.?Rendimiento.?Fiabilidad.?El Middleware de servicios específicos esnecesario para cumplir un tipo particular deservicio de Cliente/Servidor; así, existe unmiddleware específico para los servidoresdedicados: Middleware para bases de datos,75768. Acceso a servidores SQLheterogéneos8. Acceso a servidores SQLheterogéneos?Situación: los SGBD proporcionan pasarelas deacceso remoto a su sistema y pasarelas paraotro tipo de sistemas.?Problema. Necesidad de proporcionar muchaspasarelas.?Solución: En 1988, 44 vendedores de SGBDcrean un consorcio denominado SQL AccessGroup (SAG) con el fin de proporcionar unestándar para el acceso remoto de BD.?SAG enfocó sus esfuerzos en dosdirecciones:77?SQL Call Level Interface (CLI) que define unAPI común para un conjunto de vendedores.?Interoperabilidad entre clientes y servidoresutilizando formatos de mensajes y protocoloscomunes. (FAP estándar)7813

8. Elementos importantes delmiddleware SQLAcceso a servidores SQLheterogéneos? La API de SQL del cliente. Es la parte del cliente por medio de la cual seinvoca un servicio, y comprende la transmisión de la solicitud por la red y larespuesta resultante. Pero, no incluye el software que presta el serviciocomo tal.? El controlador de SQL. Es un pequeño elemento que en tiempo deejecución del cliente acepta las llamadas de la API, da formato a unmensaje de SQL y maneja los intercambios con el servidor.? Soporte de FAP (Formats and Protocols) para pilas de protocolos. Lamayoría de los proveedores soportan m últiples pilas de protocolos? Gateways a Base de Datos de otros proveedores. (hacen que las BD deotros proveedores se vuelvan semejantes a las suyas )? Herramientas de administraci ón de bases de datos. (mediante GUIdesde una estación de trabajo remota)? Herramientas frontales de desarrollo de aplicaciones gr áficas dorFAPFAPProtocolo Red79808 Tipos de APIs8. Funciones Principales del CLI?API Application Program Interface?Tipos de APIs?Propietarios Ej. OCI (Oracle Call Interface)?Interoperables?CLI (Call Level Interface)?ODBC ( Open Data Base Connectivity)CONNECT. Apertura de una conexi ón a un servidor.PREPARE. Preparaci ón de una orden para su ejecuci ón posterior.EXECUTE. Ejecuci ón de una orden preparada.EXECDIRECT. Ejecuci ón directa de una orden.SETCURSORNAME. Posicionamiento de un cursor.DESCRIBEATT. Descriptor de un atributo.FETCH. Lectura de tuplas siguiendo el res

La arquitectura Cliente/Servidor es el resultado de la integración de dos culturas. Por un lado, la del Mainframeque aporta capacidad de almacenamiento, integridad y . está en el cliente, la base de datos est á en el servidor y la lógica de la aplicaci ón está distribuida entre el cliente y el servidor.?Gestión de Datos Remota.