Actividad 2.7_tecnologias.

Actividad 2.7. Conceptos Arquitectura

Cuestionario

    1. Escribir la definición de SOA

    SOA (Service-Oriented Architecture o Arquitectura orientada a servicios) es un modelo arquitectónico de software que se enfoca en la creación de servicios independientes, altamente interoperables y reutilizables. En una arquitectura SOA, los servicios son componentes de software que pueden ser accedidos por otros servicios a través de una red, permitiendo la creación de aplicaciones complejas a partir de servicios más simples.

    2. ¿Cuál es la finalidad de la Arquitectura orientada a servicios?

    La finalidad de la Arquitectura orientada a servicios (SOA) es permitir la creación de aplicaciones flexibles y escalables, a partir de la combinación de servicios independientes y altamente interoperables. Una arquitectura SOA permite que los servicios sean reutilizados en múltiples aplicaciones, lo que reduce el tiempo y costo de desarrollo y mejora la eficiencia de los procesos empresariales.

    3. Describir para SOA ¿Qué es la interoperabilidad?

    La interoperabilidad en SOA se refiere a la capacidad de los servicios de interactuar y comunicarse entre sí, independientemente de su tecnología subyacente o plataforma de implementación. En una arquitectura SOA, los servicios se comunican a través de estándares y protocolos abiertos, lo que facilita la integración de sistemas heterogéneos y reduce la dependencia de plataformas y tecnologías específicas.

    4. Describir para SOA ¿Qué es el acoplamiento flexible?

    El acoplamiento flexible es un principio fundamental de SOA que se refiere a la capacidad de los servicios de interactuar sin estar estrechamente acoplados. En una arquitectura SOA, los servicios se comunican a través de interfaces estandarizadas, lo que permite que los servicios sean reutilizados en múltiples aplicaciones sin tener que modificarlos o adaptarlos. Esto mejora la flexibilidad y escalabilidad de la arquitectura SOA.

    5. Describir para SOA ¿Qué es la abstracción?

    La abstracción en SOA se refiere a la capacidad de los servicios de ocultar los detalles de su implementación y exponer solo su funcionalidad a otros servicios. En una arquitectura SOA, los servicios se definen por su funcionalidad y su interfaz de programación de aplicaciones (API), lo que permite que sean accedidos y utilizados por otros servicios sin conocer su implementación subyacente.

    6. Describir para SOA ¿Qué es la granularidad?

    La granularidad en SOA se refiere al tamaño y complejidad de los servicios. En una arquitectura SOA, los servicios se deben diseñar con una granularidad adecuada, es decir, con un tamaño y complejidad que permita su reutilización en múltiples aplicaciones y su fácil combinación con otros servicios para crear nuevas funcionalidades. Un servicio demasiado pequeño puede ser difícil de reutilizar, mientras que un servicio demasiado grande puede ser difícil de combinar con otros servicios.

    7. ¿Qué es un ESB en SOA?

    El ESB (Enterprise Service Bus) es un componente de la arquitectura SOA que funciona como una plataforma de integración de servicios. Su función principal es la de gestionar y facilitar la comunicación entre diferentes sistemas y aplicaciones, permitiendo el intercambio de mensajes y datos de manera estandarizada y sin necesidad de acoplar directamente los sistemas.

    8. ¿Qué es arquitectura OSF?

    La arquitectura OSF (Open Software Foundation) es una arquitectura de software que proporciona un conjunto de servicios y herramientas para la creación de aplicaciones distribuidas. Estos servicios y herramientas incluyen un modelo de programación de objetos distribuidos, un sistema de archivos distribuidos y un sistema de gestión de procesos y comunicaciones.

    9. ¿Qué es arquitectura OMG?

    La arquitectura OMG (Object Management Group) es una arquitectura de software que proporciona un conjunto de estándares y especificaciones para el desarrollo de sistemas distribuidos basados en objetos. Entre las especificaciones más conocidas se encuentran UML (Lenguaje de Modelado Unificado), CORBA (Arquitectura Orientada a Objetos para Sistemas Distribuidos) y MDA (Arquitectura Dirigida por Modelos).

    10. ¿Qué es arquitectura CORBA?

    CORBA (Common Object Request Broker Architecture) es una arquitectura de software para sistemas distribuidos basados en objetos. Esta arquitectura proporciona un conjunto de estándares y especificaciones para la comunicación entre objetos distribuidos en una red, permitiendo la interoperabilidad entre diferentes sistemas y lenguajes de programación.

    11. Describir el patrón de interacción SOA?

    El patrón de interacción SOA (Service Oriented Architecture) se basa en la interacción entre servicios independientes y distribuidos que se comunican mediante mensajes en una red. Este patrón se compone de tres elementos principales: el proveedor de servicios, el consumidor de servicios y el registro de servicios. El proveedor de servicios expone sus servicios en el registro de servicios, el consumidor de servicios busca los servicios en el registro y se comunica con el proveedor de servicios mediante mensajes.

    12. Escribir los beneficios de una arquitectura SOA?

    • Facilita la integración de sistemas y aplicaciones.
    • Promueve la reutilización de componentes y servicios.
    • Permite una mayor flexibilidad y adaptabilidad a los cambios.
    • Facilita la colaboración y el intercambio de información entre diferentes áreas y departamentos de una organización.
    • Promueve la eficiencia y la reducción de costos.

    13. Escribir la definición de servicio

    Un servicio es un componente de software que expone una funcionalidad o capacidad a través de una interfaz bien definida. Esta interfaz define los parámetros de entrada y salida, así como las operaciones que pueden ser realizadas sobre el servicio.

    14. Definición de Workflow:

    Un Workflow o flujo de trabajo es un conjunto de actividades o tareas que se realizan en secuencia para completar un proceso de negocio específico. Puede incluir la coordinación de personas, sistemas y procesos automatizados, y a menudo se modela gráficamente para una mejor comprensión.

    15. ¿Qué es WS-BPEL?

    WS-BPEL (Business Process Execution Language for Web Services) es un lenguaje de programación basado en XML utilizado para describir y orquestar servicios web en un proceso empresarial o flujo de trabajo.

    16. ¿Qué es WS-CDL?

    WS-CDL (Web Services Choreography Description Language) es un lenguaje de descripción de coreografía para servicios web, utilizado para definir la interacción entre diferentes servicios web en un proceso de negocio.

    17. ¿Qué son los servicios web?

    Los servicios web son aplicaciones de software que se comunican a través de la red utilizando protocolos estándar de la industria y formatos de datos, como HTTP, XML y SOAP. Estos servicios permiten que diferentes sistemas y aplicaciones se comuniquen y compartan datos y funcionalidad, lo que facilita la integración y la interoperabilidad.

    18. Definición de servicios web:

    Un servicio web es una aplicación de software diseñada para interoperar a través de la red con otras aplicaciones, utilizando estándares de la industria como HTTP, XML y SOAP. Los servicios web permiten que diferentes sistemas y aplicaciones se comuniquen y compartan datos y funcionalidad de manera estandarizada, lo que facilita la integración y la interoperabilidad.

    19. ¿Qué es SOAP?

    SOAP (Simple Object Access Protocol) es un protocolo de comunicación que define el formato de los mensajes intercambiados entre aplicaciones web distribuidas. SOAP se basa en XML para describir los mensajes y en HTTP para su transporte.

    20. ¿Cuál es la finalidad de SOAP?

    La finalidad de SOAP es permitir que aplicaciones web distribuidas puedan comunicarse de manera efectiva y segura a través de redes heterogéneas. SOAP se utiliza principalmente para la integración de sistemas y la implementación de servicios web.

    21. ¿Qué es RESTful?

    RESTful (Representational State Transfer) es un estilo de arquitectura para sistemas web que se basa en el uso de recursos identificados por URLs y en el intercambio de representaciones de estado entre el cliente y el servidor. Los servicios web RESTful se caracterizan por ser simples, escalables y fáciles de cachear.

    22. ¿Qué es REST?

    REST (Representational State Transfer) es un estilo de arquitectura para sistemas web que se basa en el uso de recursos identificados por URLs y en el intercambio de representaciones de estado entre el cliente y el servidor. REST define un conjunto de principios arquitectónicos que deben ser seguidos para que una aplicación web sea considerada RESTful.

    23. ¿Qué son los métodos de autenticación de la API RESTful?

    Los métodos de autenticación de la API RESTful son técnicas utilizadas para verificar la identidad de un usuario o aplicación que intenta acceder a un recurso protegido. Algunos métodos comunes de autenticación en una API RESTful incluyen tokens de acceso, autenticación basada en OAuth y autenticación basada en JSON Web Tokens (JWT).

    24. Escribir la definición de ingeniería de software

    La ingeniería de software es la disciplina que se encarga de la aplicación de principios y métodos de la ingeniería para desarrollar y mantener software de calidad.

    25. Escribir ¿Qué es una metodología? Y ¿para que se utiliza?

    Una metodología es un conjunto de procedimientos, técnicas, herramientas y documentación que se utilizan para desarrollar y mantener un sistema de software. Se utiliza para estandarizar y optimizar el proceso de desarrollo de software, asegurando la calidad del producto final.

    26. Describir la metodología AGIL

    La metodología AGIL es un enfoque iterativo e incremental para el desarrollo de software que se enfoca en entregar valor al cliente de manera constante. AGIL se basa en cuatro valores fundamentales: colaboración con el cliente, entrega de software funcionando, respuesta al cambio y trabajo en equipo. AGIL utiliza ciclos de desarrollo cortos (generalmente de dos a cuatro semanas) y hace énfasis en la comunicación efectiva entre los miembros del equipo y el cliente.

    27. Escribir ¿Qué contempla el diseño modular?

    El diseño modular contempla la división de un sistema de software en módulos independientes y cohesivos, con interfaces bien definidas. Cada módulo se encarga de una tarea específica y se comunica con otros módulos a través de estas interfaces. Esto permite la reutilización de módulos en diferentes sistemas y hace que el mantenimiento y la evolución del software sea más fácil y escalable.

    28. Escribir los aspectos de calidad de software

    Los aspectos de calidad de software son un conjunto de características que deben ser consideradas en el desarrollo de un software para garantizar su calidad. Algunos de los aspectos más importantes son:

    • Funcionalidad: capacidad del software para cumplir con los requerimientos del usuario.
    • Fiabilidad: capacidad del software para realizar sus funciones sin fallos y de forma consistente.
    • Usabilidad: facilidad de uso y comprensión del software por parte del usuario.
    • Eficiencia: capacidad del software para realizar sus funciones de forma rápida y con un uso óptimo de los recursos.
    • Mantenibilidad: capacidad del software para ser modificado y mejorado con facilidad.
    • Portabilidad: capacidad del software para ser ejecutado en diferentes plataformas y entornos.
    • Seguridad: capacidad del software para proteger los datos y la privacidad del usuario.

    29. Escribir ¿Qué es un tipo abstracto de datos?

    Un tipo abstracto de datos (TAD) es una abstracción matemática que define un conjunto de valores y operaciones que pueden ser realizadas sobre esos valores. A diferencia de las estructuras de datos, un TAD no especifica cómo se deben implementar las operaciones ni cómo se deben representar los datos, sino que se centra en la definición de las propiedades y comportamientos que deben tener. Los TAD son utilizados para diseñar algoritmos y estructuras de datos que sean independientes de la implementación subyacente.

    30. Escribir la definición de tecnología

    La tecnología es el conjunto de conocimientos, técnicas y herramientas que se utilizan para crear productos, servicios y procesos que resuelven problemas y necesidades humanas. La tecnología abarca desde los procesos más simples, como la fabricación de herramientas de piedra, hasta los más complejos, como el diseño y desarrollo de sistemas informáticos avanzados. La tecnología se aplica en todas las áreas de la vida, desde la industria y la medicina hasta la educación y el entretenimiento.

    31. Escribir la definición de tecnología Middleware

    La tecnología Middleware es un conjunto de herramientas y software que se utilizan para conectar diferentes aplicaciones y sistemas informáticos, permitiendo que éstos se comuniquen y compartan datos de manera eficiente. El Middleware actúa como un puente entre las diferentes capas del software, permitiendo que las aplicaciones se comuniquen entre sí de manera transparente y sin necesidad de conocer los detalles de la implementación subyacente. Algunas de las funciones más comunes del Middleware incluyen la integración de sistemas, la gestión de transacciones y la seguridad de los datos.

    32. Escribir la arquitectura del Middleware

    La arquitectura del Middleware consta de tres capas principales:

    • Capa de servicios de infraestructura: Esta capa proporciona servicios básicos para las otras dos capas, como servicios de comunicación y gestión de recursos.
    • Capa de servicios de middleware: Esta capa proporciona servicios específicos para aplicaciones, como servicios de mensajería y servicios de transacciones.
    • Capa de aplicaciones: Esta capa contiene las aplicaciones que utilizan los servicios de la capa de servicios de middleware.

    33. Escribir cómo funciona el Middleware

    El Middleware actúa como un intermediario entre aplicaciones o sistemas, permitiendo la comunicación y la transferencia de datos entre ellos. El Middleware proporciona una capa de abstracción que permite que las aplicaciones se comuniquen sin conocer los detalles específicos de la infraestructura subyacente. Para lograr esto, el Middleware utiliza protocolos y estándares de comunicación, así como diferentes tipos de servicios que proporcionan una funcionalidad específica para las aplicaciones.

    34. Escribir que es el Middleware de plataforma

    El Middleware de plataforma es un tipo de Middleware que se utiliza para proporcionar servicios específicos para una plataforma de hardware o software determinada. Por ejemplo, un Middleware de plataforma para un sistema operativo específico podría proporcionar servicios de gestión de procesos y memoria, mientras que un Middleware de plataforma para una plataforma de desarrollo de aplicaciones podría proporcionar servicios de compilación y depuración.

    35. Escribir que es el Middleware en la computación en la nube

    En la computación en la nube, el Middleware se utiliza para proporcionar servicios y funcionalidades específicas para las aplicaciones que se ejecutan en la nube. Esto puede incluir servicios de almacenamiento, servicios de bases de datos y servicios de procesamiento de datos en tiempo real. El Middleware en la computación en la nube se ejecuta en servidores en la nube y proporciona una capa de abstracción para las aplicaciones, permitiéndoles utilizar los servicios de la nube sin conocer los detalles de la infraestructura subyacente.

    36. ¿Qué es back-end?

    Back-end se refiere a la parte de un software o sistema que se encarga del procesamiento y manejo de datos detrás de la interfaz de usuario. En términos generales, se trata de la parte del sistema que no es visible para el usuario final, pero que es esencial para su funcionamiento.

    37. ¿Cuál es la definición de sistema distribuido?

    Un sistema distribuido es un conjunto de computadoras interconectadas que trabajan juntas como si fueran una sola máquina. Estas computadoras se comunican entre sí y coordinan sus acciones para realizar una tarea en común.

    38. ¿Cuál es la definición de red de computadoras?

    Una red de computadoras es un conjunto de dispositivos informáticos interconectados que se comunican entre sí con el fin de compartir recursos y/o información. Las redes pueden ser de diferentes tipos, como redes LAN, WAN o MAN, dependiendo de su alcance y tamaño.

    39. Escribir las ventajas de sistemas distribuidos

    • Mayor disponibilidad y tolerancia a fallos
    • Mejor rendimiento y escalabilidad
    • Mayor flexibilidad y adaptabilidad a cambios
    • Mejor uso de recursos y capacidad de cómputo distribuida
    • Mayor capacidad de procesamiento y almacenamiento de datos

    40. Escribir las desventajas de sistemas distribuidos

    • Mayor complejidad y dificultad en el diseño y desarrollo
    • Mayor latencia y posibilidad de retrasos en la comunicación
    • Mayor consumo de recursos de red y ancho de banda
    • Mayor dificultad en el mantenimiento y gestión
    • Mayor necesidad de seguridad y protección ante posibles amenazas

    41. Describe brevemente como se lleva a cabo la comunicación simplex

    En la comunicación simplex, la transferencia de datos se realiza en un solo sentido, desde el emisor al receptor, sin posibilidad de retroalimentación. El receptor solo puede recibir los datos y no enviar información de vuelta al emisor. Un ejemplo de comunicación simplex es la transmisión de una señal de radio o televisión.

    42. Describe brevemente como se lleva a cabo la comunicación half-duplex

    En la comunicación half-duplex, la transferencia de datos se realiza en ambos sentidos, pero solo en un sentido a la vez. El emisor puede enviar datos al receptor y viceversa, pero solo pueden hacerlo de forma alternada, no simultánea. Un ejemplo de comunicación half-duplex es la comunicación por walkie-talkie.

    43. Describir brevemente como se lleva a cabo la comunicación full-duplex

    En la comunicación full-duplex, la transferencia de datos se realiza en ambos sentidos simultáneamente, lo que permite la comunicación bidireccional y en tiempo real. Ambos extremos pueden enviar y recibir datos simultáneamente, sin necesidad de esperar a que el otro termine. Un ejemplo de comunicación full-duplex es una llamada telefónica o una videoconferencia.

    44. Escribir la definición de LAN

    Una LAN (Local Area Network) es una red de computadoras que abarca un área geográfica limitada, como una oficina, edificio o campus universitario. Estas redes suelen ser de propiedad privada y utilizan tecnologías de comunicación de alta velocidad como Ethernet o Wi-Fi para conectar dispositivos y compartir recursos.

    45. Escribir la definición de MAN

    Una MAN (Metropolitan Area Network) es una red de computadoras que abarca un área metropolitana o urbana, como una ciudad o una región geográfica cercana. Estas redes suelen ser de propiedad pública o privada y se utilizan para conectar dispositivos y servicios en diferentes lugares, como edificios.

    46. Escribir la definición de WAN

    WAN (Wide Area Network) es una red de computadoras geográficamente distribuida que abarca una gran cantidad de ubicaciones, como ciudades, países o incluso continentes. Está diseñada para conectar redes locales (LAN) y otros tipos de redes más pequeñas entre sí, lo que permite a los usuarios acceder a recursos compartidos y comunicarse a través de una amplia área geográfica.

    47. ¿Qué es HTML?

    HTML (HyperText Markup Language) es un lenguaje de marcado que se utiliza para crear páginas web. Se compone de una serie de etiquetas y atributos que se utilizan para definir la estructura, el contenido y el estilo de una página web.

    48. Describir la finalidad de:

    a. <!DOCTYPE>

    La declaración <!DOCTYPE> especifica la versión de HTML utilizada en la página web y se utiliza para indicar al navegador cómo debe interpretar el código HTML.

    b. <HTML>

    La etiqueta <HTML> es la etiqueta raíz de una página HTML y se utiliza para definir el comienzo de un documento HTML.

    c. <head>

    La etiqueta <head> se utiliza para incluir información adicional sobre la página, como los metadatos, el título de la página, enlaces a hojas de estilo CSS y scripts JavaScript.

    d. <body>

    La etiqueta <body> se utiliza para incluir todo el contenido visible de la página, como el texto, las imágenes y otros elementos multimedia.

    e. <title>

    La etiqueta <title> se utiliza para especificar el título de la página, que se muestra en la pestaña del navegador o en los resultados de búsqueda.

    f. <link>

    La etiqueta <link> se utiliza para enlazar una página HTML con un archivo externo, como una hoja de estilo CSS o un archivo de icono.

    g. <meta>

    La etiqueta <meta> se utiliza para incluir información adicional sobre la página, como la descripción de la página, las palabras clave y la codificación de caracteres.

    h. <body>

    La etiqueta <body> se utiliza para incluir todo el contenido visible de la página, como el texto, las imágenes y otros elementos multimedia.

    i. <header>

    La etiqueta <header> se utiliza para definir la cabecera o encabezado de la página, que puede incluir el logotipo, el título de la página y otras informaciones importantes.

    j. <nav>

    La etiqueta <nav> se utiliza para definir una sección de navegación en la página, que puede incluir enlaces a otras páginas en el mismo sitio web o en otros sitios web relacionados.

    l. <aside>

    El elemento <aside> representa contenido tangencial a un contenido principal, que puede ser presentado separadamente o como parte del contenido principal. Por ejemplo, puede contener información adicional como notas de pie de página, publicidad, biografías de autores, artículos relacionados, entre otros.

    m. <footer>

    El elemento <footer> representa un pie de página para su elemento padre, que suele ser el <body> o el <article>. Este elemento puede contener información sobre el autor, derechos de autor, enlaces a páginas relacionadas, entre otros.

    n. <h1> … <h6>

    Los elementos <h1> a <h6> representan encabezados de sección de nivel 1 a nivel 6, respectivamente. El <h1> se utiliza para los títulos principales de la página, mientras que los encabezados de menor nivel se utilizan para subtítulos y secciones secundarias.

    o. <table>

    El elemento <table> representa una tabla que contiene filas y columnas de datos organizados en celdas. Puede ser utilizado para mostrar información tabular como precios, horarios, estadísticas, entre otros.

    p. <div>

    El elemento <div> es un contenedor de bloques genérico utilizado para agrupar elementos juntos para aplicarles estilos o para manipularlos con scripts. No tiene una semántica específica, pero es muy útil para organizar el contenido en una página web.

    q. <ul>

    El elemento <ul> representa una lista no ordenada, es decir, una lista de elementos que no tienen un orden específico. Cada elemento de la lista se representa con el elemento <li>.

    r. <ol>

    El elemento <ol> representa una lista ordenada, es decir, una lista de elementos que tienen un orden específico. Cada elemento de la lista se representa con el elemento <li>.

    s. <li>

    La etiqueta <li> se utiliza para crear elementos de una lista. Puede ser parte de una lista ordenada (<ol>) o de una lista sin orden específico (<ul>).

    t. <blockquote>

    La etiqueta <blockquote> se utiliza para citar contenido de otra fuente. Es útil para resaltar y separar el contenido citado del contenido principal.

    u. <p>

    La etiqueta <p> se utiliza para crear un párrafo de texto. Es una de las etiquetas más comunes en HTML y es útil para separar el contenido en secciones y hacerlo más legible.

    v. <b>

    La etiqueta <b> se utiliza para aplicar un formato de texto en negrita al contenido que rodea la etiqueta.

    w. <i>

    La etiqueta <i> se utiliza para aplicar un formato de texto en cursiva al contenido que rodea la etiqueta.

    x. <span>

    La etiqueta <span> se utiliza para aplicar un estilo a una sección específica del texto. Es útil cuando no hay una etiqueta adecuada para el formato deseado.

    y. <hgroup>

    La etiqueta <hgroup> se utiliza para agrupar varios elementos de encabezado (<h1> - <h6>) en un solo grupo lógico. Se utiliza para crear encabezados más complejos que incluyen subtítulos o subencabezados.

    aa. <figcaption>

    Este elemento define el título de una figura en un documento web.

    bb. <figure>

    Este elemento define una figura en un documento web.

    cc. <mark>

    Este elemento define una porción de texto destacado en un documento web.

    dd. <em>

    Este elemento define un texto enfatizado en un documento web.

    ee. <strong>

    Este elemento define un texto con una mayor importancia semántica que el resto del contenido en un documento web.

    ff. <cite>

    Este elemento define una referencia a una obra en un documento web.

    gg. <address>

    Este elemento define la información de contacto para el autor o propietario de un documento web.

    hh. <a>

    Este elemento define un enlace a otro documento o recurso en un documento web.

    ii. <time>

    Este elemento define una fecha y/u hora en un documento web.

    49. ¿Qué es CSS?

    CSS (Cascading Style Sheets) es un lenguaje de hojas de estilo utilizado para definir la presentación de documentos HTML y XML, incluyendo colores, diseños, fuentes y otros aspectos visuales.

Derechos de autor © 2023 - Javier Torres

Comentarios

Entradas más populares de este blog

UVM FILOSOFIA

Actividad 2.1_Tecnologias de Contruccion

Actividad 2.7_IngenieriaDeSoftware.