23. Desarrollo de Sistemas Cliente/Servidor (Por Lic. Edgar Hernández, Ing. Luis Martínez. Diciembre 1997)

Diciembre 1997 - Informes

Debe ser Afiliado e ingresar a su cuenta para descargar el informe.

Resumen ejecutivo

La historia de la industria de la computación está matizada por constantes invenciones. Cada una de estas innovaciones viene acompañada con la promesa de nuevas capacidades en la forma de atacar problemas informáticos. En esta década nos ha tocado vivir la adopción del modelo cliente/servidor y, con ello, todas las connotaciones y variantes con que distintas tecnologías lo implantan. En este informe presentaremos –subdividido en tres artículos- los detalles técnicos que respaldan esta robusta tecnología, explicaremos sus variantes, veremos además cuál es su realidad hoy, cuando han surguido otras tecnologías que más que intentar suplantar al modelo, harán que éste se enriquezca y complemente con las novedades de la tecnología.

El concepto cliente/servidor es eminentemente técnico. Es una definición que el mercado ha madurado en forma vertiginosa en lo que llevamos de la presente década. Su principio básico es muy sencillo: se tienen aplicaciones en un computador que están “conversando” con aplicaciones en otro computador. A partir de ese momento se establece un diálogo cooperativo entre los dos computadores. La idea no hace referencia a un tipo específico de hardware o sistema administrador de base de datos; de hecho en este estudio se explica cómo la idea tras la cual se basa la arquitectura, no solo funciona para aplicaciones accediendo bases de datos, sino que existen otras áreas de la computación, como por ejemplo el correo electrónico – entre otras – que pueden ser susceptibles a la implementación de la tecnología.

Existen varios conceptos que el estudio menciona (reingeniería, downsizing, etc) que han encontrado en el nicho del cliente/servidor un buen aliado para desarrollar mejor su paradigma. La idea, conceptualmente y técnicamente, puede parecer a simple vista como muy sencilla, sin embargo no es así, pues existen múltiples detalles que deben ser analizados para lograr obtener lo mejor de este mundo tecnológico. Aquí trataremos de explicar todas estas consideraciones.

La evolución de la tecnología ha puesto en la mesa las condiciones para que la tecnología cliente/servidor logre más aceptación en la comunidad informática. Otras áreas emergentes, como por ejemplo el éxito rotundo que ha alcanzado Internet, no se vislumbran como tecnologías que eventualmente sustituyan a la arquitectura cliente/servidor, sino que más bien constituyen un buen complemento, de tal forma que la inversión que hoy se realice en esta tecnología será segura y funcional por varios años más.

En este momento la tecnología cliente/servidor tiene diez años de edad. Justo cuando ha alcanzado una buena madurez y estabilidad, aparece la tecnología de las intranets como el complemento ideal que enriquecerá el desarrollo de nuevas aplicaciones. De hecho, el mercado ya vislumbra la lucha en este campo entre empresas que ven el potencial de este nicho. Por ejemplo, Netscape y Microsoft ofrecen productos para aplicar estos conceptos, las tecnologías ganan adeptos conforme a sus necesidades y gustos, como el enfrentamiento entre tecnologías Active X y Java. Hoy por hoy no puede existir un estudio sobre cliente/servidor que no contemple su interacción con el potencial que ofrece su asociación con Internet.

En la primera parte les presentaremos la filosofía, conceptos y arquitectura del modelo. La segunda parte presenta los detalles de las aplicaciones y herramientas con que se puede disponer. Por último, la tercera parte considera diversas formas en que las empresas pueden visualizar la tecnología.

De los autores

Luis Martínez es graduado de Escuela de Ciencias de la Computación e Informática de la Universidad de Costa Rica. En la actualidad opta por la Maestría en Computación en el Instituto Tecnológico de Costa Rica. Desde 1996 se desempeña como Jefe de Sistemas del Grupo La Nación, donde ha desarrollado una gran experiencia en el campo de los sistemas cliente/servidor y aplicaciones en Intranets.

El Lic. Edgar Hernández es graduado de la Universidad de Costa Rica en la carrera de Computación e informática. Se desempeña en la actualidad como consultor independiente e instructor de empresas públicas y privadas en las áreas de desarrollo de sistemas, seguridad informática y orientación a objetos. Se dedica también a la docencia universitaria y brinda periódicamente charlas y seminarios sobre temas diversos en el campo de la computación.

Consejo Editorial

El Consejo Editorial para este informe estuvo integrado por el Ing. Luis A. Monge y el Ing. Ignacio Trejos Zelaya.

Nota editorial

Este es el informe de investigación más largo publicado hasta la fecha por el Club de Investigación Tecnológica.

Para facilitar su lectura ha sido estructurado en tres partes. La presentación es a una columna, para preservar el contenido entregado originalmente por los autores antes de la edición final.

Contenido Página

PARTE 1: LA FILOSOFÍA CLIENTE/SERVIDOR: CONCEPTOS Y ARQUITECTURA 1
1. SISTEMAS ABIERTOS Y TECNOLOGÍAS CLIENTE/SERVIDOR 1
1.1 ESTÁNDARES 1
1.2 ¿QUÉ ES LA ARQUITECTURA DE DISEÑO COMPUTACIONAL CLIENTE/SERVIDOR? 2
1.3 CARACTERÍSTICAS DE LA COMPUTACIÓN CLIENTE/SERVIDOR 6
1.4 INTEGRACIÓN EN CLIENTE/SERVIDOR 8
1.5 ACERCA DEL HARDWARE REQUERIDO 8
1.6 ACERCA DEL SOFTWARE REQUERIDO 9
1.7 DEFINICIÓN RIGUROSA DE CLIENTE/SERVIDOR 10
1.8 PRINCIPALES BENEFICIOS 11
1.9 PRINCIPALES DESVENTAJAS 11
2. ARQUITECTURA Y PRINCIPALES COMPONENTES DE LOS MODELOS CLIENTE/SERVIDOR 13
2.1 PROCESAMIENTO DISTRIBUIDO, COOPERATIVO E “IGUAL-A-IGUAL” (PEER-TO-PEER) 13
2.2 COMPONENTES PRINCIPALES DE UN MODELO CLIENTE/SERVIDOR 15
2.2.1 Front-End 15
2.2.2 Back-End 16
2.2.2.1 Hardware 16
2.2.2.2 Software 17
2.2.3 Interfaces Gráficas 18
2.2.4 Comunicaciones, Redes y Middleware 20
2.2.4.1 Modelos de Referencia 21
2.2.4.2 Componentes de una red 22
2.2.4.3 Modelos de Comunicación 24
2.2.4.4 Sistemas Operativos de Red 24
2.2.4.5 Mensajería y Llamadas a Procedimientos Remotos (RPC’s) 27
2.2.4.6 Pilas 28
2.2.4.7 Ambiente de Computación Distribuida (DCE) 28
2.2.4.8 Protocolos de Red 29
2.2.5 Procesamiento Distribuido y Transacciones 30
2.2.5.1 Monitores del Procesamiento de Transacciones 33
2.2.5.2 Objetos Distribuidos 34
2.3 ARQUITECTURAS DE TRES NIVELES (THREE-TIERED ARCHITECTURES) 36
CONCLUSIONES – PARTE 1 39

PARTE 2: APLICACIONES Y HERRAMIENTAS CLIENTE/SERVIDOR 40
3. GROUPWARE 41
3.1 WORKFLOW 42
3.2 INTERCAMBIO ELECTRÓNICO DE DATOS (EDI) 43
3.3 ADMINISTRACIÓN DE DOCUMENTOS MULTIMEDIOS (IMÁGENES ELECTRÓNICAS) 43
3.4 PROGRAMACIÓN Y CALENDARIZACIÓN 44
3.5 CONFERENCIAS 44
3.6 CORREO ELECTRÓNICO 44
3.6.1 Características relevantes 46
3.6.2 Ventajas y Desventajas 46
4. OLTP, OLCP Y OLAP 48
5. ALMACENES DE DATOS (DATA WAREHOUSING) 49
6. HERRAMIENTAS CLIENTE/SERVIDOR 50
CONCLUSIONES – PARTE 2 54

PARTE 3: LA TECNOLOGÍA CLIENTE/SERVIDOR EN LAS EMPRESAS 55
7. DOWNSIZING, UPSIZING Y RIGHTSIZING 56
7.1 PLANIFICACIÓN 59
7.1.1 Reingeniería 61
7.2 DISEÑO DE SISTEMAS: DISEÑO CONJUNTO DE APLICACIONES (JAD – JOINT APPLICATION
DESIGN) 63
7.3 DESARROLLO RÁPIDO DE APLICACIONES (RAD – RAPID APPLICATION DEVELOPMENT) 64
8. TECNOLOGÍAS CLIENTE/SERVIDOR DESDE UNA PERSPECTIVA EMPRESARIAL 65
8.1 EL SÍNDROME DE LAS GRANDES PROMESAS POR APLICACIONES (SGPA) 66
8.2 INTEGRACIÓN DE TECNOLOGÍAS 67
8.3 INTERNET/INTRANET Y ARQUITECTURAS CLIENTE/SERVIDOR 68
CONCLUSIONES – PARTE 3 71

BIBLIOGRAFÍA 72