3. Diferencias entre el SOAP y Rest
• A – Protocolo: Una gran diferencia es que SOAP es un
protocolo, mientras que REST es una arquitectura que funciona
sobre el protocolo HTTP.
B - Desarrollo
un servicio SOAP requiere de más tiempo, tanto para el cliente como para
el servidor, ya que debemos crear un fichero .wsdl el cual es un XML que
contiene los datos que necesita y la dirección de donde esta ese servicio
web. El formato `.wsdl` nos permite además añadir un dtd el cual puede
validar todos los campos del xml antes de enviar el mensaje.
4. Diferencias entre el SOAP y Rest
• Por otra parte en REST funciona por el protocolo HTTP lo que
implica que para recibir/enviar información debemos hacerlo a
través de peticiones web, a través de la URL o utilizando el
cuerpo del mensaje. Para el cuerpo del mensaje utilizamos
Json o XML. Pero a diferencia de SOAP, todas las validaciones
serán en el servidor.
• Por estos motivos el desarrollo de una API REST es mucho
más rápido que el de un servicio web SOAP.
5. Diferencias entre el SOAP y Rest
• Por supuesto SOAP proviene de ventajas en otros aspectos,
Por ejemplo, es capaz de mantener el estado entre varias
request, mientras que en REST cada reques es individual.
• Y debido al apartado mencionado antes, del fichero wsdl con el
xml y el dtd los servicios SOAP son mucho más seguros.
7. Arquitectura de una Apis Rest
El modelo
El modelo es la parte central de nuestro proyecto, donde
definimos los tipos y debemos intentar que NO contenga
dependencias externas, sobre todo a librerías de terceros.
Acceso a datos
Para acceder a nuestra base de datos también
vamos a tener nuestra librería con el acceso a
esta base de datos.
8. Arquitectura de una Apis Rest
Servicio
Es aquí en esta librería donde colocaremos esta parte de la lógica, por ejemplo,
si tenemos un endpoint en la API que nos lee el perfil personal por ID,
tendremos un servicio que realiza únicamente la acción de coger un perfil
personal pasando un id por parámetro
Dependencias del servicio
Denominamos dependencia a todo dato o proceso que nuestro
servicio debe acceder o consultar.
Por ejemplo, el sistema de archivos, si tenemos que leer un fichero, la
base de datos o incluso otra API ya sea de nuestro proyecto o de otro.
9. Arquitectura de una Apis Rest
Punto de entrada
Debemos definir el punto de entrada de nuestra aplicación.Debe seguir la
misma estructura de nombres y tendrá acceso a la class library de los
servicios, y los servicios serán llamados desde el punto de entrada. De esta
forma evitaremos referencias circulares de una forma muy sencilla.
Endpoint api
una ubicación digital donde una API recibe solicitudes
sobre un recurso específico en su servidor.
10. Arquitectura de una Apis Rest
Cuando creamos APIs debemos crear los endpoint con CRUD en mente
¿Qué es CRUD?
CRUD es un acronimo que hace referencia a sus siglas como
Create (crear) para el que utilizaremos el método HTTP POST.
Read (leer) Para el que se utiliza el método HTTP GET.
Update (actualizar) para el que utilizaremos HTTP PUT.
Delete (eliminar) Para el que utilizaremos HTTP DELETE.
hay más métodos HTTP pero el 99.9% de las acciones se realizan
con ellos
11. ¿Qué es un DTO?
Como su nombre indica un DTO es un “Data Transfer Object” y es el
objeto que vamos a devolver desde nuestras API hacia otros
servicios. Y únicamente debe contener datos, nada de lógica de
negocio.
12.
13. ¿Qué es una Entity ?
Una entidad se compone de dos puntos
1. Un objeto que representa datos de la base de datos; Como podría ser un
objeto que represente cada fila de la base de datos.
2. Entidad que encapsula reglas críticas de nuestra aplicación que están
relacionadas con este objeto. Y que pueden contener cierta lógica de negocio.
14.
15. Qué es Entity Framework Core
Entity framework Core es una librería creada por Microsoft que nos
permite acceder a las bases de datos, principalmente relacionales, de
una forma muy simple.
La gran ventaja de Entity Framework Core es que es muy simple y
amigable, ya que nos permite utilizar código en vez de SQL
directamente. Además es compatible con la librería LINQ,aunque
cuidado con hacer cosas locas con LINQ que es donde vemos
reflejados los posibles problemas de rendimiento.
16. Diferencia entre Entity Framework y entity
framework core
la diferencia entre Entity Framework y entity framework core es simplemente
que Entity framework está ligada a .NET Framework, mientras que Entity
Framework core está ligada a .NET o .NET core, además de está última ser
más ligera, y recibir las actualizaciones más recientes.