orbix administrator’s guide · 2020. 11. 27. · trd_type unmask..... 266. x orbix...

320
Orbix 6.3.12 Administrator’s Guide

Upload: others

Post on 29-Jan-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

  • Orbix 6.3.12

    Administrator’s Guide

  • ii

    Micro FocusThe Lawn22-30 Old Bath RoadNewbury, Berkshire RG14 1QNUK

    http://www.microfocus.com© Copyright 2014-2020 Micro Focus or one of its affiliates.

    MICRO FOCUS, the Micro Focus logo and Orbix are trademarks or registered trademarks of Micro Focus or one of its affiliates.

    All other marks are the property of their respective owners.

    2020-11-27

  • Contents

    Preface ....................................................................................... 1Contacting Micro Focus .....................................................................................3

    Part I IntroductionThe Orbix Environment ............................................................... 7

    Basic CORBA Model ..........................................................................................7Simple Orbix Application ...................................................................................8

    Portable Object Adapter ............................................................................9Broader Orbix Environment ............................................................................. 10

    Managing Object Availability .................................................................... 10Scaling Orbix Environments with Configuration Domains ............................. 12Using Dynamic Orbix Applications ............................................................ 13

    Orbix Administration ....................................................................................... 14

    Selecting an Orbix Environment Model ..................................... 15Orbix Development Environment Models ........................................................... 15

    Independent Development Environments .................................................. 15Distributed Development and Test Environments ........................................ 17

    Configuration Models ...................................................................................... 18Getting the Most from Your Orbix Environment ................................................... 20

    Using Capabilities of Well-Designed Orbix Applications ................................ 20Using the Right Data Storage Mechanism .................................................. 21

    Getting the Most from Orbix Configuration ......................................................... 21

    Part II Managing an Orbix EnvironmentManaging Orbix Configuration .................................................. 25

    How an ORB Gets its Configuration ................................................................... 25Locating the Configuration Domain ........................................................... 27Obtaining an ORB’s Configuration ............................................................. 28

    Configuration Variables and Namespaces ........................................................... 33Managing Configuration Domains ..................................................................... 34

    Managing Persistent CORBA Servers ........................................ 37Introduction .................................................................................................. 37Registering Persistent Servers .......................................................................... 37Server Environment Settings ........................................................................... 41

    Windows Environment Settings ................................................................ 41UNIX Environment Settings ..................................................................... 41

    Managing a Location Domain ........................................................................... 42Managing Server Processes ..................................................................... 43Managing the Locator Daemon ................................................................. 43Managing Node Daemons ........................................................................ 45Listing Location Domain Data .................................................................. 47Modifying a Location Domain ................................................................... 47Ensuring Unique POA Names ................................................................... 48

    Orbix Administrator’s Guide i i i

  • Using Direct Persistence ..................................................................................49CORBA Applications ................................................................................49Orbix Services .......................................................................................52

    Configuring Scalable Applications .............................................55Fault Tolerance and Replicated Servers ..............................................................55

    About Replicated Servers ........................................................................56Automatic Replica Failover .......................................................................57Direct Persistence and Replica Failover ......................................................58

    Building a Replicated Server ............................................................................60Example 1: Building a Replicated Server to Start on Demand .......................61Example 2: Updating a Replicated Server ..................................................63Example 3: Dynamically Changing the Load Balancing Algorithm ..................63

    Replicating Orbix Services ...............................................................................64PSS Master-Slave Replication ...................................................................66

    Active Connection Management ........................................................................69Setting Buffer Sizes ........................................................................................70

    Managing the Naming Service ...................................................73Naming Service Administration .........................................................................73

    Naming Service Commands .....................................................................74Controlling the Naming Service ........................................................................74Building a Naming Graph .................................................................................75

    Creating Naming Contexts .......................................................................76Creating Name Bindings ..........................................................................76

    Maintaining a Naming Graph ............................................................................78Managing Object Groups .................................................................................78

    Managing an Interface Repository ............................................81Interface Repository .......................................................................................81Controlling the Interface Repository Daemon ......................................................81Managing IDL Definitions .................................................................................82

    Browsing Interface Repository Contents ....................................................82Adding IDL Definitions ............................................................................83Removing IDL Definitions ........................................................................84

    Managing the Firewall Proxy Service ........................................87Orbix Firewall Proxy Service .............................................................................87Configuring the Firewall Proxy Service ...............................................................87Known Restrictions .........................................................................................90

    Managing Orbix Service Databases ...........................................91Berkeley DB Environment ................................................................................91Performing Checkpoints ...................................................................................92Managing Log File Size ....................................................................................92Troubleshooting Persistent Exceptions ...............................................................93Database Recovery for Orbix Services ...............................................................94Replicated Databases ......................................................................................97

    Configuring Orbix Compression ................................................99Introduction ..................................................................................................99Configuring Compression ............................................................................... 100Example Configuration .................................................................................. 102Message Fragmentation ................................................................................. 104

    iv Orbix Administrator ’s Guide

  • Configuring Advanced Features .............................................. 105Configuring Java NIO .................................................................................... 105Configuring Internet Protocol Version 6 ........................................................... 106Configuring Shared Memory .......................................................................... 109Configuring Bidirectional GIOP ....................................................................... 110Enabling Bidirectional GIOP ........................................................................... 111

    Migration and Interoperability Issues ...................................................... 113

    Orbix Mainframe Adapter ....................................................... 115CICS and IMS Server Adapters ...................................................................... 115Using the Mapping Gateway Interface ............................................................. 116Locating Server Adapter Objects Using itmfaloc ................................................ 118

    Part III Monitoring Orbix ApplicationsConfiguring Orbix Logging ...................................................... 123

    Setting Logging Filters .................................................................................. 123Logging Subsystems ..................................................................................... 124Logging Severity Levels ................................................................................ 126Configuring Log Output ................................................................................. 127Dynamic Logging ......................................................................................... 129

    Monitoring GIOP Message Content ......................................... 131Introduction to GIOP Snoop ........................................................................... 131Configuring GIOP Snoop ............................................................................... 131GIOP Snoop Output ...................................................................................... 133

    Debugging IOR Data ............................................................... 139IOR Data Formats ........................................................................................ 139Using iordump ............................................................................................. 140iordump Output ........................................................................................... 141

    Stringified Data Output ......................................................................... 144ASCII-Hex Data Output ........................................................................ 144

    Data, Warning, Error and, Information Text ..................................................... 145Errors ................................................................................................ 145Warnings ............................................................................................ 147

    Part IV Command ReferenceStarting Orbix Services ........................................................... 151

    Starting and Stopping Configured Services ...................................................... 151Starting Orbix Services Manually .................................................................... 151

    itconfig_rep run.................................................................................... 152itlocator run......................................................................................... 153itnode_daemon run............................................................................... 154itnaming run ........................................................................................ 155itifr run ............................................................................................... 157itevent run........................................................................................... 158itnotify run .......................................................................................... 159

    Stopping Services Manually ........................................................................... 159

    Event Log ............................................................................... 161logging get .......................................................................................... 161

    Orbix Administrator ’s Guide v

  • logging set ........................................................................................... 161

    Managing Orbix Services With itadmin ...................................163Using itadmin .............................................................................................. 163Command Syntax ......................................................................................... 165Services and Commands ............................................................................... 167

    Configuration Domain .............................................................169Configuration Repository ............................................................................... 169

    config dump ......................................................................................... 169config list_servers ................................................................................. 170config show_server ............................................................................... 170config stop ........................................................................................... 170file_to_cfr.tcl ........................................................................................ 171

    Namespaces ................................................................................................ 171namespace create ................................................................................. 172namespace list...................................................................................... 172namespace remove ............................................................................... 173namespace show................................................................................... 173

    Scopes ........................................................................................................ 174scope create......................................................................................... 174scope list ............................................................................................. 174scope remove ....................................................................................... 174scope show .......................................................................................... 175

    Variables ..................................................................................................... 175variable create...................................................................................... 175variable modify..................................................................................... 177variable remove.................................................................................... 177variable show ....................................................................................... 178

    Event Service ..........................................................................179Event Service Management ............................................................................ 179

    event show .......................................................................................... 179event stop............................................................................................ 180

    Event Channel ............................................................................................. 180ec create.............................................................................................. 181ec create_typed .................................................................................... 181ec list .................................................................................................. 181ec remove............................................................................................ 182ec remove_typed .................................................................................. 182ec show ............................................................................................... 182ec show_typed...................................................................................... 183

    Interface Repository ...............................................................185IDL Definitions ............................................................................................. 185

    idl -R=-v.............................................................................................. 185Repository Management ................................................................................ 185

    ifr cd ................................................................................................... 186ifr destroy_contents .............................................................................. 186ifr ifr2idl .............................................................................................. 186ifr list .................................................................................................. 187ifr pwd................................................................................................. 187ifr remove............................................................................................ 187ifr show ............................................................................................... 187ifr stop ................................................................................................ 187

    vi Orbix Administrator ’s Guide

  • Location Domain ..................................................................... 189Locator Daemon .......................................................................................... 189

    locator heartbeat_daemons.................................................................... 189locator list ........................................................................................... 190locator show ........................................................................................ 190locator stop ......................................................................................... 190

    Named Key ................................................................................................. 191named_key create ................................................................................ 191named_key list..................................................................................... 192named_key remove .............................................................................. 192named_key show.................................................................................. 192

    Node Daemon ............................................................................................. 192node_daemon list ................................................................................. 193node_daemon remove........................................................................... 193node_daemon show .............................................................................. 193node_daemon stop ............................................................................... 194add_node_daemon.tcl ........................................................................... 194

    ORB Name .................................................................................................. 195orbname create .................................................................................... 195orbname list ........................................................................................ 195orbname modify ................................................................................... 196orbname remove .................................................................................. 196orbname show ..................................................................................... 197

    POA ........................................................................................................... 197poa create ........................................................................................... 197poa list................................................................................................ 199poa modify .......................................................................................... 200poa remove ......................................................................................... 201poa show............................................................................................. 202

    Server Process ............................................................................................ 202process create...................................................................................... 203process disable..................................................................................... 205process enable ..................................................................................... 205process kill .......................................................................................... 205process list .......................................................................................... 205process modify ..................................................................................... 206process remove.................................................................................... 209process show ....................................................................................... 209process start ........................................................................................ 210process stop ........................................................................................ 210

    Mainframe Adapter ................................................................. 211mfa add .............................................................................................. 212mfa change.......................................................................................... 212mfa delete ........................................................................................... 213mfa -help ............................................................................................ 213mfa list ............................................................................................... 213mfa refresh.......................................................................................... 213mfa reload ........................................................................................... 213mfa resetcon........................................................................................ 213mfa resolve.......................................................................................... 214mfa save ............................................................................................. 214mfa stats............................................................................................. 214mfa stop.............................................................................................. 215mfa switch........................................................................................... 215

    Orbix Administrator ’s Guide vii

  • Naming Service .......................................................................217Names ........................................................................................................ 217

    ns bind ................................................................................................ 217ns list .................................................................................................. 218ns list_servers ...................................................................................... 218ns newnc ............................................................................................. 218ns remove............................................................................................ 219ns resolve ............................................................................................ 219ns show_server..................................................................................... 219ns stop ................................................................................................ 219ns unbind............................................................................................. 220

    Object Groups .............................................................................................. 220nsog add_member ................................................................................ 220nsog bind............................................................................................. 221nsog create .......................................................................................... 221nsog list............................................................................................... 222nsog list_members ................................................................................ 222nsog modify ......................................................................................... 222nsog remove ........................................................................................ 223nsog remove_member ........................................................................... 223nsog set_member_timeout ..................................................................... 223nsog show_member .............................................................................. 224nsog update_member_load .................................................................... 224

    Notification Service .................................................................225Notification Service Management .................................................................... 225

    notify checkpoint................................................................................... 225notify post_backup................................................................................ 226notify pre_backup ................................................................................. 226notify show .......................................................................................... 226notify stop ........................................................................................... 227

    Event Channel ............................................................................................. 227nc create ............................................................................................. 228nc list .................................................................................................. 228nc remove............................................................................................ 229nc show............................................................................................... 229nc set_qos ........................................................................................... 230

    Object Transaction Service .....................................................233tx begin ............................................................................................... 233tx commit ............................................................................................ 233tx resume ............................................................................................ 234tx rollback............................................................................................ 234tx suspend ........................................................................................... 234

    Object Transaction Service Encina ..........................................237encinalog add ....................................................................................... 238encinalog add_mirror............................................................................. 238encinalog create ................................................................................... 239encinalog display .................................................................................. 239encinalog expand .................................................................................. 240encinalog init........................................................................................ 240encinalog remove_mirror ....................................................................... 241otstm stop ........................................................................................... 241

    Persistent State Service ..........................................................243pss_db archive_old_logs ........................................................................ 244

    viii Orbix Administrator ’s Guide

  • pss_db checkpoint ................................................................................ 244pss_db delete_old_logs ......................................................................... 244pss_db list_replicas............................................................................... 244pss_db name ....................................................................................... 245pss_db post_backup.............................................................................. 245pss_db pre_backup............................................................................... 245pss_db remove_replica.......................................................................... 245pss_db show ........................................................................................ 246

    Key Distribution Management ................................................. 247Logging On ................................................................................................. 248

    admin_logon ........................................................................................ 248Managing Checksum Entries .......................................................................... 249

    checksum confirm................................................................................. 249checksum create .................................................................................. 249checksum list ....................................................................................... 250checksum new_pw................................................................................ 250checksum remove................................................................................. 250

    Managing Pass Phrases ................................................................................. 251kdm_adm change_pw ........................................................................... 251kdm_adm confirm................................................................................. 252kdm_adm create .................................................................................. 252kdm_adm list ....................................................................................... 252kdm_adm new_pw................................................................................ 253kdm_adm remove................................................................................. 253

    Trading Service ...................................................................... 255Trading Service Administrative Settings ........................................................... 255

    trd_admin get ...................................................................................... 255trd_admin set ...................................................................................... 257trd_admin stop..................................................................................... 258

    Federation Links .......................................................................................... 259trd_link create...................................................................................... 259trd_link list .......................................................................................... 260trd_link modify..................................................................................... 260trd_link remove.................................................................................... 261trd_link show ....................................................................................... 261

    Regular Offers ............................................................................................. 261trd_offer list......................................................................................... 261trd_offer remove .................................................................................. 263trd_offer show...................................................................................... 263

    Proxy Offers ................................................................................................ 263trd_proxy list ....................................................................................... 263trd_proxy remove................................................................................. 264trd_proxy show .................................................................................... 264

    Type Repository ........................................................................................... 264trd_type list ......................................................................................... 265trd_type mask...................................................................................... 265trd_type remove................................................................................... 265trd_type show...................................................................................... 265trd_type unmask .................................................................................. 266

    Orbix Administrator ’s Guide ix

  • Part V AppendicesOrbix Windows Services .........................................................269

    Managing Orbix Services on Windows .............................................................. 269Orbix Windows Service Commands ................................................................. 269

    continue .............................................................................................. 270help .................................................................................................... 270install .................................................................................................. 270pause .................................................................................................. 270prepare ............................................................................................... 271query .................................................................................................. 271run...................................................................................................... 271stop .................................................................................................... 271uninstall............................................................................................... 271

    Orbix Windows Service Properties ................................................................... 271Running Orbix Windows Services .................................................................... 271Logging Orbix Windows Services .................................................................... 272Uninstalling Orbix Windows Services ............................................................... 273Troubleshooting Orbix/Windows Services ......................................................... 274

    Run Control Scripts for Unix Platforms ...................................275Solaris ........................................................................................................ 275AIX ............................................................................................................ 278HP-UX ......................................................................................................... 280Red Hat Linux .............................................................................................. 283

    ORB Initialization Settings ......................................................287Domains directory ................................................................................. 287Domain name....................................................................................... 288Configuration directory .......................................................................... 288ORB name............................................................................................ 288Initial reference .................................................................................... 289Default initial reference.......................................................................... 289Product directory .................................................................................. 289

    Development Environment Variables ......................................291IT_IDL_CONFIG_FILE ............................................................................ 291IT_IDLGEN_CONFIG_FILE ...................................................................... 291

    Named Keys for Orbix Services ...............................................293Orbix Service Named Key Strings ................................................................... 293Configuration for Advertising Services ............................................................. 294

    Glossary ..................................................................................295

    Index ......................................................................................301

    x Orbix Administrator ’s Guide

  • PrefaceIntroductionOrbix is a software environment for building and integrating distributed object-oriented applications. Orbix provides a full implementation of the Common Object Request Broker Architecture (CORBA) from the Object Management Group (OMG). Orbix is compliant with version 2.6 of the OMG’S CORBA specification. This guide explains how to configure and manage the components of an Orbix environment.

    AudienceThis guide is aimed at administrators managing Orbix environments, and programmers developing Orbix applications.

    OrganizationThis guide is divided into the following parts:

    • Introduction introduces the Orbix environment, and the basic concepts required to understand how it works.

    • Managing an Orbix Environment explains how to manage each component of an Orbix environment. It provides task-based information and examples.

    • Command Reference provides a comprehensive reference for all Orbix configuration variables and administration commands.

    • Appendices explain how to use Orbix components as Windows NT services. They also provide reference information for initialization parameters and environment variables.

    Related documentationOrbix documentation also includes the following related books:

    • Management User’s Guide

    • Deployment Guide

    • CORBA Programmer’s Guide

    • CORBA Programmer’s Reference

    • CORBA Code Generation Toolkit Guide

    Orbix Administrator’s Guide 1

  • Document conventionsThis guide uses the following typographical conventions:

    The following keying conventions are observed:

    Constant width Constant width font in normal text represents commands, portions of code and literal names of items (such as classes, functions, and variables). For example, constant width text might refer to the itadmin orbname create command.Constant width paragraphs represent information displayed on the screen or code examples. For example the following paragraph displays output from the itadmin orbname list command:ifrnamingproduction.test.testmgrproduction.server

    Italic Italic words in normal text represent emphasis and new terms (for example, location domains).

    Code italic Italic words or characters in code and commands represent variable values you must supply; for example, process names in your particular system:itadmin process create process-name

    Code bold Code bold font is used to represent values that you must enter at the command line. This is often used in conjunction with constant width font to distinguish between command line input and output. For example:itadmin process listifrnamingmy_app

    No prompt When a command’s format is the same for multiple platforms, a prompt is not used.

    % A percent sign represents the UNIX command shell prompt for a command that does not require root privileges.

    # A number sign represents the UNIX command shell prompt for a command that requires root privileges.

    > The notation > represents the DOS or Windows command prompt.

    ... Horizontal ellipses in format and syntax descriptions indicate that material has been eliminated to simplify a discussion.

    [] Italicized brackets enclose optional items in format and syntax descriptions.

    2 Orbix Administrator ’s Guide

  • Contacting Micro FocusOur Web site gives up-to-date details of contact numbers and addresses.

    Further Information and Product SupportAdditional technical information or advice is available from several sources.

    The product support pages contain a considerable amount of additional information, such as: • The Product Updates section of the Micro Focus SupportLine Web site,

    where you can download fixes and documentation updates. • The Examples and Utilities section of the Micro Focus SupportLine Web

    site, including demos and additional product documentation.

    To connect, enter http://www.microfocus.com in your browser to go to the Micro Focus home page, then click Support.

    Note: Some information may be available only to customers who have maintenance agreements.

    If you obtained this product directly from Micro Focus, contact us as described on the Micro Focus Web site, http://www.microfocus.com. If you obtained the product from another source, such as an authorized distributor, contact them for help first. If they are unable to help, contact us.

    Also, visit: • The Micro Focus Community Web site, where you can browse the

    Knowledge Base, read articles and blogs, find demonstration programs and examples, and discuss this product with other users and Micro Focus specialists.

    • The Micro Focus YouTube channel for videos related to your product.

    Information We NeedHowever you contact us, please try to include the information below, if you have it. The more information you can give, the better Micro Focus SupportLine can help you. But if you don't know all the answers, or you think some are irrelevant to your problem, please give whatever information you have.

    • The name and version number of all products that you think might be causing a problem.

    • Your computer make and model.

    • Your operating system version number and details of any networking software you are using.

    • The amount of memory in your computer.

    {} Braces enclose a list from which you must choose an item in format and syntax descriptions.

    | A vertical bar separates items in a list of choices. Individual items can be enclosed in {} (braces) in format and syntax descriptions.

    Orbix Administrator ’s Guide 3

    http://www.microfocus.comhttp://www.microfocus.com

  • • The relevant page reference or section in the documentation.

    • Your serial number. To find out these numbers, look in the subject line and body of your Electronic Product Delivery Notice email that you received from Micro Focus.

    Contact informationOur Web site gives up-to-date details of contact numbers and addresses.

    Additional technical information or advice is available from several sources.

    The product support pages contain considerable additional information, including the WebSync service, where you can download fixes and documentation updates. To connect, enter http://www.microfocus.com in your browser to go to the Micro Focus home page.

    If you are a Micro Focus SupportLine customer, please see your SupportLine Handbook for contact information. You can download it from our Web site or order it in printed form from your sales representative. Support from Micro Focus may be available only to customers who have maintenance agreements.

    You may want to check these URLs in particular:

    • http://www.microfocus.com/products/corba/orbix/orbix-6.aspx (trial software download and Micro Focus Community files)

    • https://supportline.microfocus.com/productdoc.aspx. (documentation updates and PDFs)

    4 Orbix Administrator ’s Guide

    http://www.microfocus.comhttp://www.microfocus.com/products/corba/orbix/orbix-6.aspxhttps://supportline.microfocus.com/productdoc.aspx

  • Part IIntroduction

    In this partThis part contains the following chapters:

    The Orbix Environment page 7

    Selecting an Orbix Environment Model page 15

  • The Orbix EnvironmentOrbix is a network software environment that enables programmers to develop and run distributed applications.

    This chapter introduces the main components of an Orbix environment, explains how they interact, and gives an overview of Orbix administration.

    Basic CORBA ModelAn Orbix environment is a networked system that makes distributed applications function as if they are running on one machine in a single process space. Orbix relies on several kinds of information, stored in various components in the environment. When the environment is established, programs and Orbix services can automatically store their information in the appropriate components.

    To establish and use a proper Orbix environment, administrators and programmers need to know how the Orbix components interact, so that applications can find and use them correctly. This chapter starts with a sample application that requires a minimal Orbix environment. Gradually, more services are added.

    The basic model for CORBA applications uses an object request broker, or ORB. An ORB handles the transfer of messages from a client program to an object located on a remote network host. The ORB hides the underlying complexity of network communications from the programmer. In the CORBA model, programmers create standard software objects whose member methods can be invoked by client programs located anywhere in the network. A program that contains instances of CORBA objects is known as a server.

    When a client invokes a member function on a CORBA object, the ORB intercepts the function call. As shown in Figure 1, the ORB

    Orbix Administrator’s Guide 7

  • redirects the function call across the network to the target object. The ORB then collects results from the function call and returns these to the client.

    Simple Orbix ApplicationA simple Orbix application might contain a client and a server along with one or more objects (see Figure 2). In this model, the client obtains information about the object it seeks, using object references. An object reference uniquely identifies a local or remote object instance.

    How an ORB enables remote invocationFigure 2 shows how an ORB enables a client to invoke on a remote object:

    1 When a server starts, it creates one or more objects and publishes their object references in a naming service. A naming service uses simple names to make object references accessible to prospective clients. Servers can also publish object references in a file or a URL.

    Figure 1 Basic CORBA Model

    Client Host Server Host

    ObjectClient

    Object Request Broker

    Function Call

    Figure 2 Overview of a Simple Orbix Application

    Network

    Client Host

    ObjectClient

    ORB ORB

    12

    3

    Server Host

    NamingService

    8 Orbix Administrator ’s Guide

  • 2 The client program looks up the object reference by name in the naming service. The naming service returns the server’s object reference.

    3 The client ORB uses the object reference to pass a request to the server object

    Portable Object AdapterFor simplicity, Figure 2 omits details that all applications require. For example, Orbix applications use a portable object adapter, or POA, to manage access to server objects. A POA maps object references to their concrete implementations on the server, or servants. Given a client request for an object, a POA can invoke the referenced object locally.

    POA functionalityA POA can divide large sets of objects into smaller, more manageable subsets; it can also group related objects together. For example, in a ticketing application, one POA might handle reservation objects, while another POA handles payment objects.

    Figure 3 shows how the POA connects a client to a target object. In this instance, the server has two POAs that each manage a different set of objects.

    POA namesServers differentiate between several POAs by assigning them unique names within the application. The object reference published by the server contains the complete or fully qualified POA name (FQPN) and the object’s ID. The client request embeds the POA name and object ID taken from the published object reference. The server then uses the POA name to invoke the correct POA. The POA uses the object ID to invoke the desired object, if it exists on the server.

    Limitations of a simple applicationThis simple model uses a naming service to pass object references to clients. It has some limitations and does not support all the needs of

    Figure 3 A POA’s Role in Client–Object Communication

    NamingService

    Network

    ProcessClient

    ORB

    Process

    POAServer

    ORB

    Objects

    POA

    Objects

    Orbix Administrator ’s Guide 9

  • enterprise-level applications. For example, naming services are often not designed to handle frequent updates. They are designed to store relatively stable information that is not expected to change very often. If a process stops and restarts frequently, a new object reference must be published with each restart. In production environments where many servers start and stop frequently, this can overwork a naming service. Enterprise applications also have other needs that are not met by this simple model—for example, on-demand activation, and centralized administration. These needs are met in a broader Orbix environment, as described in the next section.

    Broader Orbix EnvironmentAlong with the naming service, Orbix offers a number of features that are required by many distributed applications, for flexibility, scalability, and ease of use. These include:

    • Location domains enable a server and its objects to move to a new process or host, and to be activated on demand.

    • Configuration domains let you organize ORBs into independently manageable groups. This brings scalability and ease of use to the largest environments.

    • The interface repository allows clients to discover and use additional objects in the environment—even if clients do not know about these objects at compile time.

    • The event service allows applications to send events that can be received by multiple objects.

    Managing Object AvailabilityA system with many servers cannot afford the overhead of manually assigned fixed port numbers, for several reasons:

    • Over time, hardware upgrades, machine failures, or site reconfiguration require you to move servers to different hosts.

    • To optimize resource usage, rarely used servers only start when they are needed, and otherwise are kept inactive.

    • To provide fault tolerance and high availability for critical objects, they can be run within redundant copies of a server. In case of server overload or failure, clients can transparently reconnect to another server

    Orbix location domains provide all of these benefits, without requiring explicit programming.

    Transient and persistent objectsA server makes itself available to clients by publishing interoperable object references, or IORs. An IOR contains an object’s identity and address. This address can be of two types, depending on whether the object is transient or persistent:

    • The IORs of transient objects always contain the server host machine’s address. A client that invokes on this object sends requests directly to the server. If the server stops running, the IORs of its transient objects are no longer valid, and attempts to invoke on these objects raise the OBJECT_NOT_EXIST exception.

    10 Orbix Administrator ’s Guide

  • • The IORs of persistent objects are exported from their server with the address of the domain’s locator daemon. This daemon is associated with a database, or implementation repository, which dynamically maps persistent objects to their server’s actual address.

    Invocations on persistent objectsWhen a client invokes on a persistent object, Orbix locates the object as follows:

    1 When a client initially invokes on the object, the client ORB sends the invocation to the locator daemon.

    2 The locator daemon searches the implementation repository for the actual address of a server that runs this object in the implementation repository. The locator daemon returns this address to the client.

    3 The client connects to the returned server address and directs this and all subsequent requests for this object to that address.

    All of this work is transparent to the client. The client never needs to contact the locator daemon explicitly to obtain the server's location.

    Locator daemon benefitsUsing the locator daemon provides two benefits:

    • By interposing the locator daemon between client and server, a location domain isolates the client from changes in the server address. If the server changes location—for example, it restarts on a different host, or moves to another port— the IORs for persistent objects remain valid. The locator daemon supplies the server’s new address to clients.

    • Because clients contact the locator daemon first when they initially invoke on an object, the locator daemon can launch the server on behalf of the client. Thus, servers can remain dormant until needed, thereby optimizing use of system resources.

    Components of an Orbix location domainAn Orbix location domain consists of two components: a locator daemon and a node daemon:

    locator daemon: A CORBA service that acts as the control center for the entire location domain. The locator daemon has two roles:

    • Manage the configuration information used to find, validate, and activate servers running in the location domain.

    • Act as the contact point for clients trying to invoke on servers in the domain.

    node daemon: Acts as the control point for a single host machine in the system. Every machine that runs an server must run a node daemon. The node daemon starts, monitors, and manages servers on its machine. The locator daemon relies on node daemons to start processes and tell it when new processes are available.

    Orbix Administrator ’s Guide 11

  • Scaling Orbix Environments with Configuration DomainsSmall environments with a few applications and their ORBs can be easy to administer manually: you simply log on to systems where the ORBs run and adjust configuration files as needed. However, adding more ORBs can substantially increase administrative overhead. With configuration domains, you can scale an Orbix environment and minimize overhead.

    Grouping related applicationsRelated application ORBs usually have similar requirements. A configuration domain defines a set of common configuration settings, which specify available services and control ORB behavior. For example, these settings define libraries to load at runtime, and initial object references to services.

    File- and repository-based configurationsConfiguration domain data can be maintained in two ways:

    • As a set of files distributed among domain hosts.

    • In a centralized configuration repository.

    Each ORB gets its configuration data from a domain, regardless of how it is implemented. Orbix environments can have multiple configuration domains organized by application, by geography, by department, or by some other appropriate criteria. You can divide large environments into smaller, independently manageable Orbix environments.

    Simple configuration domain and location domainFigure 4 shows a simple configuration, where all ORBs are configured by the same domain. Such a configuration is typical of small environments. In fact, many environments begin with this configuration and grow from there.

    Multiple configuration and location domainsFigure 5 shows an environment with multiple configuration domains. This environment can be useful in a organization that must segregate user groups. For example, separate configurations can be used for production and finance departments, each with different security requirements. In this

    Figure 4 Simple Configuration Domain and Location Domain

    Configuration Domain& Location Domain

    ORB

    Client

    ORB

    Client

    ORB

    Client

    ORB

    Application

    ConfigurationLocator

    12 Orbix Administrator ’s Guide

  • environment, all clients and servers use the same locator daemon; thus the two configuration domains are encompassed by a single location domain.

    Using Dynamic Orbix ApplicationsWithin the CORBA model, client programs can invoke on remote objects, even if those objects are written in a different programming language and run on a different operating system. CORBA’s Interface Definition Language (IDL) makes this possible. IDL is a declarative language that lets you define interfaces that are independent of any particular programming language and operating system.

    Orbix includes a CORBA IDL compiler, which compiles interface definitions along with the client and server code. A client application compiled in this way contains internal information about server objects. Clients use this information to invoke on objects.

    This model restricts clients to using only those interfaces that are known when the application is compiled. Adding new features to clients requires programmers to create new IDL files that describe the new interfaces and to recompile clients along with the new IDL files.

    Orbix provides an interface repository, which enables clients to call operations on IDL interfaces that are unknown at compile time. The interface repository (IFR) provides centralized persistent storage of IDL interfaces. Orbix programs can query the interface repository at runtime, to obtain information about IDL definitions.

    Managing an interface repository Administrators and programmers can use interface repository management commands to add, remove, and browse interface definitions in the repository. Interfaces and types that are already defined in a system do not need to be implemented separately in every application. They can be invoked at runtime through the interface repository. For more details on managing an interface repository, see “Managing an Interface Repository”.

    Figure 5 Multiple Configuration Domains

    Location DomainLocator used byConfigurationDomains 1 and 2

    Configuration Domain 1

    ORB

    Client

    ORB

    Client

    ORB

    Client

    ORB

    Application

    ORB

    Client

    ORB

    Client

    ORB

    Client

    ORB

    Client

    Configuration Domain 2

    ConfigurationConfiguration

    Locator

    Orbix Administrator ’s Guide 13

  • Orbix AdministrationOrbix services, such as the naming service, and Orbix components, such as the configuration repository, must be configured to work together with applications. Applications themselves also have administration needs.

    This section identifies the different areas of administration. It explains the conditions in the environment and in applications that affect the kind of administration you are likely to encounter. Orbix itself usually requires very little administration when it is set up and running properly. Applications should be easy to manage when designed with management needs in mind.

    Administration tasksOrbix administration tasks include the following:

    • Managing an Orbix environment

    • Application deployment and management

    • Troubleshooting

    Managing an Orbix environment

    This involves starting up Orbix services, or adding, moving, and removing Orbix components. For example, adding an interface repository to a configuration domain, or modifying configuration settings (for example, initial references to Orbix services). Examples of location domain management tasks include starting up the locator daemon and adding a node daemon. See Part II of this manual for more information.

    Application deployment and management

    An application gets its configuration from configuration domains, and finds persistent objects through the locator daemon. Both the configuration and location domains must be modified to account for application requirements. For more information, see “Managing Orbix Configuration”.

    Troubleshooting

    You can set up Orbix logging in order to collect system-related information, such as significant events, and warnings about unusual or fatal errors. For more information, see “Configuring Orbix Logging”.

    Administration toolsThe Orbix itadmin command interface lets you control all aspects of Orbix administration. Administration commands can be executed from any host. For detailed reference information about Orbix administration commands, see Part IV of this manual.

    14 Orbix Administrator ’s Guide

  • Selecting an Orbix Environment ModelThis chapter shows different ways in which Orbix can be configured in a network environment.

    Orbix Development Environment ModelsBusiness applications must be capable of scaling to meet enterprise level needs. Such applications often extend beyond departments, and even beyond corporate boundaries. Orbix domain and service infrastructures offer a framework for building and running applications that range from small, department-level applications to full-scale enterprise applications with multiple servers and hundreds or thousands of clients.

    This chapter offers an overview of Orbix environment models that can handle one or many applications. It also explains Orbix configuration mechanisms, and how to scale an Orbix environment to support more applications, more users, and a wider geographical area. For detailed information on how to set up your Orbix environment, see the Orbix Deployment Guide.

    Orbix development environmentsOrbix development environments are used for creating or modifying Orbix applications. A minimal Orbix development environment consists of the Orbix libraries and the IDL compiler, along with any prerequisite C++ or Java files and development tools.

    Application testing requires deployment of Orbix runtime services, such as the configuration repository and locator daemon, naming service, and interface repository.

    In environments with multiple developers, each developer must install the Orbix development environment, and the necessary C++ or Java tools. Runtime services can either be installed in each development environment, or distributed among various hosts and accessed remotely.

    Independent Development EnvironmentsThis section discusses some typical models of Orbix development (and testing) environments. Actual development environments might contain any one or a blend of these models.

    Orbix Administrator’s Guide 15

  • Simple development environmentFigure 6 shows a simple environment that can support application development for three platforms:

    In this environment, applications can be written and compiled only. Applications cannot be tested or executed without the availability of Orbix runtime services. This environment can be established by installing the Orbix developer’s kit on each desired development platform. You should also ensure that appropriate C++ or Java libraries exist on each machine.

    Testing and deployment environmentFigure 7 shows a simple environment that can support application development and testing.

    To test an application, it must first be deployed. This involves populating the necessary Orbix repositories (for example, the configuration domain, location domain, and naming service), with appropriate Orbix application data.

    This private environment is useful for testing applications on a local scale before introducing them to an environment distributed across a network.

    Multiple private environmentsFigure 8 is a variant of the model shown in Figure 7 on page 16. In this model, multiple private environments are established on a single multi-user

    Figure 6 Simple Independent Development Environments

    Windows NT Solaris HP-UX

    OrbixE2A

    C++ or Javadevelopment

    tools

    OrbixE2A

    C++ or Javadevelopment

    tools

    C++ or Javadevelopment

    tools

    OrbixE2A

    Figure 7 An Independent Development and Test Environment

    16 Orbix Administrator ’s Guide

  • machine. Each of these private environments can be used to create, deploy, and test applications.

    Setting up independent environmentsTo establish independent development and test environments, first ensure that the appropriate C++ or Java libraries are present. You should then install Orbix on the desired platforms. For information on what C++ or Java libraries are required, and instructions on how to install Orbix, see the Orbix Installation Guide.

    For information on how to configure and deploy Orbix runtime services in your environment (for example, a locator daemon), see the Orbix Deployment Guide.

    Distributed Development and Test EnvironmentsFigure 9 on page 18 illustrates a runtime test environment shared by multiple development platforms. This scenario more closely models the distributed environments in which applications are likely to run. Most

    Figure 8 Multiple Independent Development and Test Environments

    Orbix Administrator ’s Guide 17

  • applications should be tested in an environment like this before they are deployed into a production environment.

    To establish this environment, install the Orbix runtime services in your environment. Ensure that the appropriate C++ or Java libraries are present on your development platforms. Then install the Orbix developer’s kit on each platform. For information on how to configure and deploy Orbix runtime services such as the interface repository in your environment, see the Orbix Deployment Guide.

    Configuration ModelsOrbix provides two configuration mechanisms:

    • Local file-based configuration

    • Configuration repository

    For information on managing Orbix configuration domains, see “Managing Orbix Configuration”.

    Local file-based configurationA local configuration model is suitable for environments with a small number of clients and servers, or when configuration rarely changes. The local configuration mechanism supplied by Orbix uses local configuration files. Figure 10 on page 19 shows an example Orbix environment where the configuration is implemented in local files on client and server machines.

    The Orbix components in Figure 10 on page 19 consist of Orbix management tools, the locator daemon, and configuration files that store the configuration of the Orbix components. When Orbix is installed, it stores its configuration in the same configuration file, but in a separate configuration scope. Application clients store their configurations in files on their host machines. Application clients and servers also include necessary

    Figure 9 A Distributed Development and Test Environment

    18 Orbix Administrator ’s Guide

  • Orbix runtime components, but for simplicity these are not shown in Figure 10 on page 19.

    This simple model is easy to implement and might be appropriate for small applications with just a few clients. Keeping these separate files properly updated can become difficult as applications grow or more servers or clients are added.

    You can minimize administrative overhead by using a centralized configuration file, which is served to many ORBs using NFS, Windows Networking, or a similar network service. A centralized file is easier to maintain than many local files, because only one file must be kept updated.

    Configuration repositoryA centralized configuration model is suitable for environments with a potentially large number of clients and servers, or when configuration is likely to change. The Orbix configuration repository provides a centralized database for all configuration information.

    The Orbix components in Figure 11 on page 20 consist of the Orbix management tools, the locator daemon, and a configuration repository. The configuration repository stores the configuration for all Orbix components. When servers and clients are installed, they store their configuration in separate configuration scopes in the configuration repository. Application clients and servers also include their own Orbix runtime components, but these are not shown.

    This model is highly scalable because more applications can be added to more hosts in the environment, without greatly increasing administration tasks. When a configuration value changes, it must be changed in one place only. In this model, the host running Orbix, the configuration repository,

    Figure 10 Orbix Environment with Local Configuration

    Orbix Administrator ’s Guide 19

  • and locator daemon must be highly reliable and always available to all clients and servers.

    Getting the Most from Your Orbix EnvironmentAs you add more or larger applications to your Orbix environment, scalability becomes more crucial. This section discusses some Orbix features that support scalability, and shows how to use them. The following topics are discussed:

    • “Using Capabilities of Well-Designed Orbix Applications”

    • “Using the Right Data Storage Mechanism”

    Moving other Orbix services (for example, a naming service), or moving servers also requires some administration to ensure continuation of these services. However, handling these changes is relatively simple and does not involve much administration.

    Using Capabilities of Well-Designed Orbix Applications

    Orbix optimizationsLike a major highway, Orbix is designed to handle a lot of traffic. For example, when Orbix clients seek their configuration from a centralized configuration mechanism, they compare the version of the locally cached configuration to the version of the live configuration. If versions match, the client uses the cached version. Not reading the entire configuration from the central repository saves time and network bandwidth. Many other programmatic techniques are used throughout Orbix to make it efficient. On

    Figure 11 Orbix Environment with Centralized Configuration

    20 Orbix Administrator ’s Guide

  • the administrative side, proper domain management keeps applications and their clients in an orderly, efficient, and scalable framework.

    For such reasons, most applications and environments will not come close to any limitations imposed by Orbix. It is more likely that other network or host-related limitations will get in the way first. Nevertheless, extremely large applications, or large environments with huge numbers of applications and users, are special cases and there are guidelines for keeping such applications and their environments running smoothly.

    Special casesFor example, imagine a very large database application with thousands of POAs registered with the locator daemon. If a server restarts, programmatic re-registering of POA state information with the locator daemon can take some time, and even slow down other applications that are using the locator daemon. In such cases, programmers should use the Orbix dynamic activation capability to avoid an unnecessary server-side bottleneck. With dynamic activation, POAs are registered during application deployment. POA state information is handled only if an object is invoked, and only for the POA that is hosting the object.

    Looking now at the client side of very large applications, imagine a locator daemon with thousands of registered POAs (for example, an airline ticketing application) handling thousands of client requests per minute. Programmatic optimizations (for example, efficient use of threads, proper organization of the application's POA system or load balancing) help to minimize bottlenecks here. Administrators can take additional steps, such as active connection management, to optimize performance.

    Other issuesOther application design issues include multi-threading, how to partition objects across POAs, how to partition POAs across servers, and what POA policies would be best to use under certain circumstances). For more information, see the CORBA Programmer’s Guide.

    Using the Right Data Storage MechanismOrbix provides standard storage mechanisms for storing persistent data used by Orbix and by applications. Access to these standard mechanisms uses the CORBA persistent state service. This service allows alternative storage mechanisms to be used within an environment for storing data for configuration, location, and the naming service. If your applications encounter limitations imposed by a specific storage mechanism, consider moving to an industrial strength database (for example, Oracle or Sybase) at the backend.

    Information about implementing alternative storage mechanisms is outside the scope of this guide. Consult your Orbix vendor for more information.

    Getting the Most from Orbix ConfigurationThis section answers some basic questions administrators might have about using:

    • Separate Orbix environments

    • Multiple configuration domains

    Orbix Administrator ’s Guide 21

  • Separate Orbix environmentsCompanies can use separate Orbix environments to insulate development, test, and production environments from each other. While you can use separate configuration scopes for this, having separate sets of Orbix services reduces the risk of development and test efforts interfering with production- level Orbix services.

    Multiple configuration domainsDevelopment environments might use separate configuration domains to isolate development and test efforts from one another. Security policies might also require multiple configuration domains within a single customer environment. For example, separate organizations in a company might have different administrators with different network security credentials.

    Geographic separation or network latency issues might also drive a decision to have separate configuration domains.

    22 Orbix Administrator ’s Guide

  • Part IIManaging an Orbix

    EnvironmentIn this partThis part contains the following chapters:

    Managing Orbix Configuration page 25

    Managing Persistent CORBA Servers page 37

    Configuring Scalable Applications page 55

    Managing the Naming Service page 73

    Managing an Interface Repository page 81

    Managing the Firewall Proxy Service page 87

    Managing Orbix Service Databases page 91

    Configuring Orbix Compression page 99

    Configuring Advanced Features page 105

  • Managing Orbix ConfigurationAll Orbix clients and servers, including Orbix services such as the locator or naming service, belong to a configuration domain that supplies their configuration settings.

    Orbix identifies a client or server by the name of its ORB, which maps to a configuration scope. This scope contains configuration variables and their settings, which control the ORB’s behavior. Configuration domains can be either based on a centralized configuration repository, or on configuration files that are distributed among all application hosts. Both configuration types operate according to the principles described in this chapter.

    How an ORB Gets its ConfigurationEvery ORB runs within a configuration domain, which contains variable settings that determine the ORB’s runtime behavior. Figure 12 summarizes how an initializing ORB obtains its

    Note: For details on how to set up an Orbix environment, see the Orbix Deployment Guide. For details on using a secure configuration repository-based domain, see the Orbix Security Guide.

    Orbix Administrator’s Guide 25

  • configuration information in a configuration repository-based system, where services are distributed among various hosts.

    1 The initializing ORB reads the local configuration file, which is used to contact the configuration repository.

    2 The ORB reads configuration data from the configuration repository, and obtains settings that apply to its unique name. This establishes the normal plug-ins and locates other CORBA services in the domain.

    3 The fully initialized ORB communicates directly with the services defined for its environment.

    Configuration stepsAn initializing ORB obtains its configuration in two steps:

    1 Locates its configuration domain.

    Figure 12 How an Orbix Application Obtains its Configurations

    2

    Host

    NamingService

    Host

    Locator

    Host

    InterfaceRepository

    HostInitializing

    ORB

    LocalDisk

    Configuration Domain File

    plugins:iiop, giop

    domain:itconfig://IOR...

    1

    3

    Standard orb plug-insorb_plugins = "iiop_profile, giop, iiop"

    Standard initial referencesinitial_references:NamingService:reference ="IOR:0100..."initial_references:InterfaceRepository:reference = "IOR"initial_references:Locator:reference = "IOR:01000..."

    Other configuration variables,configuration scopes, and ORB-specific variables.

    HostConfiguration

    Repository

    Note: In repository-based configuration domains, the local configuration file contains a domain configuration variable, which is set to the repository’s IOR. For example:

    domain = "itconfig://00034f293b922...00d3";In a file-based configuration, the domain-name.cfg file does not contain a domain variable; instead, the local configuration file itself contains all configuration data.

    26 Orbix Administrator ’s Guide

  • 2 Obtains its configuration settings.

    The next two sections describe these steps.

    Locating the Configuration DomainAn ORB locates its configuration domain as described in the following language-specific sections.

    C++ applicationsIn C++ applications, the ORB obtains the domain name from one of the following, in descending order of precedence:

    1 The -ORBconfig_domain command-line parameter2 The IT_CONFIG_DOMAIN environment variable3 default-domain.cfgThe domain is located in one of the following, in descending order of precedence:

    1 The path set in either the -ORBconfig_domains_dir command line parameter or the IT_CONFIG_DOMAINS_DIR.environment variable.

    2 The domains subdirectory to the path set in either the -ORBconfig_dir command-line parameter or the IT_CONFIG_DIR.environment variable.

    3 The default configuration directory:

    UNIX

    Windows

    Java applicationsIn Java applications, the ORB obtains the domain name from one of the following, in descending order of precedence:

    1 The -ORBconfig_domain command-line parameter.2 The ORBconfig_domain Java property.3 default-domain.cfg.The domain is located in one of the following, in descending order of precedence:

    1 The path set in either the -ORBconfig_domains_dir command-line parameter or the ORBconfig_domains_dir Java property.

    2 The domains subdirectory to the path set in either the -ORBconfig_dir command-line parameter or the ORBconfig_dir Java property.

    /etc/opt/iona

    %IT_PRODUCT_DIR%\etc

    Orbix Administrator ’s Guide 27

  • 3 All directories specified in the classpath.

    Obtaining an ORB’s ConfigurationAll ORBs in a configuration domain share the same data source—either a configuration file or a repository. Configuration data consists of variables that determine ORB behavior. These are typically organized into a hierarchy of scopes, whose fully-qualified names map directly to ORB names. By organizing configuration variables into various scopes, you can provide different settings for individual ORBs, or common settings for groups of ORBs.

    Configuration scopes apply to a subset of ORBs or a specific ORB in an environment. Orbix services such as the naming service have their own configuration scopes. Orbix services scopes are automatically created when you configure those services into a new domain.

    Applications can have their own configuration scopes and even specific parts of applications (specific ORBs) can have ORB-specific scopes.

    Scope organizationFigure 13 shows how a configuration domain might be organized into several scopes:

    Five scopes are defined:

    • company• company.production• company.operations• company.operations.finance• company.operations.hr

    Note: Java properties can be set for an initializing ORB in two ways, in descending order of precedence:

    • As system properties.

    • In the iona.properties properties file. See “Java properties” for information on how an ORB locates this file.

    Figure 13 Hierarchy of Configuration Scopes

    company

    production

    operations

    finance

    hr

    company

    production

    operations

    finance

    hr

    28 Orbix Administrator ’s Guide

  • Given these scopes, and the following ORB names:

    All ORBs whose names are prefixed with company.operations.finance obtain their configuration information from the company.operations.finance configuration scope.

    Variables can also be set at a configuration’s root scope—that is, they are set outside all defined scopes. Root scope variables apply to all ORBs that run in the configuration domain.

    Scope name syntaxAn initializing ORB must be supplied the fully qualified name of its configuration scope. This name contains the immediate scope name and the names of all parent scopes, delimited by a period (.). For example:

    ORB name mappingAn initializing ORB maps to a configuration scope through its ORB name. For example, if an initializing ORB is supplied with a command-line -ORBname argument of company.operations, it uses all variable settings in that scope, and the parent company and root scopes. Settings at narrower scopes such as company.operations.finance, and settings in unrelated scopes such as company.production, are unknown to this ORB and so have no effect on its behavior.

    If an initializing ORB doesn’t find a scope that matches its name, it continues its search up the scope tree. For example, given the hierarchy shown earlier, ORB name company.operations.finance.payroll will fail to find a scope that matches. An ORB with that name next tries the parent scope company.operations.finance. In this case, ORB and scope names match and the ORB uses that scope. If no matching scope is found, the ORB takes its configuration from the root scope.

    Defining configuration scopesAfter you create a configuration domain, you can modify it to create the desired scopes:

    • A file-based configuration can be edited directly with any text editor, or with itadmin commands scope create and scope remove.

    • A repository-based configuration can only be modified with itadmin commands scope create and scope remove.

    company.operations.finance.ORB001company.operations.finance.ORB002company.operations.finance.ORB003company.operations.finance.ORB004

    company.operations.hr

    Orbix Administrator ’s Guide 29

  • File-based configuration

    In a file-based configuration, scopes are defined as follows:

    For example, the following file-based Orbix configuration information defines the hierarchy of scopes shown in Figure 13:

    itadmin commands

    You can create the same scopes with itadmin commands, as follows:

    Precedence of variable settingsConfiguration variables set in narrower configuration scopes override variable settings in wider scopes. For example, the company.operations.orb_plugins variable overrides company.orb_plugins. Thus, the plug-ins specified at the company scope apply to all ORBs in that scope, except those ORBs that belong specifically to the company.operations scope and its child scopes, hr and finance. Example 14 shows how a

    scope-name { variable settings ... nested-scope-name { variable settings ... }}

    company{ # company-wide settings operations { # Settings common to both finance and hr

    finance { # finance-specific settings } hr { # hr-specific settings }

    } # close operations scope production { # production settings }

    } # close company scope

    itadmin scope create companyitadmin scope create company.productionitadmin scope create company.operationsitadmin scope create company.operations.financeitadmin scope create company.operations.hr

    30 Orbix Administrator ’s Guide

  • file-based configuration might implement settings for the various configurations shown in Figure 13 on page 28:

    1 The company scope sets the following variables for all ORBs within its scope:

    Example 14: File-Based Configuration

    1 company{ # company-wide settings

    # Standard ORB plug-ins orb_plugins = ["local_log_stream", "iiop_profile", "giop", "iiop"];

    # Standard initial references. initial_references:RootPOA:plugin = "poa"; initial_references:ConfigRepository:reference = "IOR:010000002000...00900"; initial_references:InterfaceRepository:reference = "IOR:010000002000...00900"; # Standard IIOP configuration policies:iiop:buffer_sizes_policy:max_buffer_size = -1

    2 operations { # Settings common to both finance and hr

    # limit binding attempts max_binding_iterations = "3";

    3 finance { # finance-specific settings

    # set 5-second timeout on invocations po