Chapter 13. ORB configuration
This chapter guides you through configuring the Object Request Broker (ORB) to support Java Transaction Service (JTS) and ensure secure communications via SSL/TLS in JBoss EAP.
13.1. Understanding Common Object Request Broker Architecture (CORBA)
Common Object Request Broker Architecture (CORBA) is a standard that allows applications and services to interoperate across different programming languages and platforms through a component called the Object Request Broker (ORB). JBoss EAP provides an ORB instance, by means of the Open JDK ORB component.
The ORB is used internally for JTS transactions, and is also available for use by your own applications.
The Object Transaction Service (OTS) is a cross-platform service that forms part of CORBA. The OTS specification is maintained by the Object Management Group. JTS is a specification for building a transaction manager, and JTS was designed based on the OTS specification.
Additional resources
13.2. Configuring the ORB for JTS using the management CLI and management console
This section provides steps to configure the Object Request Broker (ORB) for Java Transaction Service (JTS) using both the management CLI and management console in JBoss EAP. Configuring the ORB ensures robust transactional capabilities for distributed environments.
Prerequisites
- You have installed JBoss EAP.
- You have access to the management CLI and the management console with administrative privileges.
You can use this procedure in standalone or domain mode. If you decide to use standalone mode, then please do not use the profile=full
prefix and use standalone-full.xml
configuration.
Enable security interceptors:
Using the management CLI, execute the following command to set the
security
attribute toidentity
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow /profile=full/subsystem=iiop-openjdk:write-attribute(name=security,value=identity)
/profile=full/subsystem=iiop-openjdk:write-attribute(name=security,value=identity)
Alternatively, using the management console:
- Navigate to the Configuration tab.
-
Select Subsystems
IIOP (OpenJDK) View. - Click Edit, modify the attributes as needed, and click Save.
Enable transactions in the IIOP subsystem:
To enable ORB for JTS, set the
transactions
attribute tofull
using the CLI:Copy to Clipboard Copied! Toggle word wrap Toggle overflow /profile=full/subsystem=iiop-openjdk:write-attribute(name=transactions,value=full)
/profile=full/subsystem=iiop-openjdk:write-attribute(name=transactions,value=full)
In the management console:
-
Navigate to Subsystems
IIOP (OpenJDK) View. - Click Edit, modify the attributes as needed, and click Save.
-
Navigate to Subsystems
Enable JTS in the Transactions subsystem:
Using the CLI, set the
jts
attribute totrue
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow /profile=full/subsystem=transactions:write-attribute(name=jts,value=true)
/profile=full/subsystem=transactions:write-attribute(name=jts,value=true)
In the management console:
-
Navigate to Subsystems
Transactions View. - Click Edit, modify the attributes as needed, and click Save.
-
Navigate to Subsystems
Restart the server:
A full server restart is required to activate JTS, as a simple reload is insufficient.
Verification
Verify the configuration using the CLI by reading the attribute settings:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /profile=full/subsystem=iiop-openjdk:read-resource
/profile=full/subsystem=iiop-openjdk:read-resource
- Alternatively, check the updated attributes in the management console after the server restart.
13.3. Configuring IIOP to use SSL/TLS
You can configure the iiop-openjdk
subsystem to use SSL/TLS for secure communication between clients and servers. The steps below outline how to configure SSL/TLS for the IIOP subsystem.
Prerequisites
- You have installed JBoss EAP.
- You have access to the management CLI or management console with administrative privileges.
Procedure
Create a
server-ssl-context
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow /subsystem=elytron/server-ssl-context=<server-ssl-context_name>:add(key-manager=<key-manager_name>, protocols=<list_of_protocols>)
/subsystem=elytron/server-ssl-context=<server-ssl-context_name>:add(key-manager=<key-manager_name>, protocols=<list_of_protocols>)
For a working example of creating a
server-ssl-context
, please refer to the latest JBoss EAP security guide: Configuring SSL/TLS in JBoss EAP guide.To use SSL/TLS with the
iiop-openjdk
subsystem, you need to define aserver-ssl-context
. JBoss EAP uses the configuration provided by theserver-ssl-context
when making an SSL/TLS connection as a server. You can find more information aboutserver-ssl-context
attributes in the Configuring SSL/TLS in JBoss EAP guide.Create a
client-ssl-context
. For example:Copy to Clipboard Copied! Toggle word wrap Toggle overflow /subsystem=elytron/client-ssl-context=exampleCSC:add(key-manager=applicationKM, protocols=["TLSv1.2"])
/subsystem=elytron/client-ssl-context=exampleCSC:add(key-manager=applicationKM, protocols=["TLSv1.2"])
To use SSL/TLS with the
iiop-openjdk
subsystem, you need to define aclient-ssl-context
. JBoss EAP uses the configuration provided by theclient-ssl-context
when making an SSL/TLS connection as a client. You can find more details on creating aclient-ssl-context
in Using a client-ssl-context in the How to Configure Server Security guide.NotePlease note that this link directs you to the JBoss EAP security guide for JBoss EAP 7.4. We are currently in the process of updating the documentation for Red Hat JBoss Enterprise Application Platform 8.0. This link will be updated once the new documentation is complete.
Configure the
iiop-openjdk
subsystem to use theclient-ssl-context
andserver-ssl-context
.Example: Setting
client-ssl-context
andserver-ssl-context
Copy to Clipboard Copied! Toggle word wrap Toggle overflow batch /subsystem=iiop-openjdk:write-attribute(name=client-ssl-context,value=iiopClientSSC) /subsystem=iiop-openjdk:write-attribute(name=server-ssl-context,value=iiopServerSSC) run-batch reload
batch /subsystem=iiop-openjdk:write-attribute(name=client-ssl-context,value=iiopClientSSC) /subsystem=iiop-openjdk:write-attribute(name=server-ssl-context,value=iiopServerSSC) run-batch reload
Configure the connection to and from the
iiop-openjdk
subsystem.You can indicate whether or not SSL/TLS connections are required when connecting to and from the
iiop-openjdk
subsystem by adjusting the following attributes:-
To enable support for SSL in the
iiop-openjdk
subsystem, setsupport-ssl
totrue
. Defaults tofalse
. -
To require SSL/TLS connections from the
iiop-openjdk
subsystem, setclient-requires-ssl
totrue
. Defaults tofalse
. -
To require SSL/TLS connections to the
iiop-openjdk
subsystem, setserver-requires-ssl
totrue
. Defaults tofalse
. Note that setting this totrue
will block attempts to connect to the non-SSL IIOP socket. -
To adjust the
socket-binding
, setssl-socket-binding
to the desired binding. Defaults toiiop-ssl
.
Example: Setting SSL/TLS Connections to and from IIOP as Required
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /subsystem=iiop-openjdk:write-attribute(name=support-ssl,value=true) /subsystem=iiop-openjdk:write-attribute(name=client-requires-ssl,value=true) /subsystem=iiop-openjdk:write-attribute(name=server-requires-ssl,value=true) /subsystem=iiop-openjdk:write-attribute(name=ssl-socket-binding,value=iiop-ssl) reload
/subsystem=iiop-openjdk:write-attribute(name=support-ssl,value=true) /subsystem=iiop-openjdk:write-attribute(name=client-requires-ssl,value=true) /subsystem=iiop-openjdk:write-attribute(name=server-requires-ssl,value=true) /subsystem=iiop-openjdk:write-attribute(name=ssl-socket-binding,value=iiop-ssl) reload
-
To enable support for SSL in the