Gateway

PoCAT Gateway_

Netty-backed HTTP connectors plus XML-declared routes, Servit-hosted handlers, filters, outbound channels, and EIP-friendly wiring—matching the OSS gateway tarball layout—not a solitary reverse proxy tier.

Architecture

Operational layout

ServiceContainers encapsulate transports: connectors ingest traffic, routers and processors evaluate patterns, Servits serve deliveries, and outbound adaptors integrate HTTP, MQTT, or broker channels.

Channel handoff
Servit.handle publishes the next message on an outbound channel.
  • Configurable templates & serializers
  • Custom filters + upstream HTTP clients
  • Enterprise file drops via outbound channels
  • Composable Servits for bespoke protocols
Deploy binding
A binding maps a messagebus URI to the channel a Servit subscribes to.
  • Deploy bindings map a messagebus URI to a channel
  • Configurable upstream endpoints
  • Operational logging per worker pool
  • Channel-level retries delegated to EIP patterns
Servit step
A Servit does not run an auth or rate-limit chain before handle.
  • init(ServitConfig)
  • handle(ServitMessage)
  • channel.publish
  • Monitoring & analytics

Gateway Flow Architecture

Inbound message
Inbound binding
Servit.handle
channel.publish
Next service
Configuration

Gateway Configuration

Publish service.xml under services//, deploy XML under config/services//deploy/, and bus XML under contexts/messagebus/.

Basic Gateway Configuration

Start with a minimal configuration to get your gateway up and running quickly.

Server Configuration
Configure port, host, and basic server settings
Environment Provider
Set up connection to your environment resources
Logging Configuration
Configure logging levels and output formats
# config/services/<node>.xml
<node>
<worker-num>256</worker-num>
services/<service>/service.xml
config/services/<node>/deploy/<service>.xml
services/<service>/libs/<service>.jar
</node>
# Message bus connection and endpoint
contexts/messagebus/endpoints/group1/endpoint1.xml
# Bindings use messagebus://endpoint1/...
Performance

Gateway Performance

Built on Netty framework with asynchronous processing for maximum throughput and minimal latency.

Measure*
Profile on your JVM + HW
High throughput*
Throughput depends on workloads*
SLA*
Depends on infra
Manual ops
Scaling

Technical Specifications

Runtime Environment

  • • Java runtime via bin/launch.sh
  • • Netty 4.1+ framework
  • • Minimum 2GB RAM
  • • 4+ CPU cores recommended
  • • Linux/Windows/macOS support

Supported Protocols

  • • messagebus endpoints
  • • RabbitMQ connection profiles
  • • RabbitMQ connections in contexts/messagebus
  • • messagebus://endpoint1 bindings
  • • exchange name on the endpoint file

Integration Features

  • • services/<service>/libs/<service>.jar
  • • contexts/messagebus connections and endpoints
  • • ServitException and ErrorCode
  • • dead-letter channel in deploy.xml
  • • inbound and outbound channel bindings
Enterprise Benefits

Unlock Enterprise Value with Pocat Gateway

Empower your organization with a next-generation Gateway designed for enterprise-grade performance, security, and scalability.

Unified Integration
Seamlessly connect heterogeneous systems and data sources across your enterprise.
Streaming Pipelines
Real-time data ingestion and processing for mission-critical applications.
High Performance
A Servit handles one message, then publishes the next channel.
Legacy Support
Seamlessly integrate legacy systems with modern APIs and protocols.
Modular Design
Customize and extend the gateway with a flexible plugin architecture.
AI Transformation
Unlock the power of AI with intelligent routing and data enrichment capabilities.
Quick Start

Deploy Your Gateway

Get your Pocat Gateway running in minutes with our simple deployment options.

Start the node

# Pull and run Pocat Gateway
bin/launch.sh
# from the deployment root
# runs pocat-launcher.jar
# keep config, contexts, and services together
# a service jar lives in services/<service>/libs
java -jar pocat-launcher.jar
# one node deploy runs one service
bin/launch.sh runs pocat-launcher.jar
Keep config, contexts, and services together
Service code is services/<service>/libs

Kubernetes Deployment

# config/services/<node>.xml
# Node file: config/services/<node>.xml
<node>
<worker-num>256</worker-num>
</node>
# Tune worker pool & access logging via XML knobs
bin/launch.sh
Set worker-num on the node file
One deploy file runs one service
Channels connect services on the message bus