Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como rest

Wasp en un vistazo

Wasp es un framework web full-stack de código abierto para React y Node.js, diseñado para desarrollar aplicaciones web modernas y SaaS de forma rápida y con menos código duplicado ( boilerplate ). Su enfoque principal se basa en un lenguaje de configuración declarativo propio (el archivo .wasp ), donde defines la arquitectura global de tu aplicación, mientras escribes la lógica de frontend y backend usando JS/TS estándar. Introducción a Wasp ¿Cómo funciona Wasp? Observemos un diagrama para ver cómo funciona: ┌────────────────────────────────────────────────────────┐ │ Archivo main . wasp │ │ (Defines páginas, rutas, auth, modelos de datos) │ └──────────────────────────┬─────────────────────────────┘ │ Compila a ┌────────────┴────────────┐ ▼ ▼ ┌────────────────────┐ ┌────────────────────┐ │ React (Client App) │ │...

Spring Boot: consumiendo un sencillo servicio de Node

En está ocasión haremos un sencillo servicio Spring Boot que consuma otro servicio hecho en Node .  Para ello necesitaremos: Tener instalado el JDK 17 o 21. Tener Maven instalado. Tener instalado Node. Tener un editor de código como VsCode o un IDE como Eclipse. Tener conocimiento sobre Java y Spring Boot, además de Node. ¿De qué trata el servicio a consumir? Consumiremos desde una aplicación Spring Boot un sencillo JSON hecho en un servicio Node como este: { "id" : 123 , "name" : "Thomas Muller" , "message" : "Este es un sencillo mensaje" } Cremos la aplicación Spring Boot: https://start.spring.io/ La dependencia a usar será (ademas de la de swagger): <dependency> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-starter-web </artifactId> </dependency> Creamos la configuración de nuestro proyecto. La cual nos servirá para poder usar RestTem...

Loopback, creando un sencillo servicio REST

Continuando con Loopback , un framework para crear microservicios con Node JS y Typescript , está vez crearemos un sencillo api rest que calcule la probabilidad de un evento. La fórmula que emplearemos será la siguiente: Probabilidad = eventosExitosos / totalEventosOcurridos Donde: Evento : Un evento es un resultado particular que nos interesa.  Casos favorables (eventosExitosos) : Son los resultados que cumplen con las condiciones del evento que estamos estudiando.  Casos posibles (totalEventosOcurridos): Son todos los resultados que pueden ocurrir en un experimento. Lo primero que haremos seá instalar Loopback si no lo tenemos instalado: $ npm install -g @loopback /cli Creamos un directorio y nos ubicamos en el: $ mkdir calcula-probabilidad && cd calcula-probabilidad Creamos la aplicación con Loopback: $ lb4 app Esto iniciará un prompt donde colocaremos las características del proyecto. Iniciamos la aplicación: $ npm start Ah...

GraphQL en un vistazo

  El sitio oficial de GraphQL lo define como: Un lenguaje de consulta para su API y un tiempo de ejecución del lado del servidor para ejecutar consultas utilizando un sistema de tipos que usted define para sus datos. Es decir: Un lenguaje de consulta para APIs y Un entorno para ejecutar consultas para obtener solo los datos necesarios. GraphQL es una herramienta poderosa para trabajar con APIs porque permite: Consultar solo los datos que necesitas. Utilizar un único endpoint para todas las solicitudes. Mejorar el rendimiento y la eficiencia. Facilitar el desarrollo y la flexibilidad. Podemos usar Node JS para crear algún ejemplo. Primero validamos si tenemos npm y nodejs instalado: node -v npm -v Creamos un proyecto mkdir proyecto cd proyecto npm init -y Instalamos GraphQL y Apollo Server: npm install apollo-server graphql Creamos el archivo JS:  index.js const { ApolloServer, gql } = require( 'apollo-...

Un vistazo a gRPC: una alternativa a SOAP y REST

gRPC es un marco RPC universal de alto rendimiento. gRPC tiene soporte para la interoperabilidad entre varios lenguajes como Java, C++, C#, Go, Dart, Kotlin, NodeJS, Objective-C, PHP, Python, Ruby, Rust y muchos más. gRPC tiene un esquema para la definición del servicio y puede generar código basado en ese esquema. gRPC también es compatible con la transmisión bidireccional y la autenticación con el protocolo HTTP/2. Square, CoreOS, Cisco, CockroachLabs, Netflix y muchas otras empresas han probado gRPC. gRPC también es parte del proyecto CNCF. Es, básicamente, una alternativa a SOAP y REST. Nota: Debemos tener la herramienta Protobuf instalada. En este post usaremos Python para crear un primer ejemplo. Actualizamos la herramienta pip. $ python -m pip install --upgrade pip Instalamos grpcio: $ python -m pip install grpcio Instalamos las herramientas gRPC: $ python -m pip install grpcio-tools Clonamos un ejemplo del repositorio en Github: ...

Ballerina en un vistazo (5)

Continuamos con esta serie de entregas sobre el lenguaje Ballerina. Vamos a crear un proyecto básico y modificaremos el programa principal para crear un sencillo servicio RestAPI. Abrimos una terminal y tecleamos: $ bal $ bal version Esto es para visualizar la versión instalada en nuestra máquina. Creamos un nuevo proyecto: $ bal new auditor Nos creará un directorio llamado ``auditor``: auditor/ ├── Ballerina.toml └── main.bal El programa será: main.bal import ballerina/io; public function main() { io:println( "Programando con Ballerina" ); } Ejecutamos: $ bal run Nos deberá mostrar el mensaje: Programando con Ballerina Editamos el programa main.bal para crear un REST API: import ballerina/http; listener http:Listener httpListener = new ( 8088 ); service / on httpListener { resource function get saludando() returns string { return "Programando con Ballerina!" ; } resource function get saludando/[string nombr...

gRPC Unleashed! Con Renato Aguilar de Endava

En está ocasión hay un vídeo por parte de Java México sobre gRPC . Pero antes que nada... ¿Qué es gRPC? gRPC es un marco moderno de llamada a procedimiento remoto (RPC) de código abierto y alto rendimiento que puede ejecutarse en cualquier entorno.  Puede conectar de manera eficiente servicios dentro y entre centros de datos con soporte conectable para equilibrio de carga, rastreo, verificación de estado y autenticación.  También es aplicable en la última milla de la informática distribuida para conectar dispositivos, aplicaciones móviles y navegadores a servicios backend. Enlaces: https://grpc.io/

Frameworks para crear MS

Algunos frameworks para crear microservicios con Java, Groovy, Scala y Kotlin: https://spring.io/projects/spring-boot https://javalin.io/ http://sparkjava.com/ http://actframework.org/ https://doc.networknt.com/getting-started/light-rest-4j/ http://www.ninjaframework.org/ https://www.playframework.com/ https://resteasy.github.io/ https://restlet.com/open-source/ http://eventuate.io/ https://axoniq.io/ https://ktor.io/ https://vertx.io https://helidon.io/ https://es.quarkus.io/ https://micronaut.io/

Crear un proyecto web con Ninja framework

En este post veremos cómo crear un proyecto web usando el framework Ninja framework , el cual es un framework similar a Spring Boot y que puede ser construido con Maven. Para ello es necesario contar con un Java y Maven actualizados. Crear el proyecto con Maven: mvn archetype: generate - DarchetypeGroupId = org . ninjaframework - DarchetypeArtifactId = ninja - servlet - archetype - simple - DgroupId = com . inforhomex . auditor - DartifactId = auditor - DinteractiveMode = false Esto nos creará la estructura del proyecto. Nos ubicamos en el directorio creado y tecleamos: cd auditor mvn clean install Esto nos bajará las dependencias y construirá el proyecto Para ejecutar: mvn ninja:run Abrimos un navegador en la ruta: http://localhost:8080/ ¡Listo! Hemos creado nuestro primer proyecto usando este framework. Enlaces: https://www.ninjaframework.org

Creando un proyecto con Javalin framework

En el post anteriot vimos lo que es Javalin framework . Es esta ocasión haremos un ejemplo del clásico Hola, mundo usandolo. Debemos tener Maven instalado en nuestras máquinas. Java versión 19 o más. Crear proyecto: mvn archetype:generate -DgroupId=com.inforhomex.auditor -DartifactId=auditor -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode= false Al terminar nos creará el proyecto Maven con un archivo pom.xml y la carpeta src con una clase llamada App.java Editaremos nuestro pom.xml para que quede como el de abajo: pom.xml <project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > <modelVersion> 4.0.0 </modelVersion> <groupId> com.inforhomex.auditor </groupId> <artifactId> auditor </artifactId> <packaging> jar ...