Qué Es La Arquitectura Soa
Qué Es La Arquitectura Soa
Qué Es La Arquitectura Soa
PUBLICO TICRAPO
PROFESOR:
LOVERA
PROGRAMA DE ESTUDIOS:
COMPUTACION E INFORMATICA
CURSO:
INTEGRANTE:
CICLO:
FECHA:
30/07/2023
TICRAPO- 2022
AGRADECIMIENTO
cada día y por todos sus conocimientos impartidos, también agradezco a mis padres
porque ellos estuvieron en los días más difíciles de mi vida como estudiante.
DEDICATORIA
La arquitectura orientada a servicios (SOA) ofrece varios beneficios por encima de las
arquitecturas monolíticas tradicionales, donde todos los procesos se ponen en marcha
como una unidad única. Algunos de los principales beneficios de la SOA incluyen los
siguientes:
Interoperabilidad
Cada servicio en SOA incluye documentos descriptivos que especifican la
funcionalidad del servicio, así como las condiciones y términos relacionados.
Cualquier sistema de cliente puede ejecutar un servicio, independientemente
de la plataforma o el lenguaje de programación subyacente. Por ejemplo, los
procesos empresariales pueden utilizar servicios escritos en C# y Python.
Dado que no hay interacciones directas, los cambios realizados en un servicio
no afectan a otros componentes que lo utilizan.
Acoplamiento flexible
Los servicios en SOA deben acoplarse de forma flexible, teniendo tan poca
dependencia en recursos externos, como modelos de datos o sistemas de
información, como sea posible. También deben prescindir de un estado sin
retener ninguna información sobre sesiones o transacciones pasadas. De esta
forma, si se modifica un servicio, no afectará de forma significativa a las
aplicaciones del cliente ni a otros servicios que utilicen dicho servicio.
Abstracción
Los clientes o usuarios de servicios en SOA no tienen la necesidad de conocer
la lógica del código del servicio o los detalles de la implementación. Para ellos,
los servicios deben aparecer como una caja negra. Los clientes obtienen la
información necesaria sobre lo que hace el servicio y cómo utilizarlo a través
de contratos de servicio u otros documentos descriptivos sobre el servicio.
Granularidad
Los servicios en SOA deben tener el tamaño y el alcance adecuados;
idealmente, deben contar con
una función empresarial discreta por servicio. Los desarrolladores, por su
parte, pueden utilizar varios servicios para crear un servicio compuesto para
que lleve a cabo operaciones complejas.
1. Servicio
Los servicios son los componentes básicos de la SOA. Pueden ser privados
(disponibles únicamente para los usuarios internos de una organización) o
públicos (accesibles para todos en Internet). Cada servicio individual tiene tres
características principales.
Implementación de servicios: La implementación de servicios es el código que
crea la lógica para realizar la función de servicio específica, como la autenticación
de usuarios o el cálculo de una factura.
Contrato del servicio: El contrato del servicio define la naturaleza del servicio y
sus condiciones y términos asociados, como los prerrequisitos para utilizar el
servicio, su costo y la calidad del servicio proporcionado.
PROTOCOLOS DE COMUNICACIÓN
Un bus de servicio empresarial (ESB, por sus siglas en inglés) es un software que puede
utilizar durante la comunicación con un sistema que tiene varios servicios. Establece la
comunicación entre los servicios y sus consumidores, independientemente de la
tecnología.
BENEFICIOS DE UN ESB
Escalabilidad limitada
La escalabilidad de sistemas se ve seriamente afectada cuando los servicios
comparten varios recursos y necesitan coordinarse para realizar su respectiva
funcionalidad.
Aumento en las interdependencias
Los sistemas de la arquitectura orientada a servicios (SOA) se pueden volver cada
vez más complejos y desarrollar varias interdependencias entre servicios. Puede
ser complicado modificar o corregir errores si varios servicios se llaman entre sí
en bucle. Los recursos compartidos, como las bases de datos centralizadas,
también pueden ralentizar el sistema.
Punto único de error
Para las implementaciones de SOA con un ESB, este crea un punto único de error.
Se trata de un servicio centralizado, que va en contra de la idea de
descentralización que defiende la SOA Los clientes y servicios no se pueden
comunicar entre sí en lo absoluto si el ESB se cae.
¿QUÉ ES XML?
El lenguaje de marcado extensible (XML) permite definir y almacenar datos de forma
compartible. XML admite el intercambio de información entre sistemas de computación,
como sitios web, bases de datos y aplicaciones de terceros. Las reglas predefinidas
facilitan la transmisión de datos como archivos XML a través de cualquier red, ya que el
destinatario puede usar esas reglas para leer los datos de forma precisa y eficiente.
Por ejemplo, imagine un documento de texto con comentarios. Los comentarios pueden
ofrecer sugerencias como las siguientes:
ETIQUETAS XML
Los símbolos de marcado, denominados etiquetas en XML, se utilizan para definir los
datos. Por ejemplo, para representar los datos de una librería, puede crear etiquetas como
<libro>, <título> y <autor>. El documento XML de un solo libro tendría el siguiente
contenido:
<libro>
</libro>
Las etiquetas ofrecen una sofisticada codificación de datos para integrar los flujos de
información en diferentes sistemas.
Cuando una empresa vende un bien o servicio a otra empresa, las dos empresas necesitan
intercambiar información como el costo, las especificaciones y los plazos de entrega. Con
el lenguaje de marcado extensible (XML), pueden compartir toda la información
necesaria electrónicamente y cerrar negocios complejos de forma automática, sin
intervención humana.
o Transferencia de datos: Puede usar XML para transferir datos entre dos sistemas
que almacenan los mismos datos en diferentes formatos. Por ejemplo, su sitio web
almacena las fechas en formato MM/DD/AAAA, pero su sistema de contabilidad
almacena las fechas en formato DD/MM/AAAA. Puede transferir los datos del
sitio web al sistema de contabilidad mediante XML. Los desarrolladores pueden
escribir código que convierta automáticamente lo siguiente:
o Aplicaciones web: XML da estructura a los datos que se ven en las páginas web.
Otras tecnologías de sitios web, como HTML, funcionan con XML para presentar
datos coherentes y relevantes a los visitantes del sitio web. Por ejemplo,
consideremos un sitio web de comercio electrónico que vende ropa. En lugar de
mostrar toda la ropa a todos los visitantes, el sitio web utiliza XML para crear
páginas web personalizadas basadas en las preferencias del usuario. Muestra
productos de marcas específicas filtrando la etiqueta <marca>.
o Documentación: Puede usar XML para especificar la información estructural de
cualquier documento técnico. Luego, otros programas procesan la estructura del
documento para presentarla de manera flexible. Por ejemplo, hay etiquetas XML
para un párrafo, un elemento de una lista numerada y un encabezado. Con estas
etiquetas, otros tipos de software preparan automáticamente el documento para
usos como impresión y publicación de páginas web.
TIPO DE DATOS
Muchos lenguajes de programación admiten XML como tipo de datos. Con esta
compatibilidad, puede escribir fácilmente programas en otros lenguajes que funcionen
directamente con archivos XML.
Navegadores web
ELEMENTOS XML
Todas las demás etiquetas que cree en un documento XML se denominan elementos
XML. Los elementos XML pueden contener las siguientes características:
Texto
Atributos
Otros elementos
Todos los documentos XML comienzan con una etiqueta principal, que se denomina
elemento raíz.
Por ejemplo.
<ListaInvitación>
<familia>
<tía>
<nombre>Cristina</nombre>
<nombre>Estefanía</nombre>
</tía>
</familia>
</ListaInvitación>
Atributos XML
Los elementos XML pueden tener otros descriptores denominados atributos. Puede
definir sus propios nombres de atributos y escribir los valores de los atributos entre
comillas, como se muestra a continuación.
<edad de la persona=“22”>
Contenido XML
Los datos de los archivos XML también se denominan contenido XML. Por ejemplo, en
el archivo XML, es posible que veas datos como este.
<amigo>
<nombre>Carlos</nombre>
<nombre>Esteban</nombre>
</amigo>
Por ejemplo, un esquema XML para librerías podría imponer restricciones como las
siguientes:
<nombre de la categoría=“Tecnología”>
</libro>
</categoría>
Los esquemas XML refuerzan la coherencia en la forma en que las diferentes aplicaciones
de software crean y usan los archivos XML. Algunas industrias implementan esquemas
XML que son específicos de sus operaciones para reducir la complejidad de escribir
código XML para la transferencia de datos entre empresas. Por ejemplo, los gráficos
vectoriales escalables (SVG) son una especificación XML para describir datos
relacionados con gráficos de computadora. Los desarrolladores de software escriben
archivos XML para que cumplan con las especificaciones de la industria.
Las aplicaciones de software utilizan analizadores XML para transformar los archivos
XML en tipos de datos nativos. De este modo, pueden centrarse en la lógica de la
aplicación sin tener que entrar en los detalles del propio XML.
Si bien los archivos HTML y XML son muy similares, existen algunas diferencias clave.
Objetivo
Etiquetas
HTML tiene etiquetas predefinidas, pero los usuarios pueden crear y definir sus propias
etiquetas en XML.
Reglas de sintaxis
Existen algunas diferencias menores pero importantes entre la sintaxis de HTML y XML.
Por ejemplo, XML distingue entre mayúsculas y minúsculas, pero HTML no. Los
analizadores de XML darán errores si escribes una etiqueta como <Libro> en lugar de
<libro>.
Todos los servicios de integración de datos de AWS pueden procesar archivos con el
lenguaje de marcado extensible (XML). A continuación, enumeramos algunos ejemplos.
AWS Glue es un servicio de integración de datos sin servidores que facilita la detección,
preparación y combinación de datos para análisis, machine learning y desarrollo de
aplicaciones. AWS Glue DataBrew es una herramienta de preparación visual de datos que
puede utilizar para preparar datos con una interfaz visual interactiva de apuntar y hacer
clic sin necesidad de escribir código. DataBrew puede introducir todos los tipos de
formatos de archivo, incluido XML.
Amazon Simple Queue Service (SQS) es un servicio de cola de mensajes totalmente
administrado que puede usar para enviar, almacenar y recibir mensajes entre componentes
de software en cualquier volumen. Los mensajes de Amazon SQS pueden contener un
máximo de 256 KB de datos de texto, incluidos XML, JSON y texto sin formato.