RMI ºÍ CORBA ³£±»ÊÓΪÏ໥¾ºÕùµÄ¼¼Êõ£¬ÒòΪÁ½Õß¶¼Ìṩ¶ÔÔ¶³Ì·Ö²¼Ê½¶ÔÏóµÄ͸Ã÷·ÃÎÊ¡£µ«ÕâÁ½ÖÖ¼¼Êõʵ¼ÊÉÏÊÇÏ໥²¹³äµÄ£¬Ò»Õߵij¤´¦ÕýºÃ¿ÉÒÔÃÖ²¹ÁíÒ»ÕߵĶ̴¦¡£RMI ºÍ CORBA µÄ½áºÏ²úÉúÁË RMI-IIOP£¬RMI-IIOP ÊÇÆóÒµ·þÎñÆ÷¶Ë Java ¿ª·¢µÄ»ù´¡¡£ÔÚ±¾ÎÄÖУ¬Java ¿ª·¢Õß Damian Hagge ¼òÒª½éÉÜÁË RMI-IIOP£¬È»ºóΪÄúչʾÈçºÎ¹¹½¨ºÍÔËÐÐÒ»¸ö¼òµ¥µÄ¡¢»ùÓÚ Java µÄ RMI-IIOP ¿Í»§»ú£¯·þÎñÆ÷Ó¦ÓóÌÐò¡£ÇëÇ××Ô¿´¿´ RMI ÄÜÔÚ IIOP ÉϹ¤×÷µÃ¶àôºÃ¡£
1997 Ä꣬IBM ºÍ Sun Microsystems Æô¶¯ÁËÒ»ÏîÖ¼ÔÚ´Ù½ø Java ×÷ΪÆóÒµ¿ª·¢¼¼ÊõµÄ·¢Õ¹µÄºÏ×÷¼Æ»®¡£Á½¼Ò¹«Ë¾Ìرð×ÅÁ¦ÓÚÈçºÎ½« Java ÓÃ×÷·þÎñÆ÷¶ËÓïÑÔ£¬Éú³É¿ÉÒÔ½áºÏ½øÏÖÓÐÌåϵ½á¹¹µÄÆóÒµ¼¶´úÂë¡£ËùÐèÒªµÄ¾ÍÊÇÒ»ÖÖÔ¶³Ì´«Êä¼¼Êõ£¬Ëü¼æÓÐ Java µÄ RMI£¨Remote Method Invocation£¬Ô¶³Ì·½·¨µ÷Ó㩽ÏÉÙµÄ×ÊÔ´Õ¼ÓÃÁ¿ºÍ¸ü³ÉÊìµÄ CORBA£¨Common Object Request Broker Architecture£¬¹«¹²¶ÔÏóÇëÇó´úÀíÌåϵ½á¹¹£©¼¼ÊõµÄ½¡×³ÐÔ¡£³öÓÚÕâÒ»ÐèÒª£¬RMI-IIOP ÎÊÊÀÁË£¬Ëü°ïÖú½« Java ÓïÑÔÍÆÏòÁËĿǰ·þÎñÆ÷¶ËÆóÒµ¿ª·¢µÄÖ÷Á÷ÓïÑÔµÄÁìÏȵØÎ»¡£
ÔÚ±¾ÎÄÖУ¬ÎÒ½«¼òÒª½éÉÜ RMI-IIOP£¬Ä¿±êÊÇʹÄúÄÜ¿ªÊ¼ÔÚÆóÒµ¿ª·¢½â¾ö·½°¸ÖÐʹÓÃÕâÒ»¼¼Êõ¡£Òª½âÊÍ RMI-IIOP ¾¿¾¹ÊÇʲô£¬ÎÒÈÏΪÌṩһЩ¹ØÓÚ CORBA ºÍ RMI µÄÐÅÏ¢ÊÇÖØÒªµÄ£¬ÕâЩÐÅÏ¢ÄúÔÚ¸÷¸ö¼¼ÊõµÄµäÐͽéÉÜÖпÉÄÜÕÒ²»µ½¡£Èç¹ûÄú¶Ô CORBA »ò RMI µÄ»ù´¡ÖªÊ¶²»ÊìϤ£¬ÎÒ½¨ÒéÄúÔÚÍù϶Á֮ǰÏÈÔĶÁһЩ½éÉÜÐÔÐÅÏ¢¡£Çë²ÎÔIJο¼×ÊÁÏ£¬ÄÇÀïÌôÑ¡ÁËһЩÎÄÕºͽ̡̳£
ÔÚÎÒ¾ßÌåÌÖÂÛ RMI-IIOP ֮ǰ£¬ÎÒÃǽ«ÏÈ¿´Ò»Ï CORBA ºÍ RMI ÓÃÀ´¶ÔÇëÇó½øÐÐÊý¾Ý±àÈëµÄ»úÖÆ¡£CORBA ½«ÊÇÎÒÃǵÄÖ÷ҪʾÀý£¬ÒòΪ RMI-IIOP Êý¾Ý±àÈëÊǽ¨Á¢ÔÚ CORBA ´«ÊäÐÒ飨IIOP£©µÄ»ù´¡Éϵġ£ÎÒÃǽ«»Ø¹Ëһϸô«ÊäÐÒéºÍ ORB£¨object request broker£¬¶ÔÏóÇëÇó´úÀí£©ÔÚÍøÂçÉÏ·¢ËÍÇëÇó¡¢¶¨Î»Ô¶³Ì¶ÔÏóºÍ´«Êä¶ÔÏó·½ÃæµÄ»ù±¾¹¦ÄÜ¡£
Ô¶³Ì¶ÔÏó´«Êä
¶Ô CORBA ÇëÇó½øÐÐÊý¾Ý±àÈëÊÇͨ¹ýʹÓà IIOP ÐÒé×öµ½µÄ¡£¼òÑÔÖ®£¬IIOP ½«ÒÔ±ê×¼»¯¸ñʽ¹¹ÔìµÄÈκΠIDL£¨Interface Definition Language£¬½Ó¿Ú¶¨ÒåÓïÑÔ£©µÄÔªËØ±íʾΪһϵÁÐ×Ö½Ú¡£ÄǾͼÙÉèÓÐÒ»¸ö Java ¿Í»§»úÕýÔÚ½«Ò»¸ö CORBA ÇëÇó·ÖÅɵ½ C ·þÎñÆ÷°É¡£¿Í»§»úÓ¦ÓóÌÐòÒÔ Java ½Ó¿ÚµÄÐÎʽӵÓÐÔ¶³Ì¶ÔÏóµÄÒýÓ㬲¢µ÷ÓøýӿڵÄÒ»¸ö²Ù×÷¡£±¾ÖÊÉÏÊÇ£¬½Ó¿Úµ÷ÓÃËü¶Ô¸Ã²Ù×÷µÄÏàӦʵÏÖ£¬Õâ¸öʵÏÖ½«Î»ÓÚ´æ¸ù£¨stub£©£¨´æ¸ùÊÇÄú½«ÒѾÓà idlj ´Ó IDL Éú³ÉÁ˵ģ©¡£
´æ¸ù°Ñ·½·¨µ÷Ó÷ÖÅɵ½ ORB ÖУ¬ORB ÓÉÁ½²¿·Ö×é³É£º¿Í»§»ú ORB ºÍ·þÎñÆ÷ ORB¡£¿Í»§»ú ORB µÄÖ°ÔðÊǶÔÇëÇó½øÐÐÊý¾Ý±àÈ룬·Åµ½ÍøÂçÉÏ£¬´«ÍùÌØ¶¨Î»Ö᣷þÎñÆ÷ ORB µÄÖ°ÔðÊÇÕìÌý´ÓÍøÂçÉÏ´«ÏÂÀ´µÄÇëÇ󣬲¢½«ÕâЩÇëÇóת»»³ÉÓïÑÔʵÏÖÄܹ»Àí½âµÄ·½·¨µ÷Óá£ÒªÁ˽â¶Ô CORBA ORB µÄ½ÇÉ«µÄ¸üÉîÈëÌÖÂÛ£¬Çë²ÎÔIJο¼×ÊÁϲ¿·Ö¡£
´æ¸ù·ÖÅÉÁË·½·¨µ÷ÓÃÖ®ºó£¬¿Í»§»ú ORB ½«ÇëÇóºÍËùÓвÎÊýת»»³É±ê×¼»¯×Ö½Ú¸ñʽ£¬ÔÚÕâÖÖÇé¿öÖÐÊÇ IIOP¡£½Ó×Å£¬ÇëÇóͨ¹ýµ¼Ïß±»·¢Ë͵½·þÎñÆ÷ ORB£¬·þÎñÆ÷ ORB Ó¦¸ÃÕýÔÚÕìÌý´«ÈëÇëÇó¡£·þÎñÆ÷¶Ë ORB ½«¶Á½øÊý¾ÝµÄ×Ö½Ú²¢½«ÇëÇóת»»³É¶Ô C ·þÎñÆ÷ʵÏÖÓÐÒâÒåµÄ¶«Î÷¡£C ·þÎñÆ÷·½·¨½«Ö´ÐÐËüµÄ¹¦ÄÜ£¨¼´µ÷ÓÃËùÇëÇóµÄ·½·¨£©²¢Ê¹ÓÃÏàͬµÄ»úÖÆÍ¨¹ý IIOP ½«½á¹û·µ»Ø¸ø¿Í»§»ú¡£
RMI ÒÔÀàËÆµÄ·½Ê½´¦ÀíÇëÇ󣬵«ÊÇËüʹÓà JRMP£¨Java Remote Messaging Protocol£¬Java Ô¶³ÌÏûÏ¢´«µÝÐÒ飩×÷ΪÆä´«ÊäÐÒé¡£µ±È»£¬RMI ´«Ê仹ɿ¼° Java ¶ÔÏóµÄÐòÁл¯¡£
CORBA ºÍ RMI µÄ²îÒì- CORBA ÔËÐÐÔÚ IIOP ÐÒéÖ®ÉÏ£»RMI ʹÓà JRMP¡£
- CORBA ÊǶÀÁ¢ÓÚÓïÑԵģ»RMI ÊÇ´¿´â Java µ½ Java µÄ¡£
- RMI ʹÓà JNDI ¶¨Î»Ô¶³Ì¶ÔÏó£»CORBA ʹÓà CosNaming¡£
- RMI »á½«¶ÔÏóÐòÁл¯£»CORBA Ôò²»È»¡£
Ô¶³Ì¶ÔÏó¶¨Î»
CORBA ʹÓà CosNaming ÃüÃû·þÎñ¶¨Î»Ô¶³Ì¶ÔÏó¡£CosNaming ΪÃû³Æ·þÎñÆ÷±£´æ¶Ô CORBA ·þÎñÆ÷½ø³ÌµÄ°ó¶¨£¨»òÒýÓã©ÌṩÁËÒ»¸ö¿ò¼Ü¡£µ± CORBA ¿Í»§»úÏòÃû³Æ·þÎñ·¢ËÍ CosNaming ÇëÇó£¬ÇëÇó¸ø¶¨Ãû³ÆµÄ·þÎñÆ÷½ø³Ìʱ£¬Ãû³Æ·þÎñ·µ»Ø¸Ã½ø³ÌµÄ¿É»¥²Ù×÷¶ÔÏóÒýÓã¨interoperable object reference£¨IOR£©£©¡£½Ó×Å£¬¿Í»§»úʹÓøà IOR Ö±½ÓÓë·þÎñÆ÷½ø³ÌͨÐÅ¡£
IOR °üº¬¹ØÓÚ·þÎñÆ÷½ø³ÌµÄÐÅÏ¢£¬ÀýÈç·þÎñÆ÷½ø³ÌµÄλÖá£CosNaming ·þÎñµÄȱµãÖ®Ò»ÊÇ£¬IOR ¶ÔÈËÀà¶øÑÔÊÇÄÑÒÔ¿´¶®µÄ — ÖÁÉÙ¶ÔÎÒÃÇÕâЩûÓеç×Ó´óÄÔµÄÈËÀ´ËµÊÇÕâÑù¡£Ïà·´µØ£¬RMI ¶ÔÓû§ÔòÒªÓѺÃһЩ¡£ËüʹÓÃÔËÐÐÔÚ JNDI Ö®ÉϵÄ×¢²áÖÐÐÄ£¨ÓëÃüÃû·þÎñ¼«ÎªÏàËÆ£©À´¶¨Î»Ô¶³Ì¶ÔÏó¡£RMI ×¢²áÖÐÐÄʹÓà Java Reference ¶ÔÏó£¨ËüÓÉÈô¸É¸ö RefAddr ¶ÔÏó×é³É£©À´Ê¶±ðºÍ¶¨Î»Ô¶³Ì¶ÔÏó¡£ÕâЩ Java ¶ÔÏó±È IOR ¶ÔÓû§¸ü¼ÓÓѺá£
²»¾Ãǰ£¬COBRA ½«¿É»¥²Ù×÷ÃüÃû·þÎñ£¨Interoperable Naming Service£¨INS£©£©½áºÏ½øÁËËüµÄ¶ÔÏó-¶¨Î»£¨object-location£©Ä£Ê½¡£INS ÔÚ CosNaming ÉÏÔËÐУ¬Ê¹ÓÃÈËÀà¿ÉÒÔÔĶÁµÄ URL ×÷ËüµÄ¶ÔÏóλÖá£INS ²»Ê¹ÓÃÃüÃû·þÎñ£»Ïà·´µØ£¬Ëü½«µ÷ÓÃÖ±½Ó·¢Ë͵½Ö¸¶¨µÄ URL¡£Çë²ÎÔIJο¼×ÊÁÏÁË½â¹ØÓÚ INS µÄ¸ü¶àÐÅÏ¢¡£
RMI ¶Ô CORBA
ÄÇô£¬ÄÄÒ»¸ö¸üºÃÄØ£ºÊÇ CORBA »¹ÊÇ RMI£¿´ð°¸È¡¾öÓÚÄúÏë×öʲô¡£CORBA ÊÇÒ»¸öÔËÐÐÔÚÒµ½ç±ê×¼µÄµÚÈý»òµÚËÄ´úÐÒéÉϵġ¢¾¹ýÊÔÑéºÍ²âÊԵĴóÌåϵ½á¹¹¡£Èç¹û¿¼Âǵ½ CORBA ÌṩµÄËùÓи½¼þ£¨ÀýÈ磺ÊÂÎñ´¦Àí¡¢°²È«À¹½ØÆ÷¡¢Ê¼þͨµÀ£¬»¹Óиü¶à£©µÄ»°£¬Ôò CORBA ¿´À´ÊÇÆóÒµÓ¦ÓóÌÐòµÄ½â¾ö·½°¸¡£CORBA µÄ×î´óȱµãÊÇËüºÜ¸´ÔÓ¡£ÒªÊìÁ·Ê¹Óà CORBA£¬¿ª·¢Õßͨ³£Òª¾Àú¶¸Ç͵ÄÅàѵÇúÏß¡£
Ïà·´µØ£¬RMI Ï൱ÈÝÒ×ѧϰ¡£´´½¨Ò»¸ö¿Í»§»ú£¯·þÎñÆ÷ʵÏÖ£¬°ó¶¨µ½×¢²áÖÐÐĺÍÔ¶³Ì¶ÔÏó£¬Ê¹Óà RMI µ÷Óúͣ¯»ò½ÓÊÕÇëÇó¶¼Ï൱¼òµ¥¡£RMI µÄ×ÊÔ´Õ¼ÓÃÁ¿Ò²±È CORBA СµÃ¶à£¬ÒòΪ JRMP ÊÇ¿ªÏú±È IIOP СµÃ¶àµÄÐÒé¡£µ«ÊÇ£¬RMI ȱ·¦ CORBA µÄ¹¤Òµ¼¶µÄ¸½¼þ£¬¶øÇÒÊÇ´¿»ùÓÚ Java µÄ»úÖÆ¡£ÄÇô£¬ÎÒÃÇÕæÕýÐèÒªµÄ¾ÍÊÇ RMI µÄÁé»îÐÔºÍÒ×ÓÃÐÔÒÔ¼° CORBA µÄÆóÒµ¾ÍÐ÷ÐÔ£¬¶ÔÂð£¿ÄǾͿªÊ¼ÌÖÂÛ RMI-IIOP °É¡£
ΪʲôÊÇ RMI-IIOP£¿- RMI-IIOP ¼æÓÐ CORBA µÄÇ¿¶ÈºÍ RMI µÄÁé»îÐÔ¡£
- ¿ª·¢ÕߺÜÈÝÒ׾ͿÉÒÔʹÓà RMI-IIOP£¬RMI-IIOP Ò²Ò×ÓÚ¼¯³Éµ½¶àÊýÆóÒµ»ù´¡¼Ü¹¹ÖС£
ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!




