OMG CORBA 3.3 · GIOP · IIOP · POA · CCM · COS · IR · CSIv2

Coming from CORBA? ZeroDDS is the only pure-Rust stack that speaks both worlds.

Full OMG CORBA 3.3 family — GIOP wire, IIOP transport, POA, CCM components, COS Naming & Event, Interface Repository, CSIv2 security. The same .idl file also drives DDS 1.4 publishers and subscribers. Migrate, coexist or greenfield — your choice.

v1.0.0-rc.3 · 20+ CORBA crates, all Apache 2.0 · single codebase

Just need pub/sub? Open the DDS landing →

Decide

warum?

Why ZeroDDS for CORBA

Active maintenance, Apache 2.0, pure-Rust toolchain — and DDS in the same box.

  • Pure-Rust — no C++ build zoo
  • Apache 2.0 — not LGPL/GPL like omniORB/MICO/JacORB
  • Same .idl drives DDS + CORBA Wire
See the case
Migrate

wie umsteigen?

Migrate from TAO / omniORB / MICO / JacORB

Drop-in IDL, regenerated stubs, side-by-side until you flip the switch.

  • IDL files unchanged
  • POA, COS, IR — all present
  • Hybrid deploys via DDS4CCM bridge
Migration path
Coexist

CORBA + DDS?

DDS + CORBA from one codebase

Same workspace gives you both wire protocols, same language PSMs, same IDL.

  • DDS4CCM bridge — native
  • One PSM per language for both
  • No multi-vendor integration cost
See the bridge
Compare

gegen wen?

vs TAO+CIAO, omniORB, MICO, JacORB

Per-feature evaluation against every actively-maintained ORB plus the coexistence stacks.

  • Full CORBA-3.3 row coverage
  • DDS+CORBA coexistence sub-matrix
  • Per-cell footnotes, source links
Open the matrix
Decide · warum?

Why ZeroDDS for the CORBA world

The active-CORBA OSS stacks are TAO+ACE (BSD-ish, C++, Object Computing maintained), omniORB (LGPL+BSD, C++), MICO (GPL/LGPL, C++) and JacORB (LGPL, Java). All four are mature but all four also have hard mismatches with modern Rust toolchains, Apache-2.0 distribution requirements and modern build pipelines.

ZeroDDS implements the same OMG CORBA 3.3 specification natively in Rust. Over twenty crates cover GIOP, IIOP, POA, CCM, AMI4CCM, COS Naming/Event/Notification, transactions (OTS), trading, Real-Time CORBA, the Interface Repository, CSIv2 security and the full IDL → C++/Java/Rust code generation — verified interoperable live with JacORB, omniORB and TAO. Apache 2.0 throughout — no LGPL boundary to manage in proprietary deployments.

The unique angle: the same workspace also implements OMG DDS 1.4 with native RTPS 2.5 wire, plus the DDS4CCM bridge that wires CORBA components to DDS topics directly. Greenfield, migration and coexistence on one codebase.

Read the full Why — CORBA subsystem hub →
Migrate · wie umsteigen?

Migration from TAO / omniORB / MICO / JacORB

Migration to ZeroDDS does not touch your .idl files. The same OMG IDL 4.2 grammar drives ZeroDDS code generation; the generated stubs target the same C++ Annex A.1 or Java Annex A.4 ABI conventions your existing ORB clients expect. POA-style server skeletons, COS Naming bindings and Interface-Repository introspection are all present.

Typical migration phases:

  1. Side-by-side — generate ZeroDDS stubs from existing IDL into a new Cargo workspace; deploy as an additional service on the GIOP/IIOP bus next to your legacy ORB.
  2. Parallel — switch new modules to ZeroDDS while legacy modules keep their current ORB; both sides interoperate over standard IIOP.
  3. Cut-over — once all modules are migrated, retire the legacy ORB. Existing IDL contracts are preserved end-to-end.

Bonus during migration: since ZeroDDS' DDS side reuses the same IDL grammar, you can pick a long-running publish-subscribe stream and graduate it from a synchronous CORBA invocation to a DDS topic without changing the type schema.

Migration playbook in the CORBA hub →
Coexist · CORBA + DDS

DDS + CORBA from a single codebase

This is the position that no other actively-maintained stack covers from a single codebase with one IDL toolchain: full CORBA 3.3 (GIOP/IIOP/POA/CCM/COS/IR/CSIv2) and full DDS 1.4 (RTPS 2.5 wire, XTypes 1.3, DDS-Security 1.2, DDS-RPC 1.0) from the same workspace, the same language PSMs, the same IDL toolchain.

The bridge that ties both worlds together is DDS4CCM 1.1: a CCM component connector that exposes DDS topics as publish/subscribe ports inside a CORBA component. ZeroDDS implements DDS4CCM natively as a first-class crate, not as a sidecar daemon. A CCM component can have GIOP/IIOP method invocations on one port and DDS-Topic publish/subscribe on another — both wired through the same Component Container.

The alternatives require multi-vendor setups:

  • TAO + OpenDDS (both OCI) — a same-vendor pairing: TAO for CORBA, OpenDDS for DDS, technically coupled (OpenDDS requires TAO). But OpenDDS has no native CCM/DDS4CCM (those come from Remedy IT's CIAO/AXCIOMA) and no DLRL.
  • TAO+CIAO + OpenSplice — historically the canonical open-source path. OpenSplice has been frozen since ~2021 (ZettaScale steers users to Cyclone DDS).
  • TAO+CIAO + RTI Connext — works, but RTI Connext is proprietary and DDS-only; its CORBA add-on (the RTI CORBA Compatibility Kit) was removed in Connext 6.1.1, and DDS4CCM comes from Remedy IT.

ZeroDDS folds the two specs into one Cargo workspace with one set of language PSMs.

DDS4CCM bridge mapping →
Compare · gegen wen?

How ZeroDDS compares in the ORB market

Side-by-side against the actively-maintained ORBs, including the DDS+CORBA-coexistence stacks. Pure-CORBA comparison covers GIOP/IIOP wire, IOR, POA, COS Naming, Interface Repository, CSIv2 and IDL Annex-A code-gen. The coexistence sub-matrix adds DDS 1.4 nativ, CCM 4.0, AMI4CCM, COS Event Service, DDS4CCM, DLRL and Deployment & Configuration.

Each cell carries a footnote with the source (vendor docs, OMG specs, repo references); each vendor has an entry in Anhang A — Vendor-Quellen with version, documentation URL and license.

Open the full Vendor Matrix →
Bonus · DDS world

And the DDS side of the same workspace

If your migration path includes adding pub/sub semantics to legacy CORBA modules — or if a colleague needs the modern data-distribution side — the same ZeroDDS workspace ships a complete OMG DDS 1.4 implementation. Native RTPS 2.5 wire (interop with Cyclone DDS, Fast-DDS, RTI Connext), full XTypes 1.3 type system, DDS-Security 1.2 plug-in chain, DDS-RPC 1.0.

Same IDL grammar, same C++/Java/Rust/Python/C#/TypeScript PSMs, same code generator. The DDS and CORBA halves share the foundation crates (CDR encoding, XCDR2, IDL parser, type system).

Open the DDS landing →