1⟩ What is Orbix?
Orbix is a CORBA ORB (Object Resource Broker) - a commercial software product which helps programmers build distributed applications. Orbix is an implementation of the OMG's (Object Management Group) CORBA Specification.
“Orbix frequently Asked Questions in various Orbix job Interviews by interviewer. Get preparation of Orbix job interview”
Orbix is a CORBA ORB (Object Resource Broker) - a commercial software product which helps programmers build distributed applications. Orbix is an implementation of the OMG's (Object Management Group) CORBA Specification.
The Orbix Connect resource adapter is packaged as a standard J2EE Connector Architecture resource adapter archive (RAR) file, corbaconn.rar. The corbaconn.rar file contains all the classes and resources that Orbix Connect needs to manage the connections between J2EE applications and CORBA systems. CORBA capabilities are embedded within this RAR file and include a fully functional, pre-configured standalone client instance of Orbix, IONA's market-leading ORB.
Orbix provides the following configuration settings to limit the number of connections to and from a service:
★ plugins:iiop:incoming_connections:soft_limit
★ plugins:iiop:incoming_connections:hard_limit
★ plugins:iiop:outgoing_connections:soft_limit
★ plugins:iiop:outgoing_connections:hard_limit
The itconfigure utility uses Log4J logging. This is configured in the properties file:
<ORBIX_INSTALL_DIR>asp6.3 emplatesetclog4jlog4j.properties.
To configure debug logging level, change the first line of the properties file from:
log4j.rootLogger=ERROR, A1
to
log4j.rootLogger=DEBUG, A1
The above change writes debug logging to the console. The logging output can be redirected to a file by adding the following lines to the log4j.properties file:
logDir = C:/temp
log4j.appender.A1.File=${logDir}/itconfigure.log
Orbix logging is configured through the event_log filters. These sequences of variables set the logging level for each of Orbix's subsystem. For example, the following configures the IT_POA subsystem to display only error messages:
event_log:filters = ["IT_POA=ERROR"];
Similarly, the following sets the IT_POA subsystem to display only error messages and also the IT_PSS_DB subsystem to display only warning, error and fatal messages:
event_log:filters = ["IT_POA=ERROR", "IT_PSS_DB=WARN+ERROR+FATAL"];
An asterisk can be used as a wildcard character, either to specify all subsystems, or all message levels. For example, the following configures the IT_POA subsystem to display all messages:
event_log:filters = ["IT_POA=*"];
Similarly, the following configures all subsystems to display all messages:
event_log:filters = ["*=*"];
If unconfigured, a subsystem will display no messages.
The variables in the thread_pool namespace specify policies that configure multi-threading. This namespace includes the following variables:
high_water_mark
high_water_mark specifies the maximum number of threads allowed in the thread pool. Defaults to -1, which means that there is no limit on the maximum number of threads.
initial_threads
initial_threads specifies the number of initial threads in the thread pool.
Defaults to the low_water_mark thread limit (or 5, if the low_water_mark is not set).
low_water_mark
low_water_mark specifies the minimum number of threads in the thread pool. If this variable is set, the ORB will terminate unused threads until only this number exists. The ORB can then create more threads, if needed, to handle the items in its work queue. Defaults to -1,which means do not terminate unused threads.
max
max sets the maximum number of threads that are available for JMS message processing.
max_queue_size
max_queue_size specifies the maximum number of request items that can be queued on the ORB's internal work queue. If this limit is exceeded, Orbix considers the server to be overloaded, and gracefully closes down connections to reduce the load. The ORB will reject subsequent requests until there is free space in the work queue. Defaults to -1, which means that there is no upper limit on the size of the request queue. In this case, the maximum work queue size is limited by how much memory is available to the process.
stack_size
stack_size sets the ORB's internal threads stack size. This is only available in the C++ ORB; the Java API does not allow manipulation of the thread stack size.
Orbix 3.3 uses a license code, not a license file.
There are three product sets for Orbix 3.3, each with it's own license code: Java, C++, or OTS.
The licenses codes have the form: 00000000-11111111-22222222-33333333-44444444
When prompted, provide the codes to the installer.
If licensed Orbix commands like idl or orbixd fail to run, the license may have been entered incorrectly.
To reinstall a license code after the initial installation is completed, run:
UNIX:
Install_license <app> <license code>
Windows:
License.exe <app> <license code>
When configuring the Orbix domain provide the "-multihome" switch to itconfigure command followed by the DNS network alias of the hostname, e.g.
itconfigure -multihome <network alias hostname>
The IORs generated for the Orbix services configured in the Orbix domain will contain the "network alias hostname" rather than the physical hostname.
When running itconfigure and creating the Orbix domain in non-GUI mode use the "-hostnamePolicy" parameter to specify the address mode policy for IORs. The hostnamePolicy value can be one of the following:
ip (IP addresses)
localhost ('localhost'),
localhost_ip ('127.0.0.1'),
long (fully qualified hostname),
short (unqualified hostname-the default).
When running itconfigure and creating the Orbix domain in GUI mode use the "Address Mode Policy for Object References" setting in the first step (Domain Defaults) of itconfigure one of the above values can be selected.
Use the hostnamePolicy "long" for generating fully qualified hostnames in IORs.
Orbix can be instructed to publish corbaloc style references instead of IORs for the Orbix services through the "-corbalocs true" switch to the itconfigure command line tool when configuring an Orbix domain.
When using the itconfigure GUI ensure to check the "Use Corbalocs" check-box in the itconfigure GUI. This setting is only available in the "Domain Details" step when running the itconfigure GUI tool in expert mode (File->New->Expert).
Orbix 3 clients do not automatically close the connection to the Orbix daemon. These connections need to be closed explicitly.
Orbix 3 Java provides the IT_KEEP_ALIVE_FORWARDER_CONNECTION configuration variable which can be set to false in order to close the connection to the Orbix daemon.
The variable that sets the timeout Orbix config is:
relative_roundtrip_timeout
Product downloads are awailable through the Micro Focus EPD (Electronic Product Delivery) portal.
Any versions of Orbix do not support Oracle JRockit Java Virtual Machine.
Orbix Web Services does not include locator functionality for web services endpoints.
An event service supplier program performs the following actions:
1) Instantiates suppliers using the appropriate interface in module CosEventComm
2) Connects suppliers to the event channel
3) Sends event messages to the event channel
4) Disconnects from the event channel
An event service consumer program performs the following actions:
1) Instantiates consumers with the appropriate CosEventComm interface
2) Connects consumers to the event channel
3) Obtains event messages
4) Disconnects from the event channel
Orbix does not impose a size limit on the messages sent from Client to Server. The size of the message is influenced by how the application has defined the message in the Interface Definition Language (IDL) used by the server and client.
Orbix does not provide any tools to remove empty or surplus empty lines from an Orbix configuration file.
Using a text editor for example Notepad++ (http://notepad-plus-plus.org/) with the TextFX plugin installed (Plugins->Plugin Manager->Show Plugin Manager and install TextFX plugin), you can simply load the configuration file, mark all text (Ctrl+A), then select menu TextFX->TextFX Edit->Delete Surplus Blank Lines.
This removes all surplus empty lines.
Because Orbix 6 has no equivalent to the Orbix 3 I/O Callback functionality, you must migrate any code that uses it. Orbix 6 does not allow access to TCP/IP sockets or transport-level information, this is not compatible with the Orbix 6 architecture.
Orbix 6.3.6 is the first Service Pack of Orbix to include support for Java 7. Support for Java 7 is provided for Orbix 3.3.12 in Q2 2013.