The javax.orb.api module depends on org.wildfly.iiop-openjdk and org.jboss.as.transactions in order to allow the ORB to initialize using classes that the iiop-openjdk subsystem will configure.
But if there is no iiop-openjdk subsystem in the config, then no such configuration will occur. Which means the dependencies are optional.
This is meaningful because javax.orb.api is relatively widely used as an API module, both directly and via the org.omg.api and javax.rmi.api modules that 'wrap' it. When Galleon is trying to provision an optimized footprint server we don't want the mere fact that some required module has an API dependency on one of those to result in a big set of transitive dependencies. Marking the iiop-openjdk and transaction subsystem modules as optional dependencies as such will allow Galleon to decide not to provision them if the config doesn't specify them.