Introducción al curso

1

Introducción al curso de Profesional de Arquitectura de Software

Atributos de calidad

2

Definición

3

Atributos: Idoneidad funcional

4

Atributos: Eficiencia de ejecución

5

Atributos: Compatibilidad

6

Atributos: Usabilidad

7

Atributos: Confiabilidad

8

Atributos: Seguridad

9

Atributos: Mantenibilidad

10

Atributos: Portabilidad

11

Tensiones entre atributos

12

Analizando PlatziServicios

Patrones de arquitectura

13

Patrones monolíticos vs distribuidos

14

Patrones: Modelo Vista Controlador

15

Patrones: Capas

16

Patrones: Orientado a eventos / Provisión de eventos.

17

Patrones: Microkernel - Plug-ins

18

Patrones: Comparte-nada

19

Patrones: Microservicios

20

Patrones: CQRS

21

Patrones: Hexagonal - Puertos y adaptadores

22

Patrones: Diseño orientado al dominio

23

Combinando patrones de arquitectura

24

Analizando nuevamente PlatziServicios

Diseño de una arquitectura

25

Pararse en hombros de gigantes

26

Herramientas y partes de un diseño: Tipos de conectores

27

Conectores: Llamado asincrónico / sincrónico. Modelo Cliente servidor.

28

Conectores: Enrutador, difusión

29

Conectores: Pizarra, repositorio, colas, modelo PUBSUB

30

Escenarios y tácticas

31

Escenarios: Disponibilidad, detección, reparación

32

Escenarios: Reintroducción y prevención

33

Escenarios: Mantenibilidad

34

Escenarios: Prevenir efectos dominó y diferir enlace

35

Escenarios: Eficiencia de ejecución

36

Escenarios: Seguridad

37

Escenarios: Capacidad de prueba

38

Escenarios: Usabilidad

39

Validar las decisiones de diseño: Arquitectura en evolución

40

Último análisis a PlatziServicios

Modelado y documentación de arquitectura

41

Cómo comunicar la arquitectura: Vistas y Puntos de vista

42

Documentación vs implementación

43

Conclusiones del curso

Atributos: Compatibilidad

5/43
Recursos

La coexistencia es medible a través de la cantidad de fallos por razones externas en un tiempo dado.

Aportes 20

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Compatibilidad

  • Este agrupa los atributos de cuanto el sistema coexiste o interopera con otros sistemas, es decir; Cuanto puede el sistema vivir en un contexto mas grande.
    .
    **Interoperabilidad:**Cuan fácil es comunicarse con este sistema, cuanto define su sistema de comunicación, incluso cuanto después este sistema puede comunicarse con otros.
    Se mide: A través de casos puntuales, por ejemplo una plataforma de pagos. que tan fácil o difícil es que nuestro sistema se integre son dicha plataforma.
    .
    Coexistencia: Esta dada por cuanto el sistema soporta o no el estar en un contexto dado con otro sistema también. ¿El sistema puede coexistir dentro del mismo servidor, la misma red? ¿Eso genera fallos al sistema?
    Se mide: A través de la cantidad de fallos que tenemos, sin que esos fallos sean generados por nuestra aplicación. Es decir, si nuestra aplicación convive con otras y estas otras nos quita recursos o porque la aplicación le genera un fallo de segmentación en el sistema operativo. (Cualquier cosa externa)

Viendo las definiciones en un contexto no tan técnico, hablemos del atributo de Compatibilidad de una persona
Interoperabilidad
Que tan sociable es y con cuantos amigos puede hablar sin tener problemas de comunicación
Coexistencia
En un departamento con otros 20 amigos, poder usar el baño, cocina, sala sin afectar el rendimiento de la persona

Compatibilidad Agruoa los atributos de calidad que tiene que ver con cuanto el sistema es capáz de coexistir con otros sistemas.

Atributo de calidad ++interoperabilidad ++:
El término interoperabilidad se usa para describir la capacidad técnica de distintos programas para intercambiar los datos a través de un conjunto común de formatos de intercambio, para leer y escribir los mismos formatos de archivo, y para usar los mismos protocolos. Ejemplo de esto sería la implementación de estándares y disponibilidad de esquemas. HATEOAS. JSON Schema, SOAP, OPEN API

Atributo de calidad Coexistencia: Es la capacidad del producto software de coexistir con otro software independiente en un entorno común compartiendo recursos comunes.

Apuntes:

Compatibilidad

Agrupa los atributos que tienen que ver con cuánto el sistema coexiste o interopera con otros sistemas, es decir, cuánto puede el sistema vivir en un contexto más grande.

Interoperabilidad. Cuán fácil es comunicarse con este sistema, cuánto este sistema define su forma de comunicación e incluso cuánto puede después comunicarse con otros.

Coexistencia. Cuánto el sistema soporta o no estar en un contexto dado con otros sistemas también.

Ejemplos:
Interoperabilidad: API- pública, SAS, plataforma de pagos, ecommerce que nos permita programar su API.

Coexistencia: Herramienta de (Transacciones), que lo que este haciendo en un esquema de BD no afecte.

**Compatibilidad **
Atributo de calidad que hace referencia a la capacidad que tiene el sistema para integrarse con otros sistemas de información.
**Atributos: **
Interoperabilidad: La capacidad de comunicación del sistema con otros sistemas independientes de su entorno. Para ello es necesario implementar estándares y/o esquemas que facilitaran la forma en la que los demás pueden comunicarse con la aplicación.
Coexistencia: La capacidad de compartir recursos de un mismo entorno con otros sistemas de información. Para medirlo se obtiene una muestra de la cantidad de fallos generados por razones ajenas, existentes en el contexto de la aplicación.

Es interesante el ver como pueden nuestras aplicaciones no solamente hagan un trabajo especifico sino que lleguemos a tener en cuenta estos atributos y diseñarlas para te tenga un gran grado de compatibilidad, con otros sistemas cuando así sea necesario.

Atributos: Compatibilidad
La coexistencia es medible a través de la cantidad de fallos por razones externas en un tiempo dado.

  • Interoperabilidad: agrupa los atributos que tienen que ver con cuanto el sistema coexiste o interopera con otros sistemas, es decir, cuanto puede el sistema vivir en un contexto as grande, habla de cuan fácil es comunicarse con este sistema. Cuan fácil es integrarlo con otros sistemas como por ejemplo una plataforma de pagos, lo veremos muy claro en cualquier api publica.
    **Como medir la interoperabilidad: **
    implementacion de estandares y disponibilidad de esquemas: HATEOAS, JSON squema, SOAP, Open API.

  • **Coexistencia: ** habla mas de cuanto el sistema soporta o no estar en un contexto dado con otros sistemas, coexistir en el mismo servidor o red con otros sistema genera fallos? o puede coexistir normalmente?
    **como medir la coexistencia: ** por la cantidad de fallos por razones externas en un tiempo dado. Cualquier cosa que haga que nuestra aplicación falle habla de su coexistencia.

Compatibilidad
Cuanto puede vivir el sistema en un contexto más grande
Interoperabilidad
Cuan fácil es comunicarse con este sistema, cómo lo define y con otros
Para medirlo a través de casos puntuales (plataforma de pagos, por ejemplo) o adherirnos a estándares y disponibilidad de esquemas que nos ayudar a tener una alta calidad de Interoperabilidad: HATEOAS, JSONS chema, SOAP, Open API
Ejemplo
APIS públicas
Coexistencia
Cuanto el sistema soporta realizar funcione de manera eficiente mientras comparte un entorno y recursos comunes con otros productos
Es medible a través de la cantidad de fallos que tenemos sin que esos fallos sean generados por nuestra propia aplicación en un tiempo dado

Recomiendo:

Compatibilidad: Interoperabilidad: Cuanto vive el sistema en su contexto y su conexión con otros sistemas (mediciones por medio de estándares) y la coexistencia: Medible a través de fallos por razones externas en un tiempo dado.

¿Cómo podría evaluar el uso de un API antes de consumirla?

El atributo de Compatibilidad, es la capacidad de sistema de convivir en un ecosistema con otros sistemas.

Para ello se usas dos características que se llaman: interoperabilidad y coexistencia.

La interoperabilidad se mide usando estándares como: HATEOAS, JSON Schema, SOAP, Oen API.

La coexistencia, se refiere a la cantidad de fallas por razones externas que tiene un sistema en un tiempo dado.

<h4>Compatibilidad</h4>

Agrupa los atributos que tiene que ver con cuanto el sistema coesxite o interopera con otros sistemas.

  • Interoperabilidad
    cuan facil es comunicarse con el sistema
    • implementacion de estandares y disponibilidad de esquemas: HATEOAS, JSON schema, SOAP, open Api
  • Coexistencia
    Cuanto el sistema soporta o no el estar en un contexto dado con otro sistemas.
    • Cantidad de fallos por razones externas en un tiempo dado

Compatibilidad.
Forma en la cual un sistema/producto puede compartir información con otros

  • Interoperabilidad -> Que tan fácil es comunicarse con este sistema.
  • Coexistencia -> Que tanto soporta el sistema estar en conjunto con otros.
Los ejemplos de interoperabilidad tienen que ver con apis públicas en las cuales diversos sistemas están interactuando para dar un servicio. Para su medición se recomienda el uso de estándares. En cuanto a la coexistencia, se puede estudiar los casos en que varios sistemas utilizan una misma base de datos. En lo que es necesario observar la influencia que tiene el comportamiento de cada sistema sobre los demás mientras usan un recurso compartido, y los fallos que se puedan generar.

Interoperabilidad

Coexistencia