Developer's Guides for
How to Instrument Management Codes in Managed Servers
- °ü¸®µÇ°íÀÚ ÇÏ´Â ¼¹öÀÇ IDL ÆÄÀÏ¿¡ mio.idl ÆÄÀÏÀ» ÀÎŬ·çµåÇÑ´Ù.
#include "mio.idl"
- CORBA IDL·Î Á¤ÀÇµÈ ¼¹öÀÇ interface°¡ ObjectMIO interface¸¦
»ó¼Ó¹Þ°Ô ÇÑ´Ù.
interface CommunicationFactory : ObjectMIO { ... }
- ¼¹öÀÇ ±¸µ¿ ÇÁ·Î±×·¥¿¡¼ ¼ºñ½º °´Ã¼µéÀ» »ý¼º½Ã۱â Àü¿¡ ¼¹ö ·¹º§
MIO¸¦ »ý¼º½Ã۰í ÃʱâÈÇÑ´Ù. ÃʱâÈ °úÁ¤¿¡¼´Â »ý¼ºµÈ MIO °´Ã¼¸¦
cMSO¿¡°Ô µî·Ï½ÃŰ°í ¼¹öÀÇ ±¸µ¿ ½ÃÀÛÀ» ¾Ë¸®´Â À̺¥Æ®¸¦ »ý¼º½ÃŰ´Â ÀÏÀ»
ÇÑ´Ù.
MIO_i *mio_ptr = init_mio("Communication",
"amazon.postech.ac.kr", 1.2);
MIOÀÇ »ý¼ºÇÔ¼öÀÇ ÆÄ¶ó¹ÌÅÍ´Â ´ÙÀ½°ú °°´Ù.
- "Communication" : ¼¹öÀÇ À̸§
- "amazon.postech.ac.kr" : °ü¸® µµ¸ÞÀÎÀÇ À̸§,
cMSO°¡ ¶° Àִ ȣ½ºÆ®ÀÇ À̸§°ú °°´Ù.
- 1.2 : ¼¹öÀÇ ±¸Çö ¹öÁ¯
- »ý¼ºµÈ ¼ºñ½º °´Ã¼¿¡ ´ëÇÑ °¢ °´Ã¼ÀÇ ·¹ÆÛ·±½º¸¦ MIO¿¡°Ô Ãß°¡½Ã۰í
°¢ ¼ºñ½º °´Ã¼ÀÇ ObjectMIO¿¡ ¼¹ö ·¹º§ MIOÀÇ ·¹ÆÛ·±½º¸¦ ¼¼ÆÃÇÏ´Â
°úÁ¤ÀÌ´Ù.
Communication::CommunicationFactory_var cf = new CommunicationFactory_i;
ObjectMIO_ptr temp_mio;
temp_mio = cf;
temp_mio->set_mio_ptr(mio_ptr);
mio_ptr->add_object(temp_mio);
- ¼ºñ½º °´Ã¼ÀÇ ±¸Çö Ŭ·¡½ºÀÇ Çì´õ¿¡ MIO °´Ã¼¸¦ À§ÇÑ Çì´õ ÆÄÀÏÀ» ÀÎŬ·çµå
ÇÑ´Ù.
#include "mio_i.h"
- ´Ù¸¥ ÀÎÅÍÆäÀ̽ºÀÇ »ó¼Ó¶§¿Í ¸¶Âù°¡Áö·Î °¢ ¼ºñ½º °´Ã¼ÀÇ ±¸Çö Ŭ·¡½ºµéÀÌ
ObjectMIO °´Ã¼ÀÇ ±¸Çö Ŭ·¡½º¸¦ »ó¼Ó¹Þ°Ô ÇÑ´Ù.
class CommunicationFactory_i
: public Communication::CommunicationFactoryBOAImpl,
public ObjectMIO_i { ... }
- ¼ºñ½º °´Ã¼µéÀÇ °¢ È£Ãâ ÇÔ¼öÀÇ ½ÃÀÛ ºÎºÐ¿¡¼
count_requests() ¸¦ ºÎ¸¥´Ù. ÀÌ´Â °¢ °´Ã¼¿¡ ´ëÇÑ
¼ºñ½º ÇÔ¼ö È£Ãâ Ƚ¼ö¸¦ ¼¼±â À§ÇÑ °ÍÀÌ´Ù.
Communication::Port_ptr CommunicationFactory_i:: create_port(
Communication::CommunicationKind ck, CORBA::Environment &IT_env)
{
count_requests();
...
- ¼ºñ½º °´Ã¼µéÀÇ °¢ È£Ãâ ÇÔ¼ö Áß¿¡¼ ¿¡·¯¸¦ ó¸®ÇÏ´Â ºÎºÐ¿¡¼
count_request_errors() ¸¦ ºÎ¸¥´Ù. ÀÌ´Â °¢ °´Ã¼¿¡ ´ëÇÑ
¼ºñ½º ÇÔ¼ö È£Ãâ Ƚ¼ö Áß ¿¡·¯¸¦ ¹ß»ý½ÃŰ´Â Ƚ¼ö¸¦ ¼¼±â À§ÇÑ °ÍÀÌ´Ù.
How to Compile Managed Server with Management Interfaces
- ¼¹ö¸¦ ÄÄÆÄÀÏÇϱâ À§ÇÑ makefile¿¡ makefile.mgmt¸¦ Ãß°¡½ÃŲ´Ù.
include ../../../makefile.mgmt
ÀÌ ÆÄÀÏ¿¡´Â °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ Àý´ë °æ·Î µîÀ» ºñ·ÔÇÑ °®°¡Áö VariableµéÀÌ
¼³Á¤µÇ¾î ÀÖ´Ù.
- IDL ÆÄÀÏÀ» ÄÄÆÄÀÏÇÒ¶§
$(IFLAGS)¸¦ Ãß°¡½ÃŲ´Ù.
$(IDL) $(IDLFLAGS) $(IFLAGS) Communication.idl
ÀÌ Ç÷¡±×¿¡´Â °°ÀÌ ÄÄÆÄÀÏÇÏ¿©¾ßÇÏ´Â °ü¸® ÀÎÅÍÆäÀ̽º µî¿¡ ´ëÇÑ
°æ·Î°¡ ¼³Á¤µÇ¾î ÀÖ´Ù.
- ¼¹ö¸¦ À§ÇÑ ¿ÀºêÁ§Æ® ÆÄÀÏ ¸®½ºÆ®¿¡
$(MO_SOBJS)¸¦
Ãß°¡½ÃŲ´Ù.
- ¼¹ö¿¡ ´ëÇÑ Å¬¶óÀÌ¾ðÆ®¸¦ À§ÇÑ ¿ÀºêÁ§Æ® ÆÄÀÏ ¸®½ºÆ®¿¡
$(MO_COBJS)¸¦ Ãß°¡½ÃŲ´Ù.
[ CorbaMan Home
| DPE Lab Home
| POSTECH Home
]