Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(PARTE I):
SOLUCIONES WEB Y APLICACIONES DISTRIBUIDAS
Mg. Ing. José Alberto Gómez Avila
Tabla de contenido
SPRING – BOOT ............................................................................................................................. 3
Objetivos del Spring Boot:......................................................................................................... 3
Spring Boot CLI .......................................................................................................................... 3
Requerimientos: ........................................................................................................................ 3
Esquema de Funcionamiento de Spring MVC: .......................................................................... 4
Esquema de Funcionamiento de Spring MVC ........................................................................... 4
SPRING SECURITY ......................................................................................................................... 4
ANGULAR ...................................................................................................................................... 5
Implementación Genérica de Angular ...................................................................................... 6
Arquitectura Angular ................................................................................................................. 6
Librerías de Angular .................................................................................................................. 7
Root Module ............................................................................................................................. 7
Servicios Web ............................................................................................................................... 8
SOAP – REST .................................................................................................................................. 9
SOAP .......................................................................................................................................... 9
Arquitectura SOAP .................................................................................................................. 10
Modo de Funcionamiento: ...................................................................................................... 10
REST ......................................................................................................................................... 10
ARQUITECTURA SOA .................................................................................................................. 12
FUNDAMENTOS DE SOA.......................................................................................................... 12
CARACTERISTICAS DEL SOA ..................................................................................................... 14
SOA desde el punto de vista de la tecnología: ........................................................................ 15
SOA desde el punto de vista de la tecnología ......................................................................... 17
Agilidad en el negocio articulada por SOA .............................................................................. 17
Estrategias de Adopción de SOA ............................................................................................. 18
Enfoques de Adopción de SOA ................................................................................................ 18
Cómo y por qué están implementando SOA las organizaciones actuales .............................. 19
Facilitadores tecnológicos clave de SOA ................................................................................. 20
Mg. Ing. José Alberto Gómez Avila
SPRING – BOOT
Requerimientos:
SPRING SECURITY
Mg. Ing. José Alberto Gómez Avila
Spring Security se brinda la facilidad con la que se puede ampliar para cumplir con los
requisitos personalizados de autenticación es decir es integrable con librerías externas
como captcha, etc.
ANGULAR
Angular es un framework que se basa en el patrón MVC, brindando la vinculación de
datos e inyección de dependencias.
AngularJS nos permite crear aplicaciones de una sola página, o sea podemos cargar
diferentes partes de la aplicación sin tener que recargar todo el contenido en el
navegador. Este comportamiento es acompañado por un motor de plantillas que genera
contenido dinámico con un sistema de expresiones evaluadas en tiempo real.
Vinculación de datos
Desde que el DOM pudo ser modificado después de haberse cargado por completo,
librerías como jQuery hicieron que la web fuera más amigable. Permitiendo de esta
manera que en respuesta a las acciones del usuario el contenido de la página puede ser
modificado sin necesidad de recargar el navegador.
Directivas
AngularJS tiene una gran cantidad de directivas que permiten que las plantillas sean
fáciles de leer y brinda la posibilidad de crear nuestras propias directivas para extender
el HTML y hacer que nuestra aplicación funcione de forma modular.
Mg. Ing. José Alberto Gómez Avila
Arquitectura Angular
Librerías de Angular
@angular/core
@angular/platform-browser
@angular/router
@angular/forms
@angular/http
Root Module
La clase AppModule sirve para cargar la aplicación e indicar todas sus dependencias.
Como el resto de módulos, se declara con el decorador NgModule, y un ejemplo sería:
Mg. Ing. José Alberto Gómez Avila
Servicios Web
Son conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la
Web. Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo de
ofrecer unos servicios. Los proveedores ofrecen sus servicios como procedimientos
remotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de
la Web.
SOAP – REST
Las principales diferencias en el funcionamiento de ambos son:
SOAP es un estilo de arquitectura orientado a RPC, mientras que para REST
solamente existen los métodos de HTTP y está orientado a recursos.
REST no permite el uso estricto de “sesión” puesto que por definición es sin
estado, mientras que para SOAP, al ser orientado a RPC, los servicios Web crean
sesiones para invocar a los métodos remotos.
SOAP utiliza HTTP como un túnel por el que pasa sus mensajes, se vale de XML
para encapsular datos y funciones en los mensajes. Si dibujásemos una pila de
protocolos, SOAP iría justo encima de HTTP, mientras que REST propone HTTP
como nivel de aplicación.
SOAP
Especificación para el intercambio de información estructurada en servicios web, a
través de redes de ordenadores.
Arquitectura SOAP
Modo de Funcionamiento:
REST
REST enfatiza:
Escalabilidad de los componentes de interacción.
Mensajes auto-descriptivos
Cuando usamos el método HTTP PUT para enviar información, se toma como una
representación del estado en el que nos gustaría que estuviese el recurso. Internamente
el estado del recurso puede ser cualquier cosa desde una base de datos relacional hasta
un simple texto plano. REST obliga a que los mensajes HTTP sean tan auto-descriptivos
como sea posible.
Permite que los sistemas intermedios puedan interpretar los mensajes y mejoren el
comportamiento con los usuarios. Uno de los modos con los que HTTP realiza esto es
estandarizar los métodos, las cabeceras y los mecanismos de direccionamiento. Por
ejemplo, los servidores caché conocen que por defecto GET es “cacheable” (porque no
puede tener efectos colaterales al solicitar una representación de un recurso).
Por el contrario, POST es no-cacheable por defecto. HTTP es un protocolo sin estado, y
si se usa correctamente, es posible interpretar cada mensaje sin conocer los mensajes
que existieron anteriormente, ni los que le seguirán. Por ejemplo, en vez de usar “loggin
in” de la manera que lo hace FTP, HTTP envía la información nombre/contraseña en cada
mensaje.
Finalmente. REST describe un mundo en el que cada hipermedio es el motor del estado
de la aplicación. Esto significa que el estado actual de una aplicación Web particular
debe estar capturado en uno o más documentos de hipertexto, residiendo en el cliente
o en el servidor.
Mg. Ing. José Alberto Gómez Avila
El servidor conoce el estado de sus recursos, pero no va almacenando los pasos de cada
“sesión” de un cliente. Es el cliente quien conoce la misión que se necesita completar.
Es responsabilidad del cliente ir navegando de recurso en recurso, recopilando la
información que necesita y cambiando el estado cuando lo necesita.
ARQUITECTURA SOA
La arquitectura orientada a Servicios (SOA) fue definido por la organización para el
Fomento de Estándares de Información Estructurada (OASIS).
En la actualidad se usan los servicios web para tratar de llevar a cabo la orientación a
servicios, pero en algún momento los servicios web sean sustituidos por otra plataforma
superior que se acerque a una orientación a servicios más pura.
FUNDAMENTOS DE SOA
Los servicios necesitan intercambiar información para interactuar y llevar a cabo algo
útil. Es por tanto necesario un Framework de comunicaciones capaz de mantener esta
relación de acoplo débil.
Mg. Ing. José Alberto Gómez Avila
Para alcanzar este objetivo los mensajes pueden ser equipados con la suficiente
inteligencia para autogobernar sus partes de la lógica de proceso.
Los servicios que ofrecen descriptores de servicio y que se comunican vía mensaje. Por
ello es una forma de arquitectura básica, la cual parece similar a las antiguas
arquitecturas distribuidas que soportaban mensajería y una separación de la interfaz del
procesamiento lógico. Sin embargo, lo que distingue a SOA es el cómo estos tres
componentes principales (servicios, descriptores y mensajes) son diseñados.
- La capacidad de que las tareas sean llevadas a cabo de una manera segura,
protegiendo el contenido de los mensajes.
- Permitir a las tareas ser llevadas a cabo de una manera fiable para que el envío
del mensaje o de la notificación de fallo de envío esté garantizado.
- Requisitos de rendimiento para asegurar que los gastos asociados al uso de
mensajes SOAP y procesado de XML no impidan la ejecución de una tarea.
Es esencialmente autónoma
El intercambio de información está gobernado por estándares abiertos. Tras ser enviado
el mensaje desde un servicio web a otro, viaja a través de un conjunto de protocolos
globalmente aceptados y estandarizados.
Aumenta la flexibilidad:
- Simplifica la adaptación de los sistemas existentes.
- Evita el desarrollo de interfaces punto a punto entre los sistemas.
- Aumenta la interoperabilidad entre sistemas, permitiendo tanto la
externalización como la prestación de servicios.