Developer's Guides for

How to Instrument Management Codes in Managed Servers

  1. °ü¸®µÇ°íÀÚ ÇÏ´Â ¼­¹öÀÇ IDL ÆÄÀÏ¿¡ mio.idl ÆÄÀÏÀ» ÀÎŬ·çµåÇÑ´Ù.
    #include "mio.idl"
  2. CORBA IDL·Î Á¤ÀÇµÈ ¼­¹öÀÇ interface°¡ ObjectMIO interface¸¦ »ó¼Ó¹Þ°Ô ÇÑ´Ù.
    interface CommunicationFactory : ObjectMIO { ... }
  3. ¼­¹öÀÇ ±¸µ¿ ÇÁ·Î±×·¥¿¡¼­ ¼­ºñ½º °´Ã¼µéÀ» »ý¼º½Ã۱â Àü¿¡ ¼­¹ö ·¹º§ 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 : ¼­¹öÀÇ ±¸Çö ¹öÁ¯
  4. »ý¼ºµÈ ¼­ºñ½º °´Ã¼¿¡ ´ëÇÑ °¢ °´Ã¼ÀÇ ·¹ÆÛ·±½º¸¦ 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);
  5. ¼­ºñ½º °´Ã¼ÀÇ ±¸Çö Ŭ·¡½ºÀÇ Çì´õ¿¡ MIO °´Ã¼¸¦ À§ÇÑ Çì´õ ÆÄÀÏÀ» ÀÎŬ·çµå ÇÑ´Ù.
    #include "mio_i.h"
  6. ´Ù¸¥ ÀÎÅÍÆäÀ̽ºÀÇ »ó¼Ó¶§¿Í ¸¶Âù°¡Áö·Î °¢ ¼­ºñ½º °´Ã¼ÀÇ ±¸Çö Ŭ·¡½ºµéÀÌ ObjectMIO °´Ã¼ÀÇ ±¸Çö Ŭ·¡½º¸¦ »ó¼Ó¹Þ°Ô ÇÑ´Ù.
    class CommunicationFactory_i
    : public Communication::CommunicationFactoryBOAImpl,
    public ObjectMIO_i { ... }
  7. ¼­ºñ½º °´Ã¼µéÀÇ °¢ È£Ãâ ÇÔ¼öÀÇ ½ÃÀÛ ºÎºÐ¿¡¼­ count_requests() ¸¦ ºÎ¸¥´Ù. ÀÌ´Â °¢ °´Ã¼¿¡ ´ëÇÑ ¼­ºñ½º ÇÔ¼ö È£Ãâ Ƚ¼ö¸¦ ¼¼±â À§ÇÑ °ÍÀÌ´Ù.
    Communication::Port_ptr CommunicationFactory_i:: create_port(
    Communication::CommunicationKind ck, CORBA::Environment &IT_env)
    { count_requests();
    ...
  8. ¼­ºñ½º °´Ã¼µéÀÇ °¢ È£Ãâ ÇÔ¼ö Áß¿¡¼­ ¿¡·¯¸¦ ó¸®ÇÏ´Â ºÎºÐ¿¡¼­ count_request_errors() ¸¦ ºÎ¸¥´Ù. ÀÌ´Â °¢ °´Ã¼¿¡ ´ëÇÑ ¼­ºñ½º ÇÔ¼ö È£Ãâ Ƚ¼ö Áß ¿¡·¯¸¦ ¹ß»ý½ÃŰ´Â Ƚ¼ö¸¦ ¼¼±â À§ÇÑ °ÍÀÌ´Ù.

How to Compile Managed Server with Management Interfaces

  1. ¼­¹ö¸¦ ÄÄÆÄÀÏÇϱâ À§ÇÑ makefile¿¡ makefile.mgmt¸¦ Ãß°¡½ÃŲ´Ù.
    include ../../../makefile.mgmt
    ÀÌ ÆÄÀÏ¿¡´Â °ü¸® ÀÎÅÍÆäÀ̽ºÀÇ Àý´ë °æ·Î µîÀ» ºñ·ÔÇÑ °®°¡Áö VariableµéÀÌ ¼³Á¤µÇ¾î ÀÖ´Ù.
  2. IDL ÆÄÀÏÀ» ÄÄÆÄÀÏÇÒ¶§ $(IFLAGS)¸¦ Ãß°¡½ÃŲ´Ù.
    $(IDL) $(IDLFLAGS) $(IFLAGS) Communication.idl
    ÀÌ Ç÷¡±×¿¡´Â °°ÀÌ ÄÄÆÄÀÏÇÏ¿©¾ßÇÏ´Â °ü¸® ÀÎÅÍÆäÀ̽º µî¿¡ ´ëÇÑ °æ·Î°¡ ¼³Á¤µÇ¾î ÀÖ´Ù.
  3. ¼­¹ö¸¦ À§ÇÑ ¿ÀºêÁ§Æ® ÆÄÀÏ ¸®½ºÆ®¿¡ $(MO_SOBJS)¸¦ Ãß°¡½ÃŲ´Ù.
  4. ¼­¹ö¿¡ ´ëÇÑ Å¬¶óÀÌ¾ðÆ®¸¦ À§ÇÑ ¿ÀºêÁ§Æ® ÆÄÀÏ ¸®½ºÆ®¿¡ $(MO_COBJS)¸¦ Ãß°¡½ÃŲ´Ù.

comment to konga@postech.ac.kr

[ CorbaMan Home | DPE Lab Home | POSTECH Home ]