4.6.5.2 corbaloc URL Scheme
It is difficult for humans to exchange IORs through nonelectronic means because of their lengths and the text encoding of binary information. The corbaloc and corbalocs URL schemes provide stringified object references in a format that is familiar to people and similar to the popular URL schemes of FTP and HTTP. The URL schemes defined for corbaloc and corbalocs are easily manipulated in both TCP/IP and DNS centric environments. The corbaloc and corbalocs URL contains:
- DNS-style host name or IP address and port
- The version of the IIOP protocol to be used (optional)
- An object key (optional)
By default, corbaloc URLs denote objects that can be contacted over IIOP, while corbalocs URLs denote objects that can be contacted using IIOP over SSL.
The following table lists the BNF syntax for each URLs element.
Table 4-8 BNF Format for URL Elements
URL Element | BNF Format |
---|---|
<corbaloc>
|
|
<corbalocs>
|
|
<obj_addr_list>
|
|
<obj_addr>
|
|
<iiop_prot_addr
|
= <iiop_id><iiop_addr>
|
<iiop_id>
|
|
<iiop_prot_token>
|
= “iiop”
|
<iiop_addr>
|
|
<host>
|
= DNS-style Host Name | ip_address
|
<version>
|
|
<port>
|
= number
|
<major>
|
= number
|
<minor>
|
= number
|
<key_string>
|
= <string> | empty_string
|
The following table describes each URL element.
Table 4-9 Descriptions of URL Elements
URL Element | Description |
---|---|
obj_addr_list
|
A comma-separated list of protocol ID, version, and address information. This list is used in an implementation-defined manner to address the object. An object may be contacted by any of the addresses and protocols. If a failure occurs using the element, the next element in the comma-separated list will be used. |
obj_addr
|
A protocol identifier, version tag, and a protocol specific address. The right-brace “{“, left-brace “}”, vertical bar “|”, slash “/”, and comma “,” characters are specifically prohibited in this component of the URL. |
iiop_prot_addr
|
An IIOP protocol identifier, version tag, and address containing a DNS-style host name or IP address. |
iiop_id
|
Tokens recognized to identifier, version tag, and address containing a DNS-style host name on IP address. |
iiop_prot_token
|
Tokens recognized to indicate an IIOP protocol corbaloc. |
iiop_addr
|
An IIOP protocol token, “iiop”. |
host
|
A single address element. |
version
|
A DNS-style host name or IP address. If not present, the local host is assumed. |
ip_address
|
A major and minor version number, separated by “.” and followed by “@”. If the version is absent, 1.0 is assumed. |
port
|
A numberic IP address (dotted decimal notation). |
key_string
|
A stringified object key that is not NULL-terminated. The key_string uses the escape conventions described in RFC 2396 to map away from octet values that cannot directly be part of a URL. US-ASCII alphanumeric characters are not escaped. Characters outside this range are escaped, except for the following:
The key_string corresponds to the octet sequence in the object_key member of a GIOP Request or LocateRequest header as defined in the CORBA specification. |
string_name
|
A stringified name with URL escapes as defined in the Internet Engineering Task Force (IETF) RFC 2396. These escape rules insure that URLs can be transferred via a variety of transports without undergoing changes. US-ASCII alphanumeric characters are not escaped. Characters outside this range are escaped, except for the following:
|
The following are some examples of using the new URL format:
corbaloc::555xyz.com:1024,555backup.com:1022,555last.com:1999
corbalocs::555xyz.com:1024,{555backup.com:1022|555last.com:1999}
corbaloc::1.2@555xyz.com:1111
corbalocs::1.1@24.128.122.32:1011,1.0@24.128.122.34
As an enhancement to the URL syntax described in the INS submission, Oracle Tuxedo 8.0 or later has extended the syntax to support a list of multiple URLs, each with a different scheme. The following are some examples of the extension:
corbalocs::555xyz.com:1024,corbaloc::1.2@555xyz.com:1111
corbalocs::ctxobj:3434,mthd:3434,corbaloc::force:1111
In the above example, if the parser reaches the URL
corbaloc::force.com:1111
, it will reset its internal
state as if it had never attempted secure connections and then
begins attempting unprotected connections.
Parent topic: INS Object URL Schemes