Conceptos Clave en Arquitectura Web: Aplicaciones, Patrones y Servicios

Enviado por Chuletator online y clasificado en Inglés

Escrito el en español con un tamaño de 4,7 KB

Aplicaciones Web

Ventajas y Desventajas

Ventajas:

  • Generalidad y conveniencia de usar un navegador como cliente.
  • Compatibilidad entre diferentes plataformas.
  • Posibilidad de modificar y mantener aplicaciones web sin distribuir y/o instalar software sobre cientos/miles de ordenadores.
  • Reducción de costos de IT.

Desventajas:

  • La experiencia del usuario puede no ser tan buena como trabajar en un solo equipo o red local.
  • Privacidad y seguridad de datos propios.
  • Es más difícil de desarrollar y corregir errores por la cantidad de componentes/lenguajes/tecnologías.

Patrones de Diseño

  • Las aplicaciones web implican mucha complejidad, sobre todo en el servidor.
  • Una aplicación web involucra múltiples protocolos, lenguajes de programación y tecnologías.
  • Desarrollar y mantener una aplicación web compleja es difícil, pero, construirla bajo principios de diseño, facilita la tarea.
  • La ingeniería de software usa “abstracción” para tratar con dicha complejidad.
  • Design patterns proveen abstracciones de diseño útiles.

Conceptos de Patrones de Diseño

  • Un patrón de diseño es un modelo abstracto que puede ser aplicado una y otra vez.
  • La idea de aplicar un patrón de diseño abstracto para resolver un problema específico que ocurre durante la construcción de un sistema real.
  • Los patrones de diseño proveen una forma de comunicar las partes.

SOA y Servicios Web

Definición de SOA y Servicios Web

  • SOA is defined as “an enabling framework for integrating business processes and supporting information technology infrastructure as loosely coupled, secure, and standardized components (services) that can be reused and combined to address changing business priorities”.
  • Web services (WS) are defined as “a family of technologies that consist of specifications, protocols, and industry-based standards that are used by heterogeneous applications to communicate, collaborate, and exchange information among themselves in a secure, reliable, and interoperable manner.”
  • Los WS en SOA son módulos de funcionalidad de negocio o técnica con interfaces expuestas a la funcionalidad.
  • Los WS son los principios organizadores de SOA en este momento.
  • Los WS pueden realizar una función discreta (i.e., atomic Web services or component SOA services) o un número de funciones (i.e., composite services).

Qué es un Servicio

  • Un componente con un significado funcional que encapsula un concepto de negocio de alto nivel.
  • Un ladrillo o un bloque Lego.

Un Servicio Contiene:

  • Un contrato: tipo de mensajes, restricciones, parámetros de entrada y salida, descripción, comentarios.
  • Interfaz – Operaciones.
  • Implementación – Lógica y datos.

5 Tipos Principales de Servicios Web

  1. Application Service (Notificación)
  2. Business Service
  3. Intermediary Service (Router)
  4. Process Centric Service
  5. Public Enterprise Service (B2B)

Servicios Web SOAP: Simple Object Access Protocol

  • Describe el intercambio de mensajes en un entorno distribuido y descentralizado.
  • Basado en XML.
  • La especificación define un formato de mensaje.
  • SOAP es independiente del protocolo de transporte.
  • HTTP es el más utilizado por sus ventajas (extensión, cortafuegos).

Servicios Web REST

Principios o Restricciones:

  • Los recursos deben ser uniformemente accesibles (URI única).
  • Los recursos son accedidos y actualizados mediante operaciones GET, POST, PUT, DELETE.
  • Metadatos para describir recursos.
  • La comunicación entre cliente y servidor debe ser stateless.

Ventajas de REST:

  • Esta arquitectura proporciona varios beneficios en el lado del servidor. Estos incluyen la capacidad adicional de escalar horizontalmente y un mecanismo fácil y claro para el almacenamiento en caché, así como una estrategia simple de conmutación por error. Estos beneficios se heredan directamente de la construcción sobre la arquitectura de la Web en su forma estática.
  • También hay ventajas al trabajar con REST en el lado del cliente. Estas incluyen la capacidad de almacenar en caché y marcar representaciones, y la flexibilidad para elegir formatos de datos que sean más apropiados para su caso de uso.
  • El formato de mensaje XML es recomendado, no obligatorio. El uso de JSON está extendido actualmente.

Entradas relacionadas: