Ir al contenido principal

Entradas

Mostrando entradas de mayo, 2024

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