Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como http2

gRPC en Java (y Protobuff)

En este post vamos a ejecutar el ejemplo de cliente-servidor de gRPC para Java del repositorio oficial y crearemos un sencillo ejemplo con Protobuff. En resumen: Clonar el repositorio oficial de gRPC. Ejecutarlo. Crear un proyecto Java con Maven. Modificar el proyecto.  Agregar Gradle en lugar de Maven. Ejecutar el proyecto Protobuf con Gradle. Clonamos el repositorio de ejemplos para Java: $ git clone -b v1. 63.0 --depth 1 https: //github.com/grpc/grpc-java Nos ubicamos en la carpeta de Java: $ cd grpc-java/examples Compilamos el cliente y servidor: $ ./gradlew installDist Abrimos una terminal para ejecutar el servidor: $ ./build/install/examples/bin/hello-world-server Abrimos otra terminal para ejecutar el cliente: $ ./build/install/examples/bin/hello-world-client Si todo funciona podrás ver lo siguiente: INFO: Server started, listening on 50051 En el lado del servidor, y en el lado del cliente: INFO: Will try to greet world ...

gRPC: protobuff (Protocol Buffers)

Los Protocol Buffers son mecanismos extensibles neutrales al idioma y a la plataforma para serializar datos estructurados. Al compilar un archivo *.proto podemos elegir lenguajes como: Java, PHP, C#, Python y otros más. Una definición de proto podría lucir así: person.proto message Person { optional string name = 1 ; optional int32 id = 2 ; optional string email = 3 ; } Y al generarse el código, por ejemplo en Java, la definición podría emplearse de la siguiente forma: Person juan = Person . newBuilder () . setId ( 1234 ) . setName ( "Juan aldama" ) . setEmail ( "juan.aldama@spgf.dev.com" ) . build (); output = new FileOutputStream ( "salida.dat" ); juan . writeTo ( output ); Pero... ¿cómo instalamos Protobuf? Para Windows podemos usar Chocolatey: $ choco install protoc Para Windows también podemos optar por descargar: https : // github . com / google / protobuf / releases ...

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: ...

☕ [TUTORIAL] Compila Protocol Buffers con Java