17 ." |
17 ." |
18 ." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
18 ." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
19 ." or visit www.oracle.com if you need additional information or have any |
19 ." or visit www.oracle.com if you need additional information or have any |
20 ." questions. |
20 ." questions. |
21 ." |
21 ." |
22 .TH tnameserv 1 "02 Jun 2010" |
22 .TH tnameserv 1 "14 Apr 2011" |
23 |
23 |
24 .LP |
24 .LP |
25 .SH "名前" |
25 .SH "̾" |
26 Java IDL:一時ネームサービス \- \f2tnameserv\fP |
26 Java IDL: ͡ॵӥ \- \f2tnameserv\fP |
27 .LP |
27 .LP |
28 .LP |
28 .LP |
29 このドキュメントでは、Java IDL 一時ネームサービス \f2tnameserv\fP の使用方法について説明します。Java IDL には、Object Request Broker Daemon (ORBD) も含まれています。ORBD は、ブートストラップサービス、一時ネームサービス、\f3持続\fPネームサービス、およびサーバーマネージャーを含むデーモンプロセスです。Java IDL のすべてのチュートリアルでは ORBD を使用していますが、一時ネームサービスを使用する例では、\f2orbd\fP の代わりに \f2tnameserv\fP を使用できます。\f2orbd\fP ツールの詳細については、\f2orbd\fP の orbd(1)または |
29 ΥɥȤǤϡJava IDL ͡ॵӥ \f2tnameserv\fP λˡˤĤޤJava IDL ˤϡObject Request Broker Daemon (ORBD) ޤޤƤޤORBD ϡ֡ȥȥåץӥ͡ॵӥ\f3³\fP͡ॵӥӥСޥ͡㡼ޤǡץǤJava IDL Τ٤ƤΥ塼ȥꥢǤ ORBD ѤƤޤ͡ॵӥѤǤϡ\f2orbd\fP \f2tnameserv\fP ѤǤޤ\f2orbd\fP ġξܺ٤ˤĤƤϡorbd orbd(1)ޤ |
30 .na |
30 .na |
31 \f2ORBD に含まれる Java IDL ネームサービス\fP @ |
31 \f2ORBD ˴ޤޤ Java IDL ͡ॵӥ\fP @ |
32 .fi |
32 .fi |
33 http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.htmlに関するトピックを参照してください。 |
33 http://java.sun.com/javase/6/docs/technotes/guides/idl/jidlNaming.html˴ؤȥԥåȤƤ |
34 .LP |
34 .LP |
35 .LP |
35 .LP |
36 ここでは、以下の項目について説明します。 |
36 ǤϡʲιܤˤĤޤ |
37 .LP |
37 .LP |
38 .RS 3 |
38 .RS 3 |
39 .TP 2 |
39 .TP 2 |
40 o |
40 o |
41 Java\ IDL 一時ネームサービス |
41 Java\ IDL ͡ॵӥ |
42 .TP 2 |
42 .TP 2 |
43 o |
43 o |
44 Java\ IDL 一時ネームサービスの起動 |
44 Java\ IDL ͡ॵӥεư |
45 .TP 2 |
45 .TP 2 |
46 o |
46 o |
47 Java\ IDL 一時ネームサービスの停止 |
47 Java\ IDL ͡ॵӥ |
48 .TP 2 |
48 .TP 2 |
49 o |
49 o |
50 サンプルクライアント:名前空間へのオブジェクトの追加 |
50 ץ륯饤: ֤̾ؤΥ֥Ȥɲ |
51 .TP 2 |
51 .TP 2 |
52 o |
52 o |
53 サンプルクライアント:名前空間のブラウズ |
53 ץ륯饤: ֤̾Υ֥饦 |
54 .RE |
54 .RE |
55 |
55 |
56 .LP |
56 .LP |
57 .SH "Java\ IDL 一時ネームサービス" |
57 .SH "Java IDL ͡ॵӥ" |
58 .LP |
58 .LP |
59 .LP |
59 .LP |
60 CORBA の COS (Common Object Services) ネームサービスは、ファイルシステムがファイルに対してディレクトリ構造を提供しているのと同じように、オブジェクト参照に対してツリー構造のディレクトリを提供します。Java IDL の一時ネームサービスである \f2tnameserv\fP は、COS ネームサービスの仕様を単純な形で実装したものです。 |
60 CORBA COS (Common Object Services) ͡ॵӥϡե륷ƥबեФƥǥ쥯ȥ깽¤ƤΤƱ褦ˡ֥ȻȤФƥĥ¤Υǥ쥯ȥޤJava IDL ΰ͡ॵӥǤ \f2tnameserv\fP ϡCOS ͡ॵӥλͤñʷǼΤǤ |
61 .LP |
61 .LP |
62 .LP |
62 .LP |
63 オブジェクト参照は名前空間に名前で格納され、オブジェクト参照と名前のペアは、それぞれ「ネームバインディング」と呼ばれます。ネームバインディングは「ネーミングコンテキスト」に組み込むことができます。ネーミングコンテキストはそれ自体がネームバインディングであり、ファイルシステムのサブディレクトリと同じ編成機能を持ちます。すべてのバインディングは「初期ネーミングコンテキスト」に格納されます。名前空間において、初期ネーミングコンテキストは唯一の持続的バインディングです。 それ以外のネーミングコンテキストは、Java IDL のネーミングサービスプロセスが停止し、再起動されると失われます。 |
63 ֥ȻȤ֤̾̾dzǼ졢֥ȻȤ̾Υڥϡ줾֥͡ХǥפȸƤФޤ͡Хǥϡ֥͡ߥƥȡפȤ߹ळȤǤޤ͡ߥƥȤϤ켫Τ͡ХǥǤꡢե륷ƥΥ֥ǥ쥯ȥƱǽޤ٤ƤΥХǥϡֽ͡ߥƥȡפ˳Ǽޤ֤̾ˤơ͡ߥƥȤͣλ³ŪХǥǤʳΥ͡ߥƥȤϡJava IDL Υ͡ߥӥץߤƵưȼޤ |
64 .LP |
64 .LP |
65 .LP |
65 .LP |
66 アプレットまたはアプリケーションから COS ネームサービスを使用するためには、その ORB はネームサービスが動作しているホストのポートを知っているか、そのネームサービスの文字列化された初期ネーミングコンテキストにアクセスできなければなりません。ネームサービスは、Java\ IDL のネームサービスでもその他の COS 準拠のネームサービスでもかまいません。 |
66 ץåȤޤϥץꥱ COS ͡ॵӥѤ뤿ˤϡ ORB ϥ͡ॵӥưƤۥȤΥݡȤΤäƤ뤫Υ͡ॵӥʸ줿͡ߥƥȤ˥ǤʤФʤޤ͡ॵӥϡJava IDL Υ͡ॵӥǤ⤽¾ COS Υ͡ॵӥǤ⤫ޤޤ |
67 .LP |
67 .LP |
68 .SH "Java\ IDL 一時ネームサービスの起動" |
68 .SH "Java IDL ͡ॵӥεư" |
69 .LP |
69 .LP |
70 .LP |
70 .LP |
71 Java\ IDL ネームサービスは、ネームサービスを使用するアプリケーションまたはアプレットより前に起動しておかなければなりません。Java\ IDL 製品をインストールすると、Java IDL ネームサービスを起動するスクリプト (Solaris: \f2tnameserv\fP) か、実行可能ファイル (Windows NT: \f2tnameserv.exe\fP) が作成されます。バックグラウンドで動作するように、ネームサービスを起動してください。 |
71 Java IDL ͡ॵӥϡ͡ॵӥѤ륢ץꥱޤϥץåȤ˵ưƤɬפޤJava\ IDL ʤȡ뤹ȡJava\ IDL ͡ॵӥư륹ץ (Solaris: \f2tnameserv\fP) ޤϼ¹Բǽե (Windows NT: \f2tnameserv.exe\fP) ޤХå饦ɤư褦ˡ͡ॵӥưƤ |
72 .LP |
72 .LP |
73 .LP |
73 .LP |
74 特に指定しない場合、Java IDL ネームサービスは、ORB の \f2resolve_initial_references()\fP メソッドと \f2list_initial_references()\fP メソッドの実装に使用するブートストラッププロトコルに対してポート 900 で待機します。 |
74 ä˻ꤷʤ硢Java IDL ͡ॵӥϡORB \f2resolve_initial_references()\fP åɤ \f2list_initial_references()\fP åɤμ˻Ѥ֡ȥȥåץץȥФƥݡ 900 Եޤ |
75 .LP |
75 .LP |
76 .nf |
76 .nf |
77 \f3 |
77 \f3 |
78 .fl |
78 .fl |
79 tnameserv \-ORBInitialPort \fP\f4nameserverport\fP\f3& |
79 tnameserv \-ORBInitialPort \fP\f4nameserverport\fP\f3& |
105 \fP |
105 \fP |
106 .fi |
106 .fi |
107 |
107 |
108 .LP |
108 .LP |
109 .LP |
109 .LP |
110 ネームサーバーのクライアントには、新しいポート番号を知らせる必要があります。このため、ORB オブジェクトの作成時に \f2org.omg.CORBA.ORBInitialPort\fP プロパティーに新しいポート番号を設定します。 |
110 ͡ॵСΥ饤ȤˤϡݡֹΤ餻ɬפޤΤᡢORB ֥Ȥκ \f2org.omg.CORBA.ORBInitialPort\fP ץѥƥ˿ݡֹꤷޤ |
111 .LP |
111 .LP |
112 .SS |
112 .SS |
113 異なるマシン上でのクライアントとサーバーの実行 |
113 ۤʤޥǤΥ饤ȤȥСμ¹ |
114 .LP |
114 .LP |
115 .LP |
115 .LP |
116 Java IDL と RMI\-IIOP のほとんどのチュートリアルでは、ネームサービス、サーバー、およびクライアントはすべて開発用のマシン上で実行されます。実際に配備する場合には、クライアントとサーバーを、ネームサービスとは異なるホスト上で実行することが多くなります。 |
116 Java IDL RMI\-IIOP ΤۤȤɤΥ塼ȥꥢǤϡ͡ॵӥСӥ饤ȤϤ٤ƳȯѤΥޥǼ¹Ԥޤºݤˤϡ饤ȤȥС͡ॵӥȤϰۤʤۥȾǼ¹Ԥ뤳Ȥ¿ʤޤ |
117 .LP |
117 .LP |
118 .LP |
118 .LP |
119 クライアントとサーバーがネームサービスを見つけるには、クライアントとサーバーが、ネームサービスが実行されているポートの番号とホストを認識している必要があります。そのためには、クライアントとサーバーのファイル内の \f2org.omg.CORBA.ORBInitialPort\fP プロパティーと \f2org.omg.CORBA.ORBInitialHost\fP プロパティーをネームサービスが実行されているポートの番号とマシンの名前に設定します。この例は、 |
119 饤ȤȥС͡ॵӥĤˤϡ饤ȤȥС͡ॵӥ¹ԤƤݡȤֹȥۥȤǧƤɬפޤΤˤϡ饤ȤȥСΥե \f2org.omg.CORBA.ORBInitialPort\fP ץѥƥ \f2org.omg.CORBA.ORBInitialHost\fP ץѥƥ͡ॵӥ¹ԤƤݡȤֹȥޥ̾ꤷޤϡ |
120 .na |
120 .na |
121 \f2「RMI\-IIOP を使った Hello World の例」\fP @ |
121 \f2RMI\-IIOP Ȥä Hello World פ˼Ƥޤ\fP @ |
122 .fi |
122 .fi |
123 http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.htmlに示されています。コマンド行オプション \f2\-ORBInitialPort\fP \f2nameserverport#\fP と \f2\-ORBInitialHost\fP \f2nameserverhostname\fP を使用して、クライアントとサーバーに対してネームサービスを探す場所を指定することもできます。 |
123 http://java.sun.com/javase/6/docs/technotes/guides/rmi\-iiop/rmiiiopexample.htmlޥɹԥץ \f2\-ORBInitialPort\fP \f2nameserverport#\fP \f2\-ORBInitialHost\fP \f2nameserverhostname\fP Ѥơ饤ȤȥСФƥ͡ॵӥõꤹ뤳ȤǤޤ |
124 .na |
124 .na |
125 \f2「Java IDL: 2 台のマシン上で実行する Hello World プログラム」\fP @ |
125 \f2Java IDL: 2 ΥޥǼ¹Ԥ Hello World ץ\fP @ |
126 .fi |
126 .fi |
127 http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html には、コマンド行オプションを使用して指定する方法が示されています。 |
127 http://java.sun.com/javase/6/docs/technotes/guides/idl/tutorial/jidl2machines.html ˤϡޥɹԥץѤƻꤹˡƤޤ |
128 .LP |
128 .LP |
129 .LP |
129 .LP |
130 たとえば、一時ネームサービス \f2tnameserv\fP が、ホスト \f2nameserverhost\fP のポート 1050 上で実行されているとします。さらに、クライアントがホスト \f2clienthost\fP 上で実行され、サーバーはホスト \f2serverhost\fP 上で実行されているとします。 |
130 ȤС͡ॵӥ \f2tnameserv\fP ۥ \f2nameserverhost\fP Υݡ 1050 Ǽ¹ԤƤȤޤˡ饤Ȥۥ \f2clienthost\fP Ǽ¹Ԥ졢Сϥۥ \f2serverhost\fP Ǽ¹ԤƤȤޤ |
131 .LP |
131 .LP |
132 .RS 3 |
132 .RS 3 |
133 .TP 2 |
133 .TP 2 |
134 o |
134 o |
135 次のように、ホスト \f2nameserverhost\fP 上で \f2tnameserv\fP を起動します。 |
135 Τ褦ˡۥ \f2nameserverhost\fP \f2tnameserv\fP ưޤ |
136 .nf |
136 .nf |
137 \f3 |
137 \f3 |
138 .fl |
138 .fl |
139 tnameserv \-ORBInitialPort 1050 |
139 tnameserv \-ORBInitialPort 1050 |
140 .fl |
140 .fl |
164 .fi |
164 .fi |
165 .RE |
165 .RE |
166 |
166 |
167 .LP |
167 .LP |
168 .SS |
168 .SS |
169 \-J オプション |
169 \-J ץ |
170 .LP |
170 .LP |
171 このコマンド行オプションは、\f2tnameserve\fP とともに使用できます。 |
171 Υޥɹԥץϡ\f2tnameserve\fP ȤȤ˻ѤǤޤ |
172 .RS 3 |
|
173 |
|
174 .LP |
|
175 .RS 3 |
172 .RS 3 |
176 .TP 3 |
173 .TP 3 |
177 \-Joption |
174 \-Joption |
178 Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。\f3\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。 |
175 Java ۥޥ \f2option\fP Ϥޤ\f2option\fP ˤϡjava(1)Υեڡ˵ܤƤ륪ץ 1 ĻꤷޤȤС\f3\-J\-Xms48m\fP Ȼꤹȡȥåץ 48M ХȤꤵޤ\f3\-J\fP Ȥäظμ¹ԴĶ˥ץϤȤϤ褯ԤƤޤ |
179 .RE |
176 .RE |
180 |
177 |
181 .LP |
178 .LP |
182 .RE |
179 .SH "Java IDL ͡ॵӥ" |
183 .SH "Java\ IDL 一時ネームサービスの停止" |
180 .LP |
184 .LP |
181 .LP |
185 .LP |
182 Java IDL ͡ॵӥߤˤϡUnix ξϡ\f2kill\fP ʤɤΥڥ졼ƥƥΥޥɤȤWindows ξϡ\f2Ctrl\-C\fP Ȥޤ͡ॵӥŪߤޤǤϡƤӽФԵ֤³ޤʤӥλȡJava IDL ͡ॵӥϿƤ̾ϼޤ |
186 Java IDL ネームサービスを停止するには、Unix の場合は、\f2kill\fP などのオペレーティングシステムのコマンドを使い、Windows の場合は、\f2Ctrl\-C\fP を使います。ネームサービスを明示的に停止するまでは、呼び出し待機状態が続きます。なお、サービスを終了させると、Java\ IDL ネームサービスに登録されている名前は失われます。 |
183 .LP |
187 .LP |
184 .SH "ץ륯饤: ֤̾ؤΥ֥Ȥɲ" |
188 .SH "サンプルクライアント:名前空間へのオブジェクトの追加" |
185 .LP |
189 .LP |
186 .LP |
190 .LP |
187 ˼ץץϡ֤̾̾ɲäˡΤǤΥץץϡΤޤޤξ֤Ǵư͡ॵӥ饤ȤǡΤ褦ñʥĥΤǤ |
191 次に示すサンプルプログラムは、名前を名前空間に追加する方法を示すものです。このサンプルプログラムは、このままの状態で完全に動作する一時ネームサービスクライアントで、次のような単純なツリーを作成するものです。 |
|
192 .LP |
188 .LP |
193 .nf |
189 .nf |
194 \f3 |
190 \f3 |
195 .fl |
191 .fl |
196 \fP\f3 |
192 \fP\f3 |
197 .fl |
193 .fl |
198 \fP\f4初期\fP\f3 |
194 \fP\f4\fP\f3 |
199 .fl |
195 .fl |
200 \fP\f4ネーミングコンテキスト\fP\f3 |
196 \fP\f4͡ߥƥ\fP\f3 |
201 .fl |
197 .fl |
202 / \\ |
198 / \\ |
203 .fl |
199 .fl |
204 / \\ |
200 / \\ |
205 .fl |
201 .fl |