BICEPS Services

BICEPS comes with a handful of pre-defined services that are bound to gRPC as described in the following sections.

Message exchange patterns

gRPC supports four different kinds of remote procedure call parametrization:

  • Unary RPC: Simple request response

  • Client streaming RPC: The client sends a stream of messages, the server responds with a single message

  • Server streaming RPC: The client sends a single message, the server responds with a stream of messages

  • Bidirectional streaming RPC: Initiated by the client, both parties exchange a stream of messages

BICEPS on the contrary differentiates between the following message exchange patterns (MEP):

  • Request Response

  • Notification

  • Stream

In protoSDC, the BICEPS Request Response MEP is mapped to gRPC’s Unary RPC whereas Notification and Stream are conceptually resembling and hence mapped to gRPC’s Server streaming RPC.

Service types

protoSDC discovery uses service types to communicate which services are implemented by an Endpoint. The following list reflects the currently available service types.

  • Get Service: org.somda.protosdc.service.Get

  • Set Service: org.somda.protosdc.service.Set

  • MDIB Reporting Service: org.somda.protosdc.service.MdibReporting

Note

  • protoSDC specifies a slightly different but functionally equivalent service interface than the one that is specified in BICEPS

  • The containment tree service, archive service and localization service have not been specified yet

Service mappings

Get Service

TBD

Set Service

TBD

MDIB Reporting Service

TBD