PDF de programación - Arquitectura de Software - Desarrollo de una Arquitectura

Imágen de pdf Arquitectura de Software - Desarrollo de una Arquitectura

Arquitectura de Software - Desarrollo de una Arquitecturagráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 11 de Marzo del 2018)
1.034 visualizaciones desde el 11 de Marzo del 2018
5,6 MB
85 paginas
Creado hace 13a (10/02/2011)
Arquitectura de Software

Juan Bernardo Quintero

Middleware

Término usado para referirse a los componentes de software que
actúan como intermediarios entre otros componentes de software,
generalmente, en el marco de la interacción cliente/servidor.
Ejemplos típicos son los programas desarrollados para ejecutar las
consultas que diferentes usuarios de la red hacen a una base de
datos central que está ubicada en el servidor.

Middleware

Cliente/Servidor a dos capas

Cliente (Front-end)

Proceso Cliente

Servicios del Sistema

Hardware

Petición

Respuesta

Usuario

Proceso Servidor

Servicios del Sistema

Hardware

Servidor (Back-end)

Middleware

Cliente/Servidor a 3 o N capas

Cliente (Front-end)

Proceso Cliente

Servicios del Sistema

Hardware

Petición

Middleware

Usuario

Respuesta

Proceso Servidor

Servicios del Sistema

Hardware

Servidor (Back-end)

Middleware

Clasificación de servidores:

A distintos sistemas con diferentes arquitecturas les ha
denominado Cliente/Servidor. Sin embargo se clasifican
basándose en su funcionalidad:

Servidores de Ficheros

Servidores de Bases de Datos

Servidores de Transacciones

Servidores de Objetos

Servidores de Web

...

Extraído de: R. Orfali, D.Harkey, J. Edwards. Cliente/Servidor y objetos: Guía de Supervivencia 3ra Edición

McGraw-Hill Interamericana México, D.F. 2002.

Clasificación de Middleware

Propuesta de Clasificación de Middleware

Se distinguen 2 niveles:

Middleware de Bajo Nivel (Servicios Tecnológico)

Se encargan del
cliente.

transito de servicios básicos hacia el

Middleware de Alto Nivel (Servicios de Aplicación)

Se encargan del manejo de servicios de infraestructura y de
aplicación.

Clasificación de Middleware

Clasificación de Middleware

Middleware de Bajo Nivel

Middleware de Base

Middleware de Comunicación

Middleware de Base de Datos

Middleware de Aplicación

Clasificación de Middleware

Middleware de Bajo Nivel

Middleware de base:

Estándares y servicios asociados, que sirven de soporte
para la construcción del resto del middleware.

 CORBA

 COM/COM+/DCOM

 EJB/J2EE

 .NET

 …

Clasificación de Middleware

Middleware de Bajo Nivel

Middleware de comunicaciones:

Proporciona el medio de comunicación para que las
aplicaciones puedan conversar entre sí.

 HTTP

 RMI-IIOP

 SOAP

 RPC

 …

Clasificación de Middleware

Middleware de Bajo Nivel

Middleware de base de datos:

Enmascara las complejidades de acceso a la base de datos,
escondiendo los detalles de implementación de cada uno.

 ODBC

 JDBC

 OCI

 …

Clasificación de Middleware

Middleware de Bajo Nivel

Middleware de aplicación:

Permite el arranque, extensión, e integración de otras
aplicaciones.

 CGI
 Servlets/JSP
 PHP
 ASP
 ISAPI/NSAPI
 …

Clasificación de Middleware

Middleware de Alto Nivel

Servidor Web

Servidor de Componentes

Servidor de Transacciones

Servidor de Aplicaciones

Clasificación de Middleware

Middleware de Alto Nivel

Servidores Web:

Servicios de publicación de contenidos

 Apache
 Netscape Server
 IIS
 OmmiHTTPD
 Sun Server
 Sambar Server
 Xitami
 iPlanet Server
 …

Clasificación de Middleware

Middleware de Alto Nivel

Servidores de transacciones:

Garantiza transacciones ACID (Atomicidad, Consistencia,
Aislamiento y Durabilidad) en el procesamiento distribuido.

 BEA’s Tuxedo

 IBM – CICS

 Transarc’s Encima

 MTS

 …

Clasificación de Middleware

Middleware de Alto Nivel

Servidores de componentes:

Contenedores de objetos que prestas servicios a través de
una interface definida.

 Tomcat

 Microsoft

 Servidor de

componentes COM

 .NET Remoting

 …

Clasificación de Middleware

Middleware de Alto Nivel

Servidores de aplicaciones:

Servicios de infraestructura y aplicación. Responden a una
arquitectura lógica definida, por lo general J2EE.

 OAS (IAS)
 Websphere
 Jboss
 BEA-Weblogic
 Jonas
 Iplanet…

¿Cuáles son los servicios de infraestructura?

Los servicios de infraestructura típicos incluyen:

 Messaging (Mensajería y Notificaciones).

 Pooling.

 Caching.

 Clustering.

 Naming.

 Logging.

 etc.

Servicios de un servidor de aplicaciones

Servicios que debe permiten:

 Gestión de transacciones.

 Modelo de interoperabilidad para componentes.

 Intercambio de datos.

 Colas de mensajes.

 Servidor HTTP para clientes Web y clientes móviles.

 Almacenamiento temporal de base de datos y web.

 Herramientas de administración.

¿Qué es un servidor de aplicaciones?

Conjunto de programas y tecnologías que permiten:

 Creación de páginas Web dinámicas

 (ASP en Microsoft o JSP en Java)

 Componentes que pueden encapsular la lógica del negocio

 (COM en Microsoft o EJB en Java)

 Soporte de transacciones
 Acceso a la aplicación desde clientes HTTP
 Soporte para invocar métodos remotos
 Manejo de seguridad
 Uso de SSL y conexión con Bases de Datos

 (ODBC en Microsoft o JDBC en Java)

¿Qué es un servidor de aplicaciones?

Todos estos servicios simplificarían el desarrollo de software
que, en configuraciones distribuidas, se sitúa en la capa
intermedia, entre los clientes o usuarios finales y el servidor
de datos. Es lo que se conoce corrientemente como
Middleware.

Características

La mayoría de servidores de aplicaciones te permiten hacer
algunas de las siguientes tareas.

Presentar Contenido Dinámico

Administrar Tu Sitio Web

Construir un Sistema de Manejo de Contenidos

Seguridad y Manejo Correcto

Brindar Servicios de Red

Integración de diversos sistemas

Proveen Escalabilidad

Matriz de Servidores de Aplicación

http://www.theserverside.com/matrix

Perspectivas de la Arquitectura de Referencia

A continuación se analizan las más representativas de esas
perspectivas:

Aplicación Web (Web Application)

Aplicaciones con Clientes Ricos (Rich Client Application)

Aplicaciones Enriquecidas en Internet (Rich Internet Application)

Aplicaciones de Servicios (Service Application)

Aplicaciones Móviles (Mobile Application)

Web Application

 Definición:

Su núcleo reside en lógica del lado del servidor, que se suele estructurar en varias
capas; por ejemplo la arquitectura a tres capas: presentación, negocio y datos.
Generalmente accede una base de datos remota y consume servicios expuestos
por otras aplicaciones.

 Beneficios:

• Amplio alcance UI basada en estándares para múltiples plataformas.
• Facilidad de despliegue y gestión de cambios.

 Consideraciones:

• Dependencia de conectividad continua en la red.
• Dificultad para proveer una UI enriquecida.

Basado en: http://msdn.microsoft.com/en-us/library/ee658104.aspx

Web Application

Extraído de: http://msdn.microsoft.com/en-us/library/ee658104.aspx

Rich Client Application

 Definición:

Puede proporcionar una experiencia de usuario altamente sensible, interactiva, y
rica para las aplicaciones que deben funcionar en escenarios stand-alone,
conectados, a veces conectado y desconectado. Una aplicación de cliente
enriquecido normalmente se estructurará como una aplicación de varias capas:
experiencia del usuario (la presentación), negocios y de datos.

 Beneficios:

• Potencian los recursos de los clientes.
• Provee mejor tiempo de respuesta y experiencia de usuario mejorada.
• Altamente dinámica.

 Consideraciones:

• Complejidad de despliegue.
• Desarrollos especifico de para la plataforma.
• El control de versiones puede ser complejo.

Basado en: http://msdn.microsoft.com/en-us/library/ee658104.aspx

Rich Client Application

Extraído de: http://msdn.microsoft.com/en-us/library/ee658104.aspx

Rich Internet Application

 Definición:

Las aplicaciones de este tipo se pueden desarrollar para múltiples plataformas y
múltiples navegadores, multimedia o mostrar contenido gráfico. Las aplicaciones
dinámicas de Internet se ejecutan en un navegador lo que restringe el acceso a
algunas de las características del cliente.

 Beneficios:

• Proveen las mismas características en la IU que los clientes enriquecidos.
• Soporte para la visualización de contenidos enriquecidos, streaming y gráfica.
• Actualización y control de versiones simple.
• Soporte multi-plataforma y multi-navegador.

 Consideraciones:

• Tiempo de carga mas lago comparado con las aplicaciones web.
• Mayor uso de recursos del cliente comparado con las aplicaciones web.
• Requiere compatibilidad de los motores de script en los clientes.

Basado en: http://msdn.microsoft.com/en-us/library/ee658104.aspx

Rich Internet Application

Extraído de: http://msdn.microsoft.com/en-us/library/ee658104.aspx

Service Application

 Definición:

Expone en servicios compartidos, las funcionalidades del negocio y permiten a los
clientes acceder a ellas desde un sistema local o remoto. Las operaciones de
servicio se invocan usando mensajes, basados en esquemas XML, pasa sobre un
canal de transporte. El objetivo de este tipo de aplicación es lograr acoplamiento
flexible entre el cliente y el servidor.

 Beneficios:

• Provee bajo acoplamiento.
• Independencia de los consumidores.
• Soporta interoperabilidad.

 Consideraciones:

• No hay soporte de UI.
• Los clientes dependen de la conectividad de la red.

Basado en: http://msdn.microsoft.com/en-us/library/ee658104.aspx

Service Application

Extraído de: http://msdn.microsoft.com/en-us/library/ee658104.aspx

Mobile Application

 Definición:

Pueden ser desarrolladas como cliente ligero o aplicaciones de cliente
enriquecido. Las aplicaciones de cliente móvil enriquecido pueden apoyar
escenarios desconectados o que se conectan ocasionalmente. Las aplicaciones de
cliente ligero o web soportan solo escenarios conectados. Los recursos de los
dispositivos puede llegar a ser una restricción al diseñar aplicaciones móviles.

 Beneficios:

• Soporta dispositivos portátiles (hand-held).
• Provee disponibilidad y facilidad de uso para usuarios por fuera de la oficina.
• Soporta escenarios desconectados y semiconectados.

 Consideraciones:

• Limitantes de entrada y navegación.
• Área de Pantalla
  • Links de descarga
http://lwp-l.com/pdf9439

Comentarios de: Arquitectura de Software - Desarrollo de una Arquitectura (1)

Veronica
9 de Febrero del 2021
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad