Contents
Contents

RPC and Binary Protocols: What Integration Broker Cannot Do

At its core, PeopleSoft Integration Broker is built for a simpler time: text-based payloads (XML and JSON) flowing over HTTP/1.1 in a synchronous request/response loop.

If an integration partner or vendor starts asking you to connect via modern binary protocols, HTTP/2, streaming RPC, or GraphQL, you are going to find out quickly that IB is out of its depth.

Let’s look at the specific binary and RPC protocols that Integration Broker cannot handle, and what patterns we can use to bridge them at the network edge.

The relevant root constraints for this page:

  • Constraint #2: Text Payloads Only. No Protocol Buffers, MessagePack, Avro, CBOR, or any other binary framing. Everything on the wire must be character data.
  • Constraint #3: HTTP/1.1-Era Transport. No native gRPC, no HTTP/2 stream multiplexing for client- or server-streaming RPC.

GraphQL adds a third issue: even though its transport is HTTP/1.1 and its payloads are JSON, its server-side resolver model does not map cleanly to PeopleSoft’s service operation model.


gRPC

gRPC is Google’s modern, high-performance RPC framework. It runs exclusively on HTTP/2, uses Protocol Buffers by default, and supports unary (request/reply) calls as well as client-streaming, server-streaming, and bidirectional streaming. It is the default choice in cloud-native and microservices environments where teams want strict contracts and low-latency, service-to-service communication.

Why IB Cannot Serve gRPC

We hit two absolute blockers here, either of which is sufficient to kill the idea:

  1. HTTP/2 Transport: PeopleSoft’s listening connectors terminate standard HTTP/1.1 connections. There is no HTTP/2 stream multiplexing path that gRPC requires.
  2. Binary Payload: Even if you could establish an HTTP/2 connection, gRPC payloads are length-prefixed Protocol Buffer binary frames. PeopleTools has no Protobuf decoder, no way to compile .proto files into Application Packages, and no mechanism to surface a typed message object to PeopleCode.

Why IB Cannot Call gRPC Services Either

The outbound HTTP target connector emits standard HTTP/1.1 requests and reads plain text response bodies. There is no gRPC client library, no stub generation, and no streaming event loop in PeopleCode.

How to Bridge It

Instead of trying to force PeopleSoft to speak gRPC, we put a translation adapter in front of it. Common options include:

  • A Custom Microservice Adapter: Write a small Go, Node.js, or Python service that exposes a plain REST/JSON endpoint for PeopleSoft to call. This adapter handles the .proto stub compilation, establishes the gRPC channel, translates JSON to binary, handles stream buffering, and relays responses.
  • Envoy Gateway: Envoy has a built-in gRPC-JSON transcoder filter. You configure Envoy in front of your gRPC services, and it translates incoming REST/JSON calls from PeopleSoft into outbound gRPC calls.
  • API Gateway plugins: Products like Kong, AWS API Gateway, or Apigee have plugins specifically designed to handle gRPC transcoding.

In every version of this setup, PeopleSoft is isolated from the gRPC layer and only sees plain JSON over HTTPS.


Protocol Buffers, MessagePack, Avro, CBOR, Thrift

These are all binary serialization formats. They solve different problems—Protobuf is for structured schemas, MessagePack is a compact binary representation of JSON, Avro is common in Kafka/Hadoop ecosystems, CBOR is for IoT, and Thrift is a legacy RPC framework—but they all fail in PeopleSoft for the same reason: the wire format is raw bytes, not text.

Why They Do Not Work in IB

PeopleCode request and response objects are designed around strings. The target and listening connectors decode the body as text using a character encoding (like UTF-8). There is no native decoder for Protobuf integers, MessagePack type tags, Avro schema-driven binary, or Thrift compact data. Even if you bypassed the connector and read the raw bytes into a Java block in PeopleCode, there are no built-in libraries to parse them.

How to Bridge It

Translate these formats outside PeopleSoft. If an upstream system publishes Avro-encoded records, let a broker consumer or middleware decode it and post JSON to PeopleSoft. If a downstream system expects MessagePack, have PeopleSoft emit JSON and let a proxy re-encode it at the edge.

The translation overhead is real, but for the business transactions PeopleSoft handles (which are measured in thousands per hour, not millions of telemetries per second), the CPU cost is negligible.


GraphQL

GraphQL is a query language for APIs. Instead of hitting different URLs for different resources, clients send a query string—usually via JSON over HTTPS POST to a single endpoint—describing exactly the fields and nested objects they want. The server resolves the query against a typed schema.

Why IB Cannot Serve GraphQL Natively

The transport itself is fine (it is just JSON over HTTPS POST). The mismatch is at the model level:

  1. Routing Mismatch: In Integration Broker, a REST service operation maps a specific URL and HTTP method to exactly one request shape and one response shape. GraphQL does the opposite: one URL receives arbitrarily shaped query strings and returns dynamically shaped responses.
  2. Resolver Mismatch: The GraphQL model expects the server to evaluate a schema and execute a “resolver” function for every individual field on every type. Trying to write a GraphQL parser, schema validator, depth-limiter, and resolver execution engine in PeopleCode application classes is a recipe for a brittle, unmaintainable codebase.
  3. Transaction Boundaries: GraphQL mutations have transactional expectations across multiple fields that map poorly to PeopleSoft Component Interfaces, where each CI operates inside its own commit boundary.

Why IB-as-Client to GraphQL is Awkward but Possible

Technically, PeopleSoft can use HttpTargetConnector to POST a GraphQL query string as part of a JSON body and receive a JSON response.

This works fine for a handful of simple, static queries. But as queries grow, use fragments, or need dynamic variables, managing query strings in PeopleCode gets messy very quickly. You lose all the benefits of schema validation and type safety.

How to Bridge It

Build a GraphQL gateway (such as Apollo Server, GraphQL Yoga, or a custom Node/Go gateway) in front of PeopleSoft:

  • The gateway owns the schema definitions, validates query shapes, handles field-level authorization, and runs the resolver loop.
  • When a client queries the gateway, the gateway’s resolvers make simple, targeted REST/JSON calls into PeopleSoft’s standard service operations.
  • PeopleSoft sees a predictable, standard REST workload of simple GET and POST requests. The gateway handles the complexity of assembling the dynamic response.

Why Translation-at-the-Edge is the Right Pattern

It is reasonable to ask if translating everything to REST/JSON at the edge defeats the purpose of using gRPC or GraphQL in the first place.

In practice, the translation cost is trivial compared to the development and maintenance cost of trying to force these protocols into PeopleCode.

Here is why this separation is the cleanest design:

  • Wasted Capabilities: High-performance gRPC streaming and Protobuf zero-copy decoding are useless when the PeopleSoft side will buffer, allocate, and process everything sequentially in memory anyway. You do not lose anything PeopleSoft could have exploited.
  • Orchestration belongs at the Edge: If a GraphQL query requests dozens of fields across multiple records, a Node.js gateway can execute those PeopleSoft REST calls in parallel. Trying to manage that parallel orchestration inside PeopleCode would be a nightmare.
  • Future-Proofing: When the industry moves to the next wire format in five years, you only have to update your edge gateway. Your PeopleSoft REST APIs remain untouched.

Let PeopleSoft do what it is good at—acting as a stable database system of record. Let an external gateway Terminate the protocols.


Author Profile
Chris Malek

Chris Malek is a PeopleTools® Technical Consultant with over two decades of experience. He is available for consulting engagements.

Work with Chris
Subscribe to Updates
SWS Bolt-On
PeopleSoft Simple Web Services

SWS turns SQL into production REST APIs — ready for AI, modern apps, and partner integrations. One install, unlimited potential.

  • Configuration-driven, no coding required
  • JSON, XML, and CSV output
  • Works across all PeopleSoft pillars
  • Built on 25+ years of PeopleSoft expertise
Read More & Purchase
SWS Bolt-On
PeopleSoft Simple Web Services

A powerful PeopleSoft bolt-on that makes REST web services easy. You bring the SQL, SWS handles the rest.

  • Go from idea to production in minutes
  • Zero code migrations after install
  • JSON, XML, and CSV output supported
  • No PeopleCode or Integration Broker expertise required
Read More & Purchase
SWS Bolt-On
PeopleSoft Simple Web Services

Traditional PeopleSoft web services cost $3,600–$13,000 each to develop. SWS deploys production REST APIs in under 5 minutes through configuration alone.

  • No PeopleCode or Integration Broker expertise required
  • Works across Campus Solutions, HCM, and Financials
  • Built-in pagination, caching, and nested data structures
  • Trusted by institutions across higher education and government
Read More & Purchase
SWS Bolt-On
PeopleSoft Simple Web Services

Turn PeopleSoft data into clean REST APIs for AI integrations, modern applications, and vendor data feeds. Configuration-driven — no PeopleCode required.

  • Deploy production APIs in under 5 minutes
  • AI and LLM ready (RAG, chatbots, intelligent search)
  • JSON, XML, and CSV output
  • Zero modifications to delivered PeopleSoft objects
Read More & Purchase
psLens Platform
psLens Operations & Intelligence

Look up any record, field, page, or component, audit security, and monitor Integration Broker across every database — in seconds.

  • 30+ object types browsable
  • 16 real-time alert types
  • Read-only by design
  • No App Designer or SQL required
Learn More
psLens Platform
psLens Operations & Intelligence

A web console built for the PeopleSoft community — operational monitoring, security auditing, and metadata browsing in one tool.

  • Sub-second object search
  • Catch stuck IB messages before users do
  • Audit service permissions from one screen
  • Works in any browser
Learn More
psLens Platform
psLens Operations & Intelligence

On-demand security and operational reports for your PeopleSoft environment — no client install required.

  • 14 on-demand reports
  • Markdown export for AI/LLM workflows
  • No shared tenancy
  • Built on 25+ years of PeopleSoft expertise
Learn More
psLens Platform
psLens Operations & Intelligence

Research any PeopleSoft object and monitor system health from a single browser tab — no App Designer, no SQL.

  • 30+ PeopleSoft object types browsable
  • Real-time alerts before users report problems
  • Read-only and secure
  • Private alpha — early access now
Learn More