orbd(1) Java IDL and RMI-IIOP Tools orbd(1)

orbd - به کلاینت‌ها امکان می‌دهد تا اشیای ماندگار را روی سرورها در محیط CORBA مکان‌یابی کرده و فراخوانی کنند.

orbd [ options ]
گزینه‌های خط فرمان. بخش گزینه‌ها را ببینید.

دستور orbd به کلاینت‌ها امکان می‌دهد تا به‌صورت شفاف، اشیای ماندگار را روی سرورها در محیط CORBA مکان‌یابی و فراخوانی کنند. مدیر سرور (Server Manager) ارائه‌شده همراه با ابزار orbd برای توانمندسازی کلاینت‌ها در مکان‌یابی و فراخوانی شفاف اشیای ماندگار روی سرورها در محیط CORBA استفاده می‌شود. سرورهای ماندگار، هنگام انتشار ارجاعات اشیای ماندگار در سرویس نام‌گذاری (naming service)، به جای شماره پورت سرور، شماره پورت ORBD را در ارجاع شیء قرار می‌دهند. گنجاندن شماره پورت ORBD در ارجاع شیء برای ارجاعات اشیای ماندگار دارای مزایای زیر است:

•
ارجاع شیء در سرویس نام‌گذاری مستقل از چرخه حیات سرور باقی می‌ماند. به عنوان مثال، ارجاع شیء می‌تواند در نخستین نصب سرور توسط آن در سرویس نام‌گذاری منتشر شود، و سپس مستقل از تعداد دفعات راه‌اندازی یا متوقف شدن سرور، ORBD ارجاع شیء صحیح را به کلاینت فراخواننده بازمی‌گرداند.
•
کلاینت تنها یک بار نیاز به جستجوی ارجاع شیء در سرویس نام‌گذاری دارد و می‌تواند بدون وابستگی به تغییرات ناشی از چرخه حیات سرور، از این ارجاع دوباره استفاده کند.

برای دسترسی به مدیر سرور ORBD، سرور باید با استفاده از servertool راه‌اندازی شود که یک رابط خط فرمان برای برنامه‌نویسان جهت ثبت، لغو ثبت، راه‌اندازی و خاموش کردن یک سرور ماندگار است. برای اطلاعات بیشتر در مورد مدیر سرور، به بخش مدیر سرور مراجعه کنید.

هنگامی که orbd شروع به کار می‌کند، یک سرویس نام‌گذاری را نیز راه‌اندازی می‌نماید. برای اطلاعات بیشتر در مورد سرویس نام‌گذاری، به بخش شروع و توقف سرویس نام‌گذاری مراجعه کنید.


اجباری. پورتی را که سرور نام (name server) باید روی آن شروع به کار کند مشخص می‌کند. پس از شروع، orbd به درخواست‌های دریافتی روی این پورت گوش می‌دهد. در سیستم‌عامل Oracle Solaris، برای راه‌اندازی یک پردازش روی پورت کمتر از 1024 باید کاربر ریشه (root) باشید. به همین دلیل، اوراکل توصیه می‌کند از شماره پورت بزرگتر یا مساوی 1024 استفاده کنید.


پورت فعال‌سازی را مشخص می‌کند که در آن ORBD باید راه‌اندازی شود و درخواست‌های اشیای ماندگار را بپذیرد. مقدار پیش‌فرض این پورت 1049 است. این شماره پورت به فیلد پورت ارجاعات اشیای هم‌کنش‌پذیر ماندگار (IOR) اضافه می‌شود.

مسیر پایه‌ای را مشخص می‌کند که دایرکتوری ذخیره‌سازی ماندگار ORBD، یعنی orb.db، در آن ایجاد می‌شود. اگر این گزینه مشخص نشود، مقدار پیش‌فرض ./orb.db خواهد بود.

مشخص می‌کند ORBD هر چند وقت یک‌بار سلامت سرورهای ماندگار ثبت‌شده از طریق servertool را بررسی کند. مقدار پیش‌فرض 1000 میلی‌ثانیه است. مقدار مشخص‌شده برای milliseconds باید یک عدد صحیح مثبت معتبر باشد.

مشخص می‌کند ORBD پس از راه‌اندازی مجدد یک سرور ماندگار که از طریق servertool ثبت شده است، چه مدت پیش از ارسال استثنای هدایت مکان (location forward exception) منتظر بماند. مقدار پیش‌فرض 1000 میلی‌ثانیه است. مقدار مشخص‌شده برای milliseconds باید یک عدد صحیح مثبت معتبر باشد.

گزینه option را به ماشین مجازی جاوا (JVM) ارسال می‌کند، که در آن option یکی از گزینه‌های شرح داده‌شده در صفحه راهنمای راه‌انداز برنامه‌های جاوا است. برای نمونه، -J-Xms48m حافظه راه‌اندازی را روی 48 مگابایت تنظیم می‌کند. به java(1) مراجعه کنید.

سرویس نام‌گذاری یک سرویس CORBA است که امکان نام‌گذاری اشیای CORBA را از طریق پیوند دادن یک نام به یک ارجاع شیء فراهم می‌کند. پیوند نام را می‌توان در سرویس نام‌گذاری ذخیره کرد، و یک کلاینت می‌تواند نام را ارائه دهد تا ارجاع شیء مورد نظر را به دست آورد.

پیش از اجرای کلاینت یا سرور، شما ORBD را راه‌اندازی می‌کنید. ORBD شامل یک سرویس نام‌گذاری ماندگار و یک سرویس نام‌گذاری گذرا است که هر دو پیاده‌سازی سرویس نام‌گذاری COS هستند.

سرویس نام‌گذاری ماندگار پایداری و ماندگاری را برای زمینه‌های نام‌گذاری فراهم می‌کند. این بدان معناست که این اطلاعات در بین خاموش شدن‌ها و راه‌اندازی‌های سرویس پایدار می‌ماند و در صورت بروز خرابی در سرویس، قابل بازیابی است. اگر ORBD مجدداً راه‌اندازی شود، سرویس نام‌گذاری ماندگار نمودار زمینه نام‌گذاری را بازیابی می‌کند، به‌طوری که پیوند نام‌های تمام کلاینت‌ها و سرورها دست‌نخورده (پایدار) باقی می‌ماند.

برای سازگاری با نسخه‌های پیشین، tnameserv که یک سرویس نام‌گذاری گذرا ارائه‌شده در نسخه‌های قبلی JDK بود، در این نسخه از Java SE نیز گنجانده شده است. یک سرویس نام‌گذاری گذرا تا زمانی که در حال اجرا است، زمینه‌های نام‌گذاری را حفظ می‌کند. در صورت بروز وقفه در سرویس، نمودار زمینه نام‌گذاری از دست می‌رود.

آرگومان -ORBInitialPort یک آرگومان خط فرمان الزامی برای orbd است و برای تنظیم شماره پورتی که سرویس نام‌گذاری روی آن اجرا می‌شود به کار می‌رود. دستورالعمل‌های زیر فرض می‌کنند که می‌توانید از پورت 1050 برای دیمن کارگزار درخواست شیء جاوا IDL استفاده کنید. هنگام استفاده از نرم‌افزار Oracle Solaris، برای راه‌اندازی یک پردازش روی پورت کمتر از 1024 باید کاربر ریشه (root) باشید. به همین دلیل، توصیه می‌شود از شماره پورت بزرگتر یا مساوی 1024 استفاده کنید. در صورت لزوم می‌توانید از پورت دیگری استفاده نمایید.

برای راه‌اندازی orbd از پوسته یونیکس، دستور زیر را وارد کنید:

orbd -ORBInitialPort 1050&

از اعلان سیستم MS-DOS (ویندوز)، دستور زیر را وارد کنید:

start orbd -ORBInitialPort 1050

اکنون که ORBD در حال اجرا است، می‌توانید برنامه‌های سرور و کلاینت خود را اجرا کنید. هنگام اجرای برنامه‌های کلاینت و سرور، آنها باید از شماره پورت (و نام دستگاه، در صورت لزوم) که سرویس نام‌گذاری در آن در حال اجرا است مطلع شوند. یک روش برای انجام این کار افزودن کد زیر به برنامه شما است:

Properties props = new Properties();
props.put("org.omg.CORBA.ORBInitialPort", "1050");
props.put("org.omg.CORBA.ORBInitialHost", "MyHost");
ORB orb = ORB.init(args, props);

در این مثال، سرویس نام‌گذاری روی پورت 1050 در میزبان MyHost در حال اجرا است. روش دیگر مشخص کردن شماره پورت یا نام دستگاه در هنگام اجرای برنامه سرور یا کلاینت از خط فرمان است. برای نمونه، می‌توانید برنامه HelloApplication خود را با خط فرمان زیر راه‌اندازی کنید:

java HelloApplication -ORBInitialPort 1050 -ORBInitialHost MyHost

برای متوقف کردن سرویس نام‌گذاری، از دستور مربوط به سیستم‌عامل استفاده کنید، مانند pkill orbd در Oracle Solaris، یا Ctrl+C در پنجره اعلان داس که orbd در آن در حال اجرا است. توجه داشته باشید که نام‌های ثبت‌شده در سرویس نام‌گذاری ممکن است در صورت خاتمه سرویس به دلیل استفاده از سرویس نام‌گذاری گذرا ناپدید شوند. سرویس نام‌گذاری Java IDL تا زمانی که به‌طور صریح متوقف نشود، به اجرا ادامه می‌دهد.

برای اطلاعات بیشتر درباره سرویس نام‌گذاری همراه با ORBD، به Naming Service در نشانی زیر مراجعه کنید: http://docs.oracle.com/javase/8/docs/technotes/guides/idl/jidlNaming.html

برای دسترسی به مدیر سرور ORBD و اجرای یک سرور ماندگار، سرور باید با servertool راه‌اندازی شود که یک رابط خط فرمان برای برنامه‌نویسان جهت ثبت، لغو ثبت، راه‌اندازی و خاموش کردن یک سرور ماندگار است. هنگامی که یک سرور با استفاده از servertool راه‌اندازی می‌شود، باید روی همان میزبان و پورتی که orbd اجرا می‌شود راه‌اندازی گردد. اگر سرور روی پورت متفاوتی اجرا شود، اطلاعات ذخیره‌شده در پایگاه‌داده برای زمینه‌های محلی نامعتبر خواهد بود و سرویس به درستی کار نخواهد کرد.

به Java IDL: The "Hello World" Example در نشانی زیر مراجعه کنید: http://docs.oracle.com/javase/8/docs/technotes/guides/idl/jidlExample.html

در این مثال، کامپایلر idlj و کامپایلر javac را همان‌طور که در آموزش نشان داده شده است اجرا می‌کنید. برای اجرای مدیر سرور ORBD، این مراحل را برای اجرای برنامه دنبال کنید:

راه‌اندازی orbd.

پوسته یونیکس، وارد کنید: orbd -ORBInitialPort 1050.

اعلان سیستم MS-DOS (ویندوز)، وارد کنید: start orbd -ORBInitialPort 1050.

پورت 1050 پورتی است که می‌خواهید سرور نام روی آن اجرا شود. گزینه -ORBInitialPort یک آرگومان خط فرمان الزامی است. هنگام استفاده از نرم‌افزار Oracle Solaris، برای راه‌اندازی یک پردازش روی پورت کمتر از 1024 باید کاربر ریشه (root) باشید. به همین دلیل، توصیه می‌شود از شماره پورت بزرگتر یا مساوی 1024 استفاده کنید.

راه‌اندازی servertool: servertool -ORBInitialPort 1050.

اطمینان حاصل کنید که پورت سرور نام (orbd) همانند مرحله قبل است، برای مثال -ORBInitialPort 1050. ابزار servertool باید روی همان پورت سرور نام راه‌اندازی شود.

در رابط خط فرمان servertool، سرور Hello را از اعلان servertool راه‌اندازی کنید:

servertool  > register -server HelloServer -classpath . -applicationName
                HelloServerApName

ابزار servertool سرور را ثبت می‌کند، نام HelloServerApName را به آن اختصاص می‌دهد و شناسه سرور آن را به همراه فهرستی از تمام سرورهای ثبت‌شده نمایش می‌دهد. برنامه کلاینت را از پنجره ترمینال یا اعلان دیگری اجرا کنید:

java HelloClient -ORBInitialPort 1050 -ORBInitialHost localhost

برای این مثال، می‌توانید -ORBInitialHost localhost را حذف کنید زیرا سرور نام روی همان میزبانی اجرا می‌شود که کلاینت Hello در آن در حال اجرا است. اگر سرور نام روی میزبان متفاوتی در حال اجرا است، از گزینه -ORBInitialHost nameserverhost برای مشخص کردن میزبانی که سرور نام IDL در آن اجرا می‌شود استفاده کنید. پورت سرور نام (orbd) را همانند مرحله قبل مشخص کنید، برای مثال -ORBInitialPort 1050. هنگامی که کار شما با مدیر سرور ORBD پایان یافت، حتماً سرور نام (orbd) و servertool را خاموش یا متوقف کنید. برای متوقف کردن orbd از اعلان MS-DOS، پنجره‌ای را که سرور در آن در حال اجرا است انتخاب کرده و کلیدهای ترکیبی Ctrl+C را برای خاموش کردن آن فشار دهید.

برای خاموش کردن orbd از پوسته Oracle Solaris، پردازش را پیدا کرده و با دستور kill خاتمه دهید. سرور تا زمانی که به‌طور صریح متوقف نشود، به انتظار برای فراخوانی‌ها ادامه می‌دهد. برای متوقف کردن servertool، عبارت quit را تایپ کرده و کلید Enter را فشار دهید.

•
servertool(1)
•
راهنمای Naming Service در نشانی http://docs.oracle.com/javase/8/docs/technotes/guides/idl/jidlNaming.html
21 November 2013 JDK 8