Zusammenfassung der Ressource
Mundo Java
Anmerkungen:
- Sacadas de mi estudio en Java,
-cuando tenga más conocimientos le colocaré un título más apropiado-
:)
- control de
versiones
- CVS
- Subversion
- Git
- Mercurial
- Perforce
- Clearcase
- "herramienta de
compilación"
- Ant
- Maven
- gestor de artefactos
- Gradle
- marcos de
microservicios
modernos
Anmerkungen:
- Spring Boot y Eclipse MicroProfile, implementan aplicaciones como archivos JAR ejecutables que se pueden implementar directamente en un contenedor de software, como Docker, y en una herramienta de orquestación de contenedores, como RedHat OpenShift.
- Spring Boot
- Eclipse MicroProfile
- contenedores y
máquinas virtuales
- Docker
Anmerkungen:
- crea contenedores como máquinas virtuales extremadamente livianas y modulares
- Kubernetes
- Servicios web
Anmerkungen:
- Imagen ejemplo SOAP:
https://es.wikipedia.org/wiki/Servicio_web#/media/Archivo:Webservices.png
- Tipos de web
service
- RESTFul
Anmerkungen:
- son los servicios web con arquitectura REST
- Mejor integración con HTTP que como lo hace un servicio SOAP (no
requiere XML o definiciones WSDL), utilizan estándares muy conocidos
como HTTP, SML, URI y MIME
- mensajes en distintos formatos: HTML, XML, texto sin formato y JSON
- sin estado (no recuerda el cliente, ni lo que hizo en el pasado)
- ideales para los contextos más nuevos, como el Internet de las cosas,
desarrollo de aplicaciones móviles y la informática sin servidor
- Por lo general se usa REST/JSON
- Definición de campos o servicio con Swagger o RAML, pero no es obligatorio
- puede tener y es esperado un caché para mejorar el rendimiento
- (opcional) se puede incluir un código bajo demanda para ser ejecutado por el cliente
- SOAP
- mensajes de respuesta solo en XML y protocolo SOAP, definición del
servicio con WSDL, sin caché
- Como es un protocolo, impone reglas integradas que aumentan la
complejidad y la sobrecarga
- ofrecen seguridad y cumplimiento de las operaciones integrados que coinciden con muchas
de las necesidades empresariales, pero que también los hacen más pesados.
- Se usa SOAP/XML.
- Para aplicaciones móviles y web tiene mal rendimiento. Usado solo en backend
- "Arquitecturas" API
Anmerkungen:
- "revisar el tema de comunicación servicio-servicio, podria revisar RSocket o GRPC"
- unidireccional
Anmerkungen:
- apenas el servidor entregue la respuesta, el cliente cierra la sesión.
- REST
Anmerkungen:
- principio de arquitectura de software usada en web service
- SOAP
- GraphQL
- Manera más flexible de consultar y manipular datos
- Pero, mayor complejidad al lado del server
- gRPC
- Gran rendimiento para comunicar
microservicios
- Usa HTTP/2 y protocol Buffer para intercambiar
datos binarios
- Bidireccional
- Long Polling
- Era la primera opción que se usó, era extender el tiempo de
conexión la solicitud HTTP... y esperar.
- WebSockets
Anmerkungen:
- No es una solicitud HTTP simple, es con handshake
- los navegadores ya soportan handshake
- Semi-bidireccional
- Server-Sent events
(SSE)
- inicialmente el cliente se registra, desde ese
momento es el server el que envía información
- WebHooks
Anmerkungen:
- de alguna manera es unidireccional.
- En servidor es el que envia datos a unos clientes ya registrados
- microservicios
- comunicación de los servicios
- lenguaje de la interfaz
pública
- WHDL
Anmerkungen:
- lenguaje de la interfaz pública para los servicios web. Es una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con los servicios web.
- protocolo
- UDDI
Anmerkungen:
- protocolo para publicar la información de los servicios web. Permite comprobar qué servicios web están disponibles
- frameworks
- Jersey
- para crear RESTful Web Services
en JAVA. simplifica todavía más el
uso de JAX-RS extendiéndola y
dándole más funcionalidades
- SpringBoot
- para crear
microservicios
- cliente de pruebas de
servicios
- SoapUI
- Postman
- contenedores o motores
de servicios web
- Axis2
- para SOAP
- Códigos HTTP de
respuesta
- 200 ok.
- 201 recurso creado.
- 204 solicitud exitosa.
Respuesta sin contenido
(vacía).
- 401 no autorizado.
- 403 acceso prohibido.
- 404 recurso no encontrado.
- 405 Método no permitido.
- Métodos HTTP
para indicar
intensión
- GET, POST,
DELETE,
PUT, PATCH,
OPTIONS
- Persistencia de datos
- Hibernate
- persiste objetos en la base de
datos o los recupera como
objeto