¡¾·±ÌåÖÐÎÄ¡¿
¡¾ÉèΪÊ×Ò³¡¿
¡¾¼ÓÈëÊղء¿
µ±Ç°Î»Ö㺳ÌÐò¿ª·¢Ê×Ò³ >> Visual C++ >> ¶ÔÏó±ê×¼COMºÍCORBAÂÛ³¤µÀ¶Ì

¶ÔÏó±ê×¼COMºÍCORBAÂÛ³¤µÀ¶Ì

2005-01-09 20:42:19  ×÷Õߣºplaypcgame  À´Ô´£º»¥ÁªÍø  ä¯ÀÀ´ÎÊý£º4  ÎÄ×Ö´óС£º¡¾´ó¡¿¡¾ÖС¿¡¾Ð¡¡¿
¼ò½é£º¶ÔÏó±ê×¼COMºÍCORBAÂÛ³¤µÀ¶Ì ¡¡¡¡    ×éºÏÈí¼þÊÇÐÂÒ»´úÈí¼þ¼¼Êõ·¢Õ¹µÄ±êÖ¾£¬ËüµÄÌá³öºÜ×ÔÈ»£¬ÎªÁËÌá¸ßÈí¼þÉú²úÁ¦¡¢²»²ÝÂʵؿª·¢Ó¦ÓóÌÐò¡¢Éè¼Æ¿ª·¢ÈËÔ±Ó¦¾¡¿ÉÄܵØÀûÓÿÉÖØÓõÄÈí¼þ×é¼þ¡¢×é×°¹¹ÔìеÄÓ¦...
¹Ø¼ü×Ö£º¶ÔÏó ±ê×¼ CORBA COM

¶ÔÏó±ê×¼COMºÍCORBAÂÛ³¤µÀ¶Ì

¡¡¡¡

×éºÏÈí¼þÊÇÐÂÒ»´úÈí¼þ¼¼Êõ·¢Õ¹µÄ±êÖ¾£¬ËüµÄÌá³öºÜ×ÔÈ»£¬ÎªÁËÌá¸ßÈí¼þÉú²úÁ¦¡¢²»²ÝÂʵؿª·¢Ó¦ÓóÌÐò¡¢Éè¼Æ¿ª·¢ÈËÔ±Ó¦¾¡¿ÉÄܵØÀûÓÿÉÖØÓõÄÈí¼þ×é¼þ¡¢×é×°¹¹ÔìеÄÓ¦ÓÃÈí¼þϵͳ¡£

¡¡¡¡×·¸ùÇóÔ´£¬ÓÉÈí¼þÄ£¿é×é¼þ×éÖ¯ºÏ³ÉÈí¼þµÄ˼ÏëÔçÔÚ70Äê´ú¾ÍÒÑÌá³öÁË£¬º¯Êý¾ÍÊÇÒ»ÖÖ×é¼þ£¬º¯Êýͨ¹ý²ÎÊýÀ´ÊÊÓ¦²»Í¬Ó¦ÓÃÐèÇóµÄ±ä»¯£¬AdaÓïÑÔµÄÄ£¿épackage¾ÍÊÇÒ»ÖÖ×é¼þ£¬ÊµÏÖÁËÄÚ²¿Ï¸½ÚÑڲأ¬Ä£¿éͨ¹ý½Ó¿Ú¹æ·¶ËµÃ÷½øÐÐÁ¬½ÓºÍ×é×°£¬package»¹ÌṩÁËÀàÊô»úÖÆ£¬Ê¹Ä£¿éͨ¹ýÀàÊô²ÎÊý£¬ÊÊÓ¦²»Í¬Ó¦ÓÃÐèÇóµÄ±ä»¯¡£µ«ÊÇ£¬´«Í³Èí¼þϵͳ½á¹¹µÄ¾ÖÏÞÐÔ£¬ÒÔ¹ý³ÌΪÖÐÐÄÉè¼ÆµÄ¹¦ÄÜÄ£¿é£¬ÆäÀ©³äºÍ¸´ÓõÄÄÜÁ¦¶¼½Ï²î£¬¶ÔÄ£¿é½øÐÐÓ¦ÓÃÖØ×éµÄÀ§ÄѺܶࡣ´Ó80Äê´ú¿ªÊ¼µÄÃæÏò¶ÔÏó¼¼ÊõµÄÑо¿£¬Ê¹×éºÏÈí¼þÓÖÃÈ·¢³öеÄÉúÃüÁ¦¡£ÃæÏò¶ÔÏóµÄÈí¼þ£¬ÒÔÊý¾ÝΪÖÐÐÄÉè¼Æ£¬¶ÔÏóÀà¼È¾ßÓÐÄ£¿éµÄ·â×°ÐÔºÍÀàÊôµÈÌØÐÔ£¬»¹¾ßÓм̳ÐÌØÐÔ

£¬¼«´óµØÌá¸ßÁËÀàµÄ¿ÉÀ©³äÐԺͿÉÔÙÓÃÄÜÁ¦¡£¶ÔÏóÀà½ÏÖ®ÓÚ´«Í³Èí¼þµÄ¹¦ÄÜÄ£¿é¶øÁí¾ßÓеÄÓŵãÊÇ£º

¡¡¡¡£¨1£©Ò×ÓÚÀí½â£¬¾ßÓÐÍêÕûµÄÓïÒåÌØÕ÷£»

¡¡¡¡£¨2£©Ò×ÓÚÀ©³äºÍÐ޸쬾ßÓнϸߵÄͨÓÃÐÔºÍÊÊÓ¦ÐÔ£»

¡¡¡¡£¨3£©Ò×ÓÚ¹¹Ôì×é×°£¬¾ßÓй淶µÄÍⲿ½Ó¿Ú¡£

¡¡¡¡¿ª·¢Ó¦ÓÃ×é¼þ±ØÐë×ñÑ­±ê×¼£¬ÒÔ±£Ö¤Èí¼þ×é¼þµÄ»¥²Ù×÷ÐÔ£¬Ö»ÓÐ×ñѭͳһµÄ±ê×¼£¬²»Í¬³§É̵ġ¢²»Í¬Ê±ÆÚµÄ¡¢²»Í¬³ÌÐòÉè¼Æ·ç¸ñµÄ¡¢²»Í¬±à³ÌÓïÑԵġ¢²»Í¬²Ù×÷ϵͳµÄ¡¢²»Í¬Æ½Ì¨ÉϵÄÈí¼þ»òÈí¼þ²¿¼þ²ÅÄܽøÐн»Á÷ÓëºÏ×÷¡£Îª´Ë£¬OMG£¨ObjectManageGroup£©ÌṩÁËÒ»¸ö¶ÔÏó±ê×¼CORBA£¬Ëü¶¨ÒåÁËÒ»¸öÍøÁ¬¶ÔÏóµÄ½Ó¿Ú£¬Ê¹µÃ¶ÔÏó¿ÉÒÔͬʱ¹¤×÷¡£»ùÓÚCORBAµÄ¶ÔÏóÇëÇó´úÀíORBΪ¿Í»§»ú£¯·þÎñÆ÷¿ª·¢ÌṩÁËÖмä¼þµÄиñʽ¡£

¡¡¡¡ÁîÈË³ÆÆæµÄÊÇ£¬×÷ΪOMG³ÉÔ±µÄ΢Èí¹«Ë¾È´Æ²¿ªCORBA¶øÁí±ÙÁËCOM£¨ComponetObjectModel£©£¬¼´×é¼þ¶ÔÏóÄ£ÐÍ£¬²¢°ÑCOM¶¨Î»³É»ùÓÚ¶ÔÏóµÄÈí¼þ¿ª·¢Ä£ÐÍ£¬¾¡¹ÜCOM±»ÈÏΪÊÇ΢Èí¹ÄÔë³öÀ´µÄ¼¼Êõ£¬µ«Ö§³ÖCOMµÄ¿ª·¢¹¤¾ßÈ´²»¶ÏÔö¶à£¬ÆäÖд󲿷ÖÀ´×ÔÓÚ΢Èí£¬°üÀ¨VisualBasicºÍVisualC£«£«¡£

¡¡¡¡Ãæ¶Ô×é¼þÁìÓòÄÚȱ·¦Ò»¸öͳһµÄ¡¢ÓÃÓÚ¿ª·¢Ó¦ÓÃ×é¼þµÄ±ê×¼ÕâÖÖ¾ÖÃæ£¬¿ª·¢ÈËÔ±Ó¦Ôõô°ìÄØ£¿COMºÍCORBAË­¸üʤһ³ï£¿±¾ÎÄÏȽéÉÜCORBAºÍCOM£¬È»ºó·ÖÎö±È½ÏÕâÁ½¸ö±ê×¼¼°Æä×é¼þµÄÓÅÁÓÊÆ£¬ÏàÐŶÁÕßÔÚ¶ÁÍ걾ƪÎÄÕÂÖ®ºó£¬»á

×ö³ö×Ô¼ºµÄÅжϺÍÈ¡Éá¶¨óÆ¡£

¡¡¡¡ Ò»¡¢¹«¹²¶ÔÏóÇëÇó´úÀí½á¹¹£ºCORBA±ê×¼

¡¡¡¡È«ÇòÐÔÍøÂçʹÏßÉϵÄËùÓÐÉ豸ºÍÈí¼þ³ÉΪȫÇò¹²ÏíµÄºÆå«µÄ×ÊÔ´£¬¼ÆËã»ú»·¾³Ò²´Ó¼¯ÖÐʽ·¢Õ¹µ½·Ö²¼Ê½»·¾³£¬¿ª·ÅʽϵͳµÄ·¢Õ¹Ê¹Óû§Äܹ»Í¸Ã÷µØÓ¦ÓÃÓɲ»Í¬³§ÉÌÖÆÔìµÄ²»Í¬»úÐͲ»Í¬Æ½Ì¨Ëù×é³ÉµÄÒì¹¹ÐͼÆËã×ÊÔ´£¬Òò´Ë£¬·Ö²¼Ê½´¦ÀíºÍÓ¦Óü¯³É×ÔÈ»¶øÈ»µØ³ÉΪÈËÃǵĹ²Í¬ÒªÇó£¬ÄÇôʲôÊÇ·Ö²¼Ê½´¦ÀíºÍÓ¦Óü¯³ÉÄØ£¿ËüÃǵŦÄܺ͹ؼü¼¼ÊõÊÇÊ²Ã´ÄØ£¿¼òµ¥µØ½²£¬·Ö²¼Ê½´¦ÀíºÍÓ¦Óü¯³É¾ÍÊÇÖ¸ÔÚÒì¹¹µÄ¡¢ÍøÂçµÄ¡¢ÎïÀíÐÔÄܲî±ðºÜ´óµÄ¡¢²»Í¬³§É̵ġ¢²»Í¬ÓïÑÔµÄÐÅÏ¢×ÊÔ´µÄ»ù´¡ÉϹ¹½¨ÐÅÏ¢¹²ÏíµÄ·Ö²¼Ê½ÏµÍ³£¬²¢ÇÒÄܹ»ÓÐЧµØ½øÐÐÓ¦ÓÃϵͳºÍ·Ö²¼Ê½´¦ÀíµÄ¼¯³É¡£·Ö²¼Ê½´¦ÀíµÄ¹Ø¼üÔÚÓÚ¶¨Òå¿É¹ÜÀíµÄÈí¼þ¹¹¼þ£¬¼´ÃæÏò¶ÔÏó¼¼ÊõÖеġ°¶ÔÏ󡱡£Ó¦Óü¯³ÉµÄ¹Ø¼üÔÚÓÚΪ¿çƽ̨¡¢¿ç»úÖÖ¡¢¿ç±à³ÌÓïÑԵIJúÆ·ÌṩͳһµÄÓ¦Óýӿڡ£OMG×éÖ¯Õë¶Ôµ±½ñÐÅÏ¢²úÒµµÄÒªÇ󣬹«²¼ÁËCORBA±ê×¼£¬¼´¹«¹²¶ÔÏóÇëÇó´úÀíÌåϵ½á¹¹£¨Common Object Request Broker Architecture£©£¬ÕâÊÇÒ»¸ö¾ßÓл¥²Ù×÷ÐԺͿÉÒÆÖ²ÐԵķֲ¼Ê½ÃæÏò¶ÔÏóµÄÓ¦Óñê×¼¡£

¡¡¡¡CORBAµÄ½á¹¹¼ûÏÂͼ£º

¡¡¡¡CORBAµÄºËÐÄÊǶÔÏóÇëÇó´úÀíORB£¬ËüÌṩ¶ÔÏó¶¨Î»¡¢¶ÔÏ󼤻îºÍ¶ÔÏóͨѶµÄ͸Ã÷»úÖÆ¡£¿Í»§·¢³öÒªÇó·þÎñµÄÇëÇ󣬶ø¶ÔÏóÔòÌṩ·þÎñ£¬ORB°ÑÇëÇó·¢Ë͸ø¶ÔÏó¡¢°ÑÊä³öÖµ·µ»Ø¸ø¿Í»§¡£ORBµÄ·þÎñ¶Ô¿Í»§¶øÑÔÊÇ͸Ã÷µÄ£¬¿Í»§²»ÖªµÀ¶ÔÏóפÁôÔÚÍøÂçÖкδ¦¡¢¶ÔÏóÊÇÈçºÎͨѶ¡¢ÈçºÎʵÏÖÒÔ¼°ÈçºÎÖ´Ðеģ¬Ö»ÒªËû³ÖÓжÔij¶ÔÏóµÄ¶ÔÏóÒýÓ㬾ͿÉÒÔÏò¸Ã¶ÔÏó·¢³ö·þÎñÇëÇó¡£

¡¡¡¡CORBAÔÊÐíÓû§ÒÔÁ½ÖÖ²»Í¬µÄ·½Ê½Ìá³ö¶ÔÏóÇëÇó£º

¡¡¡¡1£©¾²Ì¬µ÷Óãº

¡¡¡¡Í¨¹ý¸ø¶¨½Ó¿ÚµÄ´æ¸ù£¬ÔÚ±àÒëÁ˶ÔÏó´úÂëºó£¬½øÈë¿Í»§¶ËµÄ³ÌÐò¡£Òò´Ë£¬¾²Ì¬µ÷ÓñØÐëÔÚ±àÒëʱ¾ÍÖªµÀ¶ÔÏó¼°ÆäÀàÐÍ¡£

¡¡¡¡2£©¶¯Ì¬µ÷Óãº

¡¡¡¡Í¨¹ýORBµÄ¶¯Ì¬µ÷ÓýӿÚDII£¬ÔÚÔËÐÐʱÉú³É·ÃÎʶÔÏóµÄ´úÂë¡£

¡¡¡¡²»¹Ü¿Í»§ÒÔÄÄÒ»ÖÖÐÎʽÌá³öÇëÇó£¬ORBµÄÈÎÎñÊÇ£ºÕÒ³öËùÒª¶ÔÏóµÄλÖ㬼¤»î¸Ã¶ÔÏó£¬Ïò¶ÔÏ󴫵ݴËÇëÇó¡£¶ÔÏóÖ´ÐÐËùÇëÇóµÄ·þÎñºó£¬°ÑÊä³öÖµ·µ»Ø¸øORB£¬È»ºóÔÙÓÉORB·µ»Ø¸ø¿Í»§¡£

¡¡¡¡CORBAµÄÖØÒª¸ÅÄîÊÇ£º

¡¡¡¡1£®¶ÔÏóÁ¬½Ó

¡¡¡¡CORBA¹ã·ºµØÖ§³Ö¶ÔÏóµÄʵÏÖ£¬ÔÚµ¥·þÎñÆ÷ϵͳÖÐÒ²¿ÉÒÔʵÏÖÓɽӿڶ¨ÒåÓïÑÔ¶¨ÒåµÄ½Ó¿Ú¡£ORBµÄÁé»îÐԼȿÉÒÔÖ±½Ó¼¯³ÉÒÑÓеÄÓ¦Óã¬ÓÖ²»»áʹжÔÏóÊÜijЩԭÔòµÄÖÆÔ¼¡£

¡¡¡¡¶ÔÏóÁ¬½ÓÌṩÁËÓв»Í¬ÀàÐͶÔÏóʵÏÖʱ£¬Ê¹ÓÃORB·þÎñµÄ·½·¨£¬·þÎñ°üÀ¨£º¶ÔÏóÒýÓᢷ½·¨µ÷Óᢰ²È«¿ØÖÆ¡¢¶ÔÏóʵÏֵ碌îÓë¾²ºòµÈ¡£

¡¡¡¡2£®½Ó¿Ú¶¨ÒåÓïÑÔ£¨IDL£©

¡¡¡¡CORBAÓÃIDLÀ´ÃèÊö¶ÔÏó½Ó¿Ú£¬IDLÊÇÒ»ÖÖ˵Ã÷ÐÔÓïÑÔ£¬ËüµÄÓï·¨ÀàËÆÓÚC£«£«¡£

¡¡¡¡IDLÌṩµÄÊý¾ÝÀàÐÍÓУº»ù±¾Êý¾ÝÀàÐÍ¡¢¹¹ÔìÀàÐÍ¡¢Ä£°åÀàÐÍ¡¢ºÍ¸´ºÏÀàÐÍ¡¢²Ù×÷˵Ã÷¡£ÕâЩÀàÐÍ¿ÉÒÔÓÃÀ´¶¨Òå±äÔªµÄÀàÐͺͷµ»ØÀàÐÍ£¬²Ù×÷˵Ã÷Ôò¿ÉÒÔÓÃÀ´¶¨Òå¶ÔÏóÌṩµÄ·þÎñ¡£

¡¡¡¡IDL»¹Ìṩģ¿é¹¹Ô죬ÆäÖпÉÒÔ°üº¬½Ó¿Ú£¬¶ø½Ó¿ÚÊÇIDL¸÷ÀàÐÍÖÐ×îÖØÒªµÄ£¬Ëü³ýÁËÃèÊöCORBA¶ÔÏóÒÔÍ⣬»¹¿ÉÒÔÓÃ×÷¶ÔÏóÒýÓÃÀàÐÍ¡£

¡¡¡¡IDLÌṩÁ˽ӿڼ̳ÐÐÔ£¬ÅÉÉú½Ó¿Ú¿ÉÒÔ¼Ì³ÐÆä»ùÀà½Ó¿ÚËù¶¨ÒåµÄ²Ù×÷ÓëÀàÐÍ¡£IDLµÄ½Ó¿Ú¼Ì³ÐÐÔÓÐÆäÌØÊâÐÔ£¬´Ë´¦²»×¸Êö¡£

¡¡¡¡×ÜÖ®£¬CORBAµÄIDLÊÇÒ»ÖÖ˵Ã÷ÐÔÓïÑÔ£¬ÃèÊöÃæÏò¶ÔÏóϵͳ¿ª·¢Ëù×ñÑ­µÄ½Ó¿ÚÓëʵÏÖÏà·ÖÀëµÄ»ù±¾Ô­Ôò¡£

¡¡¡¡3£®¶¯Ì¬µ÷ÓýӿÚ

¡¡¡¡°ÑIDL˵Ã÷±àÒë³ÉÃæÏò¶ÔÏó³ÌÐòÉè¼ÆÓïÑÔµÄʵ´úÂëºó£¬¿Í»§¿ÉÒÔµ÷ÓÃÒÑÖª¶ÔÏóµÄ²Ù×÷¡£ÔÚijЩӦÓÃÖУ¬Óû§²¢²»Á˽âÓ¦ÓýӿڱàÒëÐÅÏ¢£¬µ«Ò²ÒªÇóµ÷ÓöÔÏóµÄ²Ù×÷£¬Õâʱ¾ÍÒª¶¯Ì¬µ÷ÓýӿÚÀ´µ÷ÓÃÓû§µÄ²Ù×÷ÁË¡£ÀýÈ磬ͼÐÎÓû§½Ó¿ÚÓ¦Ö§³ÖÓû§ä¯ÀÀ½Ó¿Ú¹«¹²¿â£¬ÒÔ»ñµÃÿ¸ö¶ÔÏóËùÖ§³ÖµÄ²Ù×÷ÐÅÏ¢£¬Óû§¿É¸ù¾Ý×Ô¼ºµÄÐèÇó´Óä¯ÀÀ¶ÔÏóÖÐÌôÑ¡³öËùÐèµÄ¶ÔÏó²Ù×÷£¬¾ßÌåµÄ¶ÔÏó²Ù×÷µÄµ÷ÓÃʵ¼ÊÉÏÊÇÓö¯Ì¬µ÷ÓýӿÚÀ´Íê³ÉµÄ¡£

¡¡¡¡4£®½Ó¿Ú¹«Óÿâ

¡¡¡¡½Ó¿Ú¹«Óÿâ³Ö¾ÃµØ´æ´¢IDLµÄ½Ó¿Ú˵Ã÷£¬½èÖúÓÚ½Ó¿Ú¹«Óÿ⣬¿ÉÒÔʵÏÖ¶ÔÏó¼Ì³ÐÐÔ²ã´Î½á¹¹µÄµ¼º½£¬²¢ÇÒÌṩÁËÓйضÔÏóÖ§³ÖµÄËùÓвÙ×÷µÄÃèÊö¡£½Ó¿Ú¹«Óÿâ×î³£¼ûµÄ¹¦ÄÜÊÇΪ½Ó¿Úä¯ÀÀÆ÷ÌṩÐÅÏ¢£¬°ïÖúÓ¦Óÿª·¢ÕßÕÒ³öDZÔڵĿÉÖØÓõÄÈí¼þ²¿¼þ¡£ORB¿ÉÒÔÀûÓýӿڹ«Óÿâ¼ì²éÔËÐÐʱµÄ²Ù×÷²ÎÊýÀàÐÍ£¬µ«½Ó¿Ú¹«ÓÿâµÄ»ù±¾¹¦ÄÜÊÇÌṩÀàÐÍÐÅÏ¢£¬Îª¶¯Ì¬µ÷Óýӿڷ¢ËÍÇëÇóÌṩÐÅÏ¢Ö§³Ö¡£

¡¡¡¡ ¶þ¡¢×é¼þ¶ÔÏóÄ£ÐÍ£ºCOM±ê×¼

¡¡¡¡COMÊÇ΢Èí¹«Ë¾ÍÆ³öµÄÓëCORBA¿¹ºâµÄ²úÆ·£¬ÔÚÉè¼Æ¿ª·¢COMʱ£¬Î¢Èí°ÑCOM¶¨Î»³É»ùÓÚ¶ÔÏóµÄ³ÌÐòÉè¼ÆÄ£ÐÍ£¬Ö¼ÔÚ´Ù½øÈí¼þµÄ»¥²Ù×÷ÐÔ£¬Êµ¼ÊÉÏËüÊÇ»ùÓÚOLEµÄ×é¼þ±ê×¼£¬COM²ÉÓÃÁËOLEµÄ¶ÔÏóÇëÇó´úÀí£¬¶¨ÒåÁËOLE×é¼þ¶ÔÏó¼°Ó¦ÓÃÖ®¼äµÄ½Ó¿Ú¡£

¡¡¡¡COMËùÉæ¼°µÄÖØÒª¸ÅÄîÓУº

¡¡¡¡1£®COM½Ó¿Ú

¡¡¡¡COMµÄÓ¦ÓóÌÐòÖ®¼äÒÔ¼°Ó¦ÓóÌÐòÓëϵͳ֮¼äÊÇÒªÏ໥½»Á÷ÐÅÏ¢ºÍÏ໥×÷Óõ쬯äÏ໥×÷ÓÃÊÇͨ¹ýһϵÁеĺ¯ÊýʵÏֵģ¬ÕâЩº¯Êý¾Í½Ð×÷¡°½Ó¿Ú¡±»ò¡°½çÃæ¡±¡£COM½Ó¿ÚÊÇ×é¼þÓë×é¼þÖ®¼äµÞ½áµÄÆõÔ¼£¬ÌṩÁËÌØ¶¨²ã´ÎÉϵķþÎñ»ò¹¦ÄÜÐÔ¡£

¡¡¡¡COM½Ó¿ÚÌṩÁËÒÔϵıãÀû£º

¡¡¡¡·ÎÞÐèÖØÐ±àÒ룬¶ÔÏó¾Í¿ÉÒÔÔöÌíÐµĹ¦ÄÜ£»

¡¡¡¡·Äܹ»Í¸Ã÷µØÏòÁíÒ»¸ö¹ý³Ì»òÁíһ̨»úÆ÷ÉϵĶÔÏó·¢ËÍRPCµ÷Óã»

¡¡¡¡·ÖîÈçC¡¢C£«£«¡¢Pascal¡¢AdaºÍSmalltalkµÈ·²ÊÇÖ§³ÖÖ¸Õë½á¹¹²¢Í¨¹ýÖ¸ÕëÄÜÏÔʽµØ»òÒþʽµØµ÷Óú¯ÊýµÄ³ÌÐòÉè¼ÆÓïÑÔ¶¼Äܹ»´´½¨²¢Ê¹ÓÃCOM¶ÔÏó¡£

¡¡¡¡COM¶¨ÒåÁËÒ»ÖÖÌØÊâµÄ½Ó¿ÚIUnknownÀ´ÊµÏÖһЩ»ù±¾¹¦ÄÜ£¬ËùÓжÔÏó¾ùÖ§³Ö´Ë»ù±¾½Ó¿Ú£¬¸Ã½Ó¿ÚµÄ·½·¨ÊÇQueryInterface£¬ËüÔÊÐí¶ÔÏóµÄÓû§ÔÚÔËÐÐʱ¶¯Ì¬µØÈ·¶¨COM¶ÔÏóÊÇ·ñÖ§³Öijһ¸ö½Ó¿Ú¡£

¡¡¡¡COMµÄ½Ó¿Ú¶¨ÒåÓïÑÔÊÇCOMIDL£¨Interface Definition Language£©£¬ËüÊÇOSFDCEËù²ÉÓõÄIDLµÄÒ»ÖÖ¼òµ¥À©Õ¹£¬DCE£¬¼´·Ö²¼Ê½¼ÆËã»·¾³£¬ÊÇOSF£¨Open Software Foundation£©×éÖ¯ÌṩµÄÒ»×é¶ÀÁ¢ÓÚ¸÷ƽ̨µÄÖмä¼þ·þÎñ£¬ËüʹµÃ·Ö²¼µÄÓ¦ÓóÌÐòµÃÒÔЭµ÷ÔËÐС£

¡¡¡¡¿ª·¢ÈËÔ±¿ÉÒÔʹÓÃCOMIDLÀ´´´½¨¶ÔCOM¶ÔÏóµÄ½Ó¿Ú·½·¨µÄ˵Ã÷¡£

¡¡¡¡2£®ÓÃGUIDÀ´±êʶ¶ÔÏóºÍ½Ó¿Ú

¡¡¡¡Î´À´µÄ·Ö²¼Ê½¶ÔÏóϵͳ¿ÉÄÜ´óµ½ÓµÓÐÊý°ÙÍò¸ö½Ó¿Ú£¬¶øÈí¼þµÄ×é³É²¿¼þÊDZØÐëΨһ±êʶµÄ¡£ÔÚ´óÐ͸´ÔÓϵͳÖУ¬Èç¹û½öÓñãÓÚÈËÀàÔĶÁµÄÃû³ÆÀ´±êʶ×é¼þµÄ»°£¬ÄÇô¼¸ºõÊÇ100£¥Òª³öÏÖÃû×Ö³åÍ»ÏÖÏóµÄ¡£ÎªÁ˱ÜÃâÕâÖÖʼþµÄ·¢Éú¡¢½â¾öÃû×Ö³åÍ»ÎÊÌ⣬COM²ÉÓÃÁËÈ«¾ÖΨһµÄ±êʶ·ûGUID£¨Globally Unique Identifier£©£¬Ã¿¸öGUID¶¼ÓÐ128λÕûÊý²¢ÄÜȷʵ±£Ö¤±êʶ·ûÔÚ¿Õ¼äÊÀ½çºÍʱ¼äÊÀ½çÖеÄΨһÐÔ¡£COMµÄGUIDºÍOSFDCEµÄUUID£¨Universally Unique Idenfifiers£©ÊÇÍêÈ«µÈͬµÄ¡£

¡¡¡¡3£®ÞðÆú¼Ì³ÐÐÔ¶ø²ÉÓþÛÀà

¡¡¡¡Î¢ÈíÈÏΪÔÚËÉÉ¢ñîºÏµÄ¡¢·ÖÉ¢µÄ¡¢Ö𲽸ÄÉÆµÄ¶ÔÏóϵͳÖУ¬¼Ì³ÐÐÔÊÇÔì³ÉºÜ¶àÂé·³µÄ¸ùÔ´£¬µ«Î¢ÈíÒ²³ÐÈÏÈç¹û³ÌÐòÉè¼ÆÈËÔ±¶¼ÄÜ¿ØÖƼ̳ÐÐÔ²ã´Î£¬ÄÇôʵÏּ̳ÐÊÇÒ»¸öÊ®·ÖÓÐÓõļ¼Êõ£¬ÇÒ½ôñîºÏÒ²²»»á´øÀ´Ì«¶àµÄÂé·³¡£²»¹ý΢Èí»¹ÊÇÈÏΪÔÚʵÏÖ²ã´ÎÉÏ¿´£¬¶ÔÏóÓë¶ÔÏóÖ®¼äµÄÆõÔ¼ÊDz»ÑÔÃ÷ÇÒÓжþÒåÐԵ쬵±¸¸»ò×Ó×é¼þ¸Ä±äÁËʵÏÖ£¬ÄÇôÓëÆäÓйصÄ×é¼þµÄÐÐΪ¾Í³ÉΪ·Ç¶¨ÒåÐÐΪÁË¡£

¡¡¡¡COMÌṩÁËÁ½ÖÖ»úÖÆÀ´È¡´úʵÏּ̳ÐÐÔ£¬ÕâÁ½ÖÖ´úÂëÖØÓûúÖÆ½Ð×÷ÒÖÖÆ£¯´úÀíºÍ¾ÛÀ࣬ÔÚǰһÖÖ»úÖÆÖУ¬Ò»¸ö¶ÔÏó£¨Íⲿ¶ÔÏó£©Ö»Òª°ÑÄÚ²¿Ê¹ÓõĶÔÏóµ±×÷·þÎñÌṩÕßÀ´Ê¹ÓþͿÉÒÔʹ×Ô¼º£¨Íⲿ¶ÔÏ󣩳ÉΪÆäËû¶ÔÏóµÄ¿Í»§ÁË£¬Íⲿ¶ÔÏóµÄ¿Í»§ÊǾø²»ÄÜ¿´µ½ÄÚ²¿¶ÔÏóµÄ£¬Õâ¾ÍÊÇ˵ij¸ö¶ÔÏóµÄÄÚ²¿¶ÔÏó¶ÔÓڸöÔÏóµÄ¿Í»§À´ËµÊÇÍêÈ«Òþ²ØµÄ£¬ÕâÕýÊÇ·â×°ÐÔµÄÌåÏÖ¡£

¡¡¡¡ÔÚ¾ÛÀà»úÖÆÖУ¬Ò»¸ö¾ÛÀà¶ÔÏóʵ¼ÊÉÏÊÇÒ»¸öºÏ³É¶ÔÏó£¬ÓÉÍⲿ¶ÔÏóºÍÄÚ²¿¶ÔÏóºÏ³É£¬Íⲿ¶ÔÏó°ÑÄÚ²¿¶ÔÏóÖ±½Ó³ÊÏÖ¸øÍⲿ¶ÔÏóµÄ¿Í»§£¬ÕâʱÄÚ²¿¶ÔÏó¾ÍÏóÍⲿ¶ÔÏóÖеÄÒ»²¿·ÖÒ»Ñù£¬ËùÒÔ˵¾ÛÀà»úÖÆÊÇÒ»ÖÖÌØÊâµÄÒÖÖÆ£¯´úÀí»úÖÆ¡£

¡¡¡¡4£®±¾µØÍ¸Ã÷ÐÔºÍÔ¶¶Ë͸Ã÷ÐÔ

¡¡¡¡COMÔÊÐí¿Í»§Í¸Ã÷µØÓë¶ÔÏóͨѶ£¬¿Í»§ÔÚÓë¶ÔÏóͨѶʱ²¢²»ÖªµÀ¶ÔÏóÔں䦣¬¿Í»§·ÃÎʶÔÏóÍêÈ«ÊÇͨ¹ý½Ó¿ÚÖ¸ÕëµÄ£¬Ö¸Õ뵱ȻÊÇÔÚ¹ý³ÌÖе쬶øÇÒÿһ´Î¶Ô½Ó¿ÚµÄµ÷Óö¼ÒªÏÈÓë¹ý³ÌÖеÄһЩ´úÂë´ò½»µÀ¡£Èç¹û¶ÔÏóÊÇÔÚ¹ý³ÌÖеÄÄÇô¾Í¿ÉÒÔÖ±½Óµ÷ÓøöÔÏó£¬Èô¶ÔÏóÔÚ¹ý³ÌÖ®Í⣬ÄÇôµ÷ÓÃÏÈÓëCOMÌṩµÄ´úÀí¶ÔÏó´ò½»µÀ£¬²úÉúÒ»¸öÔ¶³Ì¹ý³Ìµ÷Óã¬ÒÔµ÷ÓÃÆäËü¹ý³ÌÖеĻòÆäËü»úÆ÷ÉϵĶÔÏó¡£

¡¡¡¡5£®COM¿â

¡¡¡¡COMµÄºËÐľÍÊǹ淶˵Ã÷¶ÔÏó¼°Æä¿Í»§µÄ½Ó¿Ú£¬COM±¾ÉíÒ²°üº¬ÁËһЩϵͳ¼¶µÄ´úÂ룬Òò´ËCOMÒ²ÓÐ×Ô¼ºµÄʵÏÖ£¬COM¿â¾ÍÊÇϵͳ×é¼þ£¬ÌṩÁËCOM»úÖÆ¡£Î¢Èí¹«Ë¾ÔÚWindowsƽ̨ÉϵÄCOMOBJ£®DLL¾ÍÊÇCOM¿âµÄʵÏÖ£¬WindowsNTºÍWindows95ƽ̨ÉÏCOM¿âµÄʵÏÖÊÇOLE32£®DLLE¡£

¡¡¡¡ Èý¡¢COMÓëCORBAµÄ±È½Ï

¡¡¡¡ÕâÁ½ÖÖ±ê×¼µÄÖ÷񻂿±ðÔÚÓÚËüÃÇʵÏֽӿڵķ½Ê½£ºCOM¹æ¶¨ÁËһϵÁÐ×é¼þ±ØÐëʵÏֵĽӿڣ¬×é¼þ¶ÔÏóÖ®¼äµÄÏ໥×÷ÓñØÐë¾­ÓÉÕâЩ½Ó¿Ú£¬ËùÓÐÕâЩ½Ó¿Ú¶¼±ØÐëÓÉ»ù½Ó¿ÚIUnknownµ¼³ö£»CORBAÔò²»¹æ¶¨»ùÀ࣬¸÷³§ÉÌ¿ÉÒÔ¸ù¾Ý×Ô¼º

µÄÒâԸȥʵÏÖ×Ô¼ºµÄÀà¡£

¡¡¡¡CORBA±ê׼ûÓйØÓÚÒýÓÃʵÏֵĹ涨£¬ÕâÊÇOMG¿¼Âǵ½¸÷³§ÉÌÇÐÉíÀûÒæ¶ø¹ÊÒâºöÂԵ쬶øÃ»ÓйØÓÚʵÏÖϸ½ÚµÄÃ÷È·¹æ¶¨Õâ¼ÈÊÇÒ»´óÓŵãͬʱҲÊǾßÓкܶà¾ÖÏÞÐԵģ¬ÒòΪÔÚΪ³§ÉÌÌṩʵÏÖÁé»îÐÔµÄͬʱ£¬Ò²ÕÐÖÂÁËÐí¶àÂé·³¡£Èç

ÎÞ·¨Í³Ò»¹ÜÀí¡¢ORB²»¼æÈÝ¡¢ºÍȱ·¦¿ÉÒÆÖ²µÄ·þÎñÆ÷µÈÎÊÌâ¡£Óë´ËÏà·´£¬COMÔò·Ç³£Ã÷È·µØ¹æ¶¨ÁËʵÏÖϸ½Ú£¬µ«ÕâÖÖÑϸñ¿ØÖÆÒ²Äܵ¼Ö²»Á¼ºó¹û£º½â¾ö·½°¸²»ÊÇ×îÓÅ·½°¸¡£

¡¡¡¡COMÓëCORBAÁíÒ»²îÒìÔÚÓÚ¶ÔʵÏּ̳ÐÐԵIJ»Í¬´¦Àí£¬ÊµÏּ̳м´ÊÇÃæÏò¶ÔÏó¼¼ÊõÀûÓÃÀà²ã´ÎÖжøÊµÏÖµÄÀàµÄ¼Ì³Ð¡£½Ó¿Ú¼Ì³ÐÐÔÊÇÖ¸Äܹ»²»ÒÀÀµÀà²ã´Î¶øÖØÓöÔÏó½Ó¿ÚµÄÄÜÁ¦£¬ËüÌåÏÖÁËOOÖеķâ×°ÐԵĸÅÄ΢ÈíÔò²»ÒÔΪȻ£¬ËüÈÏΪ°ÑʵÏּ̳ÐÓ¦Óõ½Ï໥×÷ÓõĶÔÏóÄ£ÐÍÖÐÈ¥ÊDz»Ç¡µ±µÄ£¬ËùÒÔCOMÖ»Ö§³Ö½Ó¿Ú¼Ì³Ð¶ø²»Ö§³ÖʵÏּ̳С£

¡¡¡¡IBMÔòÉù³ÆÒ»¸öÕæÕýµÄÃæÏò¶ÔÏóϵͳ±ØÐëÖ§³ÖʵÏּ̳ÐÐÔ£¬IBMÔÚÆäSOMÖÐʵÏÖÁËʵÏּ̳ÐÐÔ¡£SOMÊÇCORBA¼Ò×åÖеĵÚÒ»¸ö³É¹¦²úÆ·£¬Ëüµ®ÉúÓÚ1991Ä꣬IBMÈÏΪSOMÊÇÃæÏò¶ÔÏóµÄ£¬¶øCOMÔòÊÇ»ùÓÚ¶ÔÏóµÄ¡£

¡¡¡¡¹ØÓÚCOMºÍCORBAÕâÁ½´ó±ê×¼£¬»¹ÓÐÒ»¸ö²»ÈݺöÊÓµÄÎÊÌ⡪¡ª¡ª²úÆ·µÄ¼¶±ðºÍ²úÆ·µÄÖÖÀà¡£CORBAÓÐÐíÐí¶à¶àµÄ²úÆ·£¬Ö§³Ö¿çÍøÂçµÄ¶ÔÏóµÄÏ໥×÷Óá£Î¢ÈíµÄOLEÊÇCOM²úÆ·£¬µ«Ëü»¹²»Ö§³Ö¿çƽ̨µÄ¶ÔÏóµÄÏ໥×÷Óá£

¡¡¡¡×ÛÉÏËùÊö£¬MicrosoftÉíΪOMG³ÉԱȴ²»Ö§³ÖCORBA±ê×¼¶øÁí±ÙCOM±ê×¼£¬Ê¹COM³ÉΪCORBA¼°ÆäÒÑʵÏÖ×é¼þOpenDocµÄÖ±½Ó¾ºÕùÕß¡£ÓÉÓÚOMGµÄÆäËû³ÉÔ±¶¼Ã»ÓаÑ×ÀÃæÈí¼þ×÷ΪսÂÔÖØµã£¬¼ÓÉÏ΢ÈíÔÚ×ÀÃæÈí¼þÐÐÒµÖÐÒѳÉΪÊÂʵµÄ°ÔÖ÷µØÎ»£¬COMʵ¼ÊÉϾͳÉΪ×ÀÃæÊг¡µÄ¹¤Òµ±ê×¼¡£DigitalÒѾö¶¨°ÑCOMÒÆÖ²µ½OpenVMSºÍOSF£¯1ƽ̨ÉÏ£¬²¢½¨Ô칵ͨCOMºÍCORBAµÄÇÅÁº¡£Î¢ÈíÕýÐÛÐIJª²ªµØ·¢Õ¹WindowsNT²Ù×÷ϵͳ£¬ÒÔͼȡ´úUNIX²Ù×÷ϵͳÔÚ·þÎñÆ÷ÁìÓòµÄµØÎ»£¬¼øÓÚ΢ÈíµÄʵÁ¦¼°ÆäÊг¡Õ¼ÓÐÂÊ£¬ÕâÖÖ¿ÉÄÜÐÔÊǺܴóµÄ¡£Èç¹ûÔÚ¼¸Äêºó£¬Î¢ÈíµÄÔ¸Íû³ÉΪÏÖʵ£¬´ó¶àÊý·þÎñÆ÷³§ÉÌÒÔWindowsNT×öΪ·þÎñÆ÷Æ·ÖʲÙ×÷ϵͳ£¬ÄÇô·Ö²¼Ê½COMÒ²¾Í³ÉΪ·Ö²¼Ê½»¥²Ù×÷¶ÔÏóÁìÓòÖеÄÖ÷½ÇÁË¡£¶ÔÓÚÐí¶àÓ¦ÓúͿª·¢»·¾³À´Ëµ£¬ÎªÁËÆ½ºâ»ùÓÚ×é¼þ¿ª·¢µÄÓÅÊÆ£¬COM¿ÉÄÜ

ÊÇÃ÷ÖǵÄÑ¡Ôñ£¬ÔÚÈí¼þÓúÀ´Óú¸´ÔÓºÍרÓõĽñÌ죬»ùÓÚ×é¼þµÄ¿ª·¢ÊDz»ÆÆ»µÕûÌåÐÔ¶ø¿ØÖÆÈí¼þ¸´ÔÓÐÔµÄÐÐÖ®ÓÐЧµÄ·½·¨¡£

ÔðÈα༭£ºadmin
±¾ÎÄÒýÓõØÖ·£º http://www.3pcode.com/code/2005/01/11979.htm
Ïà¹ØÎÄÕÂ