Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como protobuffers

gRPC con Java (2da parte)

En el anterior post creamos una aplicación tipo cliente-servidor con gRPC. La clase tipo "service" que creamos funciona parcialmente. Sin embargo, requiere ciertos ajustes. PalindromaServiceImpl.java package com.inforhomex.grpc ; import com.inforhomex.grpc.PalindromaProto.PalabraResponse ; import com.inforhomex.grpc.PalindromaProto.PalabraRequest ; import io.grpc.stub.StreamObserver ; public class PalindromaServiceImpl extends PalindromaServiceGrpc. PalindromaServiceImplBase { @Override public void evaluaCadena (PalabraRequest request, StreamObserver<PalabraResponse> responseObserver) { String cadena = request. getCadena (); String invertida = new StringBuilder(cadena). reverse (). toString (); String respuesta; if (cadena. equalsIgnoreCase (invertida)) { respuesta = "La cadena '" + cadena + "' es un palíndromo." ; } else { resp...

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

☕ [TUTORIAL] Compila Protocol Buffers con Java