Designer 10.15 | webMethods Service Development Help | Working with gRPC Descriptors | About gRPC Descriptors
 
About gRPC Descriptors
 
Example of a gRPC Service to a gRPC Descriptor
A gRPC provider descriptor is the Integration Server representation of a gRPC proto file. The gRPC descriptor and its supporting Integration Server elements correspond to the service definitions, methods, and messages in the proto file. Together, the Integration Server elements for a gRPC descriptor reflect the content of a gRPC proto file.
Integration Server and Designer offer support for gRPC provider descriptors only.
When Integration Server creates a gRPC provider descriptor from a proto file, the following occurs:
1. Integration Server invokes the protocol buffer compiler (protoc) to compile the proto file and generate gRPC-Java implementations for the messages and services used by the gRPC service.
2. Integration Server generates a Java class for each gRPC service definition found in the proto file.
3. Integration Server uses the Java compiler to compile the generated classes created by protoc, the gRPC-Java plug-in, and the Integration Server gRPC implementation.
4. Integration Server creates the gRPC descriptor and the associated Integration Server artifacts from items in the proto file.
Note:
If a Java compilation error occurs during generation of a gRPC descriptor, Integration Server cannot create the gRPC descriptor or its related elements. During compilation, Integration Server writes the generated Java files and classes to temp directories. When compilation succeeds, Integration Server copies the files into the IS package source when compilation succeeds. However, if compilation fails, Integration Server leaves the temp files, making it possible to review the files to see why the compilation error occurred. If these temp files still exist the next time you create a gRPC descriptor in that IS package, Integration Server deletes the existing temp files before it attempts to create the gRPC descriptor. The temp directories are Integration Server_directory /instances/instanceName/packageName/code/tempsource and Integration Server_directory /instances/instanceName/packageName/code/tempclasses.
Each element that Integration Server creates for a gRPC descriptor correlates to content in the proto file for the gRPC service definition or is created for the gRPC descriptor itself.
The following table identifies the Integration Server artifacts created for a gRPC descriptor.
IS element
Description
gRPC descriptor
The gRPC descriptor created from a proto file. You supply the gRPC descriptor name at the time you create the descriptor.
packageName folder
Folder(s) to contain the artifacts created for the gRPC descriptor with the exception of the descriptor itself. The folder name corresponds to the protobuf package in the proto file. If the proto file uses a multi-level package name, Designer represents it with nested folders.
serviceName folder
Folder(s) whose names correspond to the service definitions in the proto file. Each serviceName folder contains the gRPC method flow services created for the RPC methods in the gRPC service definition
gRPC method flow service
A type of flow service that corresponds to a RPC method in a gRPC service definition. Designer creates one gRPC method flow service for each RPC method. The gRPC method flow service contains skeletal flow step content that you must build out to implement the method logic.
gRPC document type
A type of IS document type that represents the request or reply message content. Designer creates one gRPC document type for each message defined in the proto file. The input signatures of gRPC method flow services contain document references to the gRPC document types used by that method.
Note:
Do not use a gRPC document types as publishable document type for webMethods messaging.